/* =========================================================
   01. Fonts: Sofia Sans (local)
   ========================================================= */

@font-face{
  font-family:"Sofia Sans";
  src:url("/wp-content/themes/blocksy-child/assets/fonts/SofiaSans-Regular.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:"Sofia Sans";
  src:url("/wp-content/themes/blocksy-child/assets/fonts/SofiaSans-Italic.woff2") format("woff2");
  font-weight:400;
  font-style:italic;
  font-display:swap;
}

@font-face{
  font-family:"Sofia Sans";
  src:url("/wp-content/themes/blocksy-child/assets/fonts/SofiaSans-Medium.woff2") format("woff2");
  font-weight:500;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:"Sofia Sans";
  src:url("/wp-content/themes/blocksy-child/assets/fonts/SofiaSans-Bold.woff2") format("woff2");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:"Sofia Sans";
  src:url("/wp-content/themes/blocksy-child/assets/fonts/SofiaSans-ExtraBold.woff2") format("woff2");
  font-weight:800;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:"Sofia Sans";
  src:url("/wp-content/themes/blocksy-child/assets/fonts/SofiaSans-Black.woff2") format("woff2");
  font-weight:900;
  font-style:normal;
  font-display:swap;
}

/* =========================================================
   02. Variables
   ========================================================= */

:root{
  --kp-font:"Sofia Sans", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;

  --kp-primary:#1E6B4F;
  --kp-secondary:#2F8C67;
  --kp-primary-dark:#15543f;
  --kp-text:#1F2933;
  --kp-muted:#526262;
  --kp-bg:#F2F7F4;
  --kp-border:#dbe7e1;

  --kp-warning-bg:rgba(217,164,65,.18);
  --kp-warning-text:#8a5a00;
  --kp-danger-bg:rgba(220,38,38,.12);
  --kp-danger-text:#b91c1c;

  --kp-radius:14px;
  --kp-radius-lg:22px;
  --kp-radius-xl:28px;
  --kp-radius-pill:999px;

  --kp-shadow:0 16px 40px rgba(0,0,0,.14);
  --kp-shadow-soft:0 6px 18px rgba(0,0,0,.08);
  --kp-shadow-card:0 14px 38px rgba(30,107,79,.07);
  --kp-shadow-card-hover:0 22px 56px rgba(30,107,79,.14);

  --kp-container:1200px;
  --container-max-width:1200px;

  --kp-bell-size:44px;
  --kp-dd-width:360px;
  --kp-dd-top:52px;
}

/* =========================================================
   03. Base / Global
   ========================================================= */

html,
body{
  font-family:var(--kp-font);
}

body{
  background:var(--kp-bg);
}

.ct-header,
.ct-header *{
  font-family:var(--kp-font) !important;
}

.page .entry-title{
  display:none;
}

.elementor-widget-html{
  margin-bottom:0 !important;
}

.elementor-divider,
.elementor-divider-separator{
  border-color:rgba(30,107,79,.18) !important;
}

/* =========================================================
   04. KP Design System / Reusable Components
   ========================================================= */

/* ---------- Containers ---------- */

.kp-container{
  width:100%;
  max-width:var(--kp-container);
  margin:0 auto;
  padding:0 20px;
  box-sizing:border-box;
}

.kp-container--narrow{
  max-width:980px;
}

.kp-container--wide{
  max-width:1320px;
}

/* ---------- Page shell ---------- */

.kp-page{
  background:var(--kp-bg);
  padding:24px 0 72px;
}

.kp-page--compact{
  padding-top:0;
}

/* ---------- Standard page hero ---------- */

.kp-hero{
  margin:0 0 42px;
}

.kp-hero__box{
  position:relative;
  overflow:hidden;
  padding:54px 46px;
  border:1px solid rgba(30,107,79,.18);
  border-radius:28px;
  background:
    radial-gradient(circle at top right, rgba(47,140,103,.22), transparent 34%),
    linear-gradient(135deg, rgba(30,107,79,.13), rgba(242,247,244,1));
}

.kp-hero__box::after{
  content:"";
  position:absolute;
  right:-60px;
  bottom:-80px;
  width:220px;
  height:220px;
  border-radius:50%;
  background:rgba(30,107,79,.10);
}

.kp-hero__content{
  position:relative;
  z-index:1;
  max-width:820px;
}

.kp-hero h1{
  margin:0 0 16px !important;
  color:var(--kp-primary) !important;
  font-family:var(--kp-font) !important;
  font-size:46px !important;
  line-height:1.08 !important;
  font-weight:900 !important;
}

.kp-hero p{
  max-width:760px;
  margin:0;
  color:#3f4f4f;
  font-size:18px;
  line-height:1.75;
}

/* ---------- Eyebrow / label ---------- */

.kp-eyebrow,
.kp-section__label{
  display:inline-flex;
  align-items:center;
  margin:0 0 14px;
  padding:7px 13px;
  border-radius:999px;
  background:#fff;
  color:var(--kp-primary);
  font-size:13px;
  font-weight:900;
  line-height:1;
  box-shadow:var(--kp-shadow-soft);
}

/* ---------- Section title ---------- */

.kp-section-head{
  margin:0 0 24px;
}

.kp-section-head h2{
  margin:0 0 8px !important;
  color:var(--kp-primary) !important;
  font-size:34px !important;
  line-height:1.15 !important;
  font-weight:900 !important;
}

.kp-section-head p{
  max-width:760px;
  margin:0;
  color:var(--kp-muted);
  font-size:16px;
  line-height:1.65;
}

/* ---------- Responsive ---------- */

@media (max-width:768px){
  .kp-page{
    padding:18px 0 56px;
  }

  .kp-container{
    padding:0 16px;
  }

  .kp-hero{
    margin-bottom:30px;
  }

  .kp-hero__box{
    padding:34px 24px;
    border-radius:22px;
  }

  .kp-hero h1{
    font-size:34px !important;
  }

  .kp-hero p{
    font-size:16px;
    line-height:1.65;
  }
}

/* =========================================================
   05. Shared Layout: Sections / Grids / Buttons / Cards
   ========================================================= */
.kp-section,
.kp-home-actions{
  max-width:var(--kp-container);
  margin:22px auto 42px;
}

.kp-section__head,
.kp-home-actions__head{
  margin-bottom:22px;
}

.kp-section__head h1,
.kp-section__head h2,
.kp-home-actions__head h2{
  margin:0 0 8px !important;
  color:var(--kp-primary) !important;
  font-size:34px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  letter-spacing:-.02em;
}

.kp-section__head p,
.kp-home-actions__head p{
  max-width:760px;
  margin:0 !important;
  color:var(--kp-muted);
  font-size:16px;
  line-height:1.6;
  font-weight:500;
}

.kp-grid,
.kp-home-actions__grid{
  display:grid;
  gap:18px;
}

.kp-grid--2{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.kp-grid--3,
.kp-home-actions__grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.kp-grid--4{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}

/* Responsive */

@media (max-width:1024px){
  .kp-grid--3,
  .kp-grid--4,
  .kp-home-actions__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:640px){
  .kp-section,
  .kp-home-actions{
    margin:18px auto 32px;
  }

  .kp-section__head h1,
  .kp-section__head h2,
  .kp-home-actions__head h2{
    font-size:30px !important;
  }

  .kp-grid--2,
  .kp-grid--3,
  .kp-grid--4,
  .kp-home-actions__grid{
    grid-template-columns:1fr;
  }

}

/* =========================================================
   Sections
   ========================================================= */

.kp-section-block{
  max-width:var(--kp-container);
  margin:22px auto 42px;
}

.kp-section-block + .kp-section-block{
  margin-top:42px;
}

/* =========================================================
   Reusable Buttons / Link Buttons
   ========================================================= */

/* Back buttons */

.kp-back{
  margin:0 0 18px;
}

.kp-back a,
a.kp-back-button{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  padding:0 18px;
  border:1px solid var(--kp-border);
  border-radius:999px;
  background:#fff;
  color:var(--kp-primary) !important;
  font-size:15px;
  font-weight:800;
  text-decoration:none !important;
  transition:background .18s ease, border-color .18s ease, transform .18s ease;
}

.kp-back a:hover,
a.kp-back-button:hover{
  background:#f7faf8;
  border-color:rgba(30,107,79,.22);
  transform:translateX(-2px);
}

.kp-back i,
a.kp-back-button i{
  font-size:14px;
}

/* Primary button family */

.kp-btn,
.kp-button,
.kp-home-btn,
.kp-home-hero__btn,
.kp-notice-back{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:12px 20px !important;
  border-radius:var(--kp-radius-pill);
  border:1px solid transparent;
  font-size:15px;
  font-weight:900;
  line-height:1;
  text-decoration:none !important;
  cursor:pointer;
  transition:transform .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease, opacity .16s ease;
}

.kp-btn:hover,
.kp-button:hover,
.kp-home-btn:hover,
.kp-home-hero__btn:hover,
.kp-notice-back:hover{
  transform:translateY(-2px);
  text-decoration:none !important;
}

.kp-btn--primary,
.kp-button,
.kp-button:visited,
.kp-home-btn--primary,
.kp-notice-back{
  background:var(--kp-primary);
  color:#fff !important;
  box-shadow:0 10px 24px rgba(30,107,79,.18);
}

.kp-btn--primary:hover,
.kp-button:hover,
.kp-home-btn--primary:hover,
.kp-notice-back:hover{
  background:var(--kp-secondary);
  color:#fff !important;
}

.kp-btn--secondary,
.kp-home-btn--secondary{
  background:#fff;
  color:var(--kp-primary) !important;
  border-color:var(--kp-border);
}

.kp-btn--secondary:hover,
.kp-home-btn--secondary:hover{
  border-color:rgba(30,107,79,.35);
  background:rgba(30,107,79,.06);
  color:var(--kp-primary) !important;
}

/* Document buttons */

.kp-doc-download{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:112px;
  padding:10px 16px;
  border-radius:999px;
  background:var(--kp-primary);
  color:#fff;
  font-size:14px;
  font-weight:900;
  text-decoration:none;
  transition:background .15s ease, transform .15s ease;
}

.kp-doc-download:hover{
  background:var(--kp-secondary);
  color:#fff;
  transform:translateY(-1px);
}

.kp-doc-download--ghost{
  background:#fff;
  color:var(--kp-primary);
  border:1px solid var(--kp-border);
}

/* Document card view button */

.kp-doc-card__button,
.kp-doc-card__button:visited{
  background:var(--kp-primary);
  border-color:var(--kp-primary);
  color:#fff;
}

.kp-doc-card__button:hover{
  background:var(--kp-secondary);
  border-color:var(--kp-secondary);
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(30,107,79,.18);
}

@media (max-width:760px){
  .kp-doc-download{
    min-width:auto;
  }
}

/* =========================================================
   Cards
   ========================================================= */

.kp-card,
.kp-home-card{
  position:relative !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  min-height:320px !important;
  padding:28px !important;
  border-radius:var(--kp-radius-lg) !important;
  background:#fff !important;
  border:1px solid rgba(30,107,79,.18) !important;
  color:var(--kp-text) !important;
  text-decoration:none !important;
  box-shadow:var(--kp-shadow-card) !important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

.kp-card::before,
.kp-home-card::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(135deg, rgba(30,107,79,.08), transparent 52%) !important;
  opacity:0 !important;
  transition:opacity .18s ease !important;
}

.kp-card:hover,
.kp-home-card:hover{
  transform:translateY(-4px) !important;
  border-color:rgba(30,107,79,.42) !important;
  box-shadow:var(--kp-shadow-card-hover) !important;
  text-decoration:none !important;
}

.kp-card:hover::before,
.kp-home-card:hover::before{
  opacity:1 !important;
}

.kp-card--content{
  min-height:auto !important;
  height:auto !important;
  align-self:flex-start !important;
}

.kp-card__label{
  position:relative;
  z-index:1;
  display:block;
  margin-bottom:14px;
  color:var(--kp-muted);
  font-size:13px;
  line-height:1.2;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.kp-card__icon,
.kp-home-card__icon{
  position:relative !important;
  z-index:1 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:56px !important;
  height:56px !important;
  margin-bottom:24px !important;
  border-radius:18px !important;
  background:rgba(30,107,79,.10) !important;
  color:var(--kp-primary) !important;
  font-size:24px !important;
  transition:background .18s ease, color .18s ease;
}

.kp-card:hover .kp-card__icon,
.kp-home-card:hover .kp-home-card__icon{
  background:var(--kp-primary) !important;
  color:#fff !important;
}

.kp-card__title,
.kp-home-card__title,
.kp-card h3{
  position:relative !important;
  z-index:1 !important;
  display:block !important;
  margin:0 0 14px !important;
  color:#102033 !important;
  font-size:24px !important;
  line-height:1.22 !important;
  font-weight:900 !important;
}

.kp-card__text,
.kp-home-card__text,
.kp-card p{
  position:relative !important;
  z-index:1 !important;
  display:block !important;
  max-width:100% !important;
  margin:0 0 28px !important;
  padding-bottom:0 !important;
  color:var(--kp-muted) !important;
  font-size:16px !important;
  line-height:1.75 !important;
  font-weight:500 !important;
}

.kp-card__button{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  align-self:flex-start;
  margin-top:auto;
  padding:11px 17px;
  border-radius:999px;
  background:var(--kp-primary);
  color:#fff !important;
  font-size:14px;
  font-weight:900;
  line-height:1;
  text-decoration:none !important;
  box-shadow:0 10px 24px rgba(30,107,79,.16);
  transition:background .16s ease, transform .16s ease;
}

.kp-card:hover .kp-card__button{
  background:var(--kp-secondary);
  color:#fff !important;
}

.kp-card__meta{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:auto;
  padding-top:18px;
  font-size:14px;
  color:#5B6B79;
}

.kp-card__meta span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}

@media (max-width:640px){
  .kp-card,
  .kp-home-card{
    min-height:170px !important;
    padding:22px !important;
  }

  .kp-card__title,
  .kp-home-card__title,
  .kp-card h3{
    font-size:22px !important;
  }

  .kp-card__text,
  .kp-home-card__text,
  .kp-card p{
    font-size:15px !important;
    line-height:1.65 !important;
  }

  .kp-card--content{
    min-height:auto !important;
    height:auto !important;
    align-self:flex-start !important;
  }
}


/* =========================================================
   Service Cards / Lists
   ========================================================= */

/* Service list ownership */

.kp-services-catalog .kp-services-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.kp-services-page .kp-services-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.kp-docs-list.kp-services-list{
  display:flex !important;
  flex-direction:column !important;
  gap:18px !important;
}

/* Catalog rows */

.kp-service-row{
  display:grid;
  grid-template-columns:52px 1fr auto;
  gap:16px;
  align-items:flex-start;
  padding:20px;
  border:1px solid var(--kp-border);
  border-radius:18px;
  background:#fff;
  color:var(--kp-text);
  text-decoration:none;
  box-shadow:var(--kp-shadow-soft);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.kp-service-row:hover{
  transform:translateY(-2px);
  border-color:rgba(30,107,79,.42);
  box-shadow:0 12px 28px rgba(0,0,0,.10);
}

.kp-service-row__icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border-radius:15px;
  background:var(--kp-bg);
  color:var(--kp-primary);
  font-size:22px;
}

.kp-service-row__body{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.kp-service-row__title{
  color:var(--kp-text);
  font-size:18px;
  line-height:1.25;
  font-weight:900;
}

.kp-service-row__text{
  color:var(--kp-muted);
  font-size:15px;
  line-height:1.55;
}

.kp-service-row__meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:4px;
}

.kp-service-row__meta span{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(30,107,79,.09);
  color:var(--kp-primary);
  font-size:12px;
  font-weight:900;
}

.kp-service-row__arrow{
  color:var(--kp-primary);
  font-size:24px;
  font-weight:900;
  line-height:1;
}

/* Archive list cards */

.kp-service-list-card a{
  display:flex;
  flex-direction:column;
  min-height:190px;
  height:100%;
  padding:22px;
  border-radius:22px;
  background:#fff;
  border:1px solid var(--kp-border);
  text-decoration:none !important;
  transition:.2s ease;
}

.kp-service-list-card a:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(30,107,79,.08);
}

.kp-service-list-card__icon{
  width:46px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:14px;
  border-radius:14px;
  background:var(--kp-bg);
  color:var(--kp-primary);
  font-size:18px;
}

.kp-service-list-card h4{
  margin:0 0 12px !important;
  color:#102542 !important;
  font-size:17px !important;
  line-height:1.4 !important;
  font-weight:700 !important;
}

.kp-service-list-card p{
  margin:0 0 16px;
  color:var(--kp-muted);
  font-size:14px;
  line-height:1.55;
}

.kp-service-list-card__content{
  display:flex;
  flex-direction:column;
  flex:1;
}

.kp-service-list-card__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:flex-start;
  margin-top:auto;
  min-height:36px;
  padding:8px 14px;
  border-radius:999px;
  background:var(--kp-primary);
  color:#fff;
  font-size:13px;
  font-weight:700;
}


.kp-services-taxonomy-page .kp-service-search-help{
  margin:10px 0 0;
  color:var(--kp-muted);
  font-size:13px;
  line-height:1.45;
  font-weight:700;
}

/* Taxonomy service document-card variant */

.kp-doc-card.kp-doc-card--service{
  display:grid !important;
  grid-template-columns:76px minmax(0, 1fr) 320px !important;
  align-items:center !important;
  gap:24px !important;
  width:100% !important;
  min-height:auto !important;
  padding:22px 24px !important;
}

.kp-doc-card.kp-doc-card--service-no-icon{
  grid-template-columns:minmax(0, 1fr) 320px !important;
}

.kp-doc-card__icon.kp-doc-card__icon--service{
  width:64px !important;
  height:64px !important;
  min-width:64px !important;
  border-radius:14px !important;
  background:linear-gradient(135deg, var(--kp-primary), #005c3f) !important;
  color:#fff !important;
}

.kp-doc-card__icon.kp-doc-card__icon--service span{
  color:#fff !important;
  font-size:13px !important;
  font-weight:900 !important;
  line-height:1 !important;
  writing-mode:horizontal-tb !important;
  transform:none !important;
  text-orientation:mixed !important;
  white-space:nowrap !important;
}

.kp-doc-card--service .kp-doc-card__body{
  min-width:0 !important;
}

.kp-doc-card--service .kp-doc-card__body h2{
  margin:0 0 8px !important;
  font-size:22px !important;
  line-height:1.2 !important;
}

.kp-doc-card--service .kp-doc-card__body h2 a{
  color:var(--kp-text) !important;
  text-decoration:none !important;
}

.kp-doc-card--service .kp-doc-card__note{
  margin:0 !important;
  font-size:15px !important;
  line-height:1.45 !important;
  color:var(--kp-muted) !important;
}

.kp-doc-card__service-info{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:28px !important;
  min-width:0 !important;
}

/* Single service summary cards */

.kp-service-summary-card,
.kp-service-card{
  background:#fff;
  border:1px solid var(--kp-border);
  border-radius:24px;
  padding:28px 32px;
  box-shadow:0 10px 30px rgba(30,107,79,.06);
}

.kp-service-summary-card{
  position:relative;
  overflow:hidden;
  height:100%;
}

.kp-service-summary-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:var(--kp-primary);
}

.kp-service-summary-card h2,
.kp-service-card h2{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 20px !important;
  color:var(--kp-primary) !important;
  font-size:28px !important;
  line-height:1.18 !important;
  font-weight:900 !important;
  letter-spacing:-.015em;
}

