/* ==========================================================================
   base.css - базов стайлшийт на темата km-legaldocs (B1.1)
   Източник: makets/final/km-final.css (пренесен 1:1) + tipografia.html
   (базов слой .entry-content, Fluent Forms, WooCommerce известия - PLAN.md,
   ИЗМЕНЕНИЯ 03.10.2026).
   Не съдържа: хедъра (.km-header*, .km-nav*, .km-menu*, .km-burger ->
   header.css), футъра (.km-footer*, .km-newsletter*, .km-social -> footer.css),
   S1/S2 на началната (.km-hero без модификатор, .km-overlap -> home.css)
   и панела СЪСТОЯНИЯ от макетите (не е част от сайта).
   Шрифтовете са в ../fonts/fonts.css (локални, без Google Fonts).

   ЗАБРАНЕНИ (proekt-plan): height/min-height върху текст, max-width върху
   съдържателен елемент (ширината е само чрез --km-container*),
   overflow:hidden върху текст, line-clamp, position:absolute за подредба.
   Всяко срещане е отбелязано с коментар „изключение: ...".
   ========================================================================== */

/* ---------- 1. Токени ---------- */
:root{
  --km-navy:#071B34; --km-navy2:#1D2B45; --km-slate:#36455C;
  --km-gold:#C5A059; --km-sand:#F0D2A1; --km-orange:#E68A28;
  --km-text:#757575; --km-white:#FFFFFF; --km-gray:#F6F6F6; --km-line:#D6D6D6; --km-pale:#F8FAFE;
  --km-grad-header: radial-gradient(at center, #36455C 0%, #071B34 85%);
  --km-grad-footer: radial-gradient(at center, #36455C 38%, #1D2B45 76%);
  --km-grad-dark:   radial-gradient(at center, #36455C 28%, #1D2B45 64%);  /* ≤767px: 29% / 67% */
  --km-overlay-hero-home: linear-gradient(70deg, #071B34 0%, #7600002B 100%);
  --km-overlay-hero-inner: radial-gradient(at bottom center, #1D2B45 0%, #071B34B3 100%);
  --km-radius:25px; --km-shadow:0 10px 30px rgba(0,0,0,.1);
  --km-shadow-hover:0 14px 40px rgba(0,0,0,.14);
  --km-container:1280px; --km-container-narrow:960px; --km-container-hero:640px; --km-container-faq:1140px;
  --km-gutter:16px;
  --km-section-y:96px;   /* mobile 28px горе / 14px долу */
  --km-section-y-b:96px;
  --km-header-h:100px; --km-header-h-sticky:72px; --km-header-h-base:100px;
  --km-font-head:"Manrope"; --km-font-text:"Golos Text"; --km-font-eyebrow:"Playfair Display";
  /* H1 и меню/бутони - отделни токени (вариантът „оригинални шрифтове" от макетите ги сменя) */
  --km-font-h1:var(--km-font-head);
  --km-font-ui:var(--km-font-head);
  --km-review-star:#f6b21b;
  --km-cart-badge:#E2401C;
  /* снимка по подразбиране за вътрешните hero-та (шаблоните я подменят с inline --km-hero-img от Customizer) */
  --km-hero-img:url("/wp-content/uploads/2026/01/stamping-with-approved-stamp-on-certificate-document-public-paper-agreements-at-desk-of-notary.jpg");
}
@media (max-width:767px){
  :root{ --km-section-y:28px; --km-section-y-b:14px; --km-grad-dark: radial-gradient(at center, #36455C 29%, #1D2B45 67%); }
}

/* ---------- 2. База ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--km-white);
  color:var(--km-text);
  font-family:var(--km-font-text), Arial, sans-serif;
  font-size:16px; font-weight:400; line-height:1.4;
}
img,svg,video{ max-width:100%; height:auto; } /* изключение: max-width/height върху медия (не текст) - снимката не прелива колоната */
img{ display:block; }
a{ color:inherit; text-decoration:none; transition:color .3s; }
p{ margin:0 0 16px; }
p:last-child{ margin-bottom:0; }
ul,ol{ margin:0; padding:0; }
button{ font:inherit; color:inherit; background:none; border:0; padding:0; cursor:pointer; }
:focus-visible{ outline:2px solid var(--km-gold); outline-offset:2px; }

/* ---------- 2a. GeneratePress обвивки (body.km-theme) ----------
   header.php отваря #page.grid-container и #content.site-content; GP им дава
   max-width ~1200px + padding и display:flex. Секциите на темата са на цяла
   ширина и имат собствен .km-container, затова обвивките се неутрализират. */
body.km-theme #page.grid-container{ max-width:none; padding:0; } /* изключение: max-width:none маха ограничението на GP, не добавя ново */
body.km-theme #content.site-content{ display:block; padding:0; }
body.km-theme.one-container .site-content,
body.km-theme.separate-containers .inside-article,
body.km-theme .one-container .site-content,
body.km-theme .separate-containers .inside-article{ padding:0; }

/* ---------- 3. Типография ---------- */
h1,h2,h3,h4,h5,h6{ margin:0 0 16px; color:var(--km-navy); font-family:var(--km-font-head), Arial, sans-serif; font-weight:500; }
h1{ font-family:var(--km-font-h1), Arial, sans-serif; font-size:48px; font-weight:600; line-height:1.2; }
h2{ font-size:39px; line-height:1.2; }
h3{ font-size:31px; line-height:1.3; }
h4{ font-size:25px; line-height:1.3; }
.km-eyebrow{
  display:block; margin:0 0 12px;
  font-family:var(--km-font-eyebrow), Georgia, serif; font-size:15px; font-weight:500; font-style:italic; line-height:1.4;
  color:var(--km-gold);
}
.km-eyebrow--orange{ color:var(--km-orange); }
.km-small{ font-size:13px; line-height:1.5; }
/* заглавия на тъмно (правилата за .km-footer h* са във footer.css) */
.km-on-dark, .km-on-dark h1, .km-on-dark h2, .km-on-dark h3, .km-on-dark h4,
.km-bg-dark h1, .km-bg-dark h2, .km-bg-dark h3, .km-bg-dark h4,
.km-card--dark h3, .km-card--dark h4{ color:var(--km-white); }

@media (max-width:767px){
  body{ font-size:14px; }
  h1{ font-size:30px; }
  h2{ font-size:24px; }
  h3{ font-size:22px; }
  h4{ font-size:18px; }
  .km-eyebrow{ font-size:13px; }
}

/* ---------- 4. Контейнери и секции ---------- */
/* Ширината живее само тук: --km-container* + 2 x 16px странично */
.km-container{ width:100%; max-width:calc(var(--km-container) + 2 * var(--km-gutter)); margin-inline:auto; padding-inline:var(--km-gutter); } /* изключение: max-width само чрез --km-container (разрешено) */
.km-container--narrow{ max-width:calc(var(--km-container-narrow) + 2 * var(--km-gutter)); } /* изключение: max-width само чрез --km-container-narrow (разрешено) */
.km-container--hero{ max-width:calc(var(--km-container-hero) + 2 * var(--km-gutter)); } /* изключение: max-width само чрез --km-container-hero (разрешено) */
.km-container--faq{ max-width:calc(var(--km-container-faq) + 2 * var(--km-gutter)); } /* изключение: max-width само чрез --km-container-faq (разрешено) */
.km-section{ padding-block:var(--km-section-y) var(--km-section-y-b); }
.km-section--48{ padding-block:48px; }
.km-center{ text-align:center; }
.km-head{ padding-inline:32px; margin-bottom:16px; }
@media (max-width:767px){ .km-head{ padding-inline:0; } }

/* фонове на секции */
.km-bg-gray{ position:relative; isolation:isolate; background:var(--km-gray) url("/wp-content/uploads/2026/01/pattern_bg_3.png"); }
/* изключение: position:absolute - декоративен overlay ::before (не подрежда съдържание) */
.km-bg-gray::before{ content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(at top center,#F6F6F6 50%,#F6F6F6CC 100%); }
.km-bg-dark{ background:var(--km-grad-dark); color:#FFFFFF99; }
.km-bg-sand{ background:var(--km-sand); }

/* ---------- 5. Бутони ---------- */
.km-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:12px 24px;
  background:var(--km-gold); color:var(--km-navy);
  border:1px solid var(--km-gold); border-radius:var(--km-radius);
  font-family:var(--km-font-ui), Arial, sans-serif; font-size:15px; font-weight:500; line-height:1;
  text-align:center; cursor:pointer;
  transition:background-color .3s, color .3s, border-color .3s;
}
.km-btn:hover, .km-btn.is-hover{ background:var(--km-white); color:var(--km-navy); }
.km-btn:focus-visible, .km-btn.is-focus{ outline:2px solid var(--km-gold); outline-offset:2px; }
.km-btn--lg{ padding:20px 40px; }
.km-btn--secondary{ background:var(--km-white); color:#000; border-color:var(--km-gold); }
.km-btn--secondary:hover, .km-btn--secondary.is-hover{ background:var(--km-gold); color:var(--km-navy); }
.km-btn--block{ display:flex; width:100%; }
.km-actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
@media (max-width:767px){ .km-btn--lg{ font-size:13px; } }

/* ---------- 6. Карти ---------- */
.km-cards{ display:grid; gap:20px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.km-cards--3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.km-cards--4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.km-cards--6{ grid-template-columns:repeat(6,minmax(0,1fr)); }
.km-cards--2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.km-cards > *{ min-width:0; }
@media (max-width:1024px){
  .km-cards--4, .km-cards--6{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .km-cards--3.km-cards--t2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px){
  .km-cards, .km-cards--2, .km-cards--3, .km-cards--4, .km-cards--6, .km-cards--3.km-cards--t2{ grid-template-columns:minmax(0,1fr); }
}

.km-card{
  min-width:0;
  padding:48px;
  background:var(--km-white);
  border-radius:var(--km-radius);
  box-shadow:var(--km-shadow);
  transition:box-shadow .3s;
}
.km-card:hover, .km-card.is-hover{ box-shadow:var(--km-shadow-hover); }
.km-card--sand{ background-color:var(--km-sand); }
.km-card--dark{ background:var(--km-navy); box-shadow:none; border-top:1px solid #FFFFFF2B; color:#FFFFFF99; }
.km-card--dark:hover, .km-card--dark.is-hover{ box-shadow:var(--km-shadow-hover); }
.km-card--center{ text-align:center; }
.km-card__icon{ display:block; margin:0 0 20px; color:var(--km-sand); }
.km-card--center .km-card__icon{ margin-inline:auto; }
.km-card__icon svg{ display:block; width:40px; height:40px; margin-inline:auto; } /* изключение: height върху икона (svg), не текст */
.km-card__img{ height:60px; width:auto; margin:0 auto 20px; } /* изключение: height върху снимка-икона, не текст */
.km-card__title{ margin:0 0 12px; font-family:var(--km-font-head), Arial, sans-serif; font-size:25px; font-weight:500; line-height:1.3; color:var(--km-navy); }
.km-card--dark .km-card__title{ color:var(--km-white); }
/* декоративна избледняла икона долу вдясно (на живо - втори [icon] в картата); рисува се като фон, не като елемент */
.km-card--deco{ background-image:var(--km-card-deco); background-repeat:no-repeat; background-position:right 18px bottom 18px; background-size:72px 72px; }
@media (max-width:767px){ .km-card__title{ font-size:18px; } .km-card--deco{ background-size:56px 56px; background-position:right 12px bottom 12px; } }

/* ---------- 7. Двуколонна секция текст + снимка ---------- */
.km-split{ display:grid; grid-template-columns:minmax(0,629fr) minmax(0,604fr); gap:20px; align-items:center; }
.km-split--reverse{ grid-template-columns:minmax(0,604fr) minmax(0,629fr); }
.km-split > *{ min-width:0; }
.km-split__text{ padding:16px 16px 16px 80px; }
.km-split__text--48{ padding-left:48px; }
.km-split__media img{ width:100%; aspect-ratio:604/675; object-fit:cover; border-radius:var(--km-radius); }
.km-split__media--500 img{ aspect-ratio:604/500; }
.km-split__media--700 img{ aspect-ratio:604/700; }
@media (max-width:1024px){
  .km-split, .km-split--reverse{ grid-template-columns:minmax(0,1fr); }
  .km-split__media{ order:-1; }
  .km-split__text, .km-split__text--48{ padding:16px; }
}
@media (max-width:767px){ .km-split__text, .km-split__text--48{ padding:16px 0; } }

/* ---------- 8. Списъци ---------- */
/* тик ред: кръг 40px rgba(230,138,40,.2) + отметка orange 20px */
.km-ticks{ list-style:none; display:grid; grid-template-columns:minmax(0,1fr); gap:16px; margin:24px 0 0; }
.km-ticks--2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.km-ticks li{ display:flex; align-items:center; gap:16px; min-width:0; color:var(--km-navy); font-size:16px; font-weight:500; line-height:1.4; }
.km-ticks li > span:last-child{ min-width:0; }
.km-tick{ flex:0 0 40px; width:40px; aspect-ratio:1; border-radius:50%; background:rgba(230,138,40,.2); display:inline-flex; align-items:center; justify-content:center; color:var(--km-orange); }
.km-tick svg{ width:20px; height:20px; } /* изключение: height върху икона (svg), не текст */
@media (max-width:767px){ .km-ticks--2{ grid-template-columns:minmax(0,1fr); } .km-ticks li{ font-size:14px; } }

/* icon list (mdi checkbox-marked-circle, gold) */
.km-list{ list-style:none; display:grid; gap:10px; }
.km-list li{ display:flex; align-items:flex-start; gap:10px; min-width:0; color:var(--km-navy); }
.km-list svg{ flex:0 0 20px; width:20px; height:20px; color:var(--km-gold); } /* изключение: height върху икона (svg), не текст */
.km-list-cols{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; padding:20px 0; }
@media (max-width:767px){ .km-list-cols{ grid-template-columns:minmax(0,1fr); gap:10px; } }

/* бадж */
.km-badge{ display:inline-block; padding:4px 12px; background:var(--km-sand); color:var(--km-navy2); border-radius:var(--km-radius); font-size:12px; font-weight:500; line-height:1.4; text-transform:uppercase; letter-spacing:.04em; }

/* ---------- 9. Цена (стартъп ред) ---------- */
.km-price-row{ display:flex; flex-wrap:wrap; align-items:baseline; gap:12px; margin:0 0 8px; font-family:var(--km-font-head), Arial, sans-serif; font-size:20px; font-weight:500; line-height:1.4; }
.km-price-old{ color:var(--km-text); text-decoration:line-through; }
.km-price-new{ color:var(--km-orange); }

/* ---------- 10. Таблица ---------- */
.km-table{ overflow-x:auto; -webkit-overflow-scrolling:touch; margin:24px 0; }
.km-table table{ width:100%; border-collapse:collapse; border:1px solid var(--km-line); }
.km-table th, .km-table td{ padding:12px 16px; border:1px solid var(--km-line); text-align:left; vertical-align:top; }
.km-table th{ background:var(--km-gray); color:var(--km-navy); font-family:var(--km-font-head), Arial, sans-serif; font-weight:500; }

/* ---------- 11. ЧЗВ (details) ---------- */
.km-faq{ display:grid; gap:12px; }
details.km-faq-item, details.km-faq{ border:1px solid var(--km-line); border-radius:var(--km-radius); background:var(--km-white); }
details.km-faq-item > summary, details.km-faq > summary{
  list-style:none; cursor:pointer;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:20px 24px;
  font-family:var(--km-font-head), Arial, sans-serif; font-size:20px; font-weight:500; line-height:1.4; color:var(--km-navy);
}
details.km-faq-item > summary::-webkit-details-marker, details.km-faq > summary::-webkit-details-marker{ display:none; }
.km-faq__chev{ flex:0 0 20px; width:20px; height:20px; color:var(--km-gold); transition:transform .25s; } /* изключение: height върху икона (svg), не текст */
details[open] > summary .km-faq__chev{ transform:rotate(180deg); }
.km-faq__body{ padding:0 24px 20px; font-family:var(--km-font-text), Arial, sans-serif; font-size:16px; line-height:1.4; color:var(--km-text); }
@media (max-width:767px){ details.km-faq-item > summary, details.km-faq > summary{ font-size:16px; padding:16px; } .km-faq__body{ padding:0 16px 16px; font-size:14px; } }

/* ---------- 12. Полета ---------- */
.km-field{ display:grid; gap:6px; min-width:0; }
.km-field label{ color:var(--km-navy); font-size:14px; font-weight:500; }
/* височина 46px = padding 11 + line-height 22 + border 2 (без height върху полето) */
.km-field input, .km-field select, .km-field textarea{
  width:100%; padding:11px 20px;
  font:inherit; font-size:16px; line-height:22px; color:var(--km-navy);
  background:var(--km-white); border:1px solid var(--km-line); border-radius:var(--km-radius);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.1);
}
.km-field input:focus, .km-field select:focus, .km-field textarea:focus{ outline:2px solid var(--km-gold); outline-offset:1px; border-color:var(--km-gold); }
.km-field.is-error input, .km-field.is-error select, .km-field.is-error textarea{ border-color:var(--km-orange); }
.km-field__error{ color:var(--km-orange); font-size:13px; line-height:1.5; }

/* ---------- 13. Продуктова карта (П4) ---------- */
.km-product-card{
  position:relative; isolation:isolate; min-width:0;
  display:flex; flex-direction:column; gap:12px;
  padding:32px;
  background:var(--km-white);
  border-top:8px solid var(--km-sand); border-radius:var(--km-radius);
  box-shadow:var(--km-shadow); transition:box-shadow .3s;
}
.km-product-card:hover, .km-product-card.is-hover{ box-shadow:var(--km-shadow-hover); }
/* изключение: position:absolute (и height) - печатът SEAL ::before, декорация, разрешена в PLAN.md раздел 3 */
.km-product-card::before{ content:""; position:absolute; top:20px; right:20px; z-index:-1; width:60px; height:60px; background:url("/wp-content/uploads/2026/01/SEAL-1.png") center/contain no-repeat; opacity:.1; }
.km-product-card__img{ width:125px; height:100px; object-fit:cover; border-radius:12px; } /* изключение: height върху снимка, не текст */
.km-product-card__title{ margin:0; font-family:var(--km-font-head), Arial, sans-serif; font-size:20px; font-weight:500; line-height:1.4; color:var(--km-navy); }
.km-product-card__desc{ margin:0; }
.km-product-card__price{ margin:0; font-family:var(--km-font-head), Arial, sans-serif; font-size:25px; font-weight:500; line-height:1.3; color:var(--km-navy); }
.km-product-card__actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top:auto; padding-top:8px; }
.km-product-card__actions .km-btn--secondary{ padding-inline:18px; }
@media (max-width:767px){ .km-product-card{ padding:24px; } .km-product-card__actions .km-btn{ flex:1 1 100%; } }

/* ---------- 14. Google отзиви лента (GReviews - рисува се от плъгина в shadow DOM; това е видът) ---------- */
.km-reviews{ padding-block:48px; }
/* изключение: overflow:hidden - прозорецът на бягащата лента изрязва хоризонтално ЦЕЛИ карти; текстът в картите не се реже (картите растат на височина) */
.km-reviews__viewport{ overflow:hidden; }
.km-reviews__track{ display:flex; align-items:flex-start; gap:16px; width:max-content; animation:km-marquee 40s linear infinite; }
.km-reviews__viewport:hover .km-reviews__track, .km-reviews__viewport:focus-within .km-reviews__track{ animation-play-state:paused; }
@keyframes km-marquee{ from{ transform:translateX(0); } to{ transform:translateX(calc(-50% - 8px)); } }
.km-review{ flex:0 0 300px; width:300px; padding:16px; background:#fff; border:1px solid #e8eaef; border-radius:14px; }
.km-review__head{ display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.km-review__avatar{ flex:0 0 34px; width:34px; border-radius:50%; background:var(--km-gold); color:var(--km-navy); font-family:var(--km-font-head), Arial, sans-serif; font-size:15px; font-weight:600; line-height:34px; text-align:center; }
.km-review__who{ flex:1 1 auto; min-width:0; }
.km-review__name{ display:block; font-size:13px; font-weight:600; line-height:1.3; color:#14161a; }
.km-review__stars{ display:flex; gap:2px; color:var(--km-review-star); margin-top:3px; }
.km-review__stars svg{ width:11px; height:11px; } /* изключение: height върху икона (svg), не текст */
.km-review__g{ flex:0 0 18px; width:18px; height:18px; } /* изключение: height върху икона (svg), не текст */
.km-review__text{ margin:0; font-size:14px; line-height:1.45; color:#3c4043; }
@media (prefers-reduced-motion:reduce){
  .km-reviews__track{ animation:none; }
  .km-reviews__viewport{ overflow-x:auto; }
  .km-reviews__track > [aria-hidden="true"]{ display:none; }
}

/* ---------- 15. Блог карта (П7) ---------- */
.km-post-card{ display:flex; flex-direction:column; min-width:0; background:var(--km-white); border-radius:var(--km-radius); box-shadow:var(--km-shadow); transition:box-shadow .3s; }
.km-post-card:hover{ box-shadow:var(--km-shadow-hover); }
.km-post-card__img{ width:100%; aspect-ratio:397/265; object-fit:cover; border-radius:var(--km-radius) var(--km-radius) 0 0; }
.km-post-card__body{ display:flex; flex-direction:column; gap:12px; padding:24px; }
.km-post-card__title{ margin:0; font-family:var(--km-font-head), Arial, sans-serif; font-size:20px; font-weight:500; line-height:1.4; color:var(--km-navy); }
.km-post-card__excerpt{ margin:0; }
.km-post-card__meta{ font-size:13px; line-height:1.5; color:#ADADAD; }

/* ==========================================================================
   16. Общи hero-та на вътрешните страници
   Заместват повторените .pg-*-hero от макетите (blog, tarsene, 404, kontakti,
   za-nas -> .km-hero--inner; blagodarya, tipografia -> .km-hero--short).
   Снимката идва от --km-hero-img (default в :root; шаблонът я подменя inline
   със стойността от Customizer / featured image).
   Маркъп: <section class="km-hero--inner"><div class="km-container km-container--hero">
           <h1>…</h1><p class="km-hero__sub">…</p></div></section>
   ========================================================================== */
.km-hero--inner, .km-hero--short{
  position:relative; isolation:isolate;
  padding-block:128px;
  background:var(--km-navy) var(--km-hero-img) center/cover no-repeat;
  color:var(--km-white); text-align:center;
}
.km-hero--short{ padding-block:64px; }
/* изключение: position:absolute - overlay ::before на hero (разрешен в PLAN.md раздел 3), не подрежда съдържание */
.km-hero--inner::before, .km-hero--short::before{ content:""; position:absolute; inset:0; z-index:-1; background:var(--km-overlay-hero-inner); }
/* контейнер 640 (същото като .km-container--hero, за да важи и без модификатора) */
.km-hero--inner > .km-container, .km-hero--short > .km-container{ max-width:calc(var(--km-container-hero) + 2 * var(--km-gutter)); } /* изключение: max-width само чрез --km-container-hero (разрешено) */
.km-hero--inner h1, .km-hero--short h1{ margin:0; color:var(--km-white); }
.km-hero--inner h1:not(:last-child){ margin-bottom:12px; }
.km-hero__sub{ margin:0; font-family:var(--km-font-head), Arial, sans-serif; font-size:25px; font-weight:500; line-height:1.3; color:#FFFFFF99; }
.km-hero__text{ margin:0; color:#FFFFFFCC; }
.km-hero--inner .km-eyebrow, .km-hero--short .km-eyebrow{ color:var(--km-gold); }
.km-hero--inner .km-actions, .km-hero--short .km-actions{ justify-content:center; }
@media (max-width:767px){
  .km-hero--inner{ padding-block:64px; }
  .km-hero--short{ padding-block:48px; }
  .km-hero__sub{ font-size:18px; }
}

/* ==========================================================================
   17. Базов слой за .entry-content (гола разметка от редактора)
   PLAN.md ИЗМЕНЕНИЯ 03.10.2026; тестът е makets/final/tipografia.html.
   Селекторите са ограничени до елементи без клас / на първо ниво, за да не
   пипат компонентите на темата (.km-ticks, .km-card__title, Woo таблици).
   ========================================================================== */
.entry-content > :first-child{ margin-top:0; }
.entry-content > :last-child{ margin-bottom:0; }

/* заглавия: горно отстояние в текста */
.entry-content > :where(h2, h3, h4){ margin-top:1.5em; }

/* списъци: маркерите са вътре в колоната (padding 1.4em), отстояние след списъка 1em */
.entry-content > :where(ul:not([class]), ol:not([class]), ul.wp-block-list, ol.wp-block-list),
.entry-content :where(li, blockquote, td) > :where(ul, ol){
  margin:0 0 1em; padding-left:1.4em; list-style-position:outside;
}
.entry-content > :where(ul:not([class]), ul.wp-block-list){ list-style-type:disc; }
.entry-content > :where(ol:not([class]), ol.wp-block-list){ list-style-type:decimal; }
.entry-content :where(li) + :where(li){ margin-top:6px; }
.entry-content li::marker{ color:var(--km-navy); }
/* вложени списъци - отместени навътре, без долно отстояние */
.entry-content :where(li) > :where(ul, ol){ margin:6px 0 0; padding-left:1.4em; }
.entry-content :where(li) > :where(ul){ list-style-type:circle; }
.entry-content :where(li) > :where(ol){ list-style-type:decimal; }

/* таблица без клас = като .km-table */
.entry-content table:not([class]), .entry-content .wp-block-table table{
  width:100%; margin:24px 0; border-collapse:collapse; border:1px solid var(--km-line);
}
.entry-content table:not([class]) th, .entry-content table:not([class]) td,
.entry-content .wp-block-table th, .entry-content .wp-block-table td{
  padding:12px 16px; border:1px solid var(--km-line); text-align:left; vertical-align:top;
}
.entry-content table:not([class]) th, .entry-content .wp-block-table th{
  background:var(--km-gray); color:var(--km-navy); font-family:var(--km-font-head), Arial, sans-serif; font-weight:500;
}
@media (max-width:767px){
  /* скрол обвивка без допълнителен елемент: самата таблица става блок с хоризонтален скрол,
     редовете вътре остават таблица (анонимна table кутия) - широка таблица не разпъва страницата */
  .entry-content table:not([class]), .entry-content .wp-block-table table{ display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; }
}

/* цитат */
.entry-content blockquote:not([class]), .entry-content blockquote.wp-block-quote{
  margin:24px 0; padding:16px 24px;
  background:var(--km-gray); border-left:3px solid var(--km-gold);
  font-family:var(--km-font-eyebrow), Georgia, serif; font-style:italic; font-weight:500; font-size:18px; line-height:1.5;
  color:var(--km-navy);
}
.entry-content blockquote p:last-child{ margin-bottom:0; }
@media (max-width:767px){ .entry-content blockquote:not([class]), .entry-content blockquote.wp-block-quote{ font-size:16px; } }

/* снимка с надпис */
.entry-content figure{ margin:24px 0; }
.entry-content figure img{ border-radius:var(--km-radius); }
.entry-content figcaption{ margin-top:8px; font-size:13px; line-height:1.5; color:#ADADAD; }

/* хоризонтална линия */
.entry-content hr{ margin:32px 0; border:0; border-top:1px solid var(--km-line); }

/* връзки в текста: видими (navy, подчертани), hover gold - PLAN.md ИЗМЕНЕНИЯ т.7 */
.entry-content :where(p, li, 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;
}
.entry-content :where(p, li, td, th, dd, blockquote, figcaption) a:not([class]):hover{ color:var(--km-gold); text-decoration-color:var(--km-gold); }

/* код в текста */
.entry-content code{ padding:2px 6px; background:var(--km-gray); border-radius:6px; font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:.9em; color:var(--km-navy); }

/* ==========================================================================
   18. Fluent Forms без клас на темата (формата на Контакти: radius 0, фон gray)
   Селекторите с form.frm-fluent-form са по-силни от собствения CSS на плъгина.
   ========================================================================== */
.frm-fluent-form .ff-el-group{ margin-bottom:20px; }
.ff-el-input--label label, form.frm-fluent-form .ff-el-input--label label{
  display:inline-block; margin-bottom:6px;
  color:var(--km-navy); font-size:14px; font-weight:500; line-height:1.4;
}
/* CF5.2: етикет 20px + 6px до полето (kontakti.html .pg-ff); обвивката на Fluent има свои line-height/padding + margin 5px.
   „body form…" е над специфичността на Fluent */
body form.frm-fluent-form .ff-el-input--label{ margin:0 0 6px; padding:0; line-height:20px; }
body form.frm-fluent-form .ff-el-input--label label{ display:block; margin:0; line-height:20px; }
/* височина 46px = padding 11 + line-height 22 + border 2 (без height върху полето) */
.ff-el-form-control, form.frm-fluent-form .ff-el-form-control{
  display:block; width:100%; padding:11px 20px;
  font:inherit; font-size:16px; line-height:22px; color:var(--km-navy);
  background-color:var(--km-gray); border:1px solid var(--km-line); border-radius:0;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.1);
}
textarea.ff-el-form-control{ resize:vertical; }
.ff-el-form-control::placeholder{ color:#ADADAD; opacity:1; }
.ff-el-form-control:focus, form.frm-fluent-form .ff-el-form-control:focus{ outline:2px solid var(--km-gold); outline-offset:1px; border-color:var(--km-gold); }
/* бутонът = .km-btn. „body form…" (0,3,2): вграденият стил на Fluent form.fluent_form_N .ff-btn-submit:not(.ff_btn_no_style)
   (0,3,1, --fluentform-primary) е по-късно в документа и при равна специфичност печели (CF3.4) */
.ff-btn-submit, form.frm-fluent-form .ff-btn-submit, form.frm-fluent-form .ff-btn-submit:not(.ff_btn_no_style),
body form.frm-fluent-form .ff-btn-submit:not(.ff_btn_no_style){
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:12px 24px;
  background:var(--km-gold); color:var(--km-navy);
  border:1px solid var(--km-gold); border-radius:var(--km-radius);
  font-family:var(--km-font-ui), Arial, sans-serif; font-size:15px; font-weight:500; line-height:1;
  text-align:center; cursor:pointer; box-shadow:none;
  transition:background-color .3s, color .3s, border-color .3s;
}
.ff-btn-submit:hover, form.frm-fluent-form .ff-btn-submit:hover, form.frm-fluent-form .ff-btn-submit:not(.ff_btn_no_style):hover,
body form.frm-fluent-form .ff-btn-submit:not(.ff_btn_no_style):hover{ background:var(--km-white); color:var(--km-navy); opacity:1; }
.ff-btn-submit:focus-visible, form.frm-fluent-form .ff-btn-submit:focus-visible{ outline:2px solid var(--km-gold); outline-offset:2px; }
/* грешки */
.ff-el-is-error .ff-el-form-control, form.frm-fluent-form .ff-el-is-error .ff-el-form-control{ border-color:var(--km-orange); }
.ff-el-is-error .text-danger, form.frm-fluent-form .text-danger{ margin-top:4px; color:var(--km-orange); font-size:13px; line-height:1.5; }

/* ==========================================================================
   19. WooCommerce известия (notices/success.php, error.php, notice.php)
   ========================================================================== */
.woocommerce-message, .woocommerce-info, .woocommerce-error{
  margin:0 0 24px; padding:16px 20px;
  list-style:none;
  background:var(--km-gray); border:0; border-radius:12px;
  color:var(--km-navy); font-size:16px; line-height:1.4;
}
.woocommerce-error{ background:#FFF4F0; border-left:3px solid var(--km-orange); }
.woocommerce-message{ background:#F2F7F2; border-left:3px solid #4F8A5B; }
.woocommerce-error li, .woocommerce-message li, .woocommerce-info li{ list-style:none; margin:0; }
.woocommerce-error li + li, .woocommerce-message li + li, .woocommerce-info li + li{ margin-top:6px; }
.woocommerce-message a:not(.button), .woocommerce-info a:not(.button), .woocommerce-error a:not(.button){ color:var(--km-navy); text-decoration:underline; }
@media (max-width:767px){ .woocommerce-message, .woocommerce-info, .woocommerce-error{ font-size:14px; } }

/* ==========================================================================
   20. Класове от конвертора (етап C, TASKS C1.2; tools/konverter, makets/import)
   Номер 20, защото 17-19 вече са заети. Макети: uslugi.html (тик списък
   заглавие+описание, hero със снимка), kontakti.html (социални икони),
   produkt-lending.html („Как протича процесът" с фон снимка).
   ========================================================================== */
/* секция със снимка: снимката идва inline от конвертора (--km-bg-img), overlay-ят е същият като на hero-то */
.km-bg-image{position:relative;isolation:isolate;background:var(--km-navy) var(--km-bg-img) center/cover no-repeat;color:var(--km-white)}
/* изключение: position:absolute - overlay ::before (разрешен в PLAN.md раздел 3), не подрежда съдържание */
.km-bg-image::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--km-overlay-hero-inner)}
/* hero-то от конвертора носи и двата класа: .km-hero--inner::before и .km-bg-image::before са ЕДНО псевдо с един overlay */
.km-hero--inner.km-bg-image{background-image:var(--km-bg-img)}
/* тик списък с заглавие + описание (icon-box с icon-tick) */
.km-ticks__t{display:block;font-weight:600;color:var(--km-navy2)}
.km-ticks__d{display:block;color:var(--km-text)}
/* плочки (elementskit-icon-box) извън hero-то */
.km-badges{display:flex;flex-wrap:wrap;gap:12px;margin-block:16px}
/* социални икони в съдържанието (Контакти); кръгът 40px е .km-social от footer.css */
.km-social-list{display:flex;flex-wrap:wrap;gap:12px;margin:0;padding:0;list-style:none}
.km-social-list .km-social{background:var(--km-gray);color:var(--km-navy)}
.km-social-list .km-social:hover{background:var(--km-gold)}
/* „Благодарим" (page-templates/blagodarya.php, C2.3): текстът е на бял фон - .km-hero__text е бял за hero-тата;
   стойностите са от blagodarya.html (.pg-blag-text / .pg-blag-actions) */
.km-page-blag .km-hero__text{font-family:var(--km-font-head), Arial, sans-serif;font-size:20px;font-weight:500;line-height:1.4;color:var(--km-navy)}
.km-page-blag .km-actions{justify-content:center}
@media (max-width:767px){ .km-page-blag .km-hero__text{font-size:16px} .km-page-blag .km-actions .km-btn{flex:1 1 100%} }

/* ---------- 21. Breadcrumbs и текстов split (G1.2, PLAN.md раздел 9: ДОПУСКАНЕ 5, Р5) ---------- */
/* .km-crumbs - обвивката на rank_math_the_breadcrumbs() (usluga.php, магазин, продукт);
   .km-split--text - /contact-us/ в 2 колони (конверторът, TEXT_SPLIT_IDS; макет kontakti.html .pg-kontakti-grid).
   Стои след правилата на .km-split - печели по ред, без !important. */
.km-crumbs{margin-block:16px 0;font-size:14px;line-height:1.4;color:var(--km-text)}
.km-crumbs a{color:var(--km-navy2);text-decoration:none}
.km-crumbs a:hover{color:var(--km-gold)}
.km-crumbs .separator{margin-inline:6px;color:var(--km-gold)}
/* breadcrumb в hero-то (page-hero.php, home.php, archive.php, /services/): 13px, бяло 60% (kontakti.html, za-nas.html р.18).
   Същите правила като usluga.css раздел 7, но тук - за да важат и извън страниците (блог, архиви; CF3.4) */
:is(.km-hero--inner, .km-hero--short) .rank-math-breadcrumb{margin:16px 0 0;font-size:13px;line-height:1.5;color:#FFFFFF99}
:is(.km-hero--inner, .km-hero--short) .rank-math-breadcrumb p{margin:0}
:is(.km-hero--inner, .km-hero--short) .rank-math-breadcrumb a{color:inherit}
:is(.km-hero--inner, .km-hero--short) .rank-math-breadcrumb a:hover,
:is(.km-hero--inner, .km-hero--short) .rank-math-breadcrumb a:focus-visible{color:var(--km-gold)}
:is(.km-hero--inner, .km-hero--short) .rank-math-breadcrumb .separator{margin-inline:6px}
.km-split--text{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.km-split--text>.km-split__col{min-width:0;padding:0}
@media (max-width:1024px){.km-split--text{grid-template-columns:1fr;gap:28px}}

/* ==========================================================================
   21. Cookie банер (ConsentMagic) - плъгинът го рисува, темата сменя само шрифта
   (PLAN.md раздел 5 „Cookie банер", П3). cs_default_font = Noto Sans от Google,
   чиято заявка се маха в inc/enqueue.php.
   ========================================================================== */
body .cs_preview_container.cs_default_font{ --cs-font-family: var(--km-font-text), Arial, sans-serif; }
body .cs_preview_container .btn{ font-family: var(--km-font-ui), Arial, sans-serif; }
