/* ==========================================================================
   usluga.css - шаблонът „Услуга" (page-templates/usluga.php) + кратките hero-та
   на страниците (page.php). B2.2. Зарежда се на is_page() (inc/enqueue.php).
   Макет: makets/final/usluga.html (<style>, префикс на макета „pg" + -usluga-*) - пренесено 1:1,
   преименувано към класовете, които дава конверторът (B3):
     макет:usluga-hero              → div.km-hero-split (мрежата; обвивката е section.km-usluga-hero, CF3.1)
     макет:usluga-hero__media       → .km-hero-split__media (figure)
     макет:usluga-hero__text        → .km-hero-split__text
     макет:usluga-hero__badges      → .km-hero-split__badges
     макет:usluga-badge             → .km-hero-split .km-badge (strong = стойността)
     .hero-desno (?hero=desno)    → .km-hero-split--reverse (_km_hero_side=right)
     макет:usluga-step              → .km-usluga .km-card--dark / .km-cards--dark > .km-card
     макет:usluga-txt .km-table     → .km-usluga .km-table table
     макет:usluga-sticky*           → .km-sticky-cta* (inc/sticky-cta.php)
     макет:usluga-h2/-txt/-faq/-reviews/-split → .km-usluga-* (раздел 8, конверторът v4 CF3.1)
     uslugi.html макет:uslugi-*     → .km-uslugi-* (раздел 9), za-nas.html макет:zanas-* → .km-zanas-* (раздел 10)
   Очакван маркъп на hero-то (CF3.1: в <section class="km-usluga-hero"><div class="km-container">):
     <div class="km-hero-split">
       <figure class="km-hero-split__media"><img …></figure>
       <div class="km-hero-split__text">… <h1> … <hr>
         <div class="km-hero-split__badges"><span class="km-badge"><strong>100 €</strong>…</span>…</div>
       </div>
     </div>
   Не предефинира селектори от base.css (само комбинации със .km-usluga / .km-hero-split).
   ЗАБРАНЕНИ (proekt-plan): виж base.css; всяко срещане - „изключение: ...".
   ========================================================================== */

/* ---------- 1. Hero 2 колони: снимка вляво (607) + текст вдясно (648, padding 48) ---------- */
.km-hero-split{
  display:grid; grid-template-columns:minmax(0,607fr) minmax(0,648fr); gap:10px; align-items:start;
  padding-block:48px 0;
}
.km-hero-split > *{ min-width:0; }
.km-hero-split__media{ margin:0; padding:10px; }
.km-hero-split__media img{ display:block; width:100%; aspect-ratio:1280/853; object-fit:cover; border-radius:var(--km-radius); }
.km-hero-split__text{ padding:48px; }
.km-hero-split__text hr{ border:0; border-top:1px solid var(--km-line); margin:24px 0; }
.km-hero-split__badges{ display:flex; flex-wrap:wrap; gap:12px; padding:10px 0; }
/* .km-badge + стойност (icon-box „100 € / адвокатски хонорар", „до 24 ч. / готови документи") */
.km-hero-split .km-badge{ display:inline-flex; flex-direction:column; gap:2px; padding:12px 20px; }
.km-hero-split .km-badge strong{ font-family:var(--km-font-head), Arial, sans-serif; font-size:25px; font-weight:600; line-height:1.2; text-transform:none; letter-spacing:0; color:var(--km-navy); }
/* _km_hero_side=right - вариантът „като на живо": текст вляво, снимка вдясно */
.km-hero-split--reverse{ grid-template-columns:minmax(0,648fr) minmax(0,607fr); }
.km-hero-split--reverse .km-hero-split__media{ order:2; }
@media (max-width:1024px){
  .km-hero-split, .km-hero-split--reverse{ grid-template-columns:minmax(0,1fr); }
  .km-hero-split--reverse .km-hero-split__media{ order:0; }
  .km-hero-split__text{ padding:16px; }
}
@media (max-width:767px){
  .km-hero-split{ padding-top:28px; }
  .km-hero-split__media{ padding:0; }
  .km-hero-split__text{ padding:16px 0; }
  .km-hero-split .km-badge strong{ font-size:20px; }
}