.kp-service-summary-card h2 i,
.kp-service-card h2 i{
  color:var(--kp-secondary);
  font-size:22px;
}

.kp-service-card{
  padding:34px 38px;
}

/* Downloads */

.kp-service-downloads{
  display:grid;
  gap:10px;
}

.kp-service-downloads a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:11px 18px;
  border-radius:999px;
  background:var(--kp-primary);
  color:#fff !important;
  font-size:14px;
  font-weight:900;
  line-height:1;
  text-decoration:none !important;
}

.kp-service-downloads a:hover{
  background:var(--kp-secondary);
}

@media (max-width:1100px){
  .kp-services-page .kp-services-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:900px){
  .kp-services-catalog .kp-services-list{
    grid-template-columns:1fr;
  }

  .kp-doc-card.kp-doc-card--service{
    grid-template-columns:56px minmax(0, 1fr) !important;
    gap:14px !important;
    padding:18px !important;
  }

  .kp-doc-card__icon.kp-doc-card__icon--service{
    width:52px !important;
    height:52px !important;
    min-width:52px !important;
  }

  .kp-doc-card__icon.kp-doc-card__icon--service span{
    font-size:11px !important;
  }

  .kp-doc-card__service-info{
    grid-column:1 / -1 !important;
    justify-content:space-between !important;
    gap:16px !important;
    padding-top:12px !important;
    border-top:1px solid var(--kp-border) !important;
  }
}

@media (max-width:640px){
  .kp-service-row{
    grid-template-columns:44px 1fr;
  }

  .kp-service-row__icon{
    width:44px;
    height:44px;
    font-size:19px;
  }

  .kp-service-row__arrow{
    display:none;
  }

  .kp-service-row__cta{
    grid-column:1 / -1;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:44px;
    padding:11px 16px;
    border-radius:999px;
    background:var(--kp-primary);
    color:#fff;
    font-size:14px;
    font-weight:900;
    line-height:1.25;
    text-align:center;
    white-space:normal;
    overflow-wrap:normal;
    word-break:normal;
    box-sizing:border-box;
  }

  .kp-service-summary-card,
  .kp-service-card{
    padding:22px;
    border-radius:20px;
  }

  .kp-service-summary-card h2,
  .kp-service-card h2{
    font-size:24px !important;
  }
}

@media (max-width:430px){
  .kp-service-row{
    padding:16px;
  }

  .kp-service-row__body{
    min-width:0;
  }

  .kp-service-row__title{
    font-size:17px;
    overflow-wrap:normal;
    word-break:normal;
  }

  .kp-service-row__meta{
    grid-column:1 / -1;
    width:100%;
  }

  .kp-service-row__meta span{
    width:100%;
    justify-content:center;
    white-space:normal;
    overflow-wrap:normal;
    word-break:normal;
  }
}

/* =========================================================
   Empty / No-results States
   ========================================================= */

.kp-docs-empty{
  padding:34px;
  border-radius:18px;
  background:#fff;
  border:1px solid var(--kp-border);
  box-shadow:var(--kp-shadow-soft);
}

.kp-docs-empty h2{
  margin:0 0 8px;
  color:var(--kp-primary);
  font-size:26px;
  font-weight:900;
}

.kp-docs-empty p{
  margin:0;
  color:var(--kp-muted);
  font-size:16px;
}

.kp-search-empty{
  max-width:760px;
  background:#fff;
  border:1px solid var(--kp-border);
  border-radius:18px;
  padding:34px;
  box-shadow:var(--kp-shadow-soft);
}

.kp-search-empty h2{
  margin:0 0 10px;
  color:var(--kp-primary);
  font-size:26px;
  font-weight:900;
}

.kp-search-empty p{
  margin:0;
  color:var(--kp-muted);
  font-size:16px;
}

.kp-catalog-empty,
.kp-eservices__empty{
  margin:24px 0 0;
  padding:18px;
  border:1px dashed var(--kp-border);
  border-radius:14px;
  background:#fff;
  color:var(--kp-muted);
  font-weight:800;
}

.kp-services-empty{
  padding:24px;
  border-radius:18px;
  background:#fff;
  border:1px solid var(--kp-border);
  color:var(--kp-muted);
  font-size:15px;
  font-weight:700;
  text-align:center;
}

.kp-service-empty{
  background:#fff;
  border:1px solid var(--kp-border);
  border-radius:24px;
  padding:28px 32px;
  box-shadow:0 10px 30px rgba(30,107,79,.06);
  color:var(--kp-muted);
  font-size:16px;
  font-weight:800;
}

.kp-empty-state{
  padding:42px 24px;
  text-align:center;
}

.kp-empty-state p{
  margin:0;
  color:var(--kp-muted);
  font-size:16px;
}

.kp-notices-empty,
.kp-home-alerts-loading,
.kp-home-alerts-empty{
  padding:28px;
  border-radius:20px;
  background:#fff;
  border:1px solid var(--kp-border);
  color:var(--kp-muted);
  font-size:16px;
  font-weight:800;
}

.kp-home-alerts-loading,
.kp-home-alerts-empty{
  padding:24px 28px;
  border-radius:18px;
}

.kp-single-doc__missing{
  margin:0;
  padding:16px 18px;
  background:#f8fafc;
  border:1px dashed #cbd5e1;
  border-radius:14px;
  color:#64748b;
  font-weight:700;
}

@media (max-width:640px){
  .kp-service-empty{
    padding:22px;
    border-radius:20px;
  }
}

/* =========================================================
   Education Cards
   ========================================================= */

.kp-edu-card{
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:24px;
  border:1px solid rgba(30,107,79,.18);
  border-radius:24px;
  background:#fff;
  color:var(--kp-text);
  box-shadow:0 14px 34px rgba(15,23,42,.055);
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.kp-edu-card:hover{
  transform:translateY(-3px);
  border-color:rgba(30,107,79,.34);
  box-shadow:0 22px 52px rgba(30,107,79,.12);
}

.kp-edu-card__top{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:18px;
}

.kp-edu-card__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:54px;
  height:54px;
  border-radius:18px;
  background:rgba(30,107,79,.10);
  color:var(--kp-primary);
  font-size:23px;
  flex:0 0 auto;
}

.kp-edu-card__type{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(30,107,79,.08);
  color:var(--kp-primary);
  font-size:12px;
  line-height:1;
  font-weight:900;
  text-align:center;
}

.kp-edu-card__title{
  position:relative;
  z-index:1;
  margin:0 0 16px !important;
  color:#102033 !important;
  font-size:22px !important;
  line-height:1.22 !important;
  font-weight:900 !important;
  letter-spacing:-.015em;
}

.kp-edu-card__people{
  position:relative;
  z-index:1;
  display:grid;
  gap:8px;
  margin:0 0 16px;
  padding:14px 15px;
  border:1px solid rgba(30,107,79,.10);
  border-left:5px solid var(--kp-primary);
  border-radius:16px;
  background:#f7faf8;
}

.kp-edu-card__person{
  margin:0;
  color:var(--kp-text);
  font-size:14px;
  line-height:1.45;
  font-weight:700;
}

.kp-edu-card__person strong{
  color:var(--kp-primary);
  font-weight:900;
}

.kp-edu-card__details{
  position:relative;
  z-index:1;
  display:grid;
  gap:12px;
  margin:0 0 18px;
}

.kp-edu-card__row{
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  gap:10px;
  align-items:start;
  color:var(--kp-text);
  font-size:15px;
  line-height:1.55;
  font-weight:600;
}

.kp-edu-card__row > i{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  margin-top:1px;
  border-radius:8px;
  background:rgba(30,107,79,.08);
  color:var(--kp-primary);
  font-size:12px;
}

.kp-edu-card__row strong{
  color:var(--kp-primary);
  font-weight:900;
}

.kp-edu-card__contacts{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.kp-edu-contact{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:34px;
  padding:8px 11px;
  border:1px solid rgba(30,107,79,.14);
  border-radius:999px;
  background:#f7faf8;
  color:var(--kp-primary) !important;
  font-size:13px;
  line-height:1;
  font-weight:900;
  text-decoration:none !important;
  word-break:break-word;
}

.kp-edu-contact:hover{
  background:#eef6f1;
  border-color:rgba(30,107,79,.30);
  color:var(--kp-primary-dark) !important;
  text-decoration:none !important;
}

.kp-edu-contact i{
  font-size:12px;
  flex:0 0 auto;
}

.kp-edu-card__actions{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin-top:auto;
  padding-top:4px;
}

.kp-edu-card__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:11px 17px;
  border-radius:999px;
  background:var(--kp-primary);
  color:#fff !important;
  font-size:13px;
  line-height:1;
  font-weight:900;
  text-decoration:none !important;
  box-shadow:0 10px 22px rgba(30,107,79,.16);
  transition:background .16s ease, transform .16s ease;
}

.kp-edu-card__button:hover{
  background:var(--kp-secondary);
  color:#fff !important;
  transform:translateY(-1px);
  text-decoration:none !important;
}

.kp-edu-socials{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}

.kp-edu-social{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border:1px solid rgba(30,107,79,.16);
  border-radius:16px;
  background:#f7faf8;
  color:var(--kp-primary) !important;
  text-decoration:none !important;
  transition:background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.kp-edu-social:hover{
  background:var(--kp-primary);
  border-color:var(--kp-primary);
  color:#fff !important;
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(30,107,79,.16);
  text-decoration:none !important;
}

.kp-edu-social i{
  font-size:19px;
  line-height:1;
}

.kp-edu-card--empty{
  border-style:dashed;
}

.kp-edu-card--empty .kp-edu-card__title{
  color:var(--kp-primary) !important;
}

.kp-edu-note{
  margin:0;
  padding:14px 16px;
  border:1px dashed rgba(30,107,79,.18);
  border-radius:16px;
  background:#f7faf8;
  color:var(--kp-muted);
  font-size:15px;
  line-height:1.55;
  font-weight:800;
}

@media (max-width:700px){
  .kp-edu-card{
    padding:21px;
    border-radius:21px;
  }

  .kp-edu-card__title{
    font-size:20px !important;
  }

  .kp-edu-card__top{
    align-items:flex-start;
  }

  .kp-edu-card__type{
    max-width:52%;
    line-height:1.2;
  }

  .kp-edu-card__contacts{
    flex-direction:column;
    align-items:stretch;
  }

  .kp-edu-contact{
    width:100%;
    justify-content:center;
  }

  .kp-edu-card__actions{
    align-items:flex-start;
    flex-direction:column;
  }

  .kp-edu-card__button{
    width:100%;
  }

  .kp-edu-socials{
    width:100%;
    justify-content:center;
  }
}

/* =========================================================
   Institution Cards
   ========================================================= */

.kp-institution-card{
  position:relative;
  overflow:hidden;
  padding:26px;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(30,107,79,.18);
  box-shadow:0 14px 38px rgba(30,107,79,.07);
}

.kp-institution-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(30,107,79,.08), transparent 52%);
  opacity:.75;
  pointer-events:none;
}

.kp-institution-card > *{
  position:relative;
  z-index:1;
}

.kp-institution-card__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:54px;
  height:54px;
  margin-bottom:18px;
  border-radius:16px;
  background:rgba(30,107,79,.10);
  color:var(--kp-primary);
  font-size:24px;
}

.kp-institution-card h2{
  margin:0 0 12px;
  color:#102033;
  font-size:23px;
  line-height:1.2;
  font-weight:900;
}

.kp-institution-card p{
  margin:0 0 20px;
  color:var(--kp-muted);
  font-size:15px;
  line-height:1.65;
}

.kp-institution-card__info{
  margin-top:14px;
  padding:14px 16px;
  border-radius:16px;
  background:var(--kp-bg);
  border:1px solid var(--kp-border);
}

.kp-institution-card__info strong,
.kp-institution-list strong{
  display:block;
  margin-bottom:6px;
  color:var(--kp-primary);
  font-size:13px;
  line-height:1.25;
  font-weight:900;
}

.kp-institution-card__info span,
.kp-institution-list span{
  display:block;
  color:var(--kp-text);
  font-size:15px;
  line-height:1.55;
  font-weight:700;
}

.kp-institution-list{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

.kp-institution-list div{
  padding:14px 16px;
  border-radius:16px;
  background:var(--kp-bg);
  border:1px solid var(--kp-border);
}

@media (max-width:768px){
  .kp-institution-card{
    padding:22px;
  }
}

/* =========================================================
   Notice Cards / Pagination
   ========================================================= */

.kp-notice-card{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 330px;
  gap:24px;
  padding:26px;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(30,107,79,.18);
  box-shadow:0 14px 38px rgba(30,107,79,.07);
}

.kp-notice-card__badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:12px;
}

.kp-notice-card__badge{
  display:inline-flex;
  padding:6px 11px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  line-height:1;
}

.kp-notice-card__badge--important,
.kp-notice-card__badge--{
  background:rgba(217,164,65,.18);
  color:#8a5a00;
}

.kp-notice-card__badge--urgent{
  background:rgba(220,38,38,.12);
  color:#b91c1c;
}

.kp-notice-card__badge--info{
  background:rgba(30,107,79,.10);
  color:var(--kp-primary);
}

.kp-notice-card__badge--pin{
  background:var(--kp-primary);
  color:#fff;
}

.kp-notice-card h2{
  margin:0 0 10px;
  font-size:25px;
  line-height:1.2;
  font-weight:900;
}

.kp-notice-card h2 a{
  color:#102033;
  text-decoration:none;
}

.kp-notice-card h2 a:hover{
  color:var(--kp-primary);
}

.kp-notice-card p{
  margin:0;
  color:var(--kp-muted);
  font-size:16px;
  line-height:1.65;
}

.kp-notice-card__meta{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:18px;
  border-radius:18px;
  background:var(--kp-bg);
  border:1px solid var(--kp-border);
}

.kp-notice-card__meta span{
  display:block;
  margin-bottom:4px;
  color:var(--kp-muted);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.kp-notice-card__meta strong{
  display:block;
  color:var(--kp-text);
  font-size:14px;
  line-height:1.35;
  font-weight:900;
}

.kp-notice-card__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:auto;
  min-height:42px;
  padding:11px 16px;
  border-radius:999px;
  background:var(--kp-primary);
  color:#fff !important;
  font-size:14px;
  font-weight:900;
  text-decoration:none !important;
}

.kp-notice-card__btn:hover{
  background:var(--kp-secondary);
}

.kp-pagination{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:24px;
}

.kp-pagination a,
.kp-pagination span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:9px 14px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--kp-border);
  color:var(--kp-primary);
  font-weight:900;
  text-decoration:none;
}

.kp-pagination .current,
.kp-pagination a:hover{
  background:var(--kp-primary);
  color:#fff;
}

@media (max-width:900px){
  .kp-notice-card{
    grid-template-columns:1fr;
  }
}

@media (max-width:640px){
  .kp-notice-card{
    padding:22px;
  }

  .kp-notice-card h2{
    font-size:22px;
  }
}

/* =========================================================
   06. Homepage Alerts Slider
   ========================================================= */

.kp-home-alerts,
.kp-home-alerts--slider{
  max-width:var(--kp-container);
  margin:18px auto 18px;
  padding:0 16px;
}

.kp-home-alerts__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:16px;
}

.kp-home-alerts__kicker{
  display:block;
  margin-bottom:4px;
  color:var(--kp-secondary);
  font-size:14px;
  font-weight:900;
}

.kp-home-alerts__head h2,
.kp-home-alerts h2{
  margin:0 !important;
  color:var(--kp-primary) !important;
  font-size:34px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
}

.kp-home-alerts__actions{
  display:flex;
  align-items:center;
  gap:10px;
}

.kp-home-alerts__nav{
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  padding:0;
  border:none;
  border-radius:var(--kp-radius-pill);
  background:var(--kp-primary);
  color:#fff;
  font-size:22px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  transition:transform .18s ease, opacity .18s ease, box-shadow .18s ease;
  box-shadow:0 10px 24px rgba(30,107,79,.18);
}

.kp-home-alerts__nav:hover{
  transform:translateY(-2px);
  opacity:.92;
}

.kp-home-alerts__all{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 18px;
  border:1px solid var(--kp-border);
  border-radius:var(--kp-radius-pill);
  background:#fff;
  color:var(--kp-primary) !important;
  font-size:14px;
  font-weight:900;
  text-decoration:none !important;
}

.kp-home-alerts__all:hover{
  border-color:var(--kp-primary);
  background:rgba(30,107,79,.06);
  text-decoration:none !important;
}

.kp-home-alerts__track{
  min-height:104px;
}

.kp-home-alert-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:104px;
  padding:24px 28px;
  border-radius:var(--kp-radius-lg);
  background:#fff;
  border:1px solid rgba(30,107,79,.22);
  box-shadow:0 18px 48px rgba(30,107,79,.10);
  color:var(--kp-text);
  text-decoration:none !important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.kp-home-alert-banner:hover{
  transform:translateY(-3px);
  border-color:rgba(30,107,79,.42);
  box-shadow:0 24px 64px rgba(30,107,79,.16);
  text-decoration:none !important;
}

.kp-home-alert-banner__main{
  display:flex;
  align-items:flex-start;
  gap:18px;
  min-width:0;
}

.kp-home-alert-banner__badge{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  padding:7px 12px;
  border-radius:var(--kp-radius-pill);
  background:var(--kp-warning-bg);
  color:var(--kp-warning-text);
  font-size:13px;
  font-weight:900;
}

.kp-home-alert-banner h3{
  margin:0 0 6px;
  color:#102033;
  font-size:22px;
  line-height:1.2;
  font-weight:900;
}

.kp-home-alert-banner p{
  margin:0;
  color:var(--kp-muted);
  font-size:15px;
  line-height:1.45;
}

.kp-home-alert-banner__side{
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
  color:var(--kp-muted);
  font-size:14px;
  font-weight:700;
}

.kp-home-alert-banner__counter{
  display:flex;
  align-items:flex-end;
  gap:4px;
  color:var(--kp-primary);
  font-size:28px;
  line-height:1;
  font-weight:900;
  letter-spacing:-1px;
}

.kp-home-alert-banner__counter span{
  color:#7B8B8B;
  font-size:14px;
  font-weight:800;
  letter-spacing:0;
  transform:translateY(-2px);
}

.kp-home-alert-banner__more{
  color:var(--kp-primary);
  font-weight:900;
}

/* =========================================================
   Badges
   ========================================================= */

.kp-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:auto;
  min-height:34px;
  padding:0 14px;
  border-radius:999px;
  font-size:13px;
  font-weight:900;
  line-height:1;
  text-decoration:none !important;
  white-space:nowrap;
}

.kp-badge--green{
  background:rgba(30,107,79,.12);
  color:var(--kp-primary);
}

.kp-badge--blue{
  background:rgba(37,99,235,.12);
  color:#2563eb;
}

.kp-badge--orange{
  background:rgba(245,158,11,.14);
  color:#d97706;
}

.kp-badge--red{
  background:rgba(220,38,38,.12);
  color:#b91c1c;
}

/* =========================================================
   07. KP Bell
   ========================================================= */

.kp-bell-float{
  position:fixed !important;
  top:42px !important;
  right:18px !important;
  left:auto !important;
  bottom:auto !important;
  z-index:2147483647 !important;
}

.kp-bell-float .kp-bell-wrap{
  position:relative !important;
  display:inline-block !important;
  width:var(--kp-bell-size) !important;
  height:var(--kp-bell-size) !important;
}

