/* ============================================================
   Антим Клима — single product (v2)
   Coded photo gallery + viewer (inc/product-gallery.php); restyles the
   NATIVE WooCommerce summary + tabs so all
   plugin widgets (energy label, +МОНТАЖ, ПБ/TBI, product fiche,
   reviews) keep working. Light frost page, white cards; red = price
   and buy, cyan = info, green = call. Scoped to .ak. Loaded after
   home.css + v2.css.
   ============================================================ */

/* desktop/mobile chrome toggle (same breakpoint as home.css) */
.ak.ak-product-page .ak-desktop { display: none; }
.ak.ak-product-page .ak-mobile  { display: block; }
@media (min-width: 1024px) {
  .ak.ak-product-page .ak-desktop { display: block; }
  .ak.ak-product-page .ak-mobile  { display: none; }
}

.ak.ak-product-page { background: var(--frost); color: var(--ink); min-height: 100vh; }
.ak .ak-product { position: relative; }
.ak .ak-pd-crumbs { margin-top: 22px; }

/* ---- main 2-col layout (gallery | summary), collapses on mobile ---- */
.ak .ak-pd-main { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; margin-top: 20px; align-items: start; }
@media (min-width: 1024px) {
  .ak .ak-pd-main { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 40px; margin-top: 20px; }
}
/* tall enough screens: the photo stays in view while the buy box scrolls */
@media (min-width: 1024px) and (min-height: 820px) {
  .ak .ak-pd-gallery { position: sticky; top: 20px; }
}
/* grid items must allow shrinking, else the slide track's min-width
   blows the gallery column past the container */
.ak .ak-pd-gallery, .ak .ak-pd-summary { min-width: 0; }