/* ---------- 2. 2-колонните секции след H2 лентата (макет: usluga-split, usluga.html р.61) ---------- */
/* CF3.1: падингът е на секцията-обвивка (section.km-usluga-split > .km-container > .km-split), както в макета */
.km-usluga-split{ padding-block:16px var(--km-section-y-b); }
/* CF4.2: icon-box с отметка (usluga.html р.63-71, ticks / tick__t / tick__d): заглавие 25/500 navy + описание 16 #757575;
   конверторът дава .km-ticks > li > strong.km-ticks__t + span.km-ticks__d (базовото .km-ticks__t в base.css е от uslugi.html) */
.km-usluga-split .km-ticks li{ align-items:flex-start; }
.km-usluga-split .km-ticks li:not(:has(.km-ticks__d)){ align-items:center; }
.km-usluga-split .km-ticks__t{ display:block; font-family:var(--km-font-head), Arial, sans-serif; font-size:25px; font-weight:500; line-height:1.3; color:var(--km-navy); }
/* CF5.1: icon-list без описание = <span>текст</span> без .km-ticks__t (= ticks--short в usluga.html) */
.km-usluga-split .km-ticks li > span:not(.km-tick):not(:has(.km-ticks__t)){ font-family:var(--km-font-head), Arial, sans-serif; font-size:25px; font-weight:500; line-height:1.3; color:var(--km-navy); }
.km-usluga-split .km-ticks__d{ display:block; margin-top:8px; font-family:var(--km-font-text), Arial, sans-serif; font-size:16px; font-weight:400; line-height:1.4; color:var(--km-text); }
@media (max-width:767px){
  .km-usluga-split .km-ticks__t{ font-size:18px; }
  .km-usluga-split .km-ticks li > span:not(.km-tick):not(:has(.km-ticks__t)){ font-size:18px; }
  .km-usluga-split .km-ticks__d{ font-size:14px; }
}

/* ---------- 3. Текстовите секции: списъците от text-editor (на живо: браузърен отстъп 40px + disc) ---------- */
.km-usluga ul:not([class]){ list-style:disc; padding-left:40px; margin:0 0 16px; }
@media (max-width:767px){ .km-usluga ul:not([class]){ padding-left:24px; } }