.kp-bell-float button.kp-bell{
  -webkit-appearance:none !important;
  appearance:none !important;
  position:relative !important;
  overflow:visible !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:var(--kp-bell-size) !important;
  height:var(--kp-bell-size) !important;
  min-width:var(--kp-bell-size) !important;
  min-height:var(--kp-bell-size) !important;
  border-radius:var(--kp-radius-pill) !important;
  border:1px solid var(--kp-border) !important;
  background:#fff !important;
  color:inherit !important;
  box-shadow:var(--kp-shadow-soft) !important;
  cursor:pointer !important;
  padding:0 !important;
  margin:0 !important;
  outline:none !important;
  transform:translateZ(0);
  transition:background .15s ease, border-color .15s ease, transform .15s ease;
}

.kp-bell-float button.kp-bell:hover{
  background:var(--kp-bg) !important;
  border-color:var(--kp-secondary) !important;
  transform:translateY(-1px);
}

.kp-bell-float button.kp-bell i{
  color:var(--kp-primary) !important;
  font-size:20px !important;
  line-height:1 !important;
}

.kp-bell-float .kp-badge{
  position:absolute !important;
  top:-7px !important;
  right:-7px !important;
  left:auto !important;
  bottom:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:22px !important;
  max-width:none !important;
  height:22px !important;
  min-height:22px !important;
  padding:0 6px !important;
  margin:0 !important;
  border:2px solid #fff !important;
  border-radius:999px !important;
  background:var(--kp-secondary) !important;
  color:#fff !important;
  font-family:var(--kp-font) !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-align:center !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  white-space:nowrap !important;
  box-shadow:0 7px 16px rgba(30,107,79,.28) !important;
  z-index:10 !important;
  transform:none !important;
  pointer-events:none !important;
}

.kp-bell-float .kp-badge:empty{
  display:none !important;
}

.kp-bell-float .kp-dd{
  position:absolute !important;
  right:0 !important;
  top:var(--kp-dd-top) !important;
  width:var(--kp-dd-width) !important;
  max-width:92vw !important;
  background:#fff !important;
  border:1px solid var(--kp-border) !important;
  border-radius:var(--kp-radius) !important;
  box-shadow:var(--kp-shadow) !important;
  overflow:hidden !important;
  z-index:2147483647 !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(-6px) !important;
  transition:opacity .15s ease, transform .15s ease, visibility 0s linear .15s !important;
}

.kp-bell-float .kp-dd.is-open,
.kp-bell-float .kp-dd[aria-hidden="false"],
.kp-bell-float .kp-bell-wrap.is-open .kp-dd,
.kp-bell-float .kp-dd[style*="display: block"],
.kp-bell-float .kp-dd[style*="display:block"],
.kp-bell-float .kp-dd[style*="display: flex"],
.kp-bell-float .kp-dd[style*="display:flex"]{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateY(0) !important;
  transition:opacity .15s ease, transform .15s ease, visibility 0s !important;
}

.kp-bell-float .kp-dd-h{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  padding:14px 16px !important;
  background:var(--kp-bg) !important;
  border-bottom:1px solid var(--kp-border) !important;
}

.kp-bell-float .kp-dd-h b{
  font:900 16px/1.2 var(--kp-font) !important;
  color:var(--kp-text) !important;
}

.kp-bell-float .kp-dd-h a{
  font:800 13px/1.2 var(--kp-font) !important;
  color:var(--kp-primary) !important;
  text-decoration:none !important;
}

.kp-bell-float .kp-dd-h a:hover{
  text-decoration:underline !important;
}

.kp-bell-float .kp-dd-l{
  max-height:420px !important;
  overflow:auto !important;
}

.kp-bell-float .kp-item{
  display:block !important;
  padding:14px 16px !important;
  border-bottom:1px solid var(--kp-border) !important;
  text-decoration:none !important;
  transition:background .12s ease;
}

.kp-bell-float .kp-item:hover{
  background:rgba(47,140,103,0.08) !important;
}

.kp-bell-float .kp-it-top{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:10px !important;
}

.kp-bell-float .kp-it-title{
  font:800 15px/1.45 var(--kp-font) !important;
  color:var(--kp-text) !important;
  margin:0 !important;
}

.kp-bell-float .kp-it-date{
  font:700 13px/1.35 var(--kp-font) !important;
  color:var(--kp-muted) !important;
  white-space:nowrap !important;
  margin:0 !important;
}

.kp-bell-float .kp-pill{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  margin-top:8px !important;
  padding:5px 10px !important;
  border-radius:var(--kp-radius-pill) !important;
  font:900 12px/1 var(--kp-font) !important;
}

.kp-bell-float .kp-info{
  background:rgba(30,107,79,.10) !important;
  color:var(--kp-primary) !important;
}

.kp-bell-float .kp-imp{
  background:rgba(47,140,103,.14) !important;
  color:var(--kp-primary) !important;
}

.kp-bell-float .kp-urg{
  background:var(--kp-danger-bg) !important;
  color:var(--kp-danger-text) !important;
}

.kp-bell-float .kp-unread-dot{
  width:8px !important;
  height:8px !important;
  border-radius:var(--kp-radius-pill) !important;
  background:var(--kp-secondary) !important;
  margin-left:10px;
  margin-top:4px;
  flex:0 0 auto;
}

.kp-bell-float .kp-empty{
  padding:16px !important;
  font:700 14px/1.5 var(--kp-font) !important;
  color:var(--kp-muted) !important;
}

/* Read notification state */
.kp-bell-float .kp-item.is-read .kp-pill{
  background:#EEF1F3 !important;
  color:#6B7280 !important;
}

.kp-bell-float .kp-item.is-read .kp-unread-dot{
  display:none !important;
}

@media (max-width:1024px){
  .kp-bell-float{
    top:auto !important;
    bottom:16px !important;
    right:16px !important;
    left:auto !important;
    transform:none !important;
  }

  .kp-bell-float .kp-dd{
    top:auto !important;
    bottom:52px !important;
    right:0 !important;
  }
}
/* =========================================================
   KP Notifications Bell
   ========================================================= */

.kp-bell{
  position:relative;
}

.kp-bell__toggle{
  position:relative;

  display:flex;
  align-items:center;
  justify-content:center;

  width:52px;
  height:52px;

  border:none;
  border-radius:50%;

  background:#fff;
  color:var(--kp-primary);

  box-shadow:0 10px 28px rgba(15,23,42,.08);

  cursor:pointer;

  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background .18s ease;
}

.kp-bell__toggle:hover{
  transform:translateY(-2px);

  box-shadow:0 16px 38px rgba(15,23,42,.12);
}

.kp-bell__toggle i{
  font-size:20px;
}

.kp-bell__count{
  position:absolute;
  top:-4px;
  right:-4px;

  display:flex;
  align-items:center;
  justify-content:center;

  min-width:24px;
  height:24px;
  padding:0 6px;

  border-radius:999px;

  background:var(--kp-secondary);
  color:#fff;

  font-size:12px;
  font-weight:800;

  line-height:1;
}
/* =========================================================
   KP Bell mobile fixes
   ========================================================= */

@media (max-width:768px){

  /* Darker / clearer header */
  .kp-bell-float .kp-dd-h{
    background:var(--kp-bg) !important;
  }

  /* More bottom spacing because of OneTap */
  .kp-bell-float .kp-dd-l{
    max-height:calc(100vh - 260px) !important;
    padding-bottom:90px !important;
  }

  /* Smaller accessibility overlap risk */
  .kp-bell-float .kp-dd{
    right:-8px !important;
  }

}

/* =========================================================
   10. Service Pages / Panels
   ========================================================= */

.kp-services-hero{
  width:100%;
  max-width:1320px;
  margin:0 auto 32px;
  padding:40px 0;
}

.kp-services-hero h1{
  margin:0 0 18px;
  color:var(--kp-primary);
  font-size:48px;
  line-height:1.1;
  font-weight:800;
}

.kp-services-hero p{
  max-width:720px;
  margin:0;
  color:var(--kp-muted);
  font-size:18px;
  line-height:1.7;
}

.dept-panel{
  margin:24px 0;
}

.dept-panel__header{
  background:var(--kp-primary);
  color:#fff;
  padding:14px 18px;
  font-weight:800;
  font-size:1.2rem;
  border-radius:10px;
}

.dept-panel__body{
  margin-top:10px;
  padding:22px;
  background:#fff;
  border:1px solid var(--kp-primary);
  border-radius:10px;
  line-height:1.75;
  color:var(--kp-text);
}

.dept-panel__body h4{
  margin:20px 0 10px;
  font-weight:800;
  padding-left:16px;
  position:relative;
}

.dept-panel__body h4::before{
  content:"";
  width:6px;
  height:6px;
  background:var(--kp-primary);
  border-radius:50%;
  position:absolute;
  left:0;
  top:10px;
}

.dept-panel__body ul{
  margin:10px 0 14px 20px;
}

.dept-panel__body li{
  margin:6px 0;
}

.dept-highlight{
  margin:18px 0;
  padding:16px 18px;
  background:var(--kp-bg);
  border:1px solid var(--kp-primary);
  border-radius:10px;
}

.dept-highlight a{
  color:var(--kp-primary);
  font-weight:800;
  text-decoration:none;
}

.dept-highlight a:hover{
  text-decoration:underline;
}

/* =========================================================
   12. Elementor Content Typography / Meta Cards
   ========================================================= */

.elementor-widget-text-editor p{
  font-size:17px;
  line-height:1.8;
  color:var(--kp-muted);
}

.elementor-widget-text-editor h2{
  color:var(--kp-primary);
  font-weight:800;
  font-size:36px;
  line-height:1.2;
  margin-bottom:24px;
  margin-top:48px;
}

.elementor-widget-text-editor ul{
  margin-top:20px;
  margin-bottom:20px;
  padding-left:22px;
}

.elementor-widget-text-editor li{
  margin-bottom:10px;
  color:var(--kp-muted);
}

/* =========================================================
   13. Single Post / Single Notification
   ========================================================= */

.single-post .site-main{
  background:var(--kp-bg);
}

.single-post article,
.kp-notice-single{
  max-width:980px;
  margin:0 auto 56px;
  padding:42px 10px 0;
}

.kp-notice-single{
  padding-bottom:64px;
}

.kp-notice-single__article{
  margin:0;
}

.single-post .entry-header,
.kp-notice-single__header{
  padding:34px 42px;
  background:#fff;
  border:1px solid var(--kp-border);
  border-radius:var(--kp-radius-lg);
  box-shadow:0 10px 28px rgba(30,107,79,.08);
  margin-bottom:24px;
}

.single-post .entry-title,
.kp-notice-single__header h1{
  display:block;
  max-width:820px;
  margin:0 0 18px !important;
  color:var(--kp-primary) !important;
  font-size:40px !important;
  line-height:1.14 !important;
  font-weight:900 !important;
  letter-spacing:-.025em;
}

.single-post .entry-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  color:var(--kp-muted) !important;
  font-size:14px;
  font-weight:800;
}

.single-post .entry-meta a{
  color:var(--kp-primary) !important;
  text-decoration:none !important;
}

.single-post .entry-content,
.kp-notice-single__content{
  padding:34px 42px;
  background:#fff;
  border:1px solid var(--kp-border);
  border-radius:var(--kp-radius-lg);
  box-shadow:0 8px 24px rgba(30,107,79,.07);
  color:var(--kp-text);
  font-size:18px;
  line-height:1.75;
}

.single-post .entry-content p,
.kp-notice-single__content p{
  margin:0 0 18px;
}

.single-post .entry-content a,
.kp-notice-single__content a{
  color:var(--kp-primary);
  font-weight:900;
}

.single-post .post-navigation{
  max-width:980px;
  margin:0 auto 56px;
  padding:0 10px;
}

.single-post .post-navigation .nav-links{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}

.single-post .post-navigation a{
  display:block;
  padding:22px 24px;
  background:#fff;
  border:1px solid var(--kp-border);
  border-radius:18px;
  color:var(--kp-text) !important;
  text-decoration:none !important;
  box-shadow:0 8px 24px rgba(30,107,79,.07);
  transition:.16s ease;
}

.single-post .post-navigation a:hover{
  transform:translateY(-2px);
  border-color:rgba(30,107,79,.35);
  box-shadow:0 14px 32px rgba(30,107,79,.13);
}

.single-post .post-navigation .post-title{
  color:var(--kp-primary);
  font-weight:900;
}