/* ---- gallery (inc/product-gallery.php + assets/js/gallery.js) ---- */
.ak .ak-gal {
  position: relative; background: #fff; border: 1px solid var(--line); border-radius: var(--r-card); padding: 22px;
}
.ak .ak-gal-stage { position: relative; margin: 0; }
.ak .ak-gal-track {
  position: relative; display: flex; overflow-x: auto; overflow-y: hidden;
  scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none;
  aspect-ratio: 4 / 3; border-radius: 10px; outline: none;
}
.ak .ak-gal-track::-webkit-scrollbar { display: none; }
.ak .ak-gal-track:focus-visible { box-shadow: 0 0 0 3px var(--cold-100); }
.ak .ak-gal-slide {
  flex: 0 0 100%; width: 100%; height: 100%; scroll-snap-align: start; scroll-snap-stop: always;
  display: flex; align-items: center; justify-content: center; cursor: zoom-in;
}
.ak .ak-gal-slide img, .ak .ak-gal-track--empty img {
  display: block; width: 100%; height: 100%; max-height: none; object-fit: contain; margin: 0; border-radius: 10px;
}
.ak .ak-gal-track--empty .ak-gal-slide { cursor: default; }
/* arrows: desktop shows them on hover/focus, touch screens swipe */
.ak .ak-gal-nav {
  position: absolute; top: 50%; z-index: 6; width: 44px; height: 44px; margin-top: -22px; padding: 0;
  display: flex; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 50%;
  background: rgba(255,255,255,.94); color: var(--ink); box-shadow: 0 4px 14px rgba(11,42,74,.14); cursor: pointer;
  opacity: 0; transition: opacity .15s, background .15s, color .15s;
}
.ak .ak-gal-prev { left: 6px; }
.ak .ak-gal-next { right: 6px; }
.ak .ak-gal-stage:hover .ak-gal-nav, .ak .ak-gal-nav:focus-visible { opacity: 1; }
.ak .ak-gal-nav:hover { background: var(--night); border-color: var(--night); color: #fff; }
@media (hover: none) { .ak .ak-gal-nav { display: none; } }
.ak .ak-gal-count {
  position: absolute; right: 8px; bottom: 8px; z-index: 6; padding: 4px 9px; border-radius: 999px;
  background: rgba(11,42,74,.72); color: #fff; font-size: 13px; font-weight: 700; line-height: 1.2; font-variant-numeric: tabular-nums; pointer-events: none;
}
.ak .ak-gal-full {
  position: absolute; left: 8px; bottom: 8px; z-index: 6; width: 44px; height: 44px; padding: 0;
  display: flex; align-items: center; justify-content: center; border: 0; border-radius: 50%;
  background: var(--night); color: #fff; box-shadow: 0 4px 12px rgba(11,42,74,.25); cursor: pointer; transition: background .15s, transform .15s;
}
.ak .ak-gal-full:hover { background: var(--night-2); transform: scale(1.06); }
.ak .ak-gal-full:focus-visible, .ak .ak-gal-nav:focus-visible, .ak .ak-gal-thumb:focus-visible { outline: 3px solid var(--cold); outline-offset: 2px; }
/* thumbnail strip: one scrollable row, end arrows only when it overflows */
.ak .ak-gal-strip { position: relative; margin-top: 14px; }
.ak .ak-gal-thumbs {
  position: relative; display: flex; align-items: flex-start; gap: 8px; overflow-x: auto; scrollbar-width: none; padding: 2px;
}
.ak .ak-gal-thumbs::-webkit-scrollbar { display: none; }
.ak .ak-gal-thumb {
  flex: 0 0 calc((100% - 6 * 8px) / 7); min-width: 64px; height: auto; aspect-ratio: 1; padding: 4px; margin: 0; /* Partdo base.css sizes every button */
  border: 1.5px solid var(--line); border-radius: 10px; background: #fff; cursor: pointer; opacity: .7; transition: opacity .14s, border-color .14s;
}
.ak .ak-gal-thumb img { display: block; width: 100%; height: 100%; object-fit: contain; border-radius: 6px; }
.ak .ak-gal-thumb:hover { opacity: 1; background: #fff; border-color: var(--line); } /* beats Partdo button:hover */
.ak .ak-gal-thumb.is-active { opacity: 1; border-color: var(--cold-ink); box-shadow: inset 0 0 0 1px var(--cold-ink); }
.ak .ak-gal-strip-nav {
  position: absolute; top: 50%; z-index: 2; width: 30px; height: 30px; margin-top: -15px; padding: 0; display: none;
  align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 50%;
  background: #fff; color: var(--ink); box-shadow: 0 2px 8px rgba(11,42,74,.15); cursor: pointer;
}
.ak .ak-gal-strip-prev { left: -10px; }
.ak .ak-gal-strip-next { right: -10px; }
.ak .ak-gal-strip.is-overflow .ak-gal-strip-nav { display: flex; }
.ak .ak-gal-strip-nav:hover { background: var(--night); border-color: var(--night); color: #fff; }
.ak .ak-gal-strip-nav:disabled { display: none !important; }
@media (hover: none) { .ak .ak-gal-strip.is-overflow .ak-gal-strip-nav { display: none; } }

.ak .ak-pd-gallery .onsale,
.ak .ak-pd-gallery .ak-product-onsale {
  position: absolute; top: 16px; left: 16px; z-index: 3; min-height: 0; min-width: 0;
  background: var(--deal); color: var(--deal-ink); font-family: var(--ak-font-d);
  font-weight: 800; font-size: 17px; padding: 5px 9px; border-radius: 6px; line-height: 1; margin: 0;
}
/* partdo's discount badge ("8%") → the yellow deal badge of the cards ("-8%") */
.ak .ak-pd-gallery .product-badges { position: absolute; top: -8px; left: -8px; z-index: 7; }
.ak .ak-pd-gallery .product-badges .badge.sale {
  background: var(--deal); color: var(--deal-ink); border-radius: 6px; padding: 5px 9px; height: auto; line-height: 1;
  font-family: var(--ak-font-d); font-weight: 800; font-size: 18px; letter-spacing: 0;
}
.ak .ak-pd-gallery .product-badges .badge.sale::before { content: "-"; }
/* Advanced Woo Labels on the photo (inline plugin colours) → v2 chips:
   warranty green, everything else cyan info */
.ak .ak-pd-gallery .awl-label-text { background: var(--cold-50) !important; color: var(--cold-ink) !important; border-radius: 6px !important; font-style: normal !important; font-family: var(--ak-font) !important; font-weight: 700 !important; }
.ak .ak-pd-gallery .awl-product-label { font-style: normal !important; color: var(--cold-ink) !important; }
.ak .ak-pd-gallery .awl-label-id-13447 .awl-label-text { background: var(--ok-50) !important; color: var(--ok-ink) !important; }
.ak .ak-pd-gallery .awl-label-id-13447 .awl-product-label { color: var(--ok-ink) !important; }
.ak .ak-pd-gallery .awl-product-label svg, .ak .ak-pd-gallery .awl-product-label svg * { fill: currentColor !important; }
.ak .ak-pd-gallery .advanced-woo-labels { padding: 10px 10px 0; gap: 5px 0; z-index: 7 !important; pointer-events: none; }

/* ---- full-screen viewer (moved to <body> by gallery.js) ---- */
html.ak-lb-open { overflow: hidden; }
html.ak-lb-open .chaty { display: none !important; }
.ak-lb {
  --ak-lb-fade: 1;
  position: fixed; inset: 0; z-index: 2147483000; display: grid; grid-template-rows: auto minmax(0, 1fr) auto;
  background: rgba(6, 17, 29, calc(.96 * var(--ak-lb-fade))); color: #fff;
  font-family: var(--ak-font, system-ui, sans-serif); opacity: 0; transition: opacity .18s ease;
  overscroll-behavior: contain; -webkit-tap-highlight-color: transparent;
}
.ak-lb[hidden] { display: none; }
.ak-lb.is-in { opacity: 1; }
.ak-lb button { font: inherit; color: inherit; text-transform: none; letter-spacing: 0; box-shadow: none; } /* Partdo base.css styles every button */
.ak-lb-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px 10px 20px; position: relative; z-index: 3; }
.ak-lb-count { font-size: 15px; font-weight: 700; letter-spacing: .02em; font-variant-numeric: tabular-nums; opacity: .9; }
.ak-lb-tools { display: flex; align-items: center; gap: 4px; }
.ak-lb .ak-lb-btn, .ak-lb .ak-lb-zoomv {
  height: 44px; min-width: 44px; padding: 0; display: inline-flex; align-items: center; justify-content: center;
  border: 0; border-radius: 12px; background: transparent; cursor: pointer; transition: background .15s, opacity .15s;
}
.ak-lb .ak-lb-zoomv { min-width: 58px; font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; }
.ak-lb .ak-lb-btn:hover, .ak-lb .ak-lb-zoomv:hover { background: rgba(255,255,255,.12); }
.ak-lb .ak-lb-btn:disabled { opacity: .35; cursor: default; background: transparent; }
.ak-lb .ak-lb-close { margin-left: 8px; background: rgba(255,255,255,.1); }
.ak-lb button:focus-visible { outline: 3px solid var(--cold, #00a0dc); outline-offset: 1px; }
.ak-lb-stage {
  position: relative; margin: 0 72px 16px; display: flex; align-items: center; justify-content: center;
  overflow: hidden; touch-action: none; user-select: none; -webkit-user-select: none;
}
.ak-lb-img {
  display: block; flex: none; max-width: none; max-height: none; background: #fff; border-radius: 4px;
  transform-origin: 50% 50%; will-change: transform; cursor: zoom-in; -webkit-user-drag: none;
}
.ak-lb.is-zoomed .ak-lb-img { cursor: grab; }
.ak-lb.is-grabbing .ak-lb-img { cursor: grabbing; }
.ak-lb-spin {
  position: absolute; left: 50%; top: 50%; width: 34px; height: 34px; margin: -17px 0 0 -17px; border-radius: 50%;
  border: 3px solid rgba(255,255,255,.25); border-top-color: #fff; opacity: 0; pointer-events: none; transition: opacity .2s;
  animation: ak-lb-spin .8s linear infinite;
}
.ak-lb.is-loading .ak-lb-spin { opacity: 1; transition-delay: .25s; }
@keyframes ak-lb-spin { to { transform: rotate(360deg); } }
.ak-lb .ak-lb-nav {
  position: absolute; top: 50%; z-index: 3; width: 52px; height: 52px; margin-top: -26px; padding: 0;
  display: flex; align-items: center; justify-content: center; border: 0; border-radius: 50%;
  background: rgba(255,255,255,.12); cursor: pointer; transition: background .15s;
}
.ak-lb .ak-lb-nav:hover { background: rgba(255,255,255,.24); }
.ak-lb .ak-lb-prev { left: 12px; }
.ak-lb .ak-lb-next { right: 12px; }
.ak-lb-thumbs {
  position: relative; display: flex; justify-content: safe center; gap: 8px; overflow-x: auto; scrollbar-width: none;
  padding: 10px 16px 14px;
}
.ak-lb-thumbs::-webkit-scrollbar { display: none; }
.ak-lb .ak-lb-thumb {
  flex: 0 0 64px; height: 64px; padding: 3px; border: 2px solid transparent; border-radius: 10px;
  background: #fff; cursor: pointer; opacity: .55; transition: opacity .15s, border-color .15s;
}
.ak-lb .ak-lb-thumb img { display: block; width: 100%; height: 100%; object-fit: contain; border-radius: 6px; }
.ak-lb .ak-lb-thumb:hover { opacity: .9; background: #fff; border-color: transparent; }
.ak-lb .ak-lb-thumb.is-active { opacity: 1; border-color: var(--cold, #00a0dc); }
@media (max-width: 767px) {
  .ak-lb-stage { margin: 0 0 8px; }
  .ak-lb .ak-lb-nav { width: 40px; height: 40px; margin-top: -20px; background: rgba(6,17,29,.55); }
  .ak-lb .ak-lb-prev { left: 6px; }
  .ak-lb .ak-lb-next { right: 6px; }
  .ak-lb-bar { padding: 6px 6px 6px 16px; }
  .ak-lb .ak-lb-zoomv { display: none; }
  .ak-lb .ak-lb-thumb { flex-basis: 52px; height: 52px; }
  .ak-lb-thumbs { padding: 8px 12px calc(10px + env(safe-area-inset-bottom)); }
}
@media (max-height: 520px) { .ak-lb-thumbs { display: none; } }
@media (prefers-reduced-motion: reduce) { .ak-lb { transition: none; } .ak-lb-spin { animation-duration: 2s; } }

/* attributes table under the photo (partdo .product-extra-details, desktop only) */
.ak .ak-pd-gallery .product-extra-details { margin-top: 12px; background: #fff; border: 1px solid var(--line); border-radius: var(--r-card); overflow: hidden; }
.ak .ak-pd-gallery .product-extra-details table { width: 100%; margin: 0; border-collapse: collapse; border: 0; }
.ak .ak-pd-gallery .product-extra-details :is(th, td) { padding: 12px 18px; border: 0; border-bottom: 1px solid var(--line); background: #fff; color: var(--ink); font-size: 15px; text-align: left; }
.ak .ak-pd-gallery .product-extra-details tr:last-child :is(th, td) { border-bottom: 0; }
.ak .ak-pd-gallery .product-extra-details th { width: 45%; color: var(--muted); font-weight: 600; }
.ak .ak-pd-gallery .product-extra-details td { font-weight: 700; }
.ak .ak-pd-gallery .product-extra-details td p { margin: 0; }

/* ---- summary (native WC content) ---- */
.ak .ak-pd-summary { width: 100% !important; float: none !important; margin: 0 !important; color: var(--ink); }
.ak .ak-pd-summary .product_title {
  font-family: var(--ak-font-d); font-weight: 800; font-size: 36px;
  line-height: 1.08; letter-spacing: -.015em; color: var(--ink); margin: 0 0 10px;
}
.ak .ak-pd-summary .woocommerce-product-rating { margin-bottom: 12px; }
.ak .ak-pd-summary .woocommerce-review-link { color: var(--ink-2); }

/* top meta: SKU + stock line */
.ak .ak-pd-summary .product-meta:not(.bottom) { margin: 0 0 14px; padding: 0; border: 0; font-size: 14.5px; color: var(--muted); }
.ak .ak-pd-summary .product-meta:not(.bottom) > * { margin: 0 0 2px; }
.ak .ak-pd-summary .product-meta .stock,
.ak .ak-pd-summary .product-meta .in-stock { color: var(--ok) !important; font-weight: 700; font-size: 15px; }
.ak .ak-pd-summary .product-meta :is(.available-on-backorder, .out-of-stock, .onbackorder) { color: var(--wait) !important; font-weight: 700; font-size: 15px; }

/* price card (white): p.price is rewritten by the +МОНТАЖ script and copied
   into the sticky bar — only styled, never restructured */
.ak .ak-pd-summary .price {
  display: block; background: #fff; border: 1px solid var(--line);
  border-radius: var(--r-card); padding: 18px 22px; margin: 0 0 14px;
  font-family: var(--ak-font-d); font-weight: 800; font-size: 46px; line-height: 1;
  color: var(--ink) !important; letter-spacing: -.02em;
}
.ak .ak-pd-summary .price del { color: #8a97a6 !important; font-family: var(--ak-font); font-weight: 600; font-size: 19px; letter-spacing: 0; opacity: 1; margin-right: 6px; }
.ak .ak-pd-summary .price ins { text-decoration: none; color: var(--hot) !important; }
.ak .ak-pd-summary .price .amount { color: inherit !important; font-size: inherit !important; font-weight: inherit; } /* partdo sizes .amount at 26px */
.ak .ak-pd-summary .price small { font-family: var(--ak-font); font-size: 15px; font-weight: 700; color: var(--muted); letter-spacing: 0; }

/* EU energy class: footer strip of the price card (sibling of p.price, which
   +МОНТАЖ rewrites and the sticky bar copies — so it is kept out of it) */
.ak .ak-pd-summary .price:has(+ .ak-energy--pd) { margin-bottom: 0; border-bottom: 0; border-bottom-left-radius: 0; border-bottom-right-radius: 0; padding-bottom: 12px; }
.ak .ak-pd-summary .ak-energy--pd {
  display: flex; align-items: center; gap: 12px; margin: 0 0 14px; padding: 12px 22px 14px;
  background: #fff; border: 1px solid var(--line); border-top: 1px dashed var(--line); border-radius: 0 0 var(--r-card) var(--r-card);
}
.ak .ak-pd-summary .ak-energy--pd .ak-energy-arrow { --h: 30px; flex: none; font-size: 17px; padding-left: 9px; }
.ak .ak-pd-summary .ak-energy-txt { flex: 1; min-width: 0; font-size: 15px; font-weight: 600; line-height: 1.4; color: var(--ink-2); }
.ak .ak-pd-summary .ak-energy-txt u { margin-left: 4px; white-space: nowrap; color: var(--cold-ink); font-weight: 700; text-decoration-color: var(--cold-100); text-underline-offset: 3px; }
.ak .ak-pd-summary a.ak-energy--pd:hover .ak-energy-txt u { text-decoration-color: currentColor; }
.ak .ak-pd-summary a.ak-energy--pd:focus-visible { outline: 3px solid var(--cold); outline-offset: -3px; }

/* short description */
.ak .ak-pd-summary .woocommerce-product-details__short-description { color: var(--ink-2); font-size: 15.5px; line-height: 1.6; margin: 0 0 18px; }
.ak .ak-pd-summary .woocommerce-product-details__short-description p { margin: 0 0 10px; }

/* +МОНТАЖ option: a selectable card (checkbox + price) */
.ak .ak-pd-summary #repair_option_field { margin: 0; padding: 0; }
.ak .ak-pd-summary #repair_option_field .woocommerce-input-wrapper { display: block; }
.ak .ak-pd-summary #repair_option_field label {
  display: flex; align-items: center; gap: 12px; min-height: 56px; margin: 0; padding: 12px 16px;
  background: #fff; border: 1.5px solid var(--line); border-radius: var(--r-btn);
  font-family: var(--ak-font); font-weight: 700; font-size: 16px; color: var(--ink); cursor: pointer;
  transition: border-color .15s, background-color .15s;
}
.ak .ak-pd-summary #repair_option_field label:hover { border-color: var(--cold); }
.ak .ak-pd-summary #repair_option_field label:has(input:checked) { border-color: var(--cold-ink); background: var(--cold-50); }
.ak .ak-pd-summary #repair_option_field label:has(input:focus-visible) { outline: 3px solid var(--cold); outline-offset: 2px; }
.ak .ak-pd-summary #repair_option_field input[type="checkbox"] { flex: 0 0 auto; width: 22px; height: 22px; margin: 0; accent-color: var(--cold-ink); cursor: pointer; }
.ak .ak-pd-summary #repair_option_field .ak-mount-ic { display: inline-flex; color: var(--cold-ink); }
.ak .ak-pd-summary #repair_option_field .ak-mount-t { flex: 1; }
.ak .ak-pd-summary #repair_option_field .ak-mount-p { font-family: var(--ak-font-d); font-weight: 800; font-size: 20px; white-space: nowrap; }

/* add-to-cart form: монтаж row, qty + button, then credit + fiche */
.ak .ak-pd-summary form.cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px; margin: 0 0 16px; }
.ak .ak-pd-summary form.cart .hidden-field { flex: 1 1 100%; }
.ak .ak-pd-summary form.cart .quantity {
  order: 1; display: flex; align-items: stretch; height: 56px; margin: 0 !important; padding: 0;
  background: #fff; border: 1.5px solid var(--line);
  border-radius: var(--r-btn); overflow: hidden;
}
.ak .ak-pd-summary form.cart .quantity input.qty {
  width: 46px; height: 100%; margin: 0; border: none; border-radius: 0; box-shadow: none;
  background: transparent; color: var(--ink); font-family: var(--ak-font);
  font-weight: 800; font-size: 18px; text-align: center; padding: 0;
}
/* partdo draws +/− as absolutely-positioned pseudo bars tuned to its own
   markup — they land outside our pill. Replace with plain glyphs. */
.ak .ak-pd-summary form.cart .quantity .quantity-button {
  position: relative; width: 44px; display: flex; align-items: center; justify-content: center;
  cursor: pointer; user-select: none; color: var(--ink-2);
  font: 800 21px/1 var(--ak-font);
}
.ak .ak-pd-summary form.cart .quantity .quantity-button:hover { background: var(--frost); color: var(--ink); }
.ak .ak-pd-summary form.cart .quantity .quantity-button::before,
.ak .ak-pd-summary form.cart .quantity .quantity-button::after { content: none; }
.ak .ak-pd-summary form.cart .quantity .quantity-button.minus::before,
.ak .ak-pd-summary form.cart .quantity .quantity-button.plus::before {
  position: static; width: auto; height: auto; background: none; transform: none; top: auto; left: auto; right: auto;
}
.ak .ak-pd-summary form.cart .quantity .quantity-button.minus::before { content: "−"; }
.ak .ak-pd-summary form.cart .quantity .quantity-button.plus::before { content: "+"; }
/* buy button (red). Keep the button. prefix: a plugin <img> carrying the
   single_add_to_cart_button class (the old ДСК button did) must not get it */
.ak .ak-pd-summary form.cart button.single_add_to_cart_button {
  order: 2; flex: 1; min-width: 200px; min-height: 56px; border-radius: var(--r-btn);
  background: var(--hot) !important; color: #fff !important;
  font-family: var(--ak-font); font-weight: 800; font-size: 17px;
  text-transform: none; letter-spacing: 0; border: none; box-shadow: 0 8px 18px -10px rgba(215,20,27,.7);
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  transition: background-color .15s;
}
.ak .ak-pd-summary form.cart button.single_add_to_cart_button:hover { background: var(--hot-ink) !important; color: #fff !important; }
.ak .ak-pd-summary form.cart button.single_add_to_cart_button:focus-visible { outline: 3px solid var(--cold); outline-offset: 2px; }
/* adding (Partdo single-ajax appends svg.loader-image; product.js removes it
   when the request ends): hide the label, spin a small ring in its place */
.ak .ak-pd-summary form.cart button.single_add_to_cart_button { position: relative; }
.ak .ak-pd-summary form.cart button.single_add_to_cart_button:has(> svg.loader-image) { color: transparent !important; cursor: wait; }
.ak .ak-pd-summary form.cart button.single_add_to_cart_button > svg.loader-image {
  position: absolute; inset: 0; margin: auto; width: 24px; height: 24px; color: #fff;
  /* Partdo's .preloader shifts it by translate(-50%,-50%) and animates the
     stroke (.preloader .path → "dash"): fixed arc, plain rotation instead */
  transform: rotate(0deg); transform-origin: center; z-index: auto;
  animation: ak-lb-spin .8s linear infinite; /* keyframes: gallery viewer, above */
}
.ak .ak-pd-summary form.cart button.single_add_to_cart_button > svg.loader-image .path {
  stroke: currentColor; stroke-dasharray: 140 190; stroke-dashoffset: 0; animation: none;
}

/* out of stock: "Обадете се за наличност" tel: button in the buy-box slot
   (ak_oos_call_button()) — green: call */
.ak .ak-pd-summary .ak-pd-callbtn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-width: 260px; min-height: 56px; padding: 0 24px; margin: 6px 0 4px; border-radius: var(--r-btn);
  background: var(--ok); color: #fff !important; text-decoration: none;
  font-family: var(--ak-font); font-weight: 800; font-size: 17px; line-height: 1.2;
}
.ak .ak-pd-summary .ak-pd-callbtn:hover { background: var(--ok-ink); color: #fff !important; }
@media (max-width: 1023px) {
  .ak .ak-pd-summary .ak-pd-callbtn { display: flex; width: 100%; min-width: 0; min-height: 52px; font-size: 16px; }
}

/* Продуктов фиш: outline pill (secondary) */
.ak .ak-pd-summary .fish-add-cart-adjacent {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; margin: 0;
  background: #fff !important; color: var(--cold-ink) !important; border: 1.5px solid var(--cold-ink) !important;
  border-radius: 999px; padding: 0 18px; font-family: var(--ak-font); font-weight: 800; font-size: 15px; text-transform: none; letter-spacing: 0; box-shadow: none;
}
.ak .ak-pd-summary .fish-add-cart-adjacent:hover { background: var(--cold-ink) !important; color: #fff !important; }

/* product meta (bottom: categories / tags) */
.ak .ak-pd-summary .product_meta.bottom { font-size: 14px; color: var(--muted); margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
.ak .ak-pd-summary .product_meta a { color: var(--ink-2); }
.ak .ak-pd-summary .product_meta a:hover { color: var(--cold-ink); }

/* ---- summary noise cleanup ----
   The parent theme + plugins print several blocks we already cover with the
   coded design (assurance rows, top meta), plus a duplicate stock line.  */
.ak .ak-pd-summary > .product-stock { display: none; }        /* duplicate "С предварителна заявка" (kept in .product-meta) */
.ak .ak-pd-summary form.cart .wcrw_warranty_info { display: none; }  /* renders empty on simple products */
.ak .ak-pd-summary .product-assistant,                         /* broken avatar img; assurance row has the phone */
.ak .ak-pd-summary .product-iconboxes { display: none; }       /* misaligned iconboxes; assurance rows cover it */

/* Продуктов фиш renders inside form.cart too — own row after qty/button */
.ak .ak-pd-summary form.cart .fish-add-cart-adjacent { order: 3; flex: 1 1 100%; }

/* ---- installments: "Купи на изплащане", ПБ Лични Финанси, TBI ----
   Printed inside form.cart in that order (ak_installment_buttons() in
   inc/woocommerce-customizations.php). Full-width rows under the buy button;
   the rows' look is shared with the cart (v2.css, INSTALLMENT ROWS), only
   the flex ordering is here. */
.ak .ak-pd-summary .ak-pd-inst-title {
  font-family: var(--ak-font-d); font-weight: 800; font-size: 20px; line-height: 1.2; color: var(--ink);
  margin: 8px 0 -4px;
}
.ak .ak-pd-summary form.cart .ak-pd-inst-title { order: 4; flex: 1 1 100%; }
/* both plugins hide an offer the price isn't eligible for with an inline
   display:none → no heading when neither bank has a button */
.ak .ak-pd-summary :not(:has(
  > #jet-product-button-container:not([style*="display:none"]):not([style*="display: none"]),
  > .tbi_button_container2:not([style*="display:none"]):not([style*="display: none"])
)) > .ak-pd-inst-title { display: none; }

.ak .ak-pd-summary form.cart #jet-product-button-container { order: 5; flex: 1 1 100%; }
.ak .ak-pd-summary form.cart .tbi_button_container2 { order: 6; flex: 1 1 100%; }

/* bottom meta: exchange rate + categories */
.ak .ak-pd-summary .product-meta.bottom { display: flex; flex-direction: column; gap: 6px; }
.ak .ak-pd-summary .rate_product_page { font-size: 13px; color: var(--muted); }

/* assurance rows (real data: free-shipping threshold, монтаж price, AWL warranty, phone) */
.ak .ak-pd-assure { display: flex; flex-direction: column; margin-top: 18px; background: #fff; border: 1px solid var(--line); border-radius: var(--r-card); padding: 4px 18px; }
.ak .ak-pd-assure-row { display: flex; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.ak .ak-pd-assure-row:last-child { border-bottom: none; }
.ak .ak-pd-assure-row .v2-ic { width: 44px; height: 44px; }
.ak .ak-pd-assure-row .v2-ic.ok { background: var(--ok-50); color: var(--ok); }
.ak .ak-pd-assure-row .t { font-weight: 800; font-size: 16px; color: var(--ink); line-height: 1.25; }
.ak .ak-pd-assure-row .d { font-size: 14.5px; color: var(--muted); margin-top: 2px; }
.ak .ak-pd-assure-row a.d { display: inline-block; color: var(--ok); font-weight: 700; }
.ak .ak-pd-assure-row a.d:hover { color: var(--ok-ink); text-decoration: underline; }

/* ---- tabs (native WC description / additional info / reviews) ---- */
.ak .ak-pd-after .woocommerce-tabs { margin-top: 48px; }
.ak .ak-pd-after .woocommerce-tabs ul.tabs { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px; border-bottom: 1px solid var(--line); }
.ak .ak-pd-after .woocommerce-tabs ul.tabs::before { display: none; }
.ak .ak-pd-after .woocommerce-tabs ul.tabs li { background: transparent; border: none; border-radius: 0; margin: 0; padding: 0; }
.ak .ak-pd-after .woocommerce-tabs ul.tabs li::before,
.ak .ak-pd-after .woocommerce-tabs ul.tabs li::after { display: none; }
.ak .ak-pd-after .woocommerce-tabs ul.tabs li a {
  display: block; padding: 14px 22px; font-family: var(--ak-font); font-weight: 800;
  font-size: 17px; color: var(--ink-2); border-bottom: 3px solid transparent; margin-bottom: -1px;
}
.ak .ak-pd-after .woocommerce-tabs ul.tabs li a:hover { color: var(--ink); }
.ak .ak-pd-after .woocommerce-tabs ul.tabs li a:focus-visible { outline: 3px solid var(--cold); outline-offset: -3px; border-radius: 8px; }
.ak .ak-pd-after .woocommerce-tabs ul.tabs li.active a { color: var(--cold-ink); border-bottom-color: var(--cold-ink); }

/* panels: white cards */
.ak .ak-pd-after .woocommerce-tabs .panel {
  background: #fff; color: var(--ink-2); border: 1px solid var(--line); border-radius: var(--r-card);
  padding: 30px 34px; margin-top: 22px;
  font-size: 16px; line-height: 1.65;
}
.ak .ak-pd-after .woocommerce-tabs .panel p { margin: 0 0 14px; }
/* parent theme's base.css hides ALL direct-child h2 in the description panel,
   which also kills real content headings from the DB — undo that… */
.ak .ak-pd-after .woocommerce-tabs .woocommerce-Tabs-panel--description > h2 { display: block; }
/* …but WC prints the tab title again as the panel's first h2 — redundant */
.ak .ak-pd-after .woocommerce-tabs .panel > h2:first-child { display: none; }
.ak .ak-pd-after .woocommerce-tabs .panel h2,
.ak .ak-pd-after .woocommerce-tabs .panel h3 {
  position: relative; font-family: var(--ak-font-d); font-weight: 800;
  color: var(--ink); font-size: 24px; line-height: 1.2;
  margin: 30px 0 16px; padding-bottom: 10px; border-bottom: 2px solid var(--line);
}
.ak .ak-pd-after .woocommerce-tabs .panel h2::after,
.ak .ak-pd-after .woocommerce-tabs .panel h3::after {
  content: ""; position: absolute; left: 0; bottom: -2px; width: 56px; height: 2px; background: var(--cold);
}
.ak .ak-pd-after .woocommerce-tabs .panel > h2:first-child + h2,
.ak .ak-pd-after .woocommerce-tabs .panel > h2:first-child + h3,
.ak .ak-pd-after .woocommerce-tabs .panel > h2:first-child + p,
.ak .ak-pd-after .woocommerce-tabs .panel > h2:first-child + ul { margin-top: 0; }
.ak .ak-pd-after .woocommerce-tabs .panel a { color: var(--cold-ink); }

/* feature lists → 2-col checklists */
.ak .ak-pd-after .woocommerce-tabs .panel ul { list-style: none; margin: 0 0 10px; padding: 0; }
@media (min-width: 700px) { .ak .ak-pd-after .woocommerce-tabs .panel ul { columns: 2; column-gap: 44px; } }
.ak .ak-pd-after .woocommerce-tabs .panel ul li { position: relative; padding: 5px 0 5px 31px; break-inside: avoid; }
.ak .ak-pd-after .woocommerce-tabs .panel ul li::before {
  content: "✓"; position: absolute; left: 0; top: 7px;
  width: 21px; height: 21px; border-radius: 999px;
  background: var(--cold-50); color: var(--cold-ink);
  font-size: 12px; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
}

/* spec tables in the description (arbitrary DB markup w/ rowspans/colspans):
   full grid borders, navy header row, tinted label cells */
.ak .ak-pd-after #tab-description table { width: 100%; border-collapse: collapse; margin: 6px 0 28px; font-size: 14.5px; line-height: 1.45; }
.ak .ak-pd-after #tab-description table th,
.ak .ak-pd-after #tab-description table td { border: 1px solid var(--line); padding: 9px 12px; vertical-align: middle; color: var(--ink-2); text-align: left; }
.ak .ak-pd-after #tab-description table td[rowspan],
.ak .ak-pd-after #tab-description table td[colspan],
.ak .ak-pd-after #tab-description table th { background: var(--frost); font-weight: 700; color: var(--ink); }
.ak .ak-pd-after #tab-description table tr:first-child th,
.ak .ak-pd-after #tab-description table tr:first-child td { background: var(--night); color: #fff; font-weight: 700; border-color: var(--night-2); font-size: 14px; }
@media (max-width: 860px) {
  .ak .ak-pd-after #tab-description table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}

/* additional information (attributes) — light zebra rows */
.ak .ak-pd-after .woocommerce-tabs table.shop_attributes { width: 100%; border-collapse: collapse; }
.ak .ak-pd-after .woocommerce-tabs table.shop_attributes tr:nth-child(odd) { background: var(--frost); }
.ak .ak-pd-after .woocommerce-tabs table.shop_attributes th,
.ak .ak-pd-after .woocommerce-tabs table.shop_attributes td { padding: 12px 14px; border-bottom: 1px solid var(--line); text-align: left; font-size: 15.5px; }
.ak .ak-pd-after .woocommerce-tabs table.shop_attributes th { color: var(--muted); font-weight: 700; width: 38%; }
.ak .ak-pd-after .woocommerce-tabs table.shop_attributes td { color: var(--ink); font-weight: 600; }
.ak .ak-pd-after .woocommerce-tabs table.shop_attributes td p { margin: 0; }

/* reviews — light card styles */
.ak .ak-pd-after .woocommerce-tabs #reviews .woocommerce-Reviews-title,
.ak .ak-pd-after .woocommerce-tabs #reviews .comment-reply-title { color: var(--ink); font-family: var(--ak-font-d); font-weight: 800; }
.ak .ak-pd-after .woocommerce-tabs #reviews .woocommerce-noreviews,
.ak .ak-pd-after .woocommerce-tabs #reviews .must-log-in { color: var(--muted); }
.ak .ak-pd-after .woocommerce-tabs #reviews a { color: var(--cold-ink); font-weight: 600; }
.ak .ak-pd-after .woocommerce-tabs #reviews .comment-text { background: var(--frost); border: 1px solid var(--line); border-radius: 12px; padding: 16px 18px; color: var(--ink-2); }
.ak .ak-pd-after .woocommerce-tabs #reviews label { color: var(--ink-2); }
.ak .ak-pd-after .woocommerce-tabs #reviews input,
.ak .ak-pd-after .woocommerce-tabs #reviews textarea { background: #fff; border: 1.5px solid var(--line); border-radius: 10px; color: var(--ink); padding: 10px 12px; }
.ak .ak-pd-after .woocommerce-tabs #reviews :is(input, textarea):focus { border-color: var(--cold); box-shadow: 0 0 0 3px var(--cold-50); }
.ak .ak-pd-after .woocommerce-tabs #reviews .form-submit input[type="submit"] { background: var(--cold-ink); color: #fff; border: 0; border-radius: var(--r-btn); min-height: 48px; padding: 0 22px; font-weight: 800; cursor: pointer; }
.ak .ak-pd-after .woocommerce-tabs #reviews .form-submit input[type="submit"]:hover { background: var(--night); color: #fff; }

/* related products */
.ak .ak-pd-related { margin-top: 56px; }
.ak .ak-pd-related .d-secth h2 { color: var(--ink); }
.ak .ak-pd-related .d-grid5 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }

@media (min-width: 1024px) and (max-width: 1240px) {
  .ak .ak-pd-summary .product_title { font-size: 30px; }
  .ak .ak-pd-summary .price { font-size: 40px; }
  .ak .ak-pd-related .d-grid5 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .ak .ak-pd-related .d-grid5 > :nth-child(5) { display: none; }
}

/* ============================================================
   MOBILE / TABLET (<1024px) — desktop layout above is untouched
   ============================================================ */
@media (max-width: 1023px) {
  /* same 16px gutter as the mobile header (dwrap is 40px for desktop) */
  .ak .ak-pd-main, .ak .ak-pd-after, .ak .ak-pd-crumbs { padding-left: 16px; padding-right: 16px; }
  .ak .ak-pd-main { gap: 20px; margin-top: 14px; }
  .ak .ak-pd-crumbs { margin-top: 14px; }
  .ak .ak-pd-crumbs .ak-crumbs { font-size: 13px; }
  /* the breadcrumb's last item repeats the H1 right below it — drop it (and its
     chevron). Visual only: Yoast's BreadcrumbList JSON-LD is printed separately. */
  .ak .ak-pd-crumbs .ak-crumbs > :nth-last-child(-n+2) { display: none; }
  /* one line that swipes sideways instead of wrapping (owner 2026-11-11). Edge
     to edge, so the trail slides under the screen edge rather than stopping at
     the 16px gutter; padding-block (cancelled by the margin) keeps the link
     underlines inside the scroll box. home.js fades the side that has more
     crumbs (.can-prev / .can-next), like the home rails. */
  .ak .ak-pd-crumbs .ak-crumbs {
    flex-wrap: nowrap; white-space: nowrap; overflow-x: auto; overscroll-behavior-x: contain;
    margin: -4px -16px; padding: 4px 0 4px 16px; scrollbar-width: none;
  }
  .ak .ak-pd-crumbs .ak-crumbs::-webkit-scrollbar { display: none; }
  .ak .ak-pd-crumbs .ak-crumbs > * { flex: 0 0 auto; }
  /* end padding as a flex item (+ the 8px gap = 16px): older Safari drops a
     scroll box's padding-right */
  .ak .ak-pd-crumbs .ak-crumbs::after { content: ""; flex: 0 0 8px; }
  .ak .ak-pd-crumbs .ak-crumbs.can-next { -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 40px), transparent); mask-image: linear-gradient(to right, #000 calc(100% - 40px), transparent); }
  .ak .ak-pd-crumbs .ak-crumbs.can-prev { -webkit-mask-image: linear-gradient(to right, transparent, #000 40px); mask-image: linear-gradient(to right, transparent, #000 40px); }
  .ak .ak-pd-crumbs .ak-crumbs.can-prev.can-next { -webkit-mask-image: linear-gradient(to right, transparent, #000 40px, #000 calc(100% - 40px), transparent); mask-image: linear-gradient(to right, transparent, #000 40px, #000 calc(100% - 40px), transparent); }

  /* related cards: minmax(0,1fr) so nowrap pills can't widen a column past the
     viewport (plain 1fr has an auto minimum) */
  .ak .ak-pd-related .d-grid5 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .ak .ak-pd-related .d-grid5 > :nth-child(5) { display: none; }
  .ak .ak-pd-related { margin-top: 36px; }
  .ak .ak-pd-related .d-secth h2 { font-size: 28px; }

  /* ---- gallery ---- */
  .ak .ak-gal { padding: 14px; }
  .ak .ak-gal-track { aspect-ratio: 1; max-height: 340px; }
  /* AWL pills: reserve a band above the photo so they don't cover it.
     --ak-awl-h is set by assets/js/product.js. */
  .ak .ak-gal-stage { padding-top: var(--ak-awl-h, 0px); }
  .ak .ak-pd-gallery .advanced-woo-labels { padding: 0; }
  .ak .ak-pd-gallery .product-badges { top: -4px; left: -4px; }
  .ak .ak-gal-strip { margin-top: 10px; }
  .ak .ak-gal-thumbs { gap: 6px; }
  .ak .ak-gal-thumb { flex-basis: 60px; min-width: 0; }

  /* ---- summary ---- */
  /* long model codes ("…K6DNA1A/I/GWH18AKCXF-…") have no break points */
  .ak .ak-pd-summary .product_title, .ak .ak-pd-summary .product_meta { overflow-wrap: anywhere; }
  .ak .ak-pd-summary .product_title { font-size: 28px; }
  .ak .ak-pd-summary .price { font-size: 38px; padding: 16px 18px; }
  .ak .ak-pd-summary .ak-energy--pd { gap: 10px; padding: 10px 18px 12px; }
  .ak .ak-pd-summary .ak-energy-txt { font-size: 14px; }
  .ak .ak-pd-summary .price del { font-size: 17px; }

  /* buy box: +МОНТАЖ row full width, then qty + button on one row */
  .ak .ak-pd-summary form.cart { gap: 10px; }
  .ak .ak-pd-summary form.cart .quantity { flex: 0 0 auto; height: 54px; }
  .ak .ak-pd-summary form.cart .quantity .quantity-button { width: 40px; }
  .ak .ak-pd-summary form.cart .quantity input.qty { width: 40px; }
  .ak .ak-pd-summary form.cart button.single_add_to_cart_button { min-width: 0; min-height: 54px; font-size: 16px; padding: 0 12px; }

  .ak .ak-pd-assure { padding: 2px 14px; }

  /* ---- tabs: one horizontally scrollable strip (WC tabs JS + #tab-… links unchanged) ---- */
  .ak .ak-pd-after .woocommerce-tabs { margin-top: 32px; }
  .ak .ak-pd-after .woocommerce-tabs ul.tabs {
    flex-wrap: nowrap; gap: 0; overflow-x: auto; overscroll-behavior-x: contain;
    scrollbar-width: none; -webkit-overflow-scrolling: touch;
  }
  .ak .ak-pd-after .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
  .ak .ak-pd-after .woocommerce-tabs ul.tabs li { flex: 0 0 auto; }
  .ak .ak-pd-after .woocommerce-tabs ul.tabs li a { padding: 12px 14px; font-size: 15.5px; white-space: nowrap; }
  .ak .ak-pd-after .woocommerce-tabs .panel { margin-top: 14px; padding: 20px 16px; font-size: 15.5px; }

  /* spec list in the description (ul.specification from the product import):
     label / value as two columns, hairline rows, group titles as section bars */
  .ak .ak-pd-after .woocommerce-tabs .panel ul.specification { columns: auto; }
  .ak .ak-pd-after .woocommerce-tabs .panel ul.specification li { padding: 8px 0; border-bottom: 1px solid var(--line); line-height: 1.4; }
  .ak .ak-pd-after .woocommerce-tabs .panel ul.specification li::before { content: none; }
  .ak .ak-pd-after .woocommerce-tabs .panel ul.specification li > div {
    display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); column-gap: 12px;
    color: var(--ink); font-weight: 700; font-size: 14.5px;
  }
  .ak .ak-pd-after .woocommerce-tabs .panel ul.specification li > div > strong { grid-column: 1; color: var(--muted); font-weight: 600; font-size: 14px; }
  .ak .ak-pd-after .woocommerce-tabs .panel ul.specification li > div > p { margin: 0; }
  .ak .ak-pd-after .woocommerce-tabs .panel ul.specification li > div > p:empty { display: none; }
  .ak .ak-pd-after .woocommerce-tabs .panel ul.specification li.group-title { border-bottom: none; padding: 0; margin: 18px 0 4px; }
  .ak .ak-pd-after .woocommerce-tabs .panel ul.specification li.group-title:first-child { margin-top: 0; }
  .ak .ak-pd-after .woocommerce-tabs .panel ul.specification li.group-title > div {
    display: block; background: var(--frost); color: var(--ink); font-weight: 800; font-size: 14.5px;
    padding: 9px 12px; border-radius: 8px;
  }

  /* reviews form: full-width fields */
  .ak .ak-pd-after .woocommerce-tabs #reviews input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
  .ak .ak-pd-after .woocommerce-tabs #reviews textarea { width: 100%; box-sizing: border-box; }
}
@media (max-width: 359px) {
  /* 320px: the button label doesn't fit beside the stepper — stack both full width */
  .ak .ak-pd-summary form.cart .quantity { flex: 1 1 100%; justify-content: space-between; }
  .ak .ak-pd-summary form.cart .quantity input.qty { flex: 1; }
}

/* ---- mobile sticky price + add-to-cart bar (markup in single-product.php, JS in product.js) ---- */
.ak .ak-pd-sticky { display: none; }
@media (max-width: 1023px) {
  /* only while the bar is actually up (product.js toggles body.ak-sticky-on);
     home.css adds --ak-sticky-h to the body padding so the page end isn't covered */
  body.ak-sticky-on { --ak-sticky-h: 64px; }
  .ak .ak-pd-sticky {
    display: flex; align-items: center; gap: 12px;
    position: fixed; left: 0; right: 0; z-index: 899; /* just under the tabbar (900) */
    bottom: calc(var(--ak-tabbar-h) + env(safe-area-inset-bottom));
    height: 64px; padding: 0 16px; box-sizing: border-box;
    background: #fff; border-top: 1px solid var(--line);
    box-shadow: 0 -8px 24px -12px rgba(11,42,74,.3);
    transform: translateY(100%); visibility: hidden;   /* tucked behind the tabbar */
    transition: transform .2s ease, visibility 0s linear .2s;
  }
  body.ak-sticky-on .ak .ak-pd-sticky { transform: none; visibility: visible; transition: transform .2s ease, visibility 0s; }
  /* out of the way while typing (reviews form + on-screen keyboard) */
  body.ak-sticky-on:has(.ak-pd-after :is(input, textarea):focus) .ak .ak-pd-sticky { transform: translateY(100%); visibility: hidden; }
  .ak .ak-pd-sticky-price { flex: 1; min-width: 0; font-family: var(--ak-font-d); font-weight: 800; font-size: 26px; color: var(--ink); letter-spacing: -.01em; line-height: 1.05; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .ak .ak-pd-sticky-price del { display: block; font-family: var(--ak-font); font-size: 13px; font-weight: 600; color: #8a97a6; letter-spacing: 0; }
  .ak .ak-pd-sticky-price ins { text-decoration: none; color: var(--hot); }
  .ak .ak-pd-sticky-price small { display: none; } /* "с ДДС" suffix: shown on the main price */
  .ak .ak-pd-sticky-price .amount { font-size: inherit !important; color: inherit !important; }
  .ak .ak-pd-sticky-btn {
    flex: 0 0 auto; height: 48px; padding: 0 18px; border: none; border-radius: var(--r-btn);
    background: var(--hot); color: #fff; font-family: var(--ak-font); font-weight: 800; font-size: 16px;
    display: inline-flex; align-items: center; gap: 7px; cursor: pointer;
  }
  .ak .ak-pd-sticky-btn:hover { background: var(--hot-ink); color: #fff; } /* beat partdo button:hover */
  .ak .ak-pd-sticky-btn svg { stroke: currentColor; }
}
/* landscape phones: slimmer bar (pairs with the compact tabbar in home.css) */
@media (max-width: 1023px) and (orientation: landscape) and (max-height: 500px) {
  body.ak-sticky-on { --ak-sticky-h: 54px; }
  .ak .ak-pd-sticky { height: 54px; padding-left: max(16px, env(safe-area-inset-left)); padding-right: max(16px, env(safe-area-inset-right)); }
  .ak .ak-pd-sticky-price del { display: inline; margin-right: 8px; }
  .ak .ak-pd-sticky-btn { height: 42px; }
}
@media (max-width: 359px) {
  .ak .ak-pd-sticky { gap: 8px; padding: 0 12px; }
  .ak .ak-pd-sticky-price { font-size: 22px; }
  .ak .ak-pd-sticky-btn { padding: 0 12px; font-size: 14.5px; }
  .ak .ak-pd-sticky-btn svg { display: none; }
}
