/* ==========================================================================
   woo.css - WooCommerce страниците на темата km-legaldocs (B2.4)
   Макети: makets/final/magazin.html, produkt.html, produkt-lending.html,
   kolichka.html, porachka.html, profil.html (+ #sastoyaniya) - стойностите
   са от блока „pg-woo-*" и pg-shop/pg-prod/pg-lend/pg-cart/pg-checkout/pg-acc.
   Селекторите на Woo маркъпа - от design/live/*-dom.md.
   Зарежда се само на Woo страници (inc/enqueue.php, handle km-woo, след km-base).

   Woo стилове: woocommerce-general е махнат (inc/woocommerce.php) - визията е тук;
   woocommerce-layout и woocommerce-smallscreen остават (иконата „покажи паролата",
   label/форм редове, clearfix-и, мобилната таблица на поръчките). Където техните
   float/width/clearfix правила се бият с мрежите на темата, тук са неутрализирани
   с по-висока специфичност (без !important).

   НЕ предефинира селектори от base.css (.km-btn, .km-card, .km-product-card,
   известията .woocommerce-message/-info/-error) - само ги нагласява в Woo контекст.

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

/* ---------- 1. Рамка на количка / поръчка / профил (page.php: .km-hero--short + 960 контейнер) ----------
   Макет: .pg-woo-hero (градиентът на хедъра, без снимка) + .pg-woo-main (контейнер 1140). */
:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) .km-hero--short{ padding-block:64px; background:var(--km-grad-header); text-align:left; }
:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) .km-hero--short::before{ content:none; }
:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) .km-hero--short > .km-container,
:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) .km-page .km-container--narrow{ max-width:calc(var(--km-container-faq) + 2 * var(--km-gutter)); } /* изключение: max-width само чрез --km-container-faq (разрешено) */
:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) .km-page > .km-section{ padding-block:64px 96px; }
@media (max-width:767px){
  :is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) .km-hero--short{ padding-block:40px; }
  :is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) .km-page > .km-section{ padding-block:32px 48px; }
}