.single-post .post-navigation .meta-nav{
  display:block;
  margin-bottom:8px;
  color:var(--kp-muted);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.single-post .author-box,
.single-post .ct-share-box{
  display:none !important;
}

.kp-notice-single__badge{
  display:inline-flex;
  margin-bottom:16px;
  padding:7px 14px;
  border-radius:var(--kp-radius-pill);
  background:rgba(30,107,79,.10);
  color:var(--kp-primary);
  font-size:13px;
  font-weight:900;
}

.kp-notice-meta{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}

.kp-notice-meta__item{
  padding:14px 16px;
  background:var(--kp-bg);
  border:1px solid var(--kp-border);
  border-radius:16px;
}

.kp-notice-meta__item--wide{
  grid-column:span 2;
}

.kp-notice-meta__item span{
  display:block;
  margin-bottom:6px;
  color:var(--kp-muted);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.kp-notice-meta__item strong{
  display:block;
  color:var(--kp-text);
  font-size:15px;
  font-weight:900;
}

.kp-notice-single__edit{
  margin-top:28px;
  padding-top:18px;
  border-top:1px solid var(--kp-border);
}

.kp-notice-single__footer{
  margin-top:24px;
}

/* =========================================================
   14. Responsive
   ========================================================= */

/* Grid/section breakpoints for .kp-grid--* and .kp-section live in
   03-components/shared-sections-grids-buttons-cards.css */

@media (max-width:1024px){
  .leaders-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width:900px){
  .kp-notice-meta{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width:768px){
  .kp-home-hero{
    margin:24px auto 38px;
  }

  .kp-home-hero__inner{
    min-height:auto;
    border-radius:20px;
  }

  .kp-home-hero__content{
    padding:36px 24px;
  }

  .kp-home-hero h1{
    font-size:38px;
  }

  .kp-home-hero p{
    font-size:16px;
  }

  .kp-home-hero__actions{
    flex-direction:column;
  }

  .kp-home-hero__btn,
  .kp-home-btn{
    width:100%;
  }

  .kp-home-alerts__head{
    align-items:flex-start;
    flex-direction:column;
  }

  .kp-home-alerts__actions{
    width:100%;
    flex-wrap:wrap;
  }

  .kp-home-alerts__all{
    margin-left:auto;
  }

  .kp-home-alert-banner{
    align-items:flex-start;
    flex-direction:column;
    padding:22px;
  }

  .kp-home-alert-banner__main{
    flex-direction:column;
    gap:12px;
  }

  .kp-home-alert-banner h3{
    font-size:20px;
  }

  .kp-home-alert-banner__side{
    align-items:flex-start;
  }

  .leaders-grid{
    grid-template-columns:1fr;
  }

  .dept-table thead{
    display:none;
  }


  .dept-table tr{
    margin:0 0 14px;
    border:1px solid var(--kp-border);
    border-radius:10px;
    overflow:hidden;
    background:#fff;
  }

  .dept-row-dept td{
    border:0;
    border-bottom:1px solid var(--kp-border);
    background:#fff;
  }

  .dept-table tbody td{
    border:0;
    padding:10px 12px;
    background:#fff;
  }

  .dept-table tbody td::before{
    display:block;
    font-size:12px;
    font-weight:900;
    color:var(--kp-primary);
    margin-bottom:4px;
  }

  .dept-table tbody tr:not(.dept-row-dept) td:nth-child(2)::before{
    content:"Длъжност: ";
  }

  .dept-table tbody tr:not(.dept-row-dept) td:nth-child(3)::before{
    content:"Име: ";
  }

  .dept-table tbody tr:not(.dept-row-dept) td:nth-child(4)::before{
    content:"Телефон: ";
  }

  .dept-table tbody tr:not(.dept-row-dept) td:first-child{
    display:none;
  }

  .single-post article,
  .kp-notice-single{
    padding-top:24px;
  }

  .single-post .entry-header,
  .single-post .entry-content,
  .kp-notice-single__header,
  .kp-notice-single__content{
    padding:26px 22px;
    border-radius:18px;
  }

  .single-post .entry-title,
  .kp-notice-single__header h1{
    font-size:30px !important;
  }

  .single-post .post-navigation .nav-links{
    grid-template-columns:1fr;
  }

  .kp-notice-meta{
    grid-template-columns:1fr;
  }

  .kp-notice-meta__item--wide{
    grid-column:auto;
  }
}

/* =========================================================
   Institutions Contacts Page
   ========================================================= */

.kp-institutions{
  max-width:1200px;
  margin:24px auto 56px;
  padding:0 16px;
}

.kp-institutions__grid{
  display:grid;
  gap:18px;
}

/* Institutions layout fix */
.kp-institutions__grid{
  grid-template-columns:repeat(6, minmax(0, 1fr)) !important;
}

.kp-institutions__grid > .kp-institution-card{
  grid-column:span 2 !important;
}

.kp-institution-card--wide{
  grid-column:1 / -1 !important;
}

.kp-institution-card--half{
  grid-column:span 3 !important;
}

@media (max-width:1024px){
  .kp-institutions__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }

  .kp-institutions__grid > .kp-institution-card,
  .kp-institution-card--half{
    grid-column:auto !important;
  }

  .kp-institution-card--wide{
    grid-column:1 / -1 !important;
  }
}

@media (max-width:640px){
  .kp-institutions__grid{
    grid-template-columns:1fr !important;
  }

  .kp-institutions__grid > .kp-institution-card,
  .kp-institution-card--wide,
  .kp-institution-card--half{
    grid-column:auto !important;
  }
}

/* =========================================================
   Notifications Archive
   ========================================================= */

.kp-notices-archive{
  font-family:var(--kp-font);
}

.kp-notices-archive__desc{
  max-width:760px;
  margin:0;
  color:var(--kp-muted);
  font-size:17px;
  line-height:1.65;
}

.kp-notices-list{
  display:grid;
  gap:16px;
}

/* E-services */
.kp-eservices__tools{
  margin:0 0 26px;
}

/* E-services helper block */
.kp-eservices-help{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:32px;
  padding:28px;
  border-radius:18px;
  background:var(--kp-primary);
  color:#fff;
}

.kp-eservices-help h2{
  margin:0 0 8px;
  color:#fff;
  font-size:28px;
  line-height:1.2;
  font-weight:900;
}

.kp-eservices-help p{
  margin:0;
  color:rgba(255,255,255,.86);
  font-size:16px;
  line-height:1.6;
}


.kp-eservices-help .kp-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 20px;
  border-radius:999px;
  background:#fff;
  color:var(--kp-primary) !important;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
}

.kp-eservices-help .kp-button:hover{
  background:var(--kp-bg);
  color:var(--kp-primary) !important;
}

@media (max-width:640px){
  .kp-eservices-help{
    align-items:flex-start;
    flex-direction:column;
  }

  .kp-eservices-help .kp-button{
    width:100%;
  }
}

/* =========================================================
   Services catalog page
   ========================================================= */

.kp-services-catalog{
  max-width:var(--kp-container);
  margin:0 auto;
}

.kp-catalog-tools{
  margin:0 0 28px;
}

/* Catalog intro — /administrativni-uslugi/ */

.kp-services-taxonomy-page .kp-services-catalog-intro{
  display:grid;
  grid-template-columns:minmax(360px, 1fr) minmax(360px, 420px) 210px;
  gap:24px;
  align-items:start;
  margin:0 0 28px;
}

.kp-services-taxonomy-page .kp-services-catalog-intro .kp-section__head{
  margin:0;
}

.kp-services-taxonomy-page .kp-services-catalog-summary{
  display:grid;
  grid-template-columns:46px minmax(0, 1fr);
  gap:12px;
  align-items:center;
  min-width:0;
  padding:16px 18px;
  background:#fff;
  border:1px solid rgba(30,107,79,.14);
  border-radius:16px;
  box-shadow:0 10px 26px rgba(31,41,51,.06);
}

.kp-services-taxonomy-page .kp-services-catalog-summary__icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border-radius:50%;
  background:var(--kp-bg, #F2F7F4);
  color:var(--kp-primary, #1E6B4F);
  font-size:19px;
}

.kp-services-taxonomy-page .kp-services-catalog-summary__label{
  display:block;
  color:var(--kp-text, #1F2933);
  font-size:12px;
  font-weight:900;
  line-height:1.2;
}

.kp-services-taxonomy-page .kp-services-catalog-summary strong{
  display:block;
  margin:2px 0;
  color:var(--kp-primary, #1E6B4F);
  font-size:30px;
  line-height:1;
  font-weight:900;
}

.kp-services-taxonomy-page .kp-services-catalog-summary span:not(.kp-services-catalog-summary__label){
  display:block;
  color:var(--kp-muted, #5F6F65);
  font-size:12px;
  line-height:1.2;
}

.kp-services-taxonomy-page .kp-services-catalog-search{
  position:relative;
  display:flex;
  align-items:center;
  align-self:start;
  min-width:0;
}

.kp-services-taxonomy-page .kp-services-catalog-search i{
  position:absolute;
  left:18px;
  color:var(--kp-primary, #1E6B4F);
  font-size:16px;
  pointer-events:none;
}

.kp-services-taxonomy-page .kp-services-catalog-search input{
  width:100%;
  height:58px;
  padding:0 18px 0 48px;
  border:1px solid rgba(30,107,79,.28);
  border-radius:16px;
  background:#fff;
  color:var(--kp-text, #1F2933);
  font-size:16px;
  font-weight:800;
  box-shadow:0 12px 30px rgba(31,41,51,.08);
}

.kp-services-taxonomy-page .kp-services-catalog-search input:focus{
  outline:none;
  border-color:rgba(30,107,79,.62);
  box-shadow:0 0 0 4px rgba(30,107,79,.12), 0 12px 30px rgba(31,41,51,.08);
}

.kp-services-taxonomy-page .kp-services-catalog-empty{
  margin:24px 0 0;
  padding:18px 20px;
  border:1px solid rgba(30,107,79,.14);
  border-radius:14px;
  background:#fff;
  color:var(--kp-muted, #5F6F65);
  font-size:15px;
  font-weight:800;
}
/* Category cards — /administrativni-uslugi/ */

.kp-services-taxonomy-page .kp-services-categories-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:28px;
  align-items:stretch;
}

.kp-services-taxonomy-page .kp-cat-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:360px;
  padding:26px;
  background:#fff;
  border:1px solid rgba(30,107,79,.14);
  border-radius:18px;
  box-shadow:0 10px 26px rgba(31,41,51,.06);
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.kp-services-taxonomy-page .kp-cat-card:hover{
  transform:translateY(-3px);
  border-color:rgba(30,107,79,.34);
  box-shadow:0 16px 34px rgba(30,107,79,.12);
}

.kp-services-taxonomy-page .kp-cat-card__icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:58px;
  height:58px;
  margin:0 0 22px;
  border-radius:50%;
  background:var(--kp-bg, #F2F7F4);
  color:var(--kp-primary, #1E6B4F);
  font-size:23px;
  flex-shrink:0;
}

.kp-services-taxonomy-page .kp-cat-card__body{
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:0;
}

.kp-services-taxonomy-page .kp-cat-card__title{
  margin:0 !important;
  font-size:19px !important;
  line-height:1.24 !important;
  font-weight:900 !important;
}

.kp-services-taxonomy-page .kp-cat-card__title a{
  color:var(--kp-text, #1F2933);
  text-decoration:none;
}

.kp-services-taxonomy-page .kp-cat-card__title a:hover{
  color:var(--kp-primary, #1E6B4F);
}

.kp-services-taxonomy-page .kp-cat-card__desc{
  margin:0;
  color:var(--kp-muted, #5F6F65);
  font-size:14px;
  line-height:1.55;
}

.kp-services-taxonomy-page .kp-cat-card__stats{
  display:block;
  margin:auto 0 0;
  padding:22px 0 0;
  border-top:1px solid rgba(30,107,79,.12);
}

.kp-services-taxonomy-page .kp-cat-card__stats strong{
  display:block;
  color:var(--kp-primary, #1E6B4F);
  font-size:34px;
  line-height:1;
  font-weight:900;
}

.kp-services-taxonomy-page .kp-cat-card__stats span{
  display:block;
  margin-top:4px;
  color:var(--kp-muted, #5F6F65);
  font-size:13px;
  font-weight:800;
  line-height:1.15;
}

.kp-services-taxonomy-page .kp-cat-card__footer{
  padding-top:18px;
}

.kp-services-taxonomy-page .kp-cat-card__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  min-height:42px;
  padding:10px 14px;
  border:1px solid rgba(30,107,79,.18);
  border-radius:12px;
  background:rgba(30,107,79,.07);
  color:var(--kp-primary, #1E6B4F);
  font-size:14px;
  font-weight:900;
  line-height:1.2;
  text-decoration:none;
  transition:background .16s ease, border-color .16s ease, color .16s ease;
}

.kp-services-taxonomy-page .kp-cat-card:hover .kp-cat-card__button,
.kp-services-taxonomy-page .kp-cat-card__button:hover{
  background:var(--kp-primary, #1E6B4F);
  border-color:var(--kp-primary, #1E6B4F);
  color:#fff;
}

.kp-services-taxonomy-page .kp-cat-card__button i{
  font-size:13px;
}

/* Footer info panel */

.kp-services-taxonomy-page .kp-services-catalog-info{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
  margin:28px 0 0;
  padding:22px;
  background:#fff;
  border:1px solid rgba(30,107,79,.12);
  border-radius:18px;
  box-shadow:0 10px 26px rgba(31,41,51,.05);
}

.kp-services-taxonomy-page .kp-services-catalog-info__item{
  min-width:0;
}

.kp-services-taxonomy-page .kp-services-catalog-info__item + .kp-services-catalog-info__item{
  padding-left:18px;
  border-left:1px solid rgba(30,107,79,.12);
}

.kp-services-taxonomy-page .kp-services-catalog-info__label{
  display:block;
  margin:0 0 8px;
  color:var(--kp-primary, #1E6B4F);
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
}

.kp-services-taxonomy-page .kp-services-catalog-info__item p{
  margin:0;
  color:var(--kp-text, #1F2933);
  font-size:15px;
  line-height:1.55;
}

.kp-services-taxonomy-page .kp-services-catalog-info__link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:14px;
  color:var(--kp-primary, #1E6B4F);
  font-size:14px;
  font-weight:900;
  text-decoration:none;
}

.kp-services-taxonomy-page .kp-services-catalog-info__link:hover{
  color:var(--kp-secondary, #2F8C67);
  text-decoration:underline;
}

@media (max-width:1180px){
  .kp-services-taxonomy-page .kp-services-catalog-intro{
    grid-template-columns:minmax(300px, 1fr) minmax(300px, 360px) 190px;
    gap:18px;
  }

  .kp-services-taxonomy-page .kp-services-catalog-summary{
    padding:14px 16px;
  }

  .kp-services-taxonomy-page .kp-services-categories-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

@media (max-width:980px){
  .kp-services-taxonomy-page .kp-services-catalog-intro{
    grid-template-columns:1fr;
    align-items:start;
  }

  .kp-services-taxonomy-page .kp-services-catalog-search{
    width:100%;
  }

  .kp-services-taxonomy-page .kp-services-catalog-summary{
    grid-column:auto;
    max-width:260px;
  }

  .kp-services-taxonomy-page .kp-services-categories-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:768px){
  .kp-services-archive .kp-hero__box,
  .kp-services-taxonomy-page .kp-hero__box{
    padding:32px 22px;
  }

  .kp-services-taxonomy-page .kp-services-catalog-intro{
    gap:16px;
    margin-bottom:22px;
  }

  .kp-services-taxonomy-page .kp-services-catalog-info,
  .kp-services-taxonomy-page .kp-services-categories-grid{
    grid-template-columns:1fr;
  }

  .kp-services-taxonomy-page .kp-services-catalog-info__item + .kp-services-catalog-info__item{
    padding-left:0;
    padding-top:18px;
    border-left:none;
    border-top:1px solid rgba(30,107,79,.12);
  }
}

@media (max-width:640px){
  .kp-services-taxonomy-page .kp-services-catalog-info,
  .kp-services-taxonomy-page .kp-services-categories-grid{
    grid-template-columns:1fr;
  }

  .kp-services-taxonomy-page .kp-services-catalog-summary{
    max-width:none;
  }

  .kp-services-taxonomy-page .kp-services-catalog-info__item + .kp-services-catalog-info__item{
    padding-left:0;
    padding-top:18px;
    border-left:none;
    border-top:1px solid rgba(30,107,79,.12);
  }

  .kp-services-taxonomy-page .kp-services-catalog-summary,
  .kp-services-taxonomy-page .kp-services-catalog-info,
  .kp-services-taxonomy-page .kp-cat-card{
    border-radius:16px;
  }

  .kp-services-taxonomy-page .kp-cat-card{
    min-height:300px;
    padding:22px;
  }

  .kp-services-taxonomy-page .kp-cat-card__icon{
    width:52px;
    height:52px;
    font-size:21px;
  }
}

@media (max-width:430px){
  .kp-services-archive .kp-hero__box,
  .kp-services-taxonomy-page .kp-hero__box{
    padding:28px 18px;
  }

  .kp-services-archive .kp-hero h1,
  .kp-services-taxonomy-page .kp-hero h1{
    font-size:30px !important;
  }

  .kp-services-taxonomy-page .kp-services-catalog-search input{
    height:52px;
    padding:0 16px 0 44px;
    font-size:15px;
  }

  .kp-services-taxonomy-page .kp-cat-card{
    min-height:auto;
    padding:18px;
  }

  .kp-services-taxonomy-page .kp-cat-card__icon{
    width:46px;
    height:46px;
    margin-bottom:16px;
    font-size:18px;
  }

  .kp-services-taxonomy-page .kp-cat-card__title{
    font-size:17px !important;
  }

  .kp-services-taxonomy-page .kp-cat-card__button{
    display:flex;
    width:100%;
    min-width:0;
    white-space:normal;
    overflow-wrap:normal;
    word-break:normal;
  }

  .kp-services-taxonomy-page .kp-cat-card__button i{
    flex:0 0 auto;
  }
}

/* =========================================================
   KP Header / Navigation
   ========================================================= */

.ct-header [data-id="menu"] > ul{
  gap:22px !important;
}

.ct-header [data-id="menu"] > ul > li{
  position:relative !important;
}

.ct-header [data-id="menu"] > ul > li > a{
  display:flex !important;
  align-items:center !important;
  min-height:42px !important;
  padding:0 4px !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  color:#102033 !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
  box-shadow:none !important;
  transform:none !important;
  transition:color .18s ease;
}

.ct-header [data-id="menu"] > ul > li > a:hover,
.ct-header [data-id="menu"] > ul > li.current-menu-item > a,
.ct-header [data-id="menu"] > ul > li.current-menu-ancestor > a{
  background:transparent !important;
  color:var(--kp-primary) !important;
  box-shadow:none !important;
  transform:none !important;
}

.ct-header [data-id="menu"] .ct-icon{
  color:currentColor !important;
}

/* Header dropdown */
.ct-header [data-id="menu"] .sub-menu{
  min-width:300px !important;
  padding:6px !important;
  border:2px solid rgba(30,107,79,.72) !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 22px 55px rgba(30,107,79,.14) !important;
}

.ct-header [data-id="menu"] > ul > li > .sub-menu{
  top:calc(100% - 28px) !important;
  margin-top:0 !important;
  transform:none !important;
}

.ct-header [data-id="menu"] > ul > li > .sub-menu::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-16px;
  height:16px;
}

.ct-header [data-id="menu"] > ul > li > .sub-menu::after{
  content:"";
  position:absolute;
  top:-12px;
  left:46px;
  width:22px;
  height:22px;
  background:#fff;
  border-left:2px solid rgba(30,107,79,.72);
  border-top:2px solid rgba(30,107,79,.72);
  transform:rotate(45deg);
  border-radius:3px 0 0 0;
  z-index:-1;
}

.ct-header [data-id="menu"] .sub-menu li{
  border-bottom:1px solid rgba(30,107,79,.13);
}

.ct-header [data-id="menu"] .sub-menu li:last-child{
  border-bottom:0;
}

.ct-header [data-id="menu"] .sub-menu li a{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  min-height:40px !important;
  padding:6px 10px 7px 44px !important;
  border-radius:10px !important;
  background:transparent !important;
  color:#102033 !important;
  font-size:15px !important;
  font-weight:900 !important;
  line-height:1.2 !important;
  text-decoration:none !important;
  transition:background .18s ease, color .18s ease;
}

.ct-header [data-id="menu"] .sub-menu li a:hover{
  background:rgba(30,107,79,.055) !important;
  color:var(--kp-primary) !important;
  transform:none !important;
}

.ct-header [data-id="menu"] .sub-menu li a::before{
  content:"\f15b" !important;
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  width:22px;
  height:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--kp-primary);
  font-family:"Font Awesome 6 Free" !important;
  font-weight:900 !important;
  font-size:17px;
}

/* =========================================================
   KP Profile Page
   ========================================================= */

.kp-mayor-page{
  padding-bottom:48px;
}

.kp-mayor-page .kp-profile-page{
  width:100%;
  max-width:100%;
  margin-left:0;
  margin-right:0;
}

.kp-profile-page{
  margin-top:28px;
}

.kp-profile__hero{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:34px;
  align-items:center;
  padding:28px;
  border:1px solid rgba(30,107,79,.22);
  border-radius:24px;
  background:#fff;
  box-shadow:0 16px 40px rgba(30,107,79,.08);
}

.kp-profile__photo{
  overflow:hidden;
  border-radius:20px;
  background:var(--kp-bg);
}

.kp-profile__photo img{
  width:100%;
  height:100%;
  min-height:260px;
  object-fit:cover;
  display:block;
}

.kp-profile__content{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.kp-profile__content h2{
  margin:0 0 16px !important;
  color:var(--kp-primary) !important;
  font-size:38px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
}

.kp-profile__info{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:18px;
}

.kp-profile__card{
  background:#fff !important;
  border:1px solid var(--kp-border);
  border-radius:18px;
  padding:22px 24px;
  box-shadow:0 8px 24px rgba(30,107,79,.08);
}

.kp-profile__card span{
  display:block;
  margin-bottom:10px;
  color:var(--kp-muted);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.kp-profile__card strong,
.kp-profile__card strong a{
  color:var(--kp-primary);
  font-size:17px;
  font-weight:800;
  text-decoration:none;
}

/* Bottom section */
.kp-profile__bottom{
  display:flex;
  align-items:center;
  gap:18px;
  margin-top:20px;
  flex-wrap:nowrap;
}

.kp-btn--primary{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:14px 24px;
  border-radius:999px;
  background:var(--kp-primary);
  color:#fff !important;
  font-size:15px;
  font-weight:800;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:0 10px 24px rgba(30,107,79,.16);
  transition:all .18s ease;
}

.kp-btn--primary:hover{
  background:var(--kp-secondary);
  transform:translateY(-1px);
  color:#fff !important;
}
.kp-profile__note{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  white-space:nowrap;
}

.kp-profile__note i{
  color:var(--kp-primary);
  flex-shrink:0;
}

/* Tablet */
@media (max-width:760px){

  .kp-profile__info{
    grid-template-columns:1fr;
  }

  .kp-profile__bottom{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* Mobile */
@media (max-width:640px){

  .kp-mayor-page{
    padding-bottom:36px;
  }

  .kp-profile__hero{
    grid-template-columns:1fr;
    gap:22px;
    padding:22px;
  }

  .kp-profile__content h2{
    font-size:30px !important;
  }

  .kp-btn--primary{
    width:100%;
    justify-content:center;
  }
}
/* Hide Blocksy default page title only on profile pages */
body:has(.kp-profile-page) .entry-header,
body:has(.kp-profile-page) .hero-section,
body:has(.kp-profile-page) .page-title,
body:has(.kp-profile-page) h1.entry-title{
  display:none !important;
}

/* =========================================================
   Shared static page shell
   Note: visual hero styles are centralized in 04. KP Design System
   ========================================================= */

.kp-page-shell,
.kp-history-page{
  max-width:var(--kp-container);
  margin:0 auto;
  padding:24px 10px 64px;
  font-family:var(--kp-font);
  color:var(--kp-text);
}

/* Legacy support for static History pages not yet migrated to .kp-hero */
.kp-history-hero{
  position:relative;
  overflow:hidden;
  margin:0 0 28px;
  padding:54px 42px;
  border-radius:22px;
  background:
    radial-gradient(circle at top right, rgba(47,140,103,.22), transparent 34%),
    linear-gradient(135deg, rgba(30,107,79,.13), rgba(242,247,244,1));
  border:1px solid rgba(30,107,79,.18);
}

.kp-history-hero::after{
  content:"";
  position:absolute;
  right:-60px;
  bottom:-80px;
  width:220px;
  height:220px;
  border-radius:50%;
  background:rgba(30,107,79,.10);
}

.kp-history-hero__content{
  position:relative;
  z-index:1;
  max-width:820px;
}

.kp-history-hero h1{
  margin:0 0 16px;
  color:var(--kp-primary);
  font-size:46px;
  line-height:1.08;
  font-weight:900;
}

.kp-history-hero p{
  max-width:760px;
  margin:0;
  color:#3f4f4f;
  font-size:18px;
  line-height:1.75;
}

@media (max-width:900px){
  .kp-history-hero{
    padding:38px 26px;
  }

  .kp-history-hero h1{
    font-size:36px;
  }
}

@media (max-width:560px){
  .kp-page-shell,
  .kp-history-page{
    padding-left:0;
    padding-right:0;
  }

  .kp-history-hero{
    border-radius:16px;
    padding:30px 22px;
  }

  .kp-history-hero h1{
    font-size:30px;
  }

  .kp-history-hero p{
    font-size:16px;
  }
}

/* =========================================================
   PAGE: History / История
   Page-specific elements: facts, timeline, info block
   ========================================================= */

.kp-history-facts{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin:0 0 38px;
}

.kp-history-facts article{
  background:#fff;
  border:1px solid var(--kp-border);
  border-radius:16px;
  padding:22px;
  box-shadow:var(--kp-shadow-soft);
}

.kp-history-facts strong{
  display:block;
  margin:0 0 8px;
  color:var(--kp-primary);
  font-size:26px;
  line-height:1;
  font-weight:900;
}

.kp-history-facts span{
  display:block;
  color:var(--kp-muted);
  font-size:14px;
  line-height:1.45;
  font-weight:700;
}

.kp-history-timeline{
  position:relative;
  display:grid;
  gap:24px;
  margin:0 0 36px;
}

.kp-history-timeline::before{
  content:"";
  position:absolute;
  left:106px;
  top:8px;
  bottom:8px;
  width:2px;
  background:linear-gradient(to bottom, var(--kp-primary), rgba(30,107,79,.10));
}

.kp-history-item{
  position:relative;
  display:grid;
  grid-template-columns:150px 1fr;
  gap:28px;
  align-items:start;
}

.kp-history-year{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:10px 14px;
  border-radius:999px;
  background:var(--kp-primary);
  color:#fff;
  font-size:16px;
  line-height:1.1;
  font-weight:900;
  box-shadow:var(--kp-shadow-soft);
}

.kp-history-card{
  background:#fff;
  border:1px solid var(--kp-border);
  border-radius:18px;
  padding:28px 30px;
  box-shadow:var(--kp-shadow-soft);
}

.kp-history-card h2{
  margin:0 0 14px;
  color:var(--kp-primary);
  font-size:25px;
  line-height:1.2;
  font-weight:900;
}

.kp-history-card p{
  margin:0 0 14px;
  color:var(--kp-text);
  font-size:16px;
  line-height:1.78;
}

.kp-history-card p:last-child{
  margin-bottom:0;
}

.kp-history-info{
  margin-top:34px;
  padding:30px;
  border-radius:18px;
  background:var(--kp-bg);
  border:1px solid rgba(30,107,79,.22);
}

.kp-history-info h2{
  margin:0 0 12px;
  color:var(--kp-primary);
  font-size:26px;
  font-weight:900;
}

.kp-history-info p{
  margin:0;
  color:var(--kp-text);
  font-size:16px;
  line-height:1.75;
}

/* Hero/page-shell responsive rules live in history-hero.css */

@media (max-width:900px){
  .kp-history-facts{
    grid-template-columns:repeat(2,1fr);
  }

  .kp-history-timeline::before{
    left:22px;
  }

  .kp-history-item{
    grid-template-columns:1fr;
    gap:14px;
    padding-left:48px;
  }

  .kp-history-year{
    justify-content:flex-start;
    width:max-content;
  }
}

@media (max-width:560px){
  .kp-history-facts{
    grid-template-columns:1fr;
  }

  .kp-history-card{
    padding:22px;
  }

  .kp-history-card h2{
    font-size:22px;
  }

  .kp-history-info{
    padding:22px;
  }
}

/* =========================================================
   Population page
   ========================================================= */

.kp-population-page{
  max-width:var(--kp-container);
  margin:0 auto;
  padding:24px 10px 64px;
  font-family:var(--kp-font);
  color:var(--kp-text);
}

.kp-population-hero{
  margin:0 0 28px;
  padding:54px 42px;
  border-radius:22px;
  background:
    radial-gradient(circle at top right, rgba(47,140,103,.22), transparent 34%),
    linear-gradient(135deg, rgba(30,107,79,.13), rgba(242,247,244,1));
  border:1px solid rgba(30,107,79,.18);
}

.kp-population-hero h1{
  margin:0 0 16px;
  color:var(--kp-primary);
  font-size:46px;
  line-height:1.08;
  font-weight:900;
}

.kp-population-hero p{
  max-width:760px;
  margin:0;
  color:#3f4f4f;
  font-size:18px;
  line-height:1.75;
}

.kp-population-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin:0 0 38px;
}

.kp-population-stats article{
  background:#fff;
  border:1px solid var(--kp-border);
  border-radius:16px;
  padding:24px;
  box-shadow:var(--kp-shadow-soft);
}

.kp-population-stats strong{
  display:block;
  margin:0 0 8px;
  color:var(--kp-primary);
  font-size:32px;
  line-height:1;
  font-weight:900;
}

.kp-population-stats span{
  display:block;
  color:var(--kp-muted);
  font-size:15px;
  font-weight:800;
}

.kp-section-heading{
  margin:0 0 18px;
}

.kp-section-heading h2{
  margin:0 0 8px;
  color:var(--kp-primary);
  font-size:30px;
  line-height:1.2;
  font-weight:900;
}

.kp-section-heading p{
  margin:0;
  color:var(--kp-muted);
  font-size:16px;
  line-height:1.6;
}

.kp-population-table-wrap{
  overflow:hidden;
  background:#fff;
  border:1px solid var(--kp-border);
  border-radius:18px;
  box-shadow:var(--kp-shadow-soft);
}

.kp-population-table{
  width:100%;
  border-collapse:collapse;
}

.kp-population-table th{
  padding:15px 16px;
  background:var(--kp-primary);
  color:#fff;
  text-align:left;
  font-size:14px;
  font-weight:900;
}

.kp-population-table td{
  padding:15px 16px;
  border-bottom:1px solid var(--kp-border);
  color:var(--kp-text);
  font-size:15px;
  line-height:1.45;
}

.kp-population-table tbody tr:nth-child(even) td{
  background:var(--kp-bg);
}

.kp-population-table td:nth-child(3),
.kp-population-table td:nth-child(4),
.kp-population-table td:nth-child(5){
  font-weight:800;
  white-space:nowrap;
}

.kp-population-table tfoot td{
  background:rgba(30,107,79,.10);
  color:var(--kp-primary);
  font-weight:900;
  border-bottom:none;
}

@media (max-width:760px){
  .kp-population-hero{
    padding:34px 24px;
  }

  .kp-population-hero h1{
    font-size:32px;
  }

  .kp-population-stats{
    grid-template-columns:1fr;
  }

  .kp-population-table-wrap{
    overflow-x:auto;
  }

  .kp-population-table{
    min-width:680px;
  }
}

/* =========================================================
   Document Cards
   ========================================================= */

.kp-doc-card{
  display:grid;
  grid-template-columns:72px 1fr auto;
  gap:18px;
  align-items:center;
  padding:20px;
  background:#fff;
  border:1px solid var(--kp-border);
  border-radius:18px;
  box-shadow:var(--kp-shadow-soft);
  transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.kp-doc-card:hover{
  transform:translateY(-2px);
  border-color:rgba(30,107,79,.35);
  box-shadow:0 10px 28px rgba(0,0,0,.10);
}

.kp-doc-card__icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:58px;
  height:68px;
  border-radius:14px;
  background:rgba(30,107,79,.12);
  color:var(--kp-primary);
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
}

.kp-doc-card__icon i{
  color:var(--kp-primary);
}

.kp-doc-card__body{
  min-width:0;
}

.kp-doc-card__meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 8px;
}

.kp-doc-card__meta span{
  display:inline-flex;
  align-items:center;
  padding:5px 9px;
  border-radius:999px;
  background:var(--kp-bg);
  color:var(--kp-muted);
  font-size:12px;
  line-height:1;
  font-weight:800;
}

.kp-doc-status--active{
  background:rgba(30,107,79,.10) !important;
  color:var(--kp-primary) !important;
}

.kp-doc-status--important{
  background:rgba(47,140,103,.16) !important;
  color:var(--kp-primary) !important;
}

.kp-doc-status--urgent{
  background:rgba(220,38,38,.12) !important;
  color:#b91c1c !important;
}

.kp-doc-status--archive{
  background:rgba(82,98,98,.12) !important;
  color:var(--kp-muted) !important;
}

.kp-doc-status--internal{
  background:rgba(31,41,51,.12) !important;
  color:var(--kp-text) !important;
}

.kp-doc-card h2{
  margin:0 0 8px;
  color:var(--kp-text);
  font-size:20px;
  line-height:1.3;
  font-weight:900;
}

.kp-doc-card h2 a{
  color:inherit;
  text-decoration:none;
}

.kp-doc-card h2 a:hover{
  color:var(--kp-primary);
}

.kp-doc-card__number,
.kp-doc-card__note,
.kp-doc-card__valid{
  margin:0 0 6px;
  color:var(--kp-muted);
  font-size:14px;
  line-height:1.5;
  font-weight:700;
}

.kp-doc-card__valid{
  color:var(--kp-primary);
}

.kp-doc-card__actions{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
}

.kp-doc-card__size{
  color:var(--kp-muted);
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}

@media (max-width:760px){
  .kp-doc-card{
    grid-template-columns:1fr;
    align-items:start;
  }

  .kp-doc-card__actions{
    align-items:flex-start;
    flex-direction:row;
    justify-content:space-between;
  }
}

/* =========================================================
   Documents archive / taxonomy pages
   ========================================================= */

.kp-docs-page{
  font-family:var(--kp-font);
  color:var(--kp-text);
}


.kp-docs-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:0 0 22px;
  padding:16px 18px;
  border:1px solid var(--kp-border);
  border-radius:16px;
  background:#fff;
  box-shadow:var(--kp-shadow-soft);
}

.kp-docs-toolbar strong{
  color:var(--kp-primary);
  font-size:24px;
  font-weight:900;
}

.kp-docs-toolbar span{
  color:var(--kp-muted);
  font-size:15px;
  font-weight:800;
}

.kp-docs-toolbar__hint{
  color:var(--kp-muted);
  font-size:14px;
  font-weight:700;
}

.kp-docs-list{
  display:grid;
  gap:16px;
}

.kp-docs-pagination{
  margin:28px 0 0;
}

@media (max-width:760px){

  .kp-docs-toolbar{
    align-items:flex-start;
    flex-direction:column;
  }

}

/* =========================================================
   KP Header Dropdown Icons - menu classes
   ========================================================= */

/* Администрация */
.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-kmet > a::before{
  content:"\f508" !important;
}

.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-rakovodstvo > a::before{
  content:"\f0c0" !important;
}

.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-administratsia > a::before{
  content:"\f1ad" !important;
}

.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-struktura > a::before{
  content:"\f0e8" !important;
}

.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-zapovedi > a::before{
  content:"\f573" !important;
}

.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-programi > a::before{
  content:"\f5fd" !important;
}

.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-strategii > a::before{
  content:"\f6de" !important;
}

.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-signali > a::before{
  content:"\f0a1" !important; /* bullhorn */
}
/* Дейности */
.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-education > a::before{
  content:"\f19d" !important;
}
.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-projects > a::before{
  content:"\f542" !important;
}

.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-objects > a::before{
  content:"\f1b3" !important;
}

.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-events > a::before{
  content:"\f073" !important;
}
/* Актуално */
/* Документи */
.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-documents > a::before{
  content:"\f15c"; /* file-lines */
}
.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-law > a::before{
  content:"\f24e" !important; /* scale-balanced */
}
.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-gdpr > a::before{
  content:"\f505" !important; /* user-shield */
}

.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-obyavi > a::before{
  content:"\f08d" !important; /* thumtack */
}

.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-konkursi > a::before{
  content:"\f0b1" !important; /* briefcase */
}

/* Услуги */
.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-eservices > a::before{
  content:"\f0e0" !important; /* envelope */
}

.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-services > a::before{
  content:"\f013" !important; /* gear */
}

.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-grao > a::before{
  content:"\f2c2" !important; /* address-card */
}

.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-cars > a::before{
  content:"\f1b9" !important; /* car */
}

.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-fire > a::before{
  content:"\f06d" !important; /* fire */
}

.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-building > a::before{
  content:"\f1ad" !important; /* building */
}

.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-construction > a::before{
  content:"\f85d" !important; /* hard-hat */
}

.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-eco > a::before{
  content:"\f06c" !important; /* leaf */
}

.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-budget > a::before{
  content:"\f53a" !important; /* file-invoice-dollar */
}

.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-other > a::before{
  content:"\f15b" !important; /* file */
}

/* За района */
.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-history > a::before{
  content:"\f1da" !important; /* history */
}
.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-oldsite > a::before{
  content:"\f08e" !important; /* external-link */
}
.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-population > a::before{
  content:"\f0c0" !important; /* users */
}

.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-location > a::before{
  content:"\f3c5" !important; /* map-marker */
}

.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-elections > a::before{
  content:"\f772" !important; /* vote-yea */
}

.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-health > a::before{
  content:"\f0f8" !important; /* hospital */
}

.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-culture > a::before{
  content:"\f630" !important; /* masks-theater */
}

.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-sport > a::before{
  content:"\f44b" !important; /* futbol */
}

.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-transport > a::before{
  content:"\f207" !important; /* bus */
}

/* Контакти */
.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-contact > a::before{
  content:"\f095" !important; /* phone */
}

.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-time > a::before{
  content:"\f017" !important; /* clock */
}
.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-administration > a::before{
  content:"\f19c" !important; /* landmark */
}
.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-institutions > a::before{
  content:"\f19c" !important; /* landmark */
}

/* Administrative menu icon override */
.ct-header [data-id="menu"] .sub-menu li.kp-menu-admin > a::before{
  content:"\f46c" !important; /* clipboard-list */
}

/* FAQ menu icon */
.ct-header [data-id="menu"] .sub-menu li.kp-menu-faq > a::before{
  content:"\f059" !important; /* circle-question */
}

/* Каталог на услугите */
.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-catalog > a::before{
  content:"\f022" !important; /* table-list */
}

/* Обществена информация */
.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-public-info > a::before{
  content:"\f05a" !important; /* circle-info */
}

/* Съобщения по АПК и ЗУТ */
.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-apk > a::before{
  content:"\f466" !important; /* drafting-compass */
}

/* Час за среща с кмета */
.ct-header [data-id="menu"] .sub-menu li.kp-menu-icon-meeting > a::before{
  content:"\f274" !important; /* calendar-check */
}

/* =========================================================
   Leadership Page
   ========================================================= */

.kp-leadership-page{
  max-width:1280px;
  margin:0 auto;
  padding:40px 20px 80px;
}

.kp-leadership-hero{
  margin-bottom:40px;
}

.kp-leadership-hero__content{
  max-width:760px;
}

.kp-leadership-hero h1{
  margin:12px 0 18px;
  color:var(--kp-primary);
  font-size:56px;
  line-height:1.05;
  font-weight:800;
}

.kp-leadership-hero p{
  margin:0;
  color:var(--kp-muted);
  font-size:19px;
  line-height:1.8;
}

.kp-mayor-card{
  display:grid;
  grid-template-columns:320px 1fr;
  gap:40px;
  padding:40px;
  margin-bottom:40px;
  background:#fff;
  border:1px solid #DCE8E1;
  border-radius:32px;
  box-shadow:0 8px 30px rgba(31,41,51,.05);
}

.kp-mayor-card__image img{
  width:100%;
  aspect-ratio:1/1.1;
  object-fit:cover;
  border-radius:24px;
}

.kp-mayor-card__top{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:18px;
}

.kp-mayor-card__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  height:38px;
  padding:6px 14px;
  margin-bottom:16px;
  background:rgba(30,107,79,.12);
  border-radius:999px;
  color:var(--kp-primary);
  font-size:13px;
  font-weight:900;
  line-height:1;
}

.kp-mayor-card__district{
  color:#6C7C7C;
  font-size:15px;
  font-weight:600;
}

.kp-mayor-card h2{
  margin:0 0 24px;
  color:var(--kp-text);
  font-size:42px;
  line-height:1.1;
  font-weight:800;
}

.kp-mayor-card__meta{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  align-items:stretch;
}

.kp-team-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
}

.kp-team-card{
  display:flex;
  gap:24px;
  padding:28px;
  background:#fff;
  border:1px solid #DCE8E1;
  border-radius:28px;
  box-shadow:0 8px 24px rgba(31,41,51,.04);
}

.kp-team-card__avatar{
  width:120px;
  height:120px;
  border-radius:22px;
  object-fit:cover;
  flex-shrink:0;
}

.kp-team-card__body{
  flex:1;
}

.kp-team-card__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:6px 14px;
  margin-bottom:16px;
  background:rgba(30,107,79,.12);
  border-radius:999px;
  color:var(--kp-primary);
  font-size:13px;
  font-weight:900;
  line-height:1;
}

.kp-team-card__badge--secretary{
  background:rgba(37,99,235,.12);
  color:#2563eb;
}

.kp-team-card h3{
  margin:0 0 14px;
  color:var(--kp-text);
  font-size:28px;
  line-height:1.2;
  font-weight:800;
}

.kp-team-card__direction{
  margin:0 0 20px;
  color:var(--kp-muted);
  font-size:16px;
  line-height:1.7;
}

.kp-team-card__meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
}

.kp-team-card__meta > div,
.kp-team-card__meta .kp-info-box{
  min-height:100%;
  padding:18px;
  border:1px solid rgba(30,107,79,.10);
  border-radius:18px;
  background:#F6FAF8;
  box-sizing:border-box;
}

.kp-team-card__meta > div > span,
.kp-team-card__meta .kp-info-box > span{
  display:block;
  margin-bottom:8px;
  color:#6C7C7C;
  font-size:13px;
  font-weight:800;
}

.kp-team-card__meta > div > strong,
.kp-team-card__meta .kp-info-box strong{
  display:block;
  color:var(--kp-text);
  font-size:15px;
  line-height:1.5;
  font-weight:800;
}

.kp-team-card__meta .kp-phone-list{
  margin:0;
}

.kp-team-card__meta .kp-phone,
.kp-team-card__meta a[href^="tel:"]{
  display:inline-flex !important;
  align-items:center;
  gap:10px;
  width:fit-content;
  min-height:40px;
  padding:9px 14px;
  border:1px solid rgba(30,107,79,.22);
  border-radius:14px;
  background:#f6fbf8;
  color:var(--kp-primary) !important;
  font-size:14px;
  font-weight:900;
  line-height:1.2;
  text-decoration:none !important;
  white-space:nowrap;
  transition:background .18s ease, border-color .18s ease, color .18s ease;
}

.kp-team-card__meta .kp-phone:hover,
.kp-team-card__meta .kp-phone:focus-visible,
.kp-team-card__meta a[href^="tel:"]:hover,
.kp-team-card__meta a[href^="tel:"]:focus-visible{
  background:#eef6f1;
  border-color:rgba(30,107,79,.36);
  color:var(--kp-primary-dark) !important;
  text-decoration:none !important;
}

.kp-team-card__meta .kp-phone i,
.kp-team-card__meta a[href^="tel:"] i{
  font-size:13px;
  opacity:.9;
}

@media (max-width:1024px){

  .kp-mayor-card{
    grid-template-columns:1fr;
  }

  .kp-mayor-card__meta{
    grid-template-columns:1fr;
  }

  .kp-team-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:768px){

  .kp-leadership-page{
    padding:24px 16px 60px;
  }

  .kp-leadership-hero h1{
    font-size:40px;
  }

  .kp-mayor-card{
    padding:24px;
  }

  .kp-mayor-card h2{
    font-size:32px;
  }

  .kp-team-card{
    flex-direction:column;
  }

  .kp-team-card__avatar{
    width:100%;
    height:auto;
    aspect-ratio:1/1;
  }

  .kp-team-card__meta{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   Obyavi
   ========================================================= */

.kp-single-article{
  max-width:920px;
  margin:0 auto;
}

.kp-single-content{
  margin-top:32px;
  line-height:1.8;
  color:#334155;
}

.kp-single-content h2,
.kp-single-content h3{
  margin-top:40px;
}

.kp-single-content p{
  margin-bottom:20px;
}

.kp-single-content ul,
.kp-single-content ol{
  margin:0 0 24px 24px;
}

.kp-single-actions{
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:min(100%, 360px);
}

.kp-single-obyava .kp-eservices-help__content .kp-section__label{
  margin-bottom:12px;
  padding:9px 16px;
  font-size:12px;
  line-height:1.15;
  white-space:normal;
  max-width:max-content;
}

.kp-single-actions .kp-button{
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.kp-document-links{
  display:grid;
  gap:10px;
  width:100%;
}

.kp-document-link{
  display:grid;
  grid-template-columns:48px minmax(0, 1fr) auto;
  align-items:center;
  gap:14px;
  width:100%;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.50);
  border-radius:16px;
  background:#fff;
  color:var(--kp-primary) !important;
  font-size:15px;
  font-weight:900;
  line-height:1.35;
  text-decoration:none !important;
  box-shadow:0 10px 24px rgba(15,23,42,.10);
  transition:background .16s ease, transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.kp-document-link:hover,
.kp-document-link:focus-visible{
  background:var(--kp-bg);
  border-color:rgba(255,255,255,.82);
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(15,23,42,.14);
}

.kp-document-link:focus-visible{
  outline:3px solid rgba(255,255,255,.72);
  outline-offset:3px;
}

.kp-document-link__icon{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  border-radius:14px;
  background:rgba(30,107,79,.10);
  color:var(--kp-secondary);
  font-size:22px;
}

.kp-document-link__title{
  min-width:0;
  overflow-wrap:break-word;
}

.kp-document-link__action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:36px;
  padding:8px 12px;
  border-radius:999px;
  background:var(--kp-primary);
  color:#fff;
  font-size:13px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}

.kp-document-link__action i{
  font-size:12px;
}

@media (max-width:760px){
  .kp-document-link{
    grid-template-columns:44px minmax(0, 1fr);
    gap:12px;
  }

  .kp-document-link__icon{
    width:44px;
    height:44px;
    font-size:20px;
  }

  .kp-document-link__action{
    grid-column:1 / -1;
    width:100%;
    min-height:42px;
  }
}

/* =========================================================
   Search components
   ========================================================= */

.kp-search,
.kp-eservices__search,
.kp-catalog-search,
.kp-edu-search{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  max-width:620px;
  padding:14px 18px;
  border:1px solid var(--kp-border);
  border-radius:999px;
  background:#fff;
  box-shadow:var(--kp-shadow-soft);
}

.kp-search{
  margin:0 0 26px;
}

.kp-catalog-search{
  max-width:720px;
  margin-bottom:16px;
  padding:15px 18px;
}

.kp-edu-search{
  max-width:680px;
  border-color:rgba(30,107,79,.16);
  box-shadow:0 10px 26px rgba(30,107,79,.07);
}

.kp-search i,
.kp-eservices__search i,
.kp-catalog-search i,
.kp-edu-search i{
  color:var(--kp-primary);
  flex-shrink:0;
}

.kp-edu-search i{
  font-size:15px;
}

.kp-search input,
.kp-eservices__search input,
.kp-catalog-search input,
.kp-edu-search input{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:var(--kp-text);
  font:700 16px/1.4 var(--kp-font);
}

.kp-edu-search input{
  font-weight:800;
  font-size:15px;
}

/* ---------- Document search panel ---------- */

.kp-docs-search{
  margin:0 0 22px;
  padding:20px;
  border:1px solid var(--kp-border);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--kp-shadow-soft);
}

.kp-docs-search label{
  display:block;
  margin:0 0 10px;
  color:var(--kp-primary);
  font-size:14px;
  font-weight:900;
}

.kp-docs-search__row{
  display:flex;
  gap:10px;
  align-items:center;
}

.kp-docs-search input{
  width:100%;
  min-height:46px;
  padding:0 16px;
  border:1px solid var(--kp-border);
  border-radius:999px;
  background:var(--kp-bg);
  color:var(--kp-text);
  font:800 15px/1.4 var(--kp-font);
  outline:none;
}

.kp-docs-search input:focus{
  border-color:rgba(30,107,79,.55);
  box-shadow:0 0 0 4px rgba(30,107,79,.10);
}

.kp-docs-search button,
.kp-docs-search a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border-radius:999px;
  border:0;
  background:var(--kp-primary);
  color:#fff !important;
  font:900 14px/1 var(--kp-font);
  text-decoration:none !important;
  white-space:nowrap;
  cursor:pointer;
}

.kp-docs-search a{
  background:#fff;
  color:var(--kp-primary) !important;
  border:1px solid var(--kp-border);
}

.kp-docs-search button:hover{
  background:var(--kp-secondary);
}

.kp-docs-search a:hover{
  background:var(--kp-bg);
}

@media (max-width:640px){
  .kp-docs-search__row{
    flex-direction:column;
    align-items:stretch;
  }

  .kp-docs-search button,
  .kp-docs-search a{
    width:100%;
  }

  .kp-edu-search{
    border-radius:20px;
  }
}

/* =========================================================
   Filter components
   ========================================================= */

.kp-filters,
.kp-archive-filters{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:0 0 32px;
  padding:10px;
  border:1px solid #dbe7df;
  border-radius:18px;
  background:#eef6f1;
}

.kp-filters a,
.kp-archive-filters a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 18px;
  border:1px solid #dbe7df;
  border-radius:999px;
  background:#fff;
  color:var(--kp-primary) !important;
  font-size:14px;
  line-height:1;
  font-weight:900;
  text-decoration:none !important;
  box-sizing:border-box;
  transition:background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.kp-filters a:hover,
.kp-archive-filters a:hover{
  background:#f4faf6;
  border-color:var(--kp-secondary);
  color:var(--kp-primary) !important;
  transform:translateY(-1px);
}

.kp-filters a.current,
.kp-filters a.is-active,
.kp-filters .current-cat a,
.kp-archive-filters a.current,
.kp-archive-filters a.is-active,
.kp-archive-filters .current-cat a{
  background:var(--kp-primary);
  border-color:var(--kp-primary);
  color:#fff !important;
}

/* ---------- Publications archive: search + category select row ---------- */

.kp-archive-obyavi .kp-eservices__tools{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:44px;
}

.kp-archive-obyavi .kp-eservices__search{
  flex:1 1 auto;
  max-width:none;
}

.kp-publications-filter{
  flex:0 0 270px;
}

.kp-publications-filter select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  width:100%;
  min-height:52px;
  padding:0 46px 0 20px;
  border:1px solid var(--kp-border);
  border-radius:999px;
  background:#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231E6B4F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 20px center;
  box-shadow:var(--kp-shadow-soft);
  color:var(--kp-text);
  font:600 15px/1.4 var(--kp-font);
  cursor:pointer;
}

.kp-publications-filter select:focus{
  outline:none;
  border-color:rgba(30,107,79,.55);
  box-shadow:0 0 0 4px rgba(30,107,79,.10);
}

.kp-publications-filter select option{
  background:#fff;
  color:var(--kp-text);
  font-weight:600;
}

@media (max-width:768px){
  .kp-archive-obyavi .kp-eservices__tools{
    flex-direction:column;
    align-items:stretch;
    margin-bottom:32px;
  }

  .kp-publications-filter{
    flex:0 0 auto;
    width:100%;
  }
}

/* ---------- Catalog filter aliases ---------- */

.kp-catalog-filters{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.kp-catalog-filter{
  appearance:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:36px !important;
  padding:9px 16px !important;
  border:1px solid var(--kp-border) !important;
  border-radius:999px !important;
  background:#fff !important;
  color:var(--kp-primary) !important;
  font:900 14px/1 var(--kp-font) !important;
  text-decoration:none !important;
  box-shadow:none !important;
  cursor:pointer !important;
}

.kp-catalog-filter:hover,
.kp-catalog-filter.is-active{
  border-color:var(--kp-primary) !important;
  background:var(--kp-primary) !important;
  color:#fff !important;
}

.kp-catalog-filter:focus{
  outline:2px solid rgba(30,107,79,.25) !important;
  outline-offset:2px !important;
}

@media (max-width:860px){
  .kp-filters,
  .kp-archive-filters{
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:10px;
  }

  .kp-filters a,
  .kp-archive-filters a{
    flex:0 0 auto;
  }
}

@media (max-width:640px){
  .kp-catalog-filters{
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:4px;
  }

  .kp-catalog-filter{
    flex:0 0 auto;
  }
}

/* =========================================================
   Search page
   ========================================================= */

.kp-search-page{
  background:var(--kp-bg);
  padding:56px 10px 72px;
}

.kp-search-hero,
.kp-search-results{
  max-width:1140px;
  margin:0 auto;
}

.kp-search-hero__inner{
  margin-bottom:34px;
}

.kp-search-hero h1{
  margin:8px 0 22px;
  color:var(--kp-primary);
  font-size:38px;
  line-height:1.15;
  font-weight:900;
}

.kp-search-form{
  display:flex;
  gap:10px;
  max-width:760px;
}

.kp-search-form input{
  flex:1;
  min-height:52px;
  padding:0 16px;
  border:1px solid var(--kp-border);
  border-radius:14px;
  background:#fff;
  color:var(--kp-text);
  font:700 16px/1.2 var(--kp-font);
}

.kp-search-form button{
  min-height:52px;
  padding:0 20px;
  border:0;
  border-radius:14px;
  background:var(--kp-primary);
  color:#fff;
  font:900 15px/1 var(--kp-font);
  cursor:pointer;
}

.kp-search-results__meta{
  margin:0 0 18px;
  color:var(--kp-muted);
  font-size:15px;
  font-weight:700;
}

.kp-search-results__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}

.kp-search-card{
  background:#fff;
  border:1px solid var(--kp-border);
  border-radius:18px;
  padding:24px 26px;
  box-shadow:var(--kp-shadow-soft);
}

.kp-search-card__top{
  display:flex;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}

.kp-search-card__type{
  color:var(--kp-primary);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}

.kp-search-card__top time{
  color:var(--kp-muted);
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}

.kp-search-card__title{
  margin:0 0 12px;
  font-size:21px;
  line-height:1.3;
  font-weight:900;
}

.kp-search-card__title a{
  color:var(--kp-text);
  text-decoration:none;
}

.kp-search-card__title a:hover{
  color:var(--kp-primary);
}

.kp-search-card__excerpt{
  margin:0 0 18px;
  color:var(--kp-muted);
  font-size:15px;
  line-height:1.65;
}

.kp-search-card__link{
  color:var(--kp-primary);
  font-size:14px;
  font-weight:900;
  text-decoration:none;
}

.kp-search-card__link:hover{
  text-decoration:underline;
}

.kp-search-pagination{
  margin-top:30px;
}

@media (max-width:768px){
  .kp-search-page{
    padding:36px 10px 52px;
  }

  .kp-search-hero h1{
    font-size:30px;
  }

  .kp-search-form{
    flex-direction:column;
  }

  .kp-search-results__grid{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   Single Job / Конкурси
   ========================================================= */

.single-obyavi main,
.single-konkursi main,
.single-post main{
  padding:40px 20px 80px;
}

.single-obyavi article,
.single-konkursi article,
.single-post article{
  max-width:1100px;
  margin:0 auto;
  background:#fff;
  border-radius:24px;
  padding:48px 56px;
  box-shadow:0 12px 40px rgba(0,0,0,.06);
  border:1px solid rgba(30,107,79,.08);
}

/* Заглавие */
.single-obyavi h1,
.single-konkursi h1,
.single-post h1{
  font-size:52px;
  line-height:1.05;
  margin-bottom:14px;
  color:var(--kp-primary);
}

/* Категория */
.single-obyavi .entry-categories,
.single-konkursi .entry-categories{
  margin-bottom:10px;
}

/* Meta */
.single-obyavi .entry-meta,
.single-konkursi .entry-meta{
  margin-bottom:34px;
  padding-bottom:18px;
  border-bottom:1px solid var(--kp-border);
}

/* Съдържание */
.single-obyavi .entry-content,
.single-konkursi .entry-content{
  font-size:17px;
  line-height:1.9;
  color:var(--kp-text);
}

.single-obyavi .entry-content h2,
.single-konkursi .entry-content h2{
  margin-top:48px;
  margin-bottom:18px;
  font-size:38px;
  line-height:1.15;
  color:var(--kp-primary);
}

.single-obyavi .entry-content ul,
.single-konkursi .entry-content ul{
  padding-left:24px;
}

.single-obyavi .entry-content li,
.single-konkursi .entry-content li{
  margin-bottom:10px;
}

/* Mobile */
@media (max-width:768px){

  .single-obyavi article,
  .single-konkursi article,
  .single-post article{
    padding:28px 22px;
    border-radius:18px;
  }

  .single-obyavi h1,
  .single-konkursi h1,
  .single-post h1{
    font-size:38px;
  }

  .single-obyavi .entry-content h2,
  .single-konkursi .entry-content h2{
    font-size:28px;
  }
}
/* =========================================================
   Single Service Page
   ========================================================= */

.kp-service-single .kp-container{
  max-width:1320px;
}

.kp-service-single{
  padding:42px 0 72px;
  background:var(--kp-bg);
}

/* Summary cards */

.kp-grid-summary{
  display:grid;
  grid-template-columns:1.15fr .95fr .95fr;
  gap:22px;
  margin:0 0 32px;
}

/* Details */

.kp-service-details{
  display:grid;
  gap:18px;
}

.kp-service-content{
  color:var(--kp-text);
  font-size:18px;
  line-height:1.85;
}

.kp-service-content p{
  margin-bottom:18px;
}

.kp-service-content p:last-child{
  margin-bottom:0;
}

.kp-service-content h2,
.kp-service-content h3{
  margin:38px 0 16px !important;
  color:var(--kp-primary) !important;
  font-size:28px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
}

.kp-service-content h2:first-child,
.kp-service-content h3:first-child{
  margin-top:0 !important;
}

.kp-service-content ul,
.kp-service-content ol{
  display:grid;
  gap:10px;
  margin:20px 0;
  padding:0;
  list-style:none;
}

.kp-service-content li{
  position:relative;
  margin:0;
  padding:14px 16px 14px 46px;
  background:var(--kp-bg);
  border:1px solid var(--kp-border);
  border-radius:16px;
  color:var(--kp-text);
  font-size:17px;
  line-height:1.6;
}

.kp-service-content li::before{
  content:"✓";
  position:absolute;
  left:18px;
  top:13px;
  color:var(--kp-secondary);
  font-weight:900;
}

.kp-service-content a{
  color:var(--kp-primary);
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:3px;
}

/* Responsive */

@media (max-width:1100px){
  .kp-grid-summary{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:900px){
  .kp-grid-summary{
    grid-template-columns:1fr;
  }
}

@media (max-width:640px){
  .kp-service-single{
    padding:26px 0 56px;
  }

  .kp-service-single .kp-container{
    padding:0 16px;
  }

  .kp-service-content{
    font-size:17px;
  }

  .kp-service-content h2,
  .kp-service-content h3{
    font-size:24px !important;
  }
}

/* =========================================================
   Services Archive - Final
   ========================================================= */

.kp-services-page{
  max-width:1180px;
  margin:0 auto;
  padding:42px 20px 72px;
  background:var(--kp-bg);
}

.kp-services-head{
  max-width:760px;
  margin-bottom:28px;
}

.kp-services-head span{
  display:block;
  margin-bottom:8px;
  color:var(--kp-primary);
  font-size:14px;
  font-weight:700;
}

.kp-services-head h1{
  margin:0 0 12px !important;
  color:var(--kp-primary) !important;
  font-size:42px !important;
  line-height:1.1 !important;
  font-weight:800 !important;
}

.kp-services-head p{
  margin:0;
  color:var(--kp-text);
  font-size:16px;
  line-height:1.65;
}

.kp-services-layout{
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  gap:28px;
  align-items:start;
}

.kp-services-nav{
  position:sticky;
  top:110px;
  padding:14px;
  border-radius:20px;
  background:#fff;
  border:1px solid var(--kp-border);
}

.kp-services-nav a{
  display:block;
  padding:10px 12px;
  border-radius:12px;
  color:var(--kp-primary);
  font-size:14px;
  line-height:1.3;
  font-weight:700;
  text-decoration:none !important;
}

.kp-services-nav a + a{
  margin-top:5px;
}

.kp-services-nav a:hover{
  background:var(--kp-bg);
}

.kp-services-nav a.is-active{
  background:var(--kp-primary);
  color:#fff;
}

.kp-services-results{
  min-width:0;
}

.kp-services-searchbar{
  position:relative;
  display:flex;
  align-items:center;
  max-width:520px;
  margin-bottom:22px;
}

.kp-services-searchbar i{
  position:absolute;
  left:18px;
  color:var(--kp-primary);
  font-size:16px;
}

.kp-services-searchbar input{
  width:100%;
  height:54px;
  padding:0 18px 0 50px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--kp-border);
  color:var(--kp-text);
  font-size:15px;
  font-weight:700;
}

.kp-services-searchbar input:focus{
  outline:none;
  border-color:var(--kp-primary);
}

.kp-services-pagination{
  margin-top:36px;
}

.kp-services-pagination .nav-links{
  display:flex;
  justify-content:center;
  gap:8px;
}

.kp-services-pagination .page-numbers{
  min-width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  border-radius:10px;
  background:#fff;
  border:1px solid var(--kp-border);
  color:var(--kp-primary);
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}

.kp-services-pagination .page-numbers.current{
  background:var(--kp-primary);
  color:#fff;
  border-color:var(--kp-primary);
}

@media (max-width:1100px){
  .kp-services-layout{
    grid-template-columns:1fr;
  }

  .kp-services-nav{
    position:relative;
    top:auto;
    display:flex;
    gap:8px;
    overflow-x:auto;
  }

  .kp-services-nav a{
    flex:0 0 auto;
    white-space:nowrap;
  }

}

@media (max-width:720px){
  .kp-services-page{
    padding:28px 16px 56px;
  }

  .kp-services-head h1{
    font-size:34px !important;
  }

}

/* =========================================================
   Leadership placeholder avatars
   ========================================================= */

.kp-team-card{
  display:flex;
  align-items:flex-start;
  gap:22px;
}

.kp-team-card__avatar--placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  width:88px;
  min-width:88px;
  height:88px;
  border-radius:50%;
  background:
    linear-gradient(
      135deg,
      var(--kp-primary),
      var(--kp-secondary)
    );
  color:#fff;
  font-size:30px;
  line-height:1;
  font-weight:900;
  letter-spacing:.04em;
  box-shadow:0 12px 28px rgba(30,107,79,.18);
  flex-shrink:0;
}

.kp-team-card__avatar--placeholder span{
  transform:translateY(-1px);
}

@media (max-width:768px){

  .kp-team-card{
    flex-direction:column;
  }

  .kp-team-card__avatar--placeholder{
    width:72px;
    min-width:72px;
    height:72px;
    font-size:24px;
  }

}

/* =========================================================
   PAGE: Administrative structure
   ========================================================= */

.kp-structure-page{
  max-width:var(--kp-container);
  margin:0 auto;
}

.kp-structure-card{
  overflow:hidden;
  margin-top:28px;
  border:1px solid var(--kp-border);
  border-radius:24px;
  background:#fff;
  box-shadow:var(--kp-shadow-soft);
}
/* =========================================================
   SVG
   ========================================================= */

.kp-structure-card__image{
  overflow:auto;
  padding:42px 42px 64px;
  background:
    radial-gradient(circle at top right, rgba(47,140,103,.08), transparent 35%),
    #f8fbf9;
}

.kp-structure-card__image img{
  display:block;
  width:88%;
  min-width:980px;
  max-width:1200px;
  height:auto;
  margin:0 auto;
}
/* =========================================================
   SUMMARY
   ========================================================= */

.kp-structure-summary{
  padding:40px 42px;
  border-top:1px solid var(--kp-border);
  background:#fff;
}

.kp-structure-summary h3{
  margin:0 0 28px;
  color:var(--kp-primary);
  font-size:32px;
  line-height:1.15;
  font-weight:900;
}

.kp-structure-summary__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:40px;
}

.kp-structure-summary__col ul{
  margin:0;
  padding:0;
  list-style:none;
}

.kp-structure-summary__col li{
  position:relative;
  padding-left:18px;
  margin-bottom:16px;
  color:var(--kp-text);
  font-size:16px;
  line-height:1.7;
  font-weight:600;
}

.kp-structure-summary__col li::before{
  content:"";
  position:absolute;
  top:12px;
  left:0;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--kp-secondary);
}

/* =========================================================
   STATS
   ========================================================= */

.kp-structure-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:42px;
}

.kp-structure-stat{
  padding:24px;
  border:1px solid var(--kp-border);
  border-radius:20px;
  background:#f8fbf9;
}

.kp-structure-stat span{
  display:block;
  margin-bottom:10px;
  color:var(--kp-muted);
  font-size:14px;
  line-height:1.4;
  font-weight:700;
}

.kp-structure-stat strong{
  color:var(--kp-primary);
  font-size:38px;
  line-height:1;
  font-weight:900;
}

/* =========================================================
   Mobile
   ========================================================= */

@media (max-width:768px){

  .kp-structure-card{
    border-radius:20px;
  }

  .kp-structure-card__image{
    padding:22px 18px 32px;
  }

  .kp-structure-card__image img{
    min-width:980px;
  }

  .kp-structure-summary{
    padding:28px 22px;
  }

  .kp-structure-summary h3{
    font-size:26px;
  }

  .kp-structure-summary__grid,
  .kp-structure-stats{
    grid-template-columns:1fr;
    gap:18px;
  }

  .kp-structure-summary__col li{
    font-size:15px;
  }

  .kp-structure-stat{
    padding:22px;
  }

  .kp-structure-stat strong{
    font-size:32px;
  }
}

/* =========================================================
   Homepage Photo Hero
   ========================================================= */

.kp-home-photo-hero{
  position:relative;
  overflow:hidden;
  min-height:520px;
  margin:0 0 42px;
  display:flex;
  border-radius:32px;
  align-items:center;
  background-image:url('/wp-content/uploads/2026/05/hero-kp.jpg');
  background-size:cover;
  background-position:center;
}

.kp-home-photo-hero__overlay{
  position:absolute;
  inset:0;
  background:
  linear-gradient(
    90deg,
    rgba(15,35,28,.82) 0%,
    rgba(15,35,28,.56) 46%,
    rgba(15,35,28,.16) 100%
  );
}

.kp-home-photo-hero__inner{
  position:relative;
  z-index:2;
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 20px;
}

.kp-home-photo-hero__content{
  max-width:680px;
}

.kp-home-photo-hero__content span{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  margin-bottom:18px;
  padding:0 16px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(10px);
  color:#fff;
  font-size:14px;
  font-weight:800;
}

.kp-home-photo-hero__content h1{
  margin:0 0 22px;
  color:#fff;
  font-size:clamp(42px, 6vw, 68px);
  line-height:1.02;
  font-weight:900;
  letter-spacing:-.03em;
}

.kp-home-photo-hero__content p{
  max-width:620px;
  margin:0;
  color:rgba(255,255,255,.9);
  font-size:20px;
  line-height:1.7;
  font-weight:600;
}

@media (max-width:768px){

  .kp-home-photo-hero{
    min-height:440px;
    margin-bottom:32px;
  }

  .kp-home-photo-hero__content h1{
    font-size:44px;
  }

  .kp-home-photo-hero__content p{
    font-size:17px;
  }
}
.kp-home-hero{
  display:none !important;
}

/* =========================================================
   Projects archive cards
   ========================================================= */

.kp-projects-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:28px;
  margin-top:28px;
}

.kp-project-card{
  overflow:hidden;
  padding:0 !important;
  border-radius:24px !important;
  border:1px solid rgba(30,107,79,.24) !important;
  background:#fff !important;
  box-shadow:0 16px 38px rgba(30,107,79,.08);
  transition:transform .22s ease, box-shadow .22s ease;
}

.kp-project-card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 48px rgba(30,107,79,.14);
}

.kp-project-card__image{
  display:block;
  overflow:hidden;
  background:var(--kp-bg);
}

.kp-project-card__image img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  display:block;
  transition:transform .25s ease;
}

.kp-project-card:hover .kp-project-card__image img{
  transform:scale(1.025);
}

.kp-project-card__content{
  padding:24px 26px 26px;
}

.kp-project-card__badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:14px;
}

.kp-project-card h2{
  margin:0 0 14px;
  font-size:26px;
  line-height:1.18;
  font-weight:900;
  color:var(--kp-primary);
}

.kp-project-card h2 a{
  color:inherit;
  text-decoration:none;
}

.kp-project-card h2 a:hover{
  color:var(--kp-secondary);
}

.kp-project-card__excerpt{
  color:var(--kp-muted);
  font-size:15px;
  line-height:1.65;
  margin-bottom:18px;
}

.kp-project-card__excerpt p{
  margin:0;
}

.kp-project-card__meta{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:18px 0 22px;
}

.kp-project-card__meta span{
  display:block;
  padding:10px 12px;
  border-radius:12px;
  background:var(--kp-bg);
  color:var(--kp-text);
  font-size:14px;
  line-height:1.45;
}

.kp-project-card__meta strong{
  color:var(--kp-primary);
  font-weight:900;
}

.kp-project-card__footer{
  margin-top:auto;
}

.kp-project-card .kp-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:11px 18px;
  border-radius:999px;
  background:var(--kp-primary);
  color:#fff !important;
  font-size:14px;
  font-weight:900;
  text-decoration:none;
  transition:background .18s ease, transform .18s ease;
  position:relative;
  z-index:5;
  cursor:pointer;
}

.kp-project-card .kp-button:hover{
  background:var(--kp-secondary);
  transform:translateY(-1px);
}

@media (max-width:900px){
  .kp-projects-grid{
    grid-template-columns:1fr;
  }

  .kp-project-card__content{
    padding:20px;
  }

  .kp-project-card h2{
    font-size:22px;
  }
}

.kp-citizen-budget-page .kp-section,
.kp-citizen-budget-single .kp-section{
  max-width:100%;
}

.kp-citizen-budget-page .kp-project-card__image{
  display:block;
  overflow:hidden;
  background:var(--kp-bg);
}

.kp-citizen-budget-page .kp-project-card__image a{
  display:block;
}

.kp-citizen-budget-page .kp-project-card__image img{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
}

.kp-citizen-budget-single .kp-section{
  padding-top:34px;
}

.kp-citizen-budget-single .kp-cb-single-card{
  overflow:hidden;
  padding:0 !important;
  border-radius:24px !important;
  border:1px solid rgba(30,107,79,.24) !important;
  background:#fff !important;
  box-shadow:0 16px 38px rgba(30,107,79,.08);
}

.kp-citizen-budget-single .kp-cb-single-card__body{
  padding:28px 30px 32px;
}

.kp-citizen-budget-single .kp-cb-single-card__head{
  max-width:860px;
  margin-bottom:22px;
}

.kp-citizen-budget-single .kp-cb-single-card__head h1{
  margin:8px 0 12px;
  color:var(--kp-primary);
  font-size:36px;
  line-height:1.16;
  font-weight:900;
}

.kp-citizen-budget-single .kp-cb-single-card__head p{
  margin:0;
  color:var(--kp-muted);
  font-size:17px;
  line-height:1.7;
}

.kp-citizen-budget-single .kp-cb-single__image{
  overflow:hidden;
  margin:0 0 26px;
  border-radius:20px;
  background:var(--kp-bg);
}

.kp-citizen-budget-single .kp-cb-single__image img{
  display:block;
  width:100%;
  aspect-ratio:16/8;
  object-fit:cover;
}

.kp-citizen-budget-single .kp-cb-meta{
  margin:0 0 26px;
}

.kp-citizen-budget-single .kp-cb-meta__item{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:6px;
}

.kp-citizen-budget-single .kp-cb-meta__label{
  color:var(--kp-primary);
  font-weight:900;
}

.kp-citizen-budget-single .kp-cb-meta__value{
  color:var(--kp-text);
  font-size:15px;
  line-height:1.45;
  font-weight:700;
}

.kp-citizen-budget-single .kp-entry-content{
  font-size:17px;
  line-height:1.8;
}

.kp-citizen-budget-single .kp-entry-content p{
  margin-bottom:18px;
}

.kp-citizen-budget-single .kp-entry-content ul,
.kp-citizen-budget-single .kp-entry-content ol{
  line-height:1.7;
}

.kp-citizen-budget-single .kp-entry-content li{
  margin-bottom:8px;
}

.kp-citizen-budget-single .entry-content img,
.kp-citizen-budget-single .kp-entry-content img{
  max-width:100%;
  height:auto;
  border-radius:18px;
}

.kp-citizen-budget-single .entry-content .alignleft,
.kp-citizen-budget-single .entry-content .alignright,
.kp-citizen-budget-single .kp-entry-content .alignleft,
.kp-citizen-budget-single .kp-entry-content .alignright{
  float:none;
  display:block;
  margin:0 0 24px;
}

.kp-citizen-budget-single .kp-cb-single-card__footer{
  margin-top:24px;
}

@media (max-width:700px){
  .kp-citizen-budget-single .kp-cb-single__image img{
    aspect-ratio:16/10;
  }

  .kp-citizen-budget-single .kp-cb-single-card__body{
    padding:22px 20px 24px;
  }

  .kp-citizen-budget-single .kp-cb-single-card__head h1{
    font-size:28px;
  }
}

/* =========================================================
   KP IUMPS Archive
   ========================================================= */

.kp-iumps-archive{
  padding-bottom:56px;
}

.kp-iumps-table-wrap{
  margin-top:30px;
  border:1px solid rgba(30,107,79,.14);
  border-radius:22px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 14px 36px rgba(15,23,42,.06);
}

.kp-iumps-table-head{
  display:grid;
  grid-template-columns:120px 220px 140px 1fr 110px;
  gap:18px;
  padding:16px 22px;
  background:linear-gradient(135deg,var(--kp-primary),var(--kp-secondary));
  color:#fff;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.kp-iumps-table{
  display:flex;
  flex-direction:column;
}

.kp-iumps-row{
  display:grid;
  grid-template-columns:120px 220px 140px 1fr 110px;
  gap:18px;
  align-items:center;
  padding:17px 22px;
  border-bottom:1px solid rgba(30,107,79,.08);
  background:#fff;
  transition:background .18s ease, transform .18s ease;
}

.kp-iumps-row:nth-child(even){
  background:#fbfdfc;
}

.kp-iumps-row:hover{
  background:var(--kp-bg);
}

.kp-iumps-row:last-child{
  border-bottom:none;
}

.kp-iumps-row__date,
.kp-iumps-row__period,
.kp-iumps-row__number{
  color:var(--kp-muted);
  font-size:14px;
  line-height:1.45;
}

.kp-iumps-row__date{
  font-weight:700;
  color:var(--kp-primary);
}

.kp-iumps-row__number{
  font-weight:700;
}

.kp-iumps-row__title a{
  color:var(--kp-text);
  font-size:15px;
  font-weight:800;
  line-height:1.45;
  text-decoration:none;
}

.kp-iumps-row__title a:hover{
  color:var(--kp-primary);
  text-decoration:underline;
  text-underline-offset:3px;
}

.kp-iumps-row__file a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:78px;
  padding:8px 12px;
  border:1px solid rgba(30,107,79,.20);
  border-radius:999px;
  background:#fff;
  color:var(--kp-primary);
  font-size:13px;
  font-weight:900;
  text-decoration:none;
  transition:background .18s ease, color .18s ease, border-color .18s ease;
}

.kp-iumps-row__file a:hover{
  background:var(--kp-primary);
  color:#fff;
  border-color:var(--kp-primary);
}

.kp-iumps-row__file i{
  font-size:14px;
}

/* Pagination spacing */
.kp-iumps-archive .kp-pagination{
  margin-top:28px;
}

/* Mobile table collapse */
@media (max-width:991px){

  .kp-iumps-table-head{
    display:none;
  }

  .kp-iumps-row{
    grid-template-columns:1fr;
    gap:10px;
    padding:18px;
  }

  .kp-iumps-row__date::before{
    content:"Дата: ";
    color:#6b7280;
    font-weight:700;
  }

  .kp-iumps-row__period::before{
    content:"Период: ";
    color:#6b7280;
    font-weight:700;
  }

  .kp-iumps-row__number::before{
    content:"№ протокол: ";
    color:#6b7280;
    font-weight:700;
  }

  .kp-iumps-row__file{
    margin-top:6px;
  }

  .kp-iumps-row__file a{
    width:100%;
  }

}

@media (max-width:767px){

  .kp-iumps-table-wrap{
    border-radius:18px;
  }

  .kp-iumps-row{
    padding:18px;
  }

}

/* =========================================================
   KP IUMPS Single
   ========================================================= */

.kp-iumps-single{
  padding-bottom:56px;
}

.kp-iumps-single__panel{
  max-width:980px;
  margin:32px auto 0;
}

.kp-iumps-meta{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-bottom:24px;
}

.kp-iumps-meta__item{
  padding:22px;
  border:1px solid rgba(30,107,79,.14);
  border-radius:20px;
  background:#fff;
}

.kp-iumps-meta__item span{
  display:block;
  margin-bottom:8px;
  color:#6b7280;
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.kp-iumps-meta__item strong{
  display:block;
  color:var(--kp-text);
  font-size:17px;
  line-height:1.5;
}

.kp-iumps-note{
  margin-bottom:24px;
  padding:24px;
  border-radius:22px;
  background:#f7fbf8;
  border:1px solid rgba(30,107,79,.10);
}

.kp-iumps-note h2{
  margin:0 0 14px !important;
  color:var(--kp-primary) !important;
  font-size:22px !important;
}

.kp-iumps-note p{
  margin:0;
}

.kp-iumps-file-box{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:24px;
  padding:24px;
  border:1px solid rgba(30,107,79,.14);
  border-radius:22px;
  background:#fff;
}

.kp-iumps-file-box__label{
  display:block;
  margin-bottom:8px;
  color:#6b7280;
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.kp-iumps-content{
  padding:28px;
  border:1px solid rgba(30,107,79,.12);
  border-radius:22px;
  background:#fff;
}

.kp-iumps-content > *:first-child{
  margin-top:0;
}

.kp-iumps-content > *:last-child{
  margin-bottom:0;
}

/* =========================================================
   Responsive
   ========================================================= */

/* .kp-iumps-table-head / .kp-iumps-row responsive rules live in iumps-archive.css */

@media (max-width:991px){

  .kp-iumps-meta{
    grid-template-columns:1fr;
  }

  .kp-iumps-file-box{
    flex-direction:column;
    align-items:flex-start;
  }

}

@media (max-width:767px){

  .kp-iumps-meta__item,
  .kp-iumps-note,
  .kp-iumps-file-box,
  .kp-iumps-content{
    padding:20px;
  }

}
.kp-doc-card__icon-empty{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  color:#94a3b8;
  font-size:20px;
}

.kp-doc-download--ghost{
  opacity:.75;
  border-style:dashed;
}

/* =========================================================
   Single Documen
   ========================================================= */

.kp-single-doc{
  font-family:var(--kp-font);
}


.kp-single-doc__card{
  max-width:820px;
  padding:28px;
  background:#fff;
  border:1px solid rgba(30,107,79,.14);
  border-radius:22px;
  box-shadow:0 12px 30px rgba(15,23,42,.06);
}

.kp-single-doc__meta{
  display:grid;
  gap:10px;
  margin-bottom:20px;
  color:var(--kp-text);
  font-size:16px;
}

/* =========================================================
   CONTACT PAGE
   ========================================================= */

.kp-contact-main{
  display:flex;
  flex-direction:column;
  gap:42px;
}

.kp-contact-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
}

.kp-contact-grid--links,
.kp-contact-grid--directory{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.kp-contact-section-head{
  margin:0 0 24px;
}

.kp-contact-section-head h2{
  margin:10px 0 0;
  color:var(--kp-primary);
  font-size:34px;
  font-weight:900;
}

.kp-contact-map__embed{
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(30,107,79,.14);
}

.kp-contact-map iframe{
  display:block;
}

@media (max-width:1024px){

  .kp-contact-grid,
  .kp-contact-grid--links,
  .kp-contact-grid--directory{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

}

@media (max-width:768px){

  .kp-contact-grid,
  .kp-contact-grid--links,
  .kp-contact-grid--directory{
    grid-template-columns:1fr;
  }

}
/* Bank data card — flat layout with dividers, no nested boxes */

.kp-contact-card--bank{
  grid-column:1 / -1;
  min-height:0;
}

.kp-contact-card__bank-header{
  display:flex;
  align-items:center;
  gap:14px;
  padding-bottom:18px;
  margin-bottom:18px;
  border-bottom:1px solid rgba(30,107,79,.1);
}

.kp-contact-card__bank-header h2{
  margin:0;
}

.kp-contact-card__bank-fields{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
}

.kp-bank-field{
  padding:0 20px;
  border-right:1px solid rgba(30,107,79,.1);
}

.kp-bank-field:first-child{
  padding-left:0;
}

.kp-bank-field:last-child{
  border-right:none;
}

.kp-bank-field > span{
  display:block;
  margin-bottom:6px;
  color:#6C7C7C;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.4px;
}

.kp-bank-field > strong{
  display:block;
  color:var(--kp-text);
  font-size:14px;
  font-weight:700;
  line-height:1.45;
  overflow-wrap:break-word;
}

@media (max-width:1024px){
  .kp-contact-card__bank-fields{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
  }
  .kp-bank-field{
    padding:0;
    border-right:none;
  }
}

@media (max-width:768px){
  .kp-contact-card__bank-fields{
    grid-template-columns:1fr 1fr;
  }
}

/* Contact page section spacing fix */
.kp-rayon-admin-page .kp-contact-section{
  margin-top:44px;
}

.kp-rayon-admin-page .kp-contact-section:first-of-type{
  margin-top:0;
}

.kp-rayon-admin-page .kp-section-head{
  margin-bottom:22px;
}

.kp-rayon-admin-page .kp-section-head .kp-eyebrow{
  margin-bottom:14px;
}

.kp-rayon-admin-page .kp-contact-card{
  min-height:220px;
}
/* =========================================================
   PAGE: Reception Hours
   ========================================================= */

.kp-reception{
  padding-bottom:48px;
}

/* Reception tables: uniform phone pills stacked in line,
   compact day/hour columns (desktop only) */
@media (min-width:861px){
  .kp-reception .kp-table td[data-label="Дни"],
  .kp-reception .kp-table td[data-label="Час"]{
    width:1%;
    white-space:nowrap;
  }

  .kp-reception .kp-table td[data-label="Телефон"],
  .kp-reception .kp-table td[data-label="Телефони"]{
    width:210px;
  }

  .kp-reception .kp-table .kp-phone,
  .kp-reception .kp-table .kp-phone-link{
    width:100%;
    max-width:180px;
  }

  .kp-reception .kp-table .kp-phone-list{
    margin-top:0;
  }
}

/* =========================================================
   Content box
   ========================================================= */

.kp-content-box{
  margin:0 0 34px;
  padding:26px 28px;

  background:#fff;
  border:1px solid rgba(30,107,79,.14);
  border-radius:24px;

  box-shadow:0 10px 28px rgba(15,23,42,.05);
}

.kp-content-box h2{
  display:flex;
  align-items:center;
  gap:12px;

  margin:0 0 14px !important;

  color:var(--kp-primary);
  font-size:26px !important;
  font-weight:900 !important;
  line-height:1.2 !important;
}

.kp-content-box h2 i{
  color:var(--kp-secondary);
}

.kp-content-box p{
  margin:0 0 14px;
  color:var(--kp-muted);
  font-size:16px;
  line-height:1.75;
}

.kp-content-box p:last-child{
  margin-bottom:0;
}

@media (max-width: 860px){
  .kp-content-box{
    padding:22px 20px;
    border-radius:20px;
  }

  .kp-content-box h2{
    font-size:22px !important;
  }
}

/* =========================================================
   Section head
   ========================================================= */

.kp-section__head--left{
  align-items:flex-start;
  text-align:left;
  margin:0 0 18px;
}

.kp-section__head--left .kp-section__label{
  margin-bottom:10px;
}

/* =========================================================
   FAQ
   ========================================================= */

.kp-faq-page .kp-faq-section,
.kp-faq-page .kp-faq-category{
  overflow:hidden;
  margin-bottom:26px;
  padding:0;
  border:1px solid rgba(30,107,79,.14);
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 34px rgba(31,41,51,.08);
}

.kp-faq-page .kp-faq-quick-links{
  margin-bottom:34px;
}

.kp-faq-page .kp-faq-section > h2,
.kp-faq-page .kp-faq-category__title{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0;
  padding:18px 20px;
  border-bottom:1px solid rgba(30,107,79,.12);
  background:var(--kp-primary) !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.04em;
  line-height:1.2 !important;
  text-transform:uppercase;
}

.kp-faq-page .kp-faq-section > h2 i,
.kp-faq-page .kp-faq-category__title i{
  flex:0 0 auto;
  color:#fff !important;
  font-size:16px;
}

.kp-faq-page .kp-faq-list{
  display:block;
}

.kp-faq-page .kp-faq-item{
  margin:0;
  padding:24px 28px;
  border-bottom:1px solid rgba(30,107,79,.10);
  background:#fff;
}

.kp-faq-page .kp-faq-item:last-child{
  border-bottom:0;
}

.kp-faq-page .kp-faq-item h3{
  margin:0 0 12px;
  color:var(--kp-primary);
  font-size:22px;
  line-height:1.25;
}

.kp-faq-page .kp-faq-answer{
  color:var(--kp-muted);
  font-size:16px;
  line-height:1.65;
}

.kp-faq-page .kp-faq-answer p{
  margin:0 0 12px;
  padding-left:16px;
  border-left:3px solid rgba(47,140,103,.35);
}

.kp-faq-page .kp-faq-answer p:last-child{
  margin-bottom:0;
}

.kp-faq-page .kp-faq-answer a{
  color:var(--kp-primary);
  font-weight:900;
  text-decoration:underline;
  text-underline-offset:3px;
}

@media (max-width:760px){
  .kp-faq-page .kp-faq-section,
  .kp-faq-page .kp-faq-category{
    border-radius:18px;
  }

  .kp-faq-page .kp-faq-section > h2,
  .kp-faq-page .kp-faq-category__title{
    padding:18px 20px;
    font-size:13px !important;
  }

  .kp-faq-page .kp-faq-item{
    padding:20px;
  }

  .kp-faq-page .kp-faq-item h3{
    font-size:19px;
  }

  .kp-faq-page .kp-faq-answer{
    font-size:15px;
  }
}

/* =========================================================
   Tables
   ========================================================= */

.kp-table-wrap{
  margin-bottom:38px;

  overflow:hidden;

  background:#fff;
  border:1px solid rgba(30,107,79,.14);
  border-radius:24px;

  box-shadow:0 10px 28px rgba(15,23,42,.05);
}

.kp-table{
  width:100%;
  border-collapse:collapse;
}

.kp-table thead{
  background:var(--kp-primary);
}

.kp-table th{
  padding:18px 20px;

  color:#fff;
  text-align:left;

  font-size:13px;
  font-weight:900;

  letter-spacing:.04em;
  text-transform:uppercase;
}

.kp-table td{
  padding:18px 20px;

  border-bottom:1px solid rgba(30,107,79,.10);

  color:var(--kp-text);
  vertical-align:top;

  font-size:15px;
  line-height:1.6;
}

.kp-table tbody tr:nth-child(even){
  background:#f8fbf9;
}

.kp-table tbody tr:last-child td{
  border-bottom:0;
}

.kp-table tbody tr:hover{
  background:rgba(30,107,79,.04);
}

.kp-table strong{
  color:var(--kp-primary);
  font-weight:800;
}

/* =========================================================
   Table links / phones
   ========================================================= */

.kp-table a{
  color:var(--kp-secondary);
  font-weight:700;
  text-decoration:none;

  transition:color .18s ease;
}

.kp-table a:hover{
  color:var(--kp-primary);
  text-decoration:underline;
}

/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 860px){
  .kp-table,
  .kp-table thead,
  .kp-table tbody,
  .kp-table tr,
  .kp-table th,
  .kp-table td{
    display:block;
    width:100%;
  }

  .kp-table thead{
    display:none;
  }

  .kp-table tbody{
    display:flex;
    flex-direction:column;
    gap:14px;
    padding:14px;
  }

  .kp-table tr{
    overflow:hidden;

    background:#fff !important;
    border:1px solid rgba(30,107,79,.12);
    border-radius:18px;
  }

  .kp-table td{
    padding:12px 14px;
    border-bottom:1px solid rgba(30,107,79,.08);
  }

  .kp-table td:last-child{
    border-bottom:0;
  }

  .kp-table td::before{
    content:attr(data-label);

    display:block;
    margin-bottom:4px;

    color:var(--kp-primary);

    font-size:12px;
    font-weight:900;

    letter-spacing:.03em;
    text-transform:uppercase;
  }
}

/* =========================================================
   Table hard lock
   ========================================================= */

.kp-table thead,
.kp-table thead tr,
.kp-table thead th{
  background:var(--kp-primary) !important;
  color:#fff !important;
}
/* =========================================================
   Departments tables
   ========================================================= */

@media (min-width: 861px){
  .kp-departments-page .kp-table{
    table-layout:fixed;
  }

  .kp-departments-page .kp-table th:nth-child(1),
  .kp-departments-page .kp-table td:nth-child(1){
    width:44%;
  }

  .kp-departments-page .kp-table th:nth-child(2),
  .kp-departments-page .kp-table td:nth-child(2){
    width:31%;
  }

  .kp-departments-page .kp-table th:nth-child(3),
  .kp-departments-page .kp-table td:nth-child(3){
    width:25%;
  }

  .kp-departments-page .kp-table td:nth-child(3) .kp-phone-list{
    display:flex;
    flex-direction:column;
    gap:10px;
    align-items:flex-start;
    margin-top:0;
  }

  .kp-departments-page .kp-table td:nth-child(3) .kp-phone,
  .kp-departments-page .kp-table td:nth-child(3) .kp-phone-link{
    width:100%;
    max-width:180px;
    box-sizing:border-box;
  }

  .kp-departments-page .kp-table td:nth-child(3) .kp-phone + .kp-phone,
  .kp-departments-page .kp-table td:nth-child(3) .kp-phone-link + .kp-phone-link{
    margin-top:10px;
  }
}

/* =========================================================
   Page content spacing
   ========================================================= */

.kp-page-content{
  display:flex;
  flex-direction:column;
  gap:22px;
}

/* =========================================================
   Reusable Contact / Info Blocks
   ========================================================= */

/* Meta cards */

.kp-meta-card{
  background:#fff;
  border:1px solid var(--kp-border);
  border-radius:var(--kp-radius);
  padding:20px;
}

.kp-meta-card span{
  display:block;
  color:var(--kp-muted);
  font-size:14px;
  font-weight:700;
  margin-bottom:8px;
}

.kp-meta-card strong{
  display:block;
  color:var(--kp-primary);
  font-size:26px;
  line-height:1.2;
  font-weight:800;
}

/* Notice / info strips */

.kp-notice,
.kp-notice--info,
.kp-team-card__note,
.kp-mayor-card__note{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0 0 22px;
  padding:14px 16px;
  border:1px solid rgba(30,107,79,.14);
  border-radius:16px;
  background:#f7faf8;
  color:var(--kp-muted);
  font-size:15px;
  font-weight:700;
  line-height:1.55;
}

.kp-notice i,
.kp-notice--info i,
.kp-team-card__note i,
.kp-mayor-card__note i{
  margin-top:3px;
  color:var(--kp-primary);
  flex-shrink:0;
}

/* Info boxes */

.kp-info-box,
.kp-meta-box{
  padding:18px;
  border:1px solid rgba(30,107,79,.10);
  border-radius:18px;
  background:#F6FAF8;
}

.kp-info-box > span,
.kp-meta-box > span{
  display:block;
  margin-bottom:8px;
  color:#6C7C7C;
  font-size:13px;
  font-weight:800;
  text-transform:none;
  letter-spacing:0;
}

.kp-info-box strong,
.kp-meta-box strong{
  color:var(--kp-text);
  font-size:15px;
  line-height:1.5;
  font-weight:800;
}

/* Contact cards */

.kp-contact-card{
  position:relative;
  padding:28px;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(30,107,79,.12);
  box-shadow:0 10px 30px rgba(15,23,42,.05);
}

.kp-contact-card__icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:56px;
  height:56px;
  margin:0 0 18px;
  border-radius:18px;
  background:rgba(30,107,79,.1);
  color:var(--kp-primary);
  font-size:22px;
}

.kp-contact-card h2{
  margin:0 0 12px;
  color:var(--kp-primary);
  font-size:22px;
  font-weight:800;
}

.kp-contact-card p{
  margin:0;
  color:var(--kp-muted);
  line-height:1.7;
}

.kp-contact-card a{
  color:inherit;
  text-decoration:none;
}

/* Phone and contact links */

.kp-phone-list,
.kp-contact-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:10px;
}

.kp-phone,
.kp-phone-link{
  display:inline-flex !important;
  align-items:center;
  gap:10px;
  width:fit-content;
  min-height:40px;
  padding:9px 14px;
  border:1px solid rgba(30,107,79,.22);
  border-radius:14px;
  background:#f6fbf8;
  color:var(--kp-primary) !important;
  text-decoration:none !important;
  font-size:14px;
  font-weight:900;
  line-height:1.2;
  white-space:nowrap;
  transition:background .18s ease, border-color .18s ease, color .18s ease;
}

.kp-phone:hover,
.kp-phone:focus-visible,
.kp-phone-link:hover,
.kp-phone-link:focus-visible{
  background:#eef6f1;
  border-color:rgba(30,107,79,.36);
  color:var(--kp-primary-dark) !important;
  text-decoration:none !important;
}

.kp-phone i,
.kp-phone-link i{
  font-size:13px;
  opacity:.9;
}

.kp-contact-link{
  display:inline-flex !important;
  align-items:center;
  gap:10px;
  width:fit-content;
  padding:10px 14px;
  border:1px solid rgba(30,107,79,.14);
  border-radius:14px;
  background:#f7faf8;
  color:var(--kp-primary) !important;
  text-decoration:none !important;
  font-size:14px;
  font-weight:800;
  line-height:1.2;
  transition:background .18s ease, border-color .18s ease, color .18s ease;
}

.kp-contact-link:hover,
.kp-contact-link:focus-visible{
  background:#eef6f1;
  border-color:rgba(30,107,79,.24);
  color:var(--kp-primary-dark) !important;
  text-decoration:none !important;
}

.kp-contact-link i{
  font-size:13px;
  opacity:.9;
}

/* =========================================================
   KP GLOBAL COMPONENT LOCKS
   Stable reusable components - do not remove during CSS cleanup
   ========================================================= */

/* ---------- Department headings ---------- */
.kp-department-head{
  margin:32px 0 18px;
}

.kp-department-head:first-of-type{
  margin-top:0;
}

.kp-department-head h3{
  margin:12px 0 0 !important;
  color:var(--kp-text);
  font-size:28px;
  font-weight:900;
  line-height:1.2;
}

/* ---------- Mobile ---------- */
@media (max-width:860px){
  .kp-department-head h3{
    font-size:23px;
  }
}

/* =========================================================
   Obyavi archive breakout width
   ========================================================= */

.kp-archive-obyavi > .kp-container{
  max-width:1140px !important;
}

//* =========================================================
   KP Education – general cards
   Scope: education pages only
   ========================================================= */

.kp-education-page .kp-section{
  max-width:var(--kp-container);
}

.kp-education-page .kp-section-block{
  margin:34px auto 48px;
}

.kp-education-page .kp-section-block:first-of-type{
  margin-top:0;
}

.kp-edu-toolbar{
  margin:0 0 30px;
}

.kp-edu-grid{
  display:grid;
  gap:22px;
}

.kp-edu-grid--2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.kp-edu-grid--3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

@media (max-width:1024px){
  .kp-edu-grid--3{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:700px){
  .kp-edu-grid--2,
  .kp-edu-grid--3{
    grid-template-columns:1fr;
  }

}

/* =========================================================
   KP PHP template layout consistency
   ========================================================= */

.kp-page{
  padding-top:24px !important;
  padding-bottom:72px !important;
}

.kp-page > .kp-container,
.kp-page > .kp-container--elementor{
  width:100% !important;
  max-width:var(--kp-container) !important;
  margin-right:auto !important;
  margin-left:auto !important;
  padding-right:24px !important;
  padding-left:24px !important;
  box-sizing:border-box !important;
}

.elementor .e-con:has(.kp-container),
.elementor-section:has(.kp-container),
.elementor-widget-html:has(.kp-container){
  width:100% !important;
  max-width:none !important;
  padding-right:0 !important;
  padding-left:0 !important;
  box-sizing:border-box !important;
}

.elementor .e-con-inner:has(.kp-container),
.elementor-section:has(.kp-container) > .elementor-container{
  width:100% !important;
  max-width:none !important;
  margin-right:0 !important;
  margin-left:0 !important;
  padding-right:0 !important;
  padding-left:0 !important;
  box-sizing:border-box !important;
}

.elementor .kp-container,
.elementor-widget-html .kp-container,
.elementor .kp-container.kp-container--elementor,
.elementor-widget-html .kp-container.kp-container--elementor{
  width:100% !important;
  max-width:var(--kp-container) !important;
  margin-right:auto !important;
  margin-left:auto !important;
  padding-right:24px !important;
  padding-left:24px !important;
  box-sizing:border-box !important;
}

.kp-page > .kp-container > .kp-hero,
.kp-page > .kp-container--elementor > .kp-hero,
.kp-page > .kp-container > .kp-section,
.kp-page > .kp-container--elementor > .kp-section,
.kp-page > .kp-container > .kp-section-block,
.kp-page > .kp-container--elementor > .kp-section-block,
.kp-page > .kp-container > .kp-page-shell,
.kp-page > .kp-container--elementor > .kp-page-shell,
.elementor .kp-container.kp-container--elementor > .kp-hero,
.elementor .kp-container > .kp-hero,
.elementor .kp-container.kp-container--elementor > .kp-section,
.elementor .kp-container > .kp-section,
.elementor .kp-container.kp-container--elementor > .kp-section-block,
.elementor .kp-container > .kp-section-block,
.elementor .kp-container.kp-container--elementor > .kp-page-shell,
.elementor .kp-container > .kp-page-shell,
.elementor-widget-html .kp-container.kp-container--elementor > .kp-hero,
.elementor-widget-html .kp-container > .kp-hero,
.elementor-widget-html .kp-container.kp-container--elementor > .kp-section,
.elementor-widget-html .kp-container > .kp-section,
.elementor-widget-html .kp-container.kp-container--elementor > .kp-section-block,
.elementor-widget-html .kp-container > .kp-section-block,
.elementor-widget-html .kp-container > .kp-page-shell,
body .kp-hero{
  width:100% !important;
  max-width:100% !important;
  margin-right:auto !important;
  margin-left:auto !important;
  box-sizing:border-box !important;
}

.kp-page > .kp-container > .kp-hero:first-child,
.kp-page > .kp-container--elementor > .kp-hero:first-child,
.kp-page > .kp-container > .kp-section:first-child,
.kp-page > .kp-container--elementor > .kp-section:first-child,
.kp-page > .kp-container > .kp-section-block:first-child,
.kp-page > .kp-container--elementor > .kp-section-block:first-child,
.kp-page > .kp-container > .kp-page-shell:first-child,
.kp-page > .kp-container--elementor > .kp-page-shell:first-child{
  margin-top:0 !important;
}

.ct-header [data-id="search"] .ct-icon,
.ct-header .ct-search-trigger .ct-icon{
  opacity:1 !important;
  visibility:visible !important;
  color:var(--kp-primary) !important;
  fill:currentColor !important;
  stroke:currentColor !important;
}

.ct-header [data-id="search"] .search-submit,
.ct-header [data-id="search"] button[type="submit"],
.ct-header [data-id="search"] .wp-element-button,
.ct-header .ct-search-form .search-submit,
.ct-header .ct-search-form button[type="submit"],
.ct-header .ct-search-form .wp-element-button,
.ct-header form.search-form .search-submit,
.ct-header form.search-form button[type="submit"],
.ct-header form.search-form .wp-element-button{
  --theme-button-background-initial-color:var(--kp-primary);
  --theme-button-background-hover-color:var(--kp-primary);
  --theme-button-text-initial-color:#fff;
  --theme-button-text-hover-color:#fff;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 36px !important;
  width:36px !important;
  min-width:36px !important;
  height:36px !important;
  min-height:36px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:8px !important;
  background:var(--kp-primary) !important;
  background-color:var(--kp-primary) !important;
  color:#fff !important;
  opacity:1 !important;
  visibility:visible !important;
  cursor:pointer !important;
}

.ct-header [data-id="search"] .search-submit .ct-icon,
.ct-header [data-id="search"] button[type="submit"] .ct-icon,
.ct-header [data-id="search"] .search-submit i,
.ct-header [data-id="search"] button[type="submit"] i,
.ct-header [data-id="search"] .search-submit svg,
.ct-header [data-id="search"] button[type="submit"] svg,
.ct-header .ct-search-form .search-submit .ct-icon,
.ct-header .ct-search-form button[type="submit"] .ct-icon,
.ct-header .ct-search-form .search-submit i,
.ct-header .ct-search-form button[type="submit"] i,
.ct-header .ct-search-form .search-submit svg,
.ct-header .ct-search-form button[type="submit"] svg,
.ct-header form.search-form .search-submit .ct-icon,
.ct-header form.search-form button[type="submit"] .ct-icon,
.ct-header form.search-form .search-submit i,
.ct-header form.search-form button[type="submit"] i,
.ct-header form.search-form .search-submit svg,
.ct-header form.search-form button[type="submit"] svg{
  display:block !important;
  width:16px !important;
  height:16px !important;
  opacity:1 !important;
  visibility:visible !important;
  color:#fff !important;
  fill:currentColor !important;
  stroke:currentColor !important;
}

.ct-header [data-id="search"] .search-submit::before,
.ct-header [data-id="search"] button[type="submit"]::before,
.ct-header .ct-search-form .search-submit::before,
.ct-header .ct-search-form button[type="submit"]::before,
.ct-header form.search-form .search-submit::before,
.ct-header form.search-form button[type="submit"]::before{
  content:"\f002" !important;
  display:block !important;
  width:16px !important;
  height:16px !important;
  font-family:"Font Awesome 6 Free" !important;
  font-size:15px !important;
  font-weight:900 !important;
  line-height:16px !important;
  color:#fff !important;
  text-align:center !important;
  opacity:1 !important;
  visibility:visible !important;
}

@media (max-width:768px){
  .kp-page{
    padding-top:18px !important;
    padding-bottom:56px !important;
  }

  .kp-page > .kp-container,
  .kp-page > .kp-container--elementor,
  .elementor .kp-container,
  .elementor-widget-html .kp-container,
  .elementor .kp-container.kp-container--elementor,
  .elementor-widget-html .kp-container.kp-container--elementor{
    padding-right:16px !important;
    padding-left:16px !important;
  }
}