/* ---------- 4. Тъмна „Как протича… 4 стъпки" (карти #071B34 + number-1…4 SVG) ---------- */
/* конверторът дава .km-cards--dark > .km-card - същият вид като .km-card--dark от base.css */
.km-usluga .km-cards--dark > .km-card{ background:var(--km-navy); box-shadow:none; border-top:1px solid #FFFFFF2B; color:#FFFFFF99; }
.km-usluga .km-cards--dark > .km-card .km-card__title,
.km-usluga .km-cards--dark > .km-card h3{ color:var(--km-white); }
/* иконата-номер е вляво (base центрира .km-card__img) */
.km-usluga .km-card--dark .km-card__img,
.km-usluga .km-cards--dark .km-card__img{ margin:0 0 20px; }

/* ---------- 5. Таблицата (цена 2026) ---------- */
/* .km-table (base) е скрол обвивката с overflow-x:auto; минималната ширина държи
   3-те колони четими на 390px - таблицата се скролва в карето, страницата не се разпъва */
.km-usluga .km-table table{ min-width:560px; }

/* ---------- 6. Sticky CTA лента долу (П9: само при попълнено _km_sticky_text) ---------- */
/* position:sticky; bottom:0 на последния елемент в <main>: стои долу във вюпорта, докато main
   е на екрана, и „каца" в края на main преди футъра (без fixed, без layout shift).
   Не е от 5-те забранени (не е absolute) - отбелязано като съзнателно изключение от потока. */
.km-sticky-cta{
  position:sticky; bottom:0; z-index:90;
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px 24px;
  padding:12px 40px;
  background:var(--km-navy); color:var(--km-white);
  box-shadow:0 -4px 20px rgba(7,27,52,.25);
}
.km-sticky-cta__text{ margin:0; min-width:0; font-family:var(--km-font-head), Arial, sans-serif; font-size:16px; font-weight:500; line-height:1.4; color:var(--km-white); }
/* на 390: текстът над бутона, бутонът на цял ред */
@media (max-width:767px){
  .km-sticky-cta{ flex-direction:column; align-items:stretch; padding:12px 16px; gap:10px; text-align:center; }
  .km-sticky-cta__text{ font-size:14px; }
  .km-sticky-cta .km-btn{ display:flex; width:100%; }
}

/* ---------- 7. Breadcrumb в краткия hero (page.php; Rank Math дава nav.rank-math-breadcrumb > p) ---------- */
/* стилът на „Начало • Контакти" от kontakti.html (13px, бяло 60%) */
.km-hero--short .rank-math-breadcrumb{ margin:16px 0 0; font-size:13px; line-height:1.5; color:#FFFFFF99; }
.km-hero--short .rank-math-breadcrumb p{ margin:0; }
.km-hero--short .rank-math-breadcrumb a{ color:inherit; }
.km-hero--short .rank-math-breadcrumb a:hover,
.km-hero--short .rank-math-breadcrumb a:focus-visible{ color:var(--km-gold); }
.km-hero--short .rank-math-breadcrumb .separator{ margin-inline:6px; }

/* ---------- 8. Секциите на „Услуга" със собствен контейнер (CF3.1/CF3.2; usluga.html р.57-58, р.78-97) ---------- */
.km-usluga-h2{ padding-block:var(--km-section-y) 0; }
.km-usluga-h2 h2{ margin:0; padding-inline:1px; }

/* --- текстовите H2 секции (960px): ab76d4f … acc727d --- */
.km-usluga-txt{ padding-block:32px; }
.km-usluga-txt h2{ margin-bottom:20px; }
/* списъците в text-editor на живо са с браузърния отстъп 40px + disc */
.km-usluga-txt ul:not(.km-list){ list-style:disc; padding-left:40px; margin:0 0 16px; }
.km-usluga-txt .km-list{ margin:16px 0 0; }
.km-usluga-txt .km-list svg{ margin-top:1px; }
/* таблицата: скрол в карето на тясно (km-final .km-table дава overflow-x, тук - минимална ширина) */
.km-usluga-txt .km-table table{ min-width:560px; }
@media (max-width:767px){
  .km-usluga-txt{ padding-block:14px; }
  .km-usluga-txt ul:not(.km-list){ padding-left:24px; }
}
/* CF8.1: връзките в текста - както .entry-content в base.css (PLAN.md ИЗМЕНЕНИЯ т.7); usluga.php е без .entry-content.
   li:not(.product) - заглавията на продуктовите карти (ul.products > li > h2 > a) остават без подчертаване */
.km-usluga :where(.km-usluga-txt, .km-section, .km-usluga-faq, .km-faq) :where(p, li:not(.product), td, th, dd, blockquote, figcaption) a:not([class]){
  color:var(--km-navy); text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:1px;
  transition:color .3s, text-decoration-color .3s;
}
.km-usluga :where(.km-usluga-txt, .km-section, .km-usluga-faq, .km-faq) :where(p, li:not(.product), td, th, dd, blockquote, figcaption) a:not([class]):hover{ color:var(--km-gold); text-decoration-color:var(--km-gold); }

/* --- 2dd468f ЧЗВ --- */
.km-usluga-faq{ padding-block:32px var(--km-section-y-b); }
.km-usluga-faq h2{ margin-bottom:24px; }

/* --- 9307fb7 отзиви --- */
.km-usluga-reviews{ padding-block:var(--km-section-y) 0; }
.km-usluga-reviews h2{ margin:0; }
/* първата текстова секция след тъмната лента (usluga.html р.313 - inline padding-top); след @media, за да важи и на 390 */
.km-usluga-txt--first{ padding-top:var(--km-section-y); }
/* секция само с JSON-LD (1054 Product, 319 FAQPage) - невидима, без празните 2 x 32px */
.km-usluga-txt:has(> .km-container > script:only-child){ padding-block:0; }

/* ---------- 9. /services/ (uslugi.html р.32-44): картите km-uslugi-card + тъмната секция ---------- */
/* 94c30ff / 58bc19e: бяла карта услуга - декоративна PNG икона горе вдясно (на живо ::before на контейнера) */
.km-uslugi-card{ position:relative; isolation:isolate; display:flex; flex-direction:column; align-items:flex-start; gap:16px; padding:32px; }
/* ИЗКЛЮЧЕНИЕ position:absolute: декоративна икона ::before (като печата SEAL, разрешен в PLAN.md раздел 3) */
.km-uslugi-card::before{ content:""; position:absolute; top:24px; right:24px; z-index:-1; width:60px; height:60px; background:var(--km-icon) center/contain no-repeat; opacity:.15; }
.km-uslugi-card__img{ width:125px; height:100px; object-fit:cover; border-radius:12px; }
.km-uslugi-card .km-card__title{ margin:0; font-size:22px; }
.km-uslugi-card .km-card__title a:hover{ color:var(--km-gold); }
.km-uslugi-card p{ margin:0; }
.km-uslugi-card .km-btn{ margin-top:auto; }
@media (max-width:767px){ .km-uslugi-card{ padding:24px; } .km-uslugi-card .km-card__title{ font-size:18px; } }
/* 336fe9c: тъмна секция = navy2 + bg_img.png + overlay */
.km-bg-dark.km-uslugi-dark{ position:relative; isolation:isolate; background:var(--km-navy2) url("/wp-content/uploads/2026/01/bg_img.png") center/cover no-repeat; }
/* ИЗКЛЮЧЕНИЕ position:absolute: декоративен overlay ::before (не подрежда съдържание) */
.km-uslugi-dark::before{ content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(at top center, #1D2B45 0%, #071B34E6 100%); }

/* ---------- 10. /about/ (za-nas.html р.20-48): партньори, тикове, лента, иконите, CTA ---------- */
/* 1e78669: карта партньор - снимка 500x500 горе, divider, име + роля, текст, бутон */
.km-zanas-partner{ display:flex; flex-direction:column; padding:0 20px 20px; }
.km-zanas-partner__img{ width:500px; margin:0 auto; }
.km-zanas-partner__body{ display:flex; flex-direction:column; flex:1 1 auto; padding:0 20px 20px; }
/* .km-zanas-partner пред класа: page.php слага /about/ в .entry-content, а „.entry-content hr" (base.css, 0,1,1) би взел margin и цвета */
.km-zanas-partner .km-zanas-divider{ width:100%; margin:0 0 24px; border:0; border-top:1px solid var(--km-gold); }
.km-zanas-partner .km-card__title{ margin:0 0 4px; }
.km-zanas-partner__role{ margin:0 0 16px; color:var(--km-gold); font-weight:500; }
.km-zanas-partner .km-btn{ align-self:flex-start; margin-top:auto; }
.km-zanas-partner__text{ margin-bottom:24px; }
@media (max-width:767px){ .km-zanas-partner{ padding:0 0 16px; } .km-zanas-partner__body{ padding:0 16px 8px; } }
/* 7dbf8a5: тикове само със заглавие */
.km-zanas-ticks{ margin-bottom:24px; }
/* 64aaea3: тъмна лента = navy + bg_img.png + overlay */
.km-zanas-band{ position:relative; isolation:isolate; background:var(--km-navy) url("/wp-content/uploads/2026/01/bg_img.png") center/cover no-repeat; color:#FFFFFF99; }
/* ИЗКЛЮЧЕНИЕ position:absolute: декоративен overlay ::before (не подрежда съдържание) */
.km-zanas-band::before{ content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(at top center, #1D2B45 0%, #1D2B45CC 100%); }
.km-zanas-band h2{ color:var(--km-white); margin-bottom:0; }
/* fa2212f: 3 карти бяла / бежова / бяла с икона в кръг */
.km-zanas-ico{ display:inline-flex; align-items:center; justify-content:center; width:64px; aspect-ratio:1; margin:0 auto 20px; border-radius:50%; background:var(--km-sand); color:var(--km-navy); }
.km-card--sand .km-zanas-ico{ background:var(--km-navy); color:var(--km-gold); }
.km-zanas-ico svg{ width:30px; height:30px; }
/* 48a2fc5: CTA - снимка + linear-gradient overlay */
.km-zanas-cta{ position:relative; isolation:isolate; background:var(--km-navy) url("/wp-content/uploads/2026/01/hand-man-stamping-documents-notary-public-in-office.jpg") center/cover no-repeat; padding-block:96px; color:var(--km-white); text-align:center; }
/* ИЗКЛЮЧЕНИЕ position:absolute: overlay ::before (разрешен) */
.km-zanas-cta::before{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg, rgba(7,27,52,.4) 0%, rgba(7,27,52,.8) 100%); }
.km-zanas-cta__box{ padding:32px; }
.km-zanas-cta__title{ margin:0 0 16px; font-family:var(--km-font-head), Arial, sans-serif; font-size:39px; font-weight:500; line-height:1.2; color:var(--km-white); }
.km-zanas-cta__text{ margin:0 0 32px; color:var(--km-white); }
@media (max-width:767px){ .km-zanas-cta{ padding-block:48px; } .km-zanas-cta__box{ padding:0; } .km-zanas-cta__title{ font-size:24px; } }

/* ---------- 11. Hero на /services/, /about/, /contact-us/ (uslugi.html, za-nas.html, kontakti.html р.2-8: 96px / 48px) ---------- */
/* блогът и архивите остават със 128px от base.css (blog.html) */
.km-page > .km-hero--inner, .km-usluga > .km-hero--inner{ padding-block:96px; }
@media (max-width:767px){ .km-page > .km-hero--inner, .km-usluga > .km-hero--inner{ padding-block:48px; } }

/* ---------- 12. /contact-us/ CTA с телефона + 4 icon-box-а (CF4.2; kontakti.html р.49-64) ---------- */
.km-kontakti-cta{ display:grid; grid-template-columns:minmax(0,555fr) minmax(0,678fr); gap:20px; align-items:center; }
.km-kontakti-cta > *{ min-width:0; }
.km-kontakti-cta__text{ padding:16px 48px 16px 0; }
.km-kontakti-follow{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding-top:20px; }
.km-kontakti-follow h5{ margin:0; font-size:18px; line-height:1.4; }
.km-kontakti-follow .km-social{ background:var(--km-navy); color:var(--km-white); }
.km-kontakti-follow .km-social:hover{ background:var(--km-gold); color:var(--km-navy); }
.km-kontakti-boxes{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 24px; padding:16px 0 16px 16px; }
.km-kontakti-box{ display:flex; align-items:flex-start; gap:16px; min-width:0; }
.km-kontakti-box > div{ min-width:0; }
.km-kontakti-box__ico{ flex:0 0 56px; width:56px; aspect-ratio:1; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:var(--km-navy); color:var(--km-gold); }
.km-kontakti-box__ico svg{ width:24px; height:24px; }
.km-kontakti-box h3{ margin:0 0 6px; font-size:20px; line-height:1.4; }
.km-kontakti-box p{ margin:0; overflow-wrap:anywhere; }
@media (max-width:1024px){ .km-kontakti-cta{ grid-template-columns:minmax(0,1fr); } .km-kontakti-cta__text{ padding:16px 0; } .km-kontakti-boxes{ padding:16px 0; } }
@media (max-width:767px){ .km-kontakti-boxes{ grid-template-columns:minmax(0,1fr); gap:24px; } .km-kontakti-box h3{ font-size:18px; } }