/* ---------- 2. Breadcrumb (nav.woocommerce-breadcrumb) = .pg-woo-crumbs ---------- */
.woocommerce-breadcrumb{ margin:0 0 20px; font-size:14px; line-height:1.5; color:#767676; }
.woocommerce-breadcrumb a{ color:inherit; }
.woocommerce-breadcrumb a:hover, .woocommerce-breadcrumb a:focus-visible{ color:var(--km-gold); }

/* ---------- 3. Бутони на Woo (.button) = видът на .km-btn (base.css) ---------- */
:is(.woocommerce, .woocommerce-page) :is(a.button, button.button, input.button, #respond input#submit){
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  margin:0; 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; text-decoration:none; cursor:pointer; box-shadow:none;
  transition:background-color .3s, color .3s, border-color .3s;
}
:is(.woocommerce, .woocommerce-page) :is(a.button, button.button, input.button, #respond input#submit):hover{ background:var(--km-white); color:var(--km-navy); }
:is(.woocommerce, .woocommerce-page) :is(a.button, button.button, input.button):focus-visible{ outline:2px solid var(--km-gold); outline-offset:2px; }
/* вторичен (бял + gold рамка): обновяване на количката, регистрация */
:is(.woocommerce, .woocommerce-page) :is(button[name="update_cart"], .woocommerce-form-register__submit){ background:var(--km-white); color:#000; }
:is(.woocommerce, .woocommerce-page) :is(button[name="update_cart"], .woocommerce-form-register__submit):hover{ background:var(--km-gold); color:var(--km-navy); }
/* неактивен (update_cart преди промяна; вариация без избор) */
:is(.woocommerce, .woocommerce-page) :is(a.button, button.button, input.button):is(:disabled, .disabled, [disabled]){ opacity:.55; cursor:not-allowed; }
:is(.woocommerce, .woocommerce-page) :is(a.button, button.button, input.button):is(:disabled, .disabled, [disabled]):hover{ background:var(--km-gold); }
:is(.woocommerce, .woocommerce-page) button[name="update_cart"]:disabled:hover{ background:var(--km-white); }

/* ---------- 4. Полета (= .km-field от base.css: radius 25, inset сянка, 46px) ---------- */
:is(.woocommerce, .woocommerce-page) form .form-row{ margin:0 0 20px; padding:0; }
:is(.woocommerce, .woocommerce-page) form .form-row label{ display:block; margin:0 0 6px; color:var(--km-navy); font-size:14px; font-weight:500; line-height:1.4; }
:is(.woocommerce, .woocommerce-page) form .form-row :is(.required, abbr.required){ color:var(--km-orange); text-decoration:none; border:0; }
:is(.woocommerce, .woocommerce-page) form .form-row .optional{ color:var(--km-text); font-weight:400; }
:is(.woocommerce, .woocommerce-page) form .form-row .woocommerce-input-wrapper{ display:block; }
/* височина 46px = padding 11 + line-height 22 + border 2 (без height върху полето) */
:is(.woocommerce, .woocommerce-page) form .form-row :is(input.input-text, textarea, select),
:is(.woocommerce, .woocommerce-page) form :is(input.input-text, textarea.input-text){
  display:block; width:100%; margin:0; padding:11px 20px;
  font:inherit; font-size:16px; line-height:22px; color:var(--km-navy);
  background-color: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);
}
:is(.woocommerce, .woocommerce-page) form .form-row textarea{ resize:vertical; min-height:120px; } /* изключение: min-height върху поле за въвеждане (textarea - бележка към поръчката), не текст */
:is(.woocommerce, .woocommerce-page) form :is(input.input-text, textarea, select):focus{ outline:2px solid var(--km-gold); outline-offset:1px; border-color:var(--km-gold); }
:is(.woocommerce, .woocommerce-page) form .form-row.woocommerce-invalid :is(input.input-text, textarea, select, .select2-selection){ border-color:var(--km-orange); }
:is(.woocommerce, .woocommerce-page) form .form-row.woocommerce-validated :is(input.input-text, select){ border-color:var(--km-line); }
:is(.woocommerce, .woocommerce-page) form .form-row input::placeholder,
:is(.woocommerce, .woocommerce-page) form .form-row textarea::placeholder{ color:#ADADAD; opacity:1; }
/* отметки и радио (= .pg-woo-check) */
:is(.woocommerce, .woocommerce-page) :is(input[type="checkbox"], input[type="radio"]){ width:18px; height:18px; margin:0; accent-color:var(--km-gold); } /* изключение: height върху отметка (контрола), не текст */
:is(.woocommerce, .woocommerce-page) form :is(label.checkbox, .woocommerce-form__label-for-checkbox){ display:flex; align-items:flex-start; gap:10px; margin:0; color:var(--km-navy); font-size:15px; font-weight:400; line-height:1.4; cursor:pointer; }
:is(.woocommerce, .woocommerce-page) form :is(label.checkbox, .woocommerce-form__label-for-checkbox) input{ flex:0 0 18px; margin-top:1px; }
/* select pill със стрелка gold (= .pg-shop-sort / .pg-prod-select) */
:is(.woocommerce, .woocommerce-page) :is(form .form-row select, .woocommerce-ordering select, table.variations select){
  width:100%; padding:11px 44px 11px 20px;
  font:inherit; font-size:16px; line-height:22px; color:var(--km-navy);
  background:var(--km-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%23C5A059' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 18px center/16px no-repeat;
  border:1px solid var(--km-line); border-radius:var(--km-radius);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.1);
  -webkit-appearance:none; appearance:none; cursor:pointer;
}
:is(.woocommerce, .woocommerce-page) :is(.woocommerce-ordering select, table.variations select):focus{ outline:2px solid var(--km-gold); outline-offset:1px; border-color:var(--km-gold); }
/* selectWoo / select2 (държава/област на Bulgarisation, ако се появят) */
:is(.woocommerce, .woocommerce-page) .select2-container .select2-selection--single{ height:auto; padding:11px 44px 11px 20px; border:1px solid var(--km-line); border-radius:var(--km-radius); box-shadow:inset 0 1px 2px rgba(0,0,0,.1); } /* изключение: height:auto (нулира фиксираната височина на select2) */
:is(.woocommerce, .woocommerce-page) .select2-container .select2-selection--single .select2-selection__rendered{ padding:0; color:var(--km-navy); font-size:16px; line-height:22px; }
:is(.woocommerce, .woocommerce-page) .select2-container .select2-selection--single .select2-selection__arrow{ top:50%; right:14px; transform:translateY(-50%); }
.select2-dropdown{ border-color:var(--km-line); border-radius:12px; }
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected]{ background:var(--km-gold); color:var(--km-navy); }
/* Bulgarisation / доставка (ако продукт не е virtual - напр. вариация 342): радио бутоните като методите за плащане */
:is(.woocommerce, .woocommerce-page) ul#shipping_method{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
:is(.woocommerce, .woocommerce-page) ul#shipping_method li{ display:flex; align-items:center; gap:10px; margin:0; color:var(--km-navy); }
:is(.woocommerce, .woocommerce-page) ul#shipping_method li label{ display:inline; margin:0; font-weight:400; }

/* ---------- 5. Количество (div.quantity) = .pg-woo-qty (pill, фон gray) ---------- */
:is(.woocommerce, .woocommerce-page) .quantity{ display:inline-flex; align-items:center; background:var(--km-gray); border:1px solid var(--km-line); border-radius:var(--km-radius); }
:is(.woocommerce, .woocommerce-page) .quantity:has(input[type="hidden"]){ display:none; }
:is(.woocommerce, .woocommerce-page) .quantity .qty{ width:84px; margin:0; padding:11px 8px 11px 16px; border:0; background:transparent; box-shadow:none; font:inherit; font-size:16px; line-height:22px; text-align:center; color:var(--km-navy); }
:is(.woocommerce, .woocommerce-page) .quantity .qty:focus{ outline:2px solid var(--km-gold); outline-offset:1px; border-radius:var(--km-radius); }

/* ---------- 6. Цена (+ неутрализиране на маслинената цена на Woo - PASPORT, риск p.price sp302) ---------- */
#content :is(div.product p.price, div.product span.price, .km-product-card__price){ font-family:var(--km-font-head), Arial, sans-serif; font-weight:500; line-height:1.3; color:var(--km-navy); }
#content :is(div.product p.price, div.product span.price, .km-product-card__price) del{ margin-right:8px; color:var(--km-text); font-size:.8em; opacity:1; }
#content :is(div.product p.price, div.product span.price, .km-product-card__price) ins{ text-decoration:none; color:var(--km-orange); font-weight:inherit; }

/* ---------- 7. Бадж „Промоция" (span.onsale) = .pg-woo-badge ---------- */
/* изключение: position:absolute - бадж върху снимката на картата (overlay като баджа на количката), не подрежда съдържание */
:is(.woocommerce, .woocommerce-page) span.onsale{
  position:absolute; top:20px; left:16px; z-index:1;
  display:flex; align-items:center; justify-content:center; width:72px; aspect-ratio:1; margin:0; padding:0;
  border-radius:50%; background:var(--km-sand); color:var(--km-navy);
  font-family:var(--km-font-ui), Arial, sans-serif; font-size:12px; font-weight:600; line-height:1;
  box-shadow:0 4px 12px rgba(7,27,52,.15);
}
/* в резюмето на продукта - на реда, над H1 (.pg-woo-badge--inline) */
#content .km-product div.product .summary span.onsale{ position:static; display:inline-flex; margin:0 0 16px; }

/* ---------- 8. Магазин (/shop/, категории) = .pg-shop ---------- */
.km-shop__section{ padding-block:48px 96px; }
.woocommerce-products-header{ margin:0; }
.woocommerce-products-header__title{ margin:0 0 24px; font-weight:500; }
.woocommerce-products-header .term-description{ margin:0 0 24px; }
.km-shop__toolbar{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 24px; margin:0 0 32px; }
.km-shop__toolbar .woocommerce-notices-wrapper{ flex:1 1 100%; }
.km-shop__toolbar .woocommerce-notices-wrapper:empty{ display:none; }
:is(.woocommerce, .woocommerce-page) .km-shop__toolbar :is(.woocommerce-result-count, .woocommerce-ordering){ float:none; margin:0; }
.km-shop__toolbar .woocommerce-result-count{ color:var(--km-text); }
.km-shop__toolbar .woocommerce-ordering select{ width:auto; font-size:15px; }
.woocommerce-info.woocommerce-no-products-found{ margin:0; }
@media (max-width:767px){
  .km-shop__section{ padding-block:24px 48px; }
  .km-shop__toolbar{ flex-direction:column; align-items:stretch; }
  .km-shop__toolbar .woocommerce-ordering select{ width:100%; }
}

/* ---------- 9. Мрежа на продуктите (ul.products) = .pg-woo-grid: 4 / 3 / 2 / 1 колони ----------
   1280 → 4, ≤1024 → 3, ≤800 → 2, ≤540 (390) → 1. Clearfix-ите и float/width на woocommerce-layout/smallscreen се нулират. */
:is(.woocommerce, .woocommerce-page) ul.products[class]{ list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin:0; padding:0; }
:is(.woocommerce, .woocommerce-page) ul.products[class].columns-3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
:is(.woocommerce, .woocommerce-page) ul.products[class].columns-2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
:is(.woocommerce, .woocommerce-page) ul.products[class].columns-1{ grid-template-columns:minmax(0,1fr); }
:is(.woocommerce, .woocommerce-page) ul.products[class]::before,
:is(.woocommerce, .woocommerce-page) ul.products[class]::after{ content:none; display:none; }
:is(.woocommerce, .woocommerce-page) ul.products[class] li.product{ position:relative; display:flex; float:none; clear:none; width:auto; min-width:0; margin:0; padding:0; }
@media (max-width:1024px){
  :is(.woocommerce, .woocommerce-page) ul.products[class]{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:800px){
  :is(.woocommerce, .woocommerce-page) ul.products[class], :is(.woocommerce, .woocommerce-page) ul.products[class].columns-3{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
}
@media (max-width:540px){
  :is(.woocommerce, .woocommerce-page) ul.products[class], :is(.woocommerce, .woocommerce-page) ul.products[class][class*="columns-"]{ grid-template-columns:minmax(0,1fr); }
}

/* картата П4 (template-parts/product-card.php) в мрежата = .pg-woo-card: квадратна снимка горе, тяло 24px */
:is(.woocommerce, .woocommerce-page) ul.products li.product > .km-product-card{ flex:1 1 auto; gap:10px; padding:0 0 24px; }
:is(.woocommerce, .woocommerce-page) ul.products li.product > .km-product-card::before{ top:auto; bottom:20px; } /* печатът SEAL слиза долу вдясно, иначе е под снимката */
:is(.woocommerce, .woocommerce-page) ul.products li.product > .km-product-card > :not(.km-product-card__img){ margin-inline:24px; }
/* горните ъгли следват вътрешния ръб на картата (radius 25px минус рамката 8px отвесно) */
:is(.woocommerce, .woocommerce-page) ul.products .km-product-card__img{ width:100%; height:auto; aspect-ratio:1; margin:0 0 14px; object-fit:cover; border-radius:25px 25px 0 0 / 17px 17px 0 0; } /* изключение: height:auto върху снимка, не текст */
:is(.woocommerce, .woocommerce-page) ul.products .km-product-card__title a:hover,
:is(.woocommerce, .woocommerce-page) ul.products .km-product-card__title a:focus-visible{ color:var(--km-gold); }
/* в мрежата на магазина картата е без краткото описание (както magazin.html и живият /shop/); на началната (S7) остава */
:is(.woocommerce, .woocommerce-page) ul.products .km-product-card__desc{ display:none; }
:is(.woocommerce, .woocommerce-page) ul.products .km-product-card__price{ font-size:22px; }
:is(.woocommerce, .woocommerce-page) ul.products .km-product-card__actions{ flex-direction:column; flex-wrap:nowrap; }
:is(.woocommerce, .woocommerce-page) ul.products .km-product-card__actions > a{ width:100%; }
@media (max-width:767px){
  :is(.woocommerce, .woocommerce-page) ul.products li.product > .km-product-card{ padding:0 0 24px; }
}

/* пагинация на магазина = .km-pagination (blog.css) */
:is(.woocommerce, .woocommerce-page) nav.woocommerce-pagination{ margin-top:56px; text-align:center; }
:is(.woocommerce, .woocommerce-page) nav.woocommerce-pagination ul.page-numbers{ list-style:none; display:inline-flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:0; padding:0; border:0; }
:is(.woocommerce, .woocommerce-page) nav.woocommerce-pagination ul.page-numbers::before,
:is(.woocommerce, .woocommerce-page) nav.woocommerce-pagination ul.page-numbers::after{ content:none; display:none; }
:is(.woocommerce, .woocommerce-page) nav.woocommerce-pagination ul.page-numbers li{ margin:0; border:0; }
:is(.woocommerce, .woocommerce-page) nav.woocommerce-pagination .page-numbers :is(a, span){
  display:inline-flex; align-items:center; justify-content:center; min-width:44px; aspect-ratio:1; padding:0 12px;
  border:1px solid var(--km-line); border-radius:var(--km-radius); background:var(--km-white); color:var(--km-navy);
  font-family:var(--km-font-ui), Arial, sans-serif; font-size:15px; font-weight:500; line-height:1;
  transition:background-color .3s, border-color .3s;
}
:is(.woocommerce, .woocommerce-page) nav.woocommerce-pagination .page-numbers a:hover{ border-color:var(--km-gold); }
:is(.woocommerce, .woocommerce-page) nav.woocommerce-pagination .page-numbers span.current{ background:var(--km-gold); border-color:var(--km-gold); }
:is(.woocommerce, .woocommerce-page) nav.woocommerce-pagination .page-numbers span.dots{ border:0; min-width:0; }
@media (max-width:767px){ :is(.woocommerce, .woocommerce-page) nav.woocommerce-pagination{ margin-top:32px; } }

/* ---------- 10. Единичен продукт = .pg-woo-top (галерия 607 / резюме 648) ----------
   content-single-product.php е на Woo; подредбата е grid върху div.product
   (breadcrumb + галерия вляво, резюме вдясно; табове, upsells, свързани - на цял ред). */
.km-product__top{ padding-block:48px 0; }
#content .km-product div.product{ display:grid; grid-template-columns:minmax(0,607fr) minmax(0,648fr); column-gap:10px; align-items:start; }
#content .km-product div.product > *{ grid-column:1 / -1; min-width:0; }
#content .km-product div.product > .woocommerce-breadcrumb{ grid-column:1; grid-row:1; margin:0; padding:10px 10px 0; }
#content .km-product div.product > div.images{ grid-column:1; grid-row:2; float:none; width:auto; margin:0; padding:10px; }
#content .km-product div.product > div.summary{ grid-column:2; grid-row:1 / span 2; float:none; width:auto; margin:0; padding:48px; }
#content .km-product--landing div.product > div.images, #content .km-product--landing div.product > div.summary{ grid-row:1; }

/* галерия (Woo flexslider + zoom + PhotoSwipe - theme support в inc/setup.php) */
#content .km-product .woocommerce-product-gallery{ position:relative; }
#content .km-product .woocommerce-product-gallery__wrapper{ margin:0; }
/* изключение: overflow:hidden върху рамката на снимката (zoomImg на Woo излиза извън нея при hover), не текст */
#content .km-product .woocommerce-product-gallery__image{ overflow:hidden; border-radius:var(--km-radius); }
#content .km-product .woocommerce-product-gallery__image img{ width:100%; height:auto; border-radius:var(--km-radius); } /* изключение: height:auto върху снимка, не текст */
#content .km-product .woocommerce-product-gallery .flex-viewport{ border-radius:var(--km-radius); }
#content .km-product .flex-control-thumbs{ list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:10px 0 0; padding:0; }
#content .km-product .flex-control-thumbs li{ margin:0; }
#content .km-product .flex-control-thumbs img{ border-radius:12px; opacity:.6; cursor:pointer; transition:opacity .3s; }
#content .km-product .flex-control-thumbs img:hover, #content .km-product .flex-control-thumbs img.flex-active{ opacity:1; }
/* бутонът-лупа (JS на Woo го добавя: a.woocommerce-product-gallery__trigger > span 🔍) = .pg-woo-zoom */
/* изключение: position:absolute - бутонът-лупа е overlay върху снимката (както на живо), не подрежда съдържание */
#content .km-product .woocommerce-product-gallery__trigger{
  position:absolute; top:26px; right:26px; z-index:2;
  display:inline-flex; align-items:center; justify-content:center; width:44px; aspect-ratio:1;
  border-radius:50%; color:var(--km-navy); box-shadow:var(--km-shadow);
  background:var(--km-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23071B34' stroke-width='1.5' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/g%3E%3C/svg%3E") center/22px no-repeat;
}
#content .km-product .woocommerce-product-gallery__trigger > *{ display:none; }
#content .km-product .woocommerce-product-gallery__trigger:hover{ background-color:var(--km-sand); }

/* резюме: H1 → линия → цена → кратко описание → форма → линия → мета → споделяне */
#content .km-product div.product .summary .product_title{ margin:0; font-weight:500; }
#content .km-product div.product .summary p.price{ margin:24px 0 0; padding-top:24px; border-top:1px solid var(--km-line); font-size:25px; }
#content .km-product div.product .summary .woocommerce-product-details__short-description{ margin:16px 0 0; }
#content .km-product div.product .summary .woocommerce-product-details__short-description > :last-child{ margin-bottom:0; }
#content .km-product div.product .summary form.cart{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:24px 0 0; }
#content .km-product div.product .summary form.cart::before, #content .km-product div.product .summary form.cart::after{ content:none; }
#content .km-product div.product .summary .product_meta{ margin:24px 0 20px; padding-top:24px; border-top:1px solid var(--km-line); font-size:14px; color:var(--km-text); }
#content .km-product div.product .summary .product_meta > span{ display:block; }
#content .km-product div.product .summary .product_meta a{ color:var(--km-navy); }
#content .km-product div.product .summary .product_meta a:hover{ color:var(--km-gold); }

/* вариативен продукт: „Вид съдействие" (table.variations) = .pg-prod-select */
#content .km-product div.product form.variations_form{ display:block; }
#content .km-product div.product table.variations{ width:100%; margin:0; border:0; border-collapse:collapse; }
#content .km-product div.product table.variations :is(tbody, tr){ display:grid; gap:6px; }
#content .km-product div.product table.variations :is(th, td){ display:block; padding:0; border:0; background:none; text-align:left; }
#content .km-product div.product table.variations th label{ margin:0; color:var(--km-navy); font-size:14px; font-weight:500; }
#content .km-product div.product a.reset_variations{ display:inline-block; margin-top:8px; color:var(--km-navy); font-size:14px; text-decoration:underline; text-decoration-color:var(--km-gold); text-underline-offset:3px; }
#content .km-product div.product .single_variation_wrap{ margin-top:16px; }
#content .km-product div.product .woocommerce-variation-description p{ margin:0 0 12px; }
#content .km-product div.product .woocommerce-variation-price span.price{ display:block; margin:0 0 12px; font-size:22px; }
#content .km-product div.product .woocommerce-variation-add-to-cart{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; }

/* споделяне (single-product/share.php) = .pg-woo-share */
.km-share{ list-style:none; display:flex; flex-wrap:wrap; gap:10px; margin:0; padding:0; }
.km-share__link{ display:inline-flex; align-items:center; gap:8px; padding:10px 18px; background:var(--km-navy2); color:var(--km-white); border-radius:var(--km-radius); font-family:var(--km-font-ui), Arial, sans-serif; font-size:14px; font-weight:500; line-height:1.2; transition:background-color .3s, color .3s; }
.km-share__link:hover, .km-share__link:focus-visible{ background:var(--km-gold); color:var(--km-navy); }
.km-share__link svg{ flex:0 0 16px; width:16px; height:16px; } /* изключение: height върху икона (svg), не текст */

/* табове „Описание" / „Допълнителна информация" (.woocommerce-tabs) = .pg-woo-tabs */
#content .km-product div.product .woocommerce-tabs{ padding-block:16px 64px; }
#content .km-product div.product .woocommerce-tabs ul.tabs{ list-style:none; display:flex; flex-wrap:wrap; gap:8px 32px; margin:0 0 32px; padding:0; border-bottom:1px solid var(--km-line); }
#content .km-product div.product .woocommerce-tabs ul.tabs::before, #content .km-product div.product .woocommerce-tabs ul.tabs::after{ content:none; display:none; }
#content .km-product div.product .woocommerce-tabs ul.tabs li{ display:block; margin:0 0 -1px; padding:0; border:0; background:none; }
#content .km-product div.product .woocommerce-tabs ul.tabs li a{ display:block; padding:14px 0; border-bottom:3px solid transparent; font-family:var(--km-font-head), Arial, sans-serif; font-size:18px; font-weight:500; line-height:1.4; color:var(--km-text); }
#content .km-product div.product .woocommerce-tabs ul.tabs li a:hover{ color:var(--km-navy); }
#content .km-product div.product .woocommerce-tabs ul.tabs li.active a{ color:var(--km-navy); border-bottom-color:var(--km-gold); }
/* текстът на описанието (.pg-woo-desc) - панелът има клас entry-content (типографията на base.css) */
#content .km-product .woocommerce-Tabs-panel{ margin:0; }
#content .km-product .woocommerce-Tabs-panel h2{ margin:40px 0 16px; }
#content .km-product .woocommerce-Tabs-panel h2:first-child{ margin-top:0; }
#content .km-product .woocommerce-Tabs-panel h3{ margin:28px 0 12px; font-size:25px; }
#content .km-product .woocommerce-Tabs-panel li::marker{ color:var(--km-gold); }
#content .km-product .woocommerce-Tabs-panel a:not([class]){ color:var(--km-navy); text-decoration:underline; text-decoration-color:var(--km-gold); text-underline-offset:3px; }
#content .km-product .woocommerce-Tabs-panel a:not([class]):hover{ color:var(--km-gold); }
#content .km-product .woocommerce-Tabs-panel strong{ color:var(--km-navy); font-weight:500; }
/* „Допълнителна информация" (table.shop_attributes) = .km-table */
#content .km-product table.shop_attributes{ width:100%; margin:0; border-collapse:collapse; border:1px solid var(--km-line); }
#content .km-product table.shop_attributes :is(th, td){ padding:12px 16px; border:1px solid var(--km-line); text-align:left; vertical-align:top; font-style:normal; }
#content .km-product table.shop_attributes th{ width:auto; background:var(--km-gray); color:var(--km-navy); font-family:var(--km-font-head), Arial, sans-serif; font-weight:500; }
#content .km-product table.shop_attributes td p{ margin:0; }

/* свързани продукти / upsells (section.related.products) = .pg-woo-related */
#content .km-product div.product > :is(section.related, section.upsells){ padding-block:16px 96px; }
#content .km-product div.product > :is(section.related, section.upsells) > h2{ margin:0 0 32px; }

@media (max-width:1024px){
  .km-product__top{ padding-block:24px 0; }
  #content .km-product div.product{ grid-template-columns:minmax(0,1fr); }
  #content .km-product div.product > :is(.woocommerce-breadcrumb, div.images, div.summary){ grid-column:1; grid-row:auto; }
  #content .km-product div.product > div.summary{ padding:16px 10px 0; }
}
@media (max-width:767px){
  #content .km-product div.product > .woocommerce-breadcrumb{ padding:0; }
  #content .km-product div.product > div.images{ padding:0; }
  #content .km-product div.product > div.summary{ padding:16px 0 0; }
  #content .km-product div.product .summary p.price{ font-size:22px; }
  #content .km-product div.product .summary form.cart .single_add_to_cart_button{ flex:1 1 auto; }
  #content .km-product div.product .woocommerce-tabs{ padding-block:8px 40px; }
  #content .km-product div.product .woocommerce-tabs ul.tabs li a{ font-size:16px; }
  #content .km-product .woocommerce-Tabs-panel h2{ margin-top:28px; }
  #content .km-product .woocommerce-Tabs-panel h3{ font-size:18px; }
  #content .km-product div.product > :is(section.related, section.upsells){ padding-block:8px 48px; }
}

/* ---------- 11. Лендинг режим (body.km-landing, inc/landing-mode.php) = .pg-lend-* ---------- */
/* хедър: само лого (НЕ линк) + количка; лого 373x76 на desktop, 36px в sticky и ≤1024 */
.km-header--landing .km-header__inner{ justify-content:space-between; }
.km-header--landing .km-logo img{ height:76px; } /* изключение: height върху снимка (логото), не текст */
.km-header--landing.is-sticky .km-logo img{ height:36px; } /* изключение: height върху снимка (логото), не текст */
@media (max-width:1024px){ .km-header--landing .km-logo img{ height:36px; } } /* изключение: height върху снимка (логото), не текст */
#content .km-product--landing div.product .summary .km-landing__eyebrow{ margin:0 0 12px; }
/* компактната Google лента в колоната на hero-то (.pg-lend-ticker) */
#content .km-product--landing .km-landing__reviews{ margin-top:24px; padding-top:8px; }
#content .km-product--landing div.product .summary .km-landing__cta{ margin-top:24px; }
/* линията след бутона (divider ba718df на живо) */
#content .km-product--landing div.product .summary > :last-child{ padding-bottom:24px; border-bottom:1px solid var(--km-line); }
/* секциите на лендинга (post_content) - на цяла ширина под hero-то */
.km-landing__body{ padding-bottom:96px; }
@media (max-width:767px){ .km-landing__body{ padding-bottom:48px; } }

/* ---------- 12. Количка (cart/cart.php) = .pg-cart-* ---------- */
div.km-cart{ display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:32px; align-items:start; }
div.km-cart > *{ min-width:0; }
.km-cart table.shop_table.cart{ width:100%; margin:0; border:0; border-collapse:collapse; }
.km-cart table.cart th{ padding:12px; border:0; border-bottom:1px solid var(--km-line); text-align:left; background:none; font-family:var(--km-font-head), Arial, sans-serif; font-size:15px; font-weight:500; color:var(--km-navy); }
.km-cart table.cart td{ padding:16px 12px; border:0; border-bottom:1px solid var(--km-line); vertical-align:middle; background:none; color:var(--km-navy); }
.km-cart table.cart td.product-thumbnail{ width:104px; }
.km-cart table.cart td.product-thumbnail img{ width:80px; height:80px; object-fit:cover; border-radius:12px; } /* изключение: height върху снимка (миниатюра), не текст */
.km-cart table.cart td.product-name a{ font-family:var(--km-font-head), Arial, sans-serif; font-size:17px; font-weight:500; line-height:1.4; color:var(--km-navy); text-decoration:none; }
.km-cart table.cart td.product-name a:hover{ color:var(--km-gold); }
.km-cart table.cart td.product-remove{ width:48px; }
.km-cart table.cart a.remove{ display:inline-flex; align-items:center; justify-content:center; width:32px; aspect-ratio:1; border:1px solid var(--km-line); border-radius:50%; color:var(--km-text); font-size:20px; font-weight:400; line-height:1; text-decoration:none; transition:color .3s, border-color .3s; }
.km-cart table.cart a.remove:hover{ color:var(--km-orange); border-color:var(--km-orange); background:none; }
.km-cart table.cart td.actions{ padding:20px 0 0; border:0; text-align:right; }
.km-cart table.cart .variation{ margin:6px 0 0; font-size:14px; color:var(--km-text); }
.km-cart table.cart .variation :is(dt, dd){ display:inline; margin:0; }
.km-cart table.cart .variation dd p{ display:inline; margin:0; }
/* „Общо в количката" - карта (.pg-woo-card-box) с таблица (.pg-woo-totals) */
.km-card.km-cart__totals{ padding:32px; }
:is(.woocommerce, .woocommerce-page) .km-cart .cart-collaterals .cart_totals{ float:none; width:auto; }
.km-cart .cart_totals h2{ margin:0 0 16px; font-size:25px; line-height:1.3; }
:is(.km-cart .cart_totals, .km-checkout__review) table.shop_table{ width:100%; margin:0; border:0; border-collapse:collapse; }
:is(.km-cart .cart_totals, .km-checkout__review) table.shop_table :is(th, td){ padding:14px 0; border:0; border-bottom:1px solid var(--km-line); background:none; text-align:left; vertical-align:top; font-weight:400; }
:is(.km-cart .cart_totals, .km-checkout__review) table.shop_table td{ text-align:right; color:var(--km-navy); }
:is(.km-cart .cart_totals, .km-checkout__review) table.shop_table th{ color:var(--km-text); }
:is(.km-cart .cart_totals, .km-checkout__review) table.shop_table tr.order-total :is(th, td){ border-bottom:0; color:var(--km-navy); font-family:var(--km-font-head), Arial, sans-serif; font-size:20px; font-weight:500; }
:is(.km-cart .cart_totals, .km-checkout__review) table.shop_table tr.order-total td strong{ font-weight:inherit; }
.km-cart .wc-proceed-to-checkout{ margin-top:24px; padding:0; }
:is(.woocommerce, .woocommerce-page) .km-cart .wc-proceed-to-checkout a.checkout-button{ display:flex; width:100%; margin:0; }
/* празна количка (cart/cart-empty.php) = .pg-cart-empty */
.km-card.km-cart-empty{ padding:48px; text-align:center; }
.km-cart-empty .wc-empty-cart-message{ margin:0; }
.km-cart-empty .cart-empty.woocommerce-info{ margin:0 0 24px; padding:0; background:none; border:0; color:var(--km-navy); font-family:var(--km-font-head), Arial, sans-serif; font-size:25px; font-weight:500; line-height:1.3; }
.km-cart-empty .return-to-shop{ margin:0; }
@media (max-width:1024px){ div.km-cart{ grid-template-columns:minmax(0,1fr); } }
/* 390: редовете стават карти (shop_table_responsive - td[data-title]::before); миниатюрата остава */
@media (max-width:767px){
  .km-cart table.cart thead{ display:none; }
  .km-cart table.cart, .km-cart table.cart tbody{ display:block; }
  #content .km-cart table.cart tr.cart_item{ display:grid; grid-template-columns:80px minmax(0,1fr); column-gap:16px; row-gap:6px; margin-bottom:16px; padding:16px; background:var(--km-white); border:1px solid var(--km-line); border-radius:var(--km-radius); box-shadow:var(--km-shadow); }
  #content .km-cart table.cart tr.cart_item td{ display:flex; justify-content:space-between; align-items:center; gap:12px; min-width:0; padding:0; border:0; background:none; }
  #content .km-cart table.cart tr.cart_item td[data-title]::before{ content:attr(data-title); float:none; color:var(--km-text); font-size:13px; font-weight:400; }
  #content .km-cart table.cart tr.cart_item td.product-thumbnail{ display:flex; grid-column:1; grid-row:1 / span 4; width:auto; align-items:flex-start; }
  #content .km-cart table.cart tr.cart_item :is(td.product-name, td.product-price, td.product-quantity, td.product-subtotal){ grid-column:2; }
  #content .km-cart table.cart tr.cart_item td.product-name{ display:block; }
  #content .km-cart table.cart tr.cart_item td.product-name::before{ display:none; }
  /* CF4.4: woocommerce-smallscreen.css слага „: " (attr(data-title) + ": ") и на миниатюрата - тя е без data-title */
  #content .km-cart table.cart tr.cart_item td.product-thumbnail::before{ display:none; }
  #content .km-cart table.cart tr.cart_item td.product-remove{ grid-column:1 / -1; grid-row:5; width:auto; justify-content:flex-start; padding-top:8px; border-top:1px solid var(--km-line); }
  #content .km-cart table.cart tr:not(.cart_item){ display:block; }
  #content .km-cart table.cart td.actions{ display:block; padding:4px 0 0; background:none; }
  :is(.woocommerce, .woocommerce-page) .km-cart table.cart td.actions .button{ display:flex; width:100%; }
  .km-card.km-cart__totals{ padding:24px; }
  .km-cart .cart_totals h2{ font-size:20px; }
  .km-card.km-cart-empty{ padding:32px 20px; }
  .km-cart-empty .cart-empty.woocommerce-info{ font-size:20px; }
}

/* ---------- 13. Поръчка (checkout/form-checkout.php) = .pg-checkout-* ----------
   Мрежата е на .km-checkout (вътре във формата), НЕ на form.checkout и НЕ на .col-1:
   <wc-order-attribution-inputs> (първо дете на .col-1, само hidden полета) и pys_* и cm_* hidden
   полетата (деца на формата) не заемат клетки. */
.km-checkout{ display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:32px; align-items:start; }
.km-checkout > *{ min-width:0; }
/* само hidden input-и (Woo JS ги пълни) - не се рисуват; display:none не спира изпращането им с формата */
wc-order-attribution-inputs{ display:none; }
:is(.woocommerce, .woocommerce-page) .km-checkout .col2-set{ width:auto; }
:is(.woocommerce, .woocommerce-page) .km-checkout .col2-set :is(.col-1, .col-2){ float:none; width:auto; }
.km-checkout :is(.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields) h3,
.km-checkout #ship-to-different-address{ margin:0 0 24px; font-size:25px; line-height:1.3; }
.km-checkout .woocommerce-additional-fields > h3:empty, .km-checkout .woocommerce-shipping-fields:empty{ display:none; }
/* H3 „Допълнителна информация" - на живо (porachka-dom.md) и в макета няма, само label над полето */
.km-checkout .woocommerce-additional-fields > h3{ display:none; }
.km-checkout .col-2 > :first-child:not(:empty){ margin-top:20px; }
/* полетата: 2 колони (form-row-first / -last една до друга, -wide на цял ред) */
.km-checkout :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-additional-fields__field-wrapper){ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
:is(.woocommerce, .woocommerce-page) form.checkout .km-checkout .form-row{ grid-column:1 / -1; float:none; width:auto; margin:0; }
:is(.woocommerce, .woocommerce-page) form.checkout .km-checkout :is(.form-row-first, .form-row-last){ grid-column:auto; }
:is(.woocommerce, .woocommerce-page) form.checkout .km-checkout .form-row::before,
:is(.woocommerce, .woocommerce-page) form.checkout .km-checkout .form-row::after{ content:none; }
.km-checkout .woocommerce-shipping-fields .shipping_address{ margin-top:20px; }
/* „Вашата поръчка" - карта */
.km-card.km-checkout__review{ padding:32px; }
.km-checkout__review #order_review_heading{ margin:0 0 16px; font-size:25px; line-height:1.3; }
.km-checkout__review table.shop_table thead th{ padding-top:0; color:var(--km-navy); font-family:var(--km-font-head), Arial, sans-serif; font-weight:500; }
.km-checkout__review table.shop_table thead th:last-child{ text-align:right; }
.km-checkout__review table.shop_table td.product-name{ text-align:left; color:var(--km-navy); }
.km-checkout__review table.shop_table .product-quantity{ color:var(--km-text); font-weight:400; }
/* плащане (#payment, единствен paypercut_payments) = .pg-checkout-pay */
:is(.woocommerce, .woocommerce-page) .km-checkout #payment{ margin:0; padding:0; background:none; border-radius:0; }
.km-checkout #payment ul.payment_methods{ list-style:none; margin:24px 0 0; padding:16px 20px; background:var(--km-gray); border:0; border-radius:16px; }
.km-checkout #payment ul.payment_methods li{ margin:0; line-height:1.4; }
.km-checkout #payment ul.payment_methods li + li{ margin-top:12px; }
.km-checkout #payment ul.payment_methods li > label{ display:inline-flex; flex-wrap:wrap; align-items:center; gap:10px; margin:0; color:var(--km-navy); font-weight:500; cursor:pointer; }
.km-checkout #payment ul.payment_methods li > input{ margin-right:10px; vertical-align:middle; }
.km-checkout #payment .payment_box{ margin:12px 0 0; padding:0; background:none; font-size:14px; color:var(--km-text); }
.km-checkout #payment .payment_box p:last-child{ margin-bottom:0; }
/* иконите на картите (Paypercut) - на един ред (base.css прави img блокови) */
.km-checkout .paypercut-card-brands{ display:inline-flex; flex-wrap:wrap; align-items:center; gap:6px; }
.km-checkout .paypercut-card-brands img{ display:inline-block; width:auto; height:22px; } /* изключение: height върху икона (снимка), не текст */
.km-checkout #payment .form-row.place-order{ margin:0; padding:0; }
.km-checkout .woocommerce-privacy-policy-text p{ margin:20px 0; font-size:14px; line-height:1.5; }
.km-checkout .woocommerce-privacy-policy-text a, .km-checkout .woocommerce-terms-and-conditions-link{ color:var(--km-navy); text-decoration:underline; text-decoration-color:var(--km-gold); text-underline-offset:3px; }
.km-checkout .woocommerce-privacy-policy-text a:hover{ color:var(--km-gold); }
:is(.woocommerce, .woocommerce-page) .km-checkout #payment #place_order{ display:flex; float:none; width:100%; margin:0; }
@media (max-width:1024px){ .km-checkout{ grid-template-columns:minmax(0,1fr); } }
@media (max-width:767px){
  .km-checkout :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-additional-fields__field-wrapper){ grid-template-columns:minmax(0,1fr); }
  :is(.woocommerce, .woocommerce-page) form.checkout .km-checkout :is(.form-row-first, .form-row-last){ grid-column:1 / -1; }
  .km-checkout :is(.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields) h3,
  .km-checkout__review #order_review_heading{ font-size:20px; }
  .km-card.km-checkout__review{ padding:24px; }
}

/* ---------- 14. Моят профил = .pg-acc-* ---------- */
/* вход (myaccount/form-login.php): карти; при включена регистрация - 2 колони */
.km-account-login{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; align-items:start; }
.km-account-login > *{ min-width:0; }
:is(.woocommerce, .woocommerce-page) .km-account-login.col2-set :is(.col-1, .col-2){ float:none; width:auto; }
.km-account-login.col2-set::before, .km-account-login.col2-set::after{ content:none; display:none; }
.km-account-login__card h2{ margin:0 0 24px; font-size:31px; }
.km-account-login__card form{ margin:0; padding:0; border:0; }
.km-account-login__card form > p:last-child{ margin-bottom:0; }
.km-account-login__card .woocommerce-form-login .form-row:not(.woocommerce-form-row){ display:flex; flex-direction:column; align-items:flex-start; gap:20px; }
.km-account-login__card .lost_password{ margin:20px 0 0; }
.km-account-login__card .lost_password a{ color:var(--km-navy); text-decoration:underline; text-decoration-color:var(--km-gold); text-underline-offset:3px; }
.km-account-login__card .lost_password a:hover{ color:var(--km-gold); }
/* след вход (myaccount/my-account.php): навигация pill вляво + съдържание */
.km-account{ display:grid; grid-template-columns:minmax(0,280px) minmax(0,1fr); gap:32px; align-items:start; }
.km-account > *{ min-width:0; }
.woocommerce-account .km-account :is(.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content){ float:none; width:auto; }
.km-account__nav ul{ list-style:none; display:grid; gap:10px; margin:0; padding:0; }
.km-account__nav li{ margin:0; }
.km-account__nav a{ display:block; padding:12px 24px; border:1px solid var(--km-line); border-radius:var(--km-radius); background:var(--km-white); color:var(--km-navy); font-family:var(--km-font-ui), Arial, sans-serif; font-size:15px; font-weight:500; line-height:1.4; transition:background-color .3s, border-color .3s, color .3s; }
.km-account__nav a:hover{ border-color:var(--km-gold); color:var(--km-gold); }
.km-account__nav .is-active a{ background:var(--km-gold); border-color:var(--km-gold); color:var(--km-navy); }
.km-account .woocommerce-MyAccount-content > :first-child{ margin-top:0; }
.km-account .woocommerce-MyAccount-content a:not([class]){ color:var(--km-navy); text-decoration:underline; text-decoration-color:var(--km-gold); text-underline-offset:3px; }
/* поръчки (myaccount/orders.php): .km-table + името на услугата под номера + статус pill */
.km-table.km-orders{ margin-top:0; }
.km-orders :is(td, tbody th){ color:var(--km-navy); }
.km-orders tbody th{ background:none; font-family:inherit; font-weight:400; }
.km-orders .km-order-svc{ display:block; margin-top:2px; color:var(--km-text); font-size:14px; }
.km-order-status{ display:inline-block; padding:4px 12px; border-radius:var(--km-radius); background:rgba(230,138,40,.15); color:var(--km-navy2); font-size:13px; font-weight:500; white-space:nowrap; }
.km-order-status--completed{ background:var(--km-sand); }
:is(.woocommerce, .woocommerce-page) .km-orders .button{ padding:8px 18px; font-size:14px; }
/* на ≤768 таблицата остава таблица и скролва в карето (вместо стъпаловидния вид на smallscreen, който крие номера) */
@media (max-width:768px){
  :is(.woocommerce, .woocommerce-page) .km-orders table.shop_table_responsive thead{ display:table-header-group; }
  :is(.woocommerce, .woocommerce-page) .km-orders table.shop_table_responsive tr{ display:table-row; }
  :is(.woocommerce, .woocommerce-page) .km-orders table.shop_table_responsive tr :is(td, th){ display:table-cell; background:none; }
  :is(.woocommerce, .woocommerce-page) .km-orders table.shop_table_responsive tr td::before{ content:none; }
}
@media (max-width:1024px){
  .km-account{ grid-template-columns:minmax(0,1fr); }
  .km-account__nav ul{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:767px){
  .km-account-login{ grid-template-columns:minmax(0,1fr); }
  .km-card.km-account-login__card{ padding:24px; }
  .km-account-login__card h2{ font-size:24px; }
  :is(.woocommerce, .woocommerce-page) .km-account-login__card .woocommerce-form-login__submit{ width:100%; }
  .km-account__nav ul{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
