/* ============================================================
   product.css — STRÁNKA PRODUKTU Knihy&Škola (Fáze F), 1:1 dle artefaktu.
   Vlastní product agent. Scope nových pravidel: body#product
   (výjimka: #blockcart-modal, modál je globální pro celý web).
   Mapování artefakt → PS DOM:
     .crumb → #wrapper .breadcrumb
     .prodlayout → .row.product-info-row (grid 1.05fr 1fr, gap 34)
     .gallery → .col-product-image (sticky) | .gmain → .product-cover
     .gmain .badge → .product-cover .product-flags | .zoom → a.expander
     .gthumbs → #product-images-thumbs (.thumb 76px, vybraný korálový okraj)
     .pinfo .pcat → .ks-pcat (child product.tpl) | h1 → .page-title
     .pavail → #product-availability | .pprice → .product-prices .current-price
     .pprice .save → .badge-discount | .pvat → .ks-pvat | .pshort → .ks-pshort
     .qty.big → .qty .bootstrap-touchspin (TouchSpin přeskládaný na vodorovný)
     .btn-big → .add-to-cart | .iconbtn → #iqit-wishlist-product-btn
     .ptrust → .ks-ptrust | .pspecs-mini → .ks-pspecs
     .usp → .ks-usp (statická sekce v child product.tpl)
     .ptabs.pstack → .tabs.product-sections (.pblock = .block-section)
     .spectable → #product-details řádky + dl.data-sheet
     .related → section.product-accessories + section.category-products
     .pstickybuy → .ks-pstickybuy (child product.tpl, jen mobil)
   Breakpointy: artefakt @container 900 → @media 991.98,
                @container 640 → @media 767.98, @container 430 → 575.98.
   Pasti (custom.css legacy + custom_s_1.css) přebíjené níže: page-title 600/1.5,
   current-price 40px/600, regular-price #C4C4C4!important, discount bez pozadí,
   product-available display:block!important, add-to-cart border-top, žluté CTA
   30px rádius, section-title 21px s korálovou linkou, category-products
   .section-title span 40px se žlutým skew zvýrazňovačem, product-cover border
   #E6E6E6!important, #blockcart-modal .btn-primary černé s !important.
   ============================================================ */

/* ---- lokální tokeny ---- */
body#product {
  --ksp-paper: #FFFDF6;
  --ksp-surface: #FFFFFF;
  --ksp-cream: #FDF4D8;
  --ksp-cream2: #FFF7E0;
  --ksp-ink: #2B2620;
  --ksp-text: #4C473F;
  --ksp-muted: #9C9483;
  --ksp-faint: #BDB7A6;
  --ksp-line: #EDE7D8;
  --ksp-line-strong: #DED6C2;
  --ksp-coral: #F07E7E;
  --ksp-coral-deep: #E06A6A;
  --ksp-coral-soft: #FCE6E4;
  --ksp-yellow: #FFD54A;
  --ksp-yellow-btn: #FFCE3B;
  --ksp-yellow-deep: #EDAF06;
  --ksp-green: #3EA24A;
  --ksp-shadow-sm: 0 1px 2px rgba(43,38,32,.05), 0 5px 14px rgba(43,38,32,.05);
  --ksp-shadow: 0 3px 8px rgba(43,38,32,.06), 0 16px 36px rgba(43,38,32,.08);
  --ksp-shadow-lift: 0 10px 22px rgba(43,38,32,.12), 0 26px 54px rgba(43,38,32,.14);
  --ksp-r: 14px;
}

/* ============================================================
   1. BREADCRUMB (artefakt .crumb, shodné s kategorií)
   ============================================================ */
body#product #wrapper .breadcrumb {
  background: none;
  padding: 16px 0 4px;
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--ksp-muted);
}
body#product #wrapper .breadcrumb ol {
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap;
  -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}
body#product #wrapper .breadcrumb li { margin: 0; padding: 0; display: inline-flex; align-items: center; gap: 7px; }
body#product #wrapper .breadcrumb li::before,
body#product #wrapper .breadcrumb li::after { content: none; }
body#product #wrapper .breadcrumb li + li::before {
  content: "\203A"; /* › */
  color: var(--ksp-faint);
  font-weight: 600;
}
body#product #wrapper .breadcrumb li a { color: var(--ksp-muted); text-transform: none; text-decoration: none; }
body#product #wrapper .breadcrumb li a:hover { color: var(--ksp-ink); }
body#product #wrapper .breadcrumb li:last-child span { color: var(--ksp-ink); font-weight: 700; }
/* první položka = jen domeček (artefakt .crumb-home) */
body#product #wrapper .breadcrumb li:first-child a { display: inline-flex; align-items: center; color: var(--ksp-coral-deep); }
body#product #wrapper .breadcrumb li:first-child a span { font-size: 0; line-height: 0; }
body#product #wrapper .breadcrumb li:first-child a span::before {
  content: "";
  display: inline-block;
  width: 17px;
  height: 17px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5'/%3E%3Cpath d='M5 9.5V21h5v-6h4v6h5V9.5'/%3E%3C/svg%3E") no-repeat center / 17px 17px;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5'/%3E%3Cpath d='M5 9.5V21h5v-6h4v6h5V9.5'/%3E%3C/svg%3E") no-repeat center / 17px 17px;
}

/* ============================================================
   2. LAYOUT (artefakt .prodlayout: grid 1.05fr 1fr, gap 34, align start)
   ============================================================ */
body#product .row.product-info-row {
  display: -ms-grid; display: grid;
  -ms-grid-columns: 1.05fr 34px 1fr;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 34px;
  -webkit-box-align: start; align-items: start;
  margin: 0;
  padding: 10px 0 8px;
}
body#product .row.product-info-row > .col-product-image,
body#product .row.product-info-row > .col-product-info {
  width: auto;
  max-width: none;
  min-width: 0;
  padding: 0;
  -webkit-box-flex: 0; -webkit-flex: none; -ms-flex: none; flex: none;
}
/* galerie lepí při scrollu (artefakt .gallery sticky top 96) */
body#product .row.product-info-row > .col-product-image {
  position: -webkit-sticky;
  position: sticky;
  top: 96px;
}

/* ============================================================
   3. GALERIE (artefakt .gmain + .gthumbs)
   ============================================================ */
body#product .images-container .product-cover {
  position: relative;
  background: #fff;
  border: 1px solid var(--ksp-line) !important; /* legacy: #E6E6E6 !important */
  border-radius: var(--ksp-r) !important;       /* legacy: 1px */
  box-shadow: var(--ksp-shadow-sm);
  aspect-ratio: 1 / 1;
  padding: 26px;
  overflow: hidden;
  margin: 0;
}
body#product .product-cover .product-images-large { height: 100%; }
body#product .product-cover .swiper-wrapper { height: 100%; }
body#product .product-cover .product-lmage-large {
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center;
  height: 100%;
}
body#product .product-cover .product-lmage-large img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  -o-object-fit: contain; object-fit: contain;
}
/* šipky swiper v hlavním obrázku artefakt nemá; listování jde přes náhledy */
body#product .product-cover .swiper-button-arrow { display: none !important; }
/* zoom kolečko vpravo dole (artefakt .gmain .zoom) */
body#product .product-cover .expander {
  position: absolute;
  bottom: 14px;
  right: 14px;
  top: auto;
  left: auto;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255,255,255,.9);
  border: 1px solid var(--ksp-line);
  color: var(--ksp-muted);
  font-size: 17px;
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center;
  opacity: 1;
  z-index: 5;
  margin: 0;
  padding: 0;
}
body#product .product-cover .expander:hover { color: var(--ksp-coral); border-color: var(--ksp-coral); }
/* vnitřní span má z theme.css tmavý čtverec — vynulovat, kreslí ho kruh <a> */
body#product .product-cover .expander span {
  display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex;
  -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center;
  width: auto !important;
  height: auto !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: inherit !important;
  line-height: 1;
}
body#product .product-cover .expander span .fa { color: inherit; font-size: 15px; position: static; margin: 0; padding: 0; line-height: 1; }
body#product .product-cover .expander span,
body#product .product-cover .expander .fa { position: static !important; top: auto; left: auto; right: auto; bottom: auto; -webkit-transform: none !important; -ms-transform: none !important; transform: none !important; }
/* štítky na obrázku (artefakt .gmain .badge; sleva vpravo nahoře jako u karet) */
body#product .product-cover .product-flags {
  position: absolute;
  top: 14px;
  left: 14px;
  right: 14px;
  bottom: auto;
  margin: 0;
  padding: 0;
  list-style: none;
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-orient: vertical; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column;
  -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start;
  gap: 6px;
  z-index: 4;
  pointer-events: none;
}
body#product .product-cover li.product-flag {
  display: inline-block;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .4px;
  text-transform: uppercase;
  padding: 4px 9px;
  border-radius: 6px;
  background: var(--ksp-coral);
  color: #fff;
  margin: 0;
  line-height: 1.3;
  text-align: left;
}
body#product .product-cover li.product-flag.new { background: var(--ksp-green); color: #fff; }
body#product .product-cover li.product-flag.on-sale,
body#product .product-cover li.product-flag.sale { background: var(--ksp-coral); color: #fff; }
body#product .product-cover li.product-flag.discount,
body#product .product-cover li.product-flag.discount-percentage,
body#product .product-cover li.product-flag.reduction {
  position: absolute;
  top: 0;
  right: 0;
  left: auto;
  background: var(--ksp-ink);
  color: var(--ksp-yellow);
  font-size: 12px;
  font-weight: 800;
  padding: 4px 9px;
  border-radius: 6px;
}
/* náhledy (artefakt .gthumbs: 76px čtverce, vybraný korálový) */
body#product .js-qv-mask.mask { margin-top: 12px; }
body#product #product-images-thumbs .thumb-container {
  width: 76px;
  height: 76px;
  border: 1.5px solid var(--ksp-line);
  border-radius: 10px;
  background: #fff;
  padding: 6px;
  overflow: hidden;
  cursor: pointer;
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center;
}
body#product #product-images-thumbs .thumb {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  border: 0;
  -o-object-fit: contain; object-fit: contain;
  opacity: 1;
}
/* vybraný náhled = korálový okraj (artefakt .gthumbs button.on).
   Stav „selected" drží obrázek; třídu ks-on na container syncuje malý
   MutationObserver v child product.tpl (bez :has(), cross-browser). */
body#product #product-images-thumbs .thumb-container { position: relative; -webkit-transition: border-color .12s ease; transition: border-color .12s ease; }
body#product #product-images-thumbs .thumb-container:hover { border-color: var(--ksp-line-strong); }
body#product #product-images-thumbs .thumb-container.ks-on { border-color: var(--ksp-coral); }
body#product #product-images-thumbs .swiper-button-arrow { display: none !important; }
body#product .after-cover-tumbnails:empty,
body#product .after-cover-tumbnails2:empty { display: none; }

/* ============================================================
   4. PINFO — kategorie tag, titulek, dostupnost, cena
   ============================================================ */
body#product .ks-pcat {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .4px;
  text-transform: uppercase;
  color: var(--ksp-coral-deep);
  margin-bottom: 8px;
}
body#product .ks-pcat a { color: var(--ksp-coral-deep) !important; text-decoration: none; }
body#product .ks-pcat a:hover { color: var(--ksp-ink) !important; }
body#product .ks-pcat-sep { color: var(--ksp-faint); margin: 0 2px; }
body#product #content-wrapper .page-title {
  font-family: 'Baloo 2', cursive;
  font-size: 30px;
  font-weight: 800;
  line-height: 1.12;
  color: var(--ksp-ink);
  margin: 0 0 12px;
  text-align: left;
}
body#product #content-wrapper .page-title span::before { display: none; }
/* dostupnost (artefakt .pavail: zelená tečka + text) */
body#product #product-availability,
body#product #product-availability.badge {
  display: -webkit-inline-box !important; display: -webkit-inline-flex !important; display: -ms-inline-flexbox !important; display: inline-flex !important;
  -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
  gap: 8px;
  background: none;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin: 0 0 16px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--ksp-green);
  text-transform: none;
  letter-spacing: 0;
  text-align: left;
  white-space: normal;
}
body#product #product-availability::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: currentColor;
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; -ms-flex: 0 0 auto; flex: 0 0 auto;
}
body#product #product-availability .fa { display: none; }
body#product #product-availability.product-unavailable { color: var(--ksp-coral-deep); }
body#product #product-availability.product-unavailable-allow-oosp,
body#product #product-availability.product-last-items { color: var(--ksp-yellow-deep); }
/* cena (artefakt .pprice: 34px 800, přeškrtnutá 18px, −% korálový štítek) */
body#product .product_p_price_container { border-top: 0; margin: 0; padding: 0; }
body#product .product-prices { margin: 0; }
body#product .product-prices > div { margin: 0; }
body#product .product-prices .has-discount,
body#product .product-prices > div > div {
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-align: baseline; -webkit-align-items: baseline; -ms-flex-align: baseline; align-items: baseline;
  -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 4px;
}
body#product .current-price .product-price,
body#product .current-price .current-price-value {
  font-size: 34px !important;   /* legacy 40px/600, custom_s_1 pp_price_typo 40 */
  font-weight: 800 !important;
  line-height: 1.1 !important;
  color: var(--ksp-ink) !important;
}
body#product .product-prices .regular-price {
  font-size: 18px !important;   /* legacy: 30px, jinde 24px !important */
  font-weight: 600 !important;
  color: var(--ksp-faint) !important;
  line-height: normal;
  text-decoration: line-through;
}
body#product .product-prices .product-discount { margin: 0; display: inline-flex; align-items: baseline; }
body#product .product-prices .badge-discount {
  background: var(--ksp-coral) !important; /* legacy: background none */
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.4;
  padding: 3px 10px !important;
  border-radius: 6px !important;
  text-transform: none;
  letter-spacing: 0;
}
/* jednotková cena „(219 Kč ks)" a daňový popisek artefakt nemá; má .ks-pvat */
body#product .product-prices .product-unit-price,
body#product .product-prices .tax-shipping-delivery-label,
body#product .product-prices .product-without-taxes { display: none; }
body#product .ks-pvat {
  font-size: 13px;
  color: var(--ksp-muted);
  font-weight: 600;
  margin: 0 0 18px;
}
/* krátký popis (artefakt .pshort) */
body#product .ks-pshort {
  font-size: 15px;
  color: var(--ksp-text);
  line-height: 1.65;
  margin: 0 0 22px;
  max-width: 52ch;
  white-space: pre-line; /* dodavatelský text Výrobce/Kód/EAN drží řádky */
}
body#product .ks-pshort p,
body#product .ks-pshort li { white-space: normal; }
body#product .ks-pshort.ks-pshort-specs { white-space: normal; max-width: none; }
body#product .ks-pshort:empty { display: none; }
body#product .ks-pshort p { margin: 0 0 10px; }
body#product .ks-pshort table td { padding: 2px 10px 2px 0; }

/* ============================================================
   5. NÁKUPNÍ ŘÁDEK (artefakt .pbuy: stepper −/+, žluté Koupit, srdíčko)
   ============================================================ */
body#product .product-add-to-cart {
  border-top: 0; /* legacy: 1px #E3E3E3 */
  padding-top: 0 !important;
  margin: 0 0 20px;
}
body#product .product-add-to-cart .product-quantity {
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-align: stretch; -webkit-align-items: stretch; -ms-flex-align: stretch; align-items: stretch;
  -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap;
  gap: 12px;
  margin: 0;
}
body#product .product-add-to-cart .product-quantity > .col {
  width: auto;
  max-width: none;
  padding: 0;
  margin: 0;
  -webkit-box-flex: 0; -webkit-flex: none; -ms-flex: none; flex: none;
}
/* stepper: TouchSpin (svislé šipky) přeskládaný na vodorovný −/+
   (artefakt .qty.big: pilulka, tlačítka 46x56, input 38/16px) */
body#product .product-add-to-cart .qty { margin: 0; }
body#product .product-add-to-cart .qty .bootstrap-touchspin {
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-flex-wrap: nowrap; -ms-flex-wrap: nowrap; flex-wrap: nowrap; /* bootstrap .input-group má wrap */
  -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
  border: 1.5px solid var(--ksp-line-strong);
  border-radius: 100px;
  background: var(--ksp-surface);
  overflow: hidden;
  width: auto;
  float: none;
  box-shadow: none;
}
body#product .product-add-to-cart .qty .bootstrap-touchspin .input-group-btn-vertical { display: contents; }
body#product .product-add-to-cart .qty .bootstrap-touchspin-prefix,
body#product .product-add-to-cart .qty .bootstrap-touchspin-postfix { display: none; }
body#product .product-add-to-cart .qty .bootstrap-touchspin #quantity_wanted {
  -webkit-box-ordinal-group: 3; -webkit-order: 2; -ms-flex-order: 2; order: 2;
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; -ms-flex: 0 0 auto; flex: 0 0 auto;
  width: 38px;
  min-width: 38px;
  height: 56px;
  border: 0 !important;
  border-radius: 0;
  background: transparent;
  text-align: center;
  font-family: inherit;
  font-weight: 800;
  font-size: 16px; /* iOS: pod 16px zoomuje */
  color: var(--ksp-ink);
  padding: 0;
  margin: 0;
  box-shadow: none !important;
  -moz-appearance: textfield;
  float: none;
}
body#product .product-add-to-cart .qty #quantity_wanted::-webkit-outer-spin-button,
body#product .product-add-to-cart .qty #quantity_wanted::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
body#product .product-add-to-cart .qty .btn-touchspin {
  width: 46px;
  height: 56px;
  border: 0 !important;
  border-radius: 0;
  background: none !important;
  color: var(--ksp-ink);
  padding: 0;
  margin: 0;
  font-size: 22px;
  line-height: 1;
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center;
  box-shadow: none !important;
  cursor: pointer;
}
body#product .product-add-to-cart .qty .btn-touchspin:hover { background: var(--ksp-cream2) !important; }
body#product .product-add-to-cart .qty .bootstrap-touchspin-down { -webkit-box-ordinal-group: 2; -webkit-order: 1; -ms-flex-order: 1; order: 1; }
body#product .product-add-to-cart .qty .bootstrap-touchspin-up { -webkit-box-ordinal-group: 4; -webkit-order: 3; -ms-flex-order: 3; order: 3; }
body#product .product-add-to-cart .qty .btn-touchspin .fa { display: none; }
body#product .product-add-to-cart .qty .bootstrap-touchspin-down::before { content: "\2212"; } /* − */
body#product .product-add-to-cart .qty .bootstrap-touchspin-up::before { content: "+"; }
/* velké žluté tlačítko (artefakt .btn-big: 56px, radius 14, 16.5px) */
body#product .product-add-to-cart .add { margin: 0; }
body#product .product-add-to-cart .btn.btn-primary.add-to-cart {
  display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex;
  -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center;
  gap: .5em;
  min-height: 56px;
  padding: 0 30px;
  border: 0;
  border-radius: 14px;
  background: var(--ksp-yellow-btn);
  color: #3A2E00;
  font-family: inherit;
  font-size: 16.5px;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
  box-shadow: var(--ksp-shadow-sm);
  -webkit-transition: -webkit-transform .12s ease, box-shadow .12s ease, background .12s ease;
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
  white-space: nowrap;
}
body#product .product-add-to-cart .btn.btn-primary.add-to-cart:hover,
body#product .product-add-to-cart .btn.btn-primary.add-to-cart:focus {
  background: var(--ksp-yellow);
  color: #3A2E00;
  box-shadow: var(--ksp-shadow);
  -webkit-transform: translateY(-1px); transform: translateY(-1px);
}
body#product .product-add-to-cart .btn.btn-primary.add-to-cart:active { -webkit-transform: translateY(1px); transform: translateY(1px); }
body#product .product-add-to-cart .btn.btn-primary.add-to-cart .bag-icon { font-size: 17px; }
/* srdíčko (artefakt .iconbtn 56x56, radius 14) */
body#product .product-add-to-cart .col-add-wishlist button,
body#product .product-add-to-cart .col-add-compare button {
  width: 56px;
  height: 56px;
  min-height: 56px;
  border-radius: 14px;
  border: 1.5px solid var(--ksp-line-strong);
  background: var(--ksp-surface);
  color: var(--ksp-muted);
  font-size: 20px;
  padding: 0;
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center;
  box-shadow: none;
}
body#product .product-add-to-cart .col-add-wishlist button i { padding: 0; }
body#product .product-add-to-cart .col-add-wishlist button:hover,
body#product .product-add-to-cart .col-add-compare button:hover {
  color: var(--ksp-coral);
  border-color: var(--ksp-coral);
  background: var(--ksp-surface);
}
body#product .product-minimal-quantity { margin: 8px 0 0; font-size: 13px; color: var(--ksp-muted); }
body#product .product-minimal-quantity:empty { display: none; }

/* ============================================================
   6. DOPLŇKY POD NÁKUPEM (artefakt .ptrust + .pspecs-mini)
   ============================================================ */
body#product .ks-ptrust {
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap;
  gap: 18px;
  padding: 16px 0;
  border-top: 1px solid var(--ksp-line);
  border-bottom: 1px solid var(--ksp-line);
  margin: 0 0 18px;
}
body#product .ks-ptrust > div {
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
  gap: 9px;
  font-size: 13px;
  font-weight: 600;
  color: var(--ksp-text);
}
body#product .ks-ptrust .ks-ti {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: var(--ksp-cream2);
  color: var(--ksp-coral);
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center;
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; -ms-flex: 0 0 auto; flex: 0 0 auto;
}
body#product .ks-ptrust .ks-ti svg { width: 16px; height: 16px; }
body#product .ks-pspecs {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -ms-grid; display: grid;
  -ms-grid-columns: 1fr 20px 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 8px 20px;
}
body#product .ks-pspecs li {
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between;
  gap: 10px;
  font-size: 13.5px;
  padding: 6px 0;
  border-bottom: 1px dashed var(--ksp-line);
}
body#product .ks-pspecs li span { color: var(--ksp-muted); font-weight: 600; }
body#product .ks-pspecs li b { color: var(--ksp-ink); font-weight: 700; text-align: right; }
/* sdílení na sítích, tagy a countdown artefakt nemá */
body#product .product-additional-info .social-sharing { display: none; }
body#product .product-additional-info .iqitproducttags { display: none; }
body#product .product-prices .price-countdown-wrapper,
body#product .product-actions .price-countdown-wrapper { display: none !important; }
body#product .product-additional-info { border-top: 0; margin: 0; }
body#product .product-discounts { margin: 12px 0 0; }
body#product .product-discounts:empty { display: none; }

/* ============================================================
   7. USP PRUH (artefakt .usp, statická sekce z child product.tpl)
   ============================================================ */
body#product .ks-usp {
  display: -ms-grid; display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 30px;
  padding: 22px 24px;
  background: var(--ksp-surface);
  border: 1px solid var(--ksp-line);
  border-radius: var(--ksp-r);
  box-shadow: var(--ksp-shadow-sm);
}
body#product .ks-usp .item {
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
  gap: 14px;
}
body#product .ks-usp .item + .item { border-left: 1px solid var(--ksp-line); padding-left: 20px; }
body#product .ks-usp .ill { width: 52px; height: 52px; -webkit-box-flex: 0; -webkit-flex: 0 0 auto; -ms-flex: 0 0 auto; flex: 0 0 auto; }
body#product .ks-usp .item b { font-weight: 700; font-size: 14px; color: var(--ksp-ink); line-height: 1.28; }

/* ============================================================
   8. SEKCE POD PRODUKTEM (artefakt .ptabs.pstack: Popis, Parametry, Recenze)
   ============================================================ */
body#product .tabs.product-sections { margin-top: 40px; padding: 0; border: 0; background: none; }
body#product .product-sections .block-section { margin-bottom: 34px; padding: 0; border: 0; background: none; }
body#product #content-wrapper .product-sections .section-title {
  position: relative;
  font-family: 'Baloo 2', cursive;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.2;
  color: var(--ksp-ink);
  margin: 0 0 14px;
  /* bez podtrzeni: Filip 1.9.2026 "aby tam nebylo tolik car" */
  padding: 0;
  border-bottom: 0;
  text-transform: none;
  letter-spacing: 0;
}
body#product #content-wrapper .product-sections .section-title::after { content: none !important; } /* legacy korálová mini-linka */
body#product #content-wrapper .product-sections .section-title span {
  position: static;
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
}
body#product #content-wrapper .product-sections .section-title span::before { content: none !important; }
/* text popisu (artefakt .ptab p: 15px/1.75, max 80ch) */
body#product .product-description-section .rte-content { max-width: none; }
body#product .product-description-section .rte-content p {
  font-size: 15px;
  line-height: 1.75;
  color: var(--ksp-text);
  margin: 0 0 12px;
  max-width: 80ch;
}
body#product .product-description-section .rte-content { font-size: 15px; line-height: 1.75; color: var(--ksp-text); }
/* Parametry (artefakt .spectable: řádky 40 % / 60 %, tečkované oddělovače) */
body#product #product-details > div,
body#product #product-details .specific-references > div {
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-align: baseline; -webkit-align-items: baseline; -ms-flex-align: baseline; align-items: baseline;
  gap: 10px;
  max-width: 80ch;
  padding: 11px 4px;
  margin: 0;
  border-bottom: 1px solid var(--ksp-line);
  font-size: 14px;
}
body#product #product-details .specific-references { border: 0; padding: 0; max-width: 80ch; }
body#product #product-details .specific-references > div { max-width: none; }
body#product #product-details > div .label,
body#product #product-details .specific-references .label {
  width: 40%;
  min-width: 40%;
  margin: 0;
  color: var(--ksp-muted);
  font-weight: 600;
  font-size: 14px;
}
body#product #product-details > div span { color: var(--ksp-ink); font-weight: 700; }
body#product #product-details > div span a { color: var(--ksp-ink) !important; text-decoration: underline; }
body#product #product-details .product-out-of-stock:empty,
body#product #product-details .product-out-of-stock { border: 0; padding: 0; }
body#product #product-details .product-quantities { display: none; } /* počet kusů artefakt neukazuje */
/* vlastnosti (dl.data-sheet) jako řádky tabulky */
body#product #product-details .product-features { margin: 0; padding: 0; }
body#product #product-details .data-sheet {
  display: -ms-grid; display: grid;
  grid-template-columns: 40% 1fr;
  gap: 0 10px;
  max-width: 80ch;
  margin: 0;
}
body#product #product-details .data-sheet dt.name,
body#product #product-details .data-sheet dd.value {
  margin: 0;
  padding: 11px 4px;
  border-bottom: 1px solid var(--ksp-line);
  font-size: 14px;
  background: none;
  text-align: left;
}
body#product #product-details .data-sheet dt.name { color: var(--ksp-muted); font-weight: 600; }
body#product #product-details .data-sheet dd.value { color: var(--ksp-ink); font-weight: 700; }
/* přílohy */
body#product .product-attachments-section .attachment { max-width: 80ch; font-size: 14px; color: var(--ksp-text); }
body#product .product-attachments-section .attachment a { color: var(--ksp-coral-deep); font-weight: 700; }
body#product .product-attachments-section .attachment hr { border-color: var(--ksp-line); }
/* recenze (iqit reviews) — jen sladit typografii s designem */
body#product #iqit-reviews-tab .section-content { max-width: none; }
body#product #iqit-reviews .comment,
body#product #iqit-reviews .review {
  background: var(--ksp-surface);
  border: 1px solid var(--ksp-line);
  border-radius: var(--ksp-r);
  padding: 18px 20px;
  box-shadow: var(--ksp-shadow-sm);
  margin-bottom: 14px;
}
body#product #iqit-reviews .btn-primary,
body#product #iqit-reviews-tab .btn-comment,
body#product #iqit-reviews-tab .btn.btn-primary {
  background: var(--ksp-ink);
  color: #FFFDF4;
  border: 0;
  border-radius: 100px;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
  padding: 10px 22px;
}

/* ============================================================
   9. SOUVISEJÍCÍ PRODUKTY (artefakt .related; karty 1:1 jako kategorie)
   ============================================================ */
body#product section.product-accessories,
body#product section.crossselling-products,
body#product section.category-products {
  margin-top: 44px;
  padding-top: 28px;
  border-top: 1px solid var(--ksp-line);
  background: none;
}
body#product #content-wrapper section.product-accessories .section-title,
body#product #content-wrapper section.crossselling-products .section-title,
body#product #content-wrapper section.category-products .section-title {
  font-family: 'Baloo 2', cursive;
  font-size: 24px !important;
  font-weight: 800;
  line-height: 1.2 !important;
  color: var(--ksp-ink);
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: 0;
  text-align: left;
  text-transform: none;
}
body#product #content-wrapper section.product-accessories .section-title::after,
body#product #content-wrapper section.crossselling-products .section-title::after,
body#product #content-wrapper section.category-products .section-title::after { content: none !important; display: none !important; }
body#product #content-wrapper section.product-accessories .section-title span,
body#product #content-wrapper section.crossselling-products .section-title span,
body#product #content-wrapper section.category-products .section-title span {
  position: static;
  margin: 0 !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
  z-index: auto;
}
body#product #content-wrapper section.product-accessories .section-title span::before,
body#product #content-wrapper section.crossselling-products .section-title span::before,
body#product #content-wrapper section.category-products .section-title span::before { content: none !important; display: none !important; }
/* karta = replika artefakt .card (scope: karusely na produktu) */
body#product .products .swiper-slide { height: auto; }
body#product .products .js-product-miniature-wrapper {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: 100%;
  padding: 0;
  margin: 0;
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
}
body#product .products .product-miniature {
  width: 100%;
  padding: 0;
  background: var(--ksp-surface);
  border: 1px solid var(--ksp-line);
  border-radius: var(--ksp-r) !important;
  overflow: hidden;
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-orient: vertical; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column;
  box-shadow: var(--ksp-shadow-sm);
  -webkit-transition: .15s ease; transition: .15s ease;
  outline: none;
}
body#product .products .product-miniature:hover {
  -webkit-transform: translateY(-4px); transform: translateY(-4px);
  box-shadow: var(--ksp-shadow-lift);
  border-color: var(--ksp-line-strong);
  background: var(--ksp-surface);
}
body#product .products .thumbnail-container {
  aspect-ratio: 1 / .92;
  min-height: 180px;
  background: #fff;
  position: relative;
  padding: 14px;
  margin: 0;
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center;
}
body#product .products .product-thumbnail {
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center;
  width: 100%;
  height: 100%;
}
body#product .products .thumbnail-container img.product-thumbnail-first,
body#product .products .thumbnail-container img.product-thumbnail-second {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  -o-object-fit: contain; object-fit: contain;
}
body#product .products .thumbnail-container img.product-thumbnail-second {
  top: 14px;
  left: 14px;
  right: 14px;
  height: calc(100% - 28px);
  max-width: calc(100% - 28px);
  margin: 0 auto;
}
body#product .products .product-flags {
  position: absolute;
  top: 10px;
  left: 10px;
  right: 10px;
  bottom: auto;
  margin: 0;
  padding: 0;
  list-style: none;
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-orient: vertical; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column;
  -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start;
  gap: 6px;
  z-index: 2;
  pointer-events: none;
}
body#product .products li.product-flag {
  display: inline-block;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .4px;
  text-transform: uppercase;
  padding: 4px 9px;
  border-radius: 6px;
  background: var(--ksp-coral);
  color: #fff;
  margin: 0;
  line-height: 1.3;
  text-align: left;
}
body#product .products li.product-flag.new { background: var(--ksp-green); color: #fff; }
body#product .products li.product-flag.on-sale,
body#product .products li.product-flag.sale { background: var(--ksp-coral); color: #fff; }
body#product .products li.product-flag.discount,
body#product .products li.product-flag.discount-percentage,
body#product .products li.product-flag.reduction {
  position: absolute;
  top: 0;
  right: 0;
  left: auto;
  background: var(--ksp-ink);
  color: var(--ksp-yellow);
  font-size: 12px;
  font-weight: 800;
  padding: 4px 9px;
  border-radius: 6px;
}
body#product .products .product-miniature-grid .product-functional-buttons-bottom {
  left: auto;
  right: 10px;
  bottom: 10px;
  top: auto;
  -webkit-transform: none; -ms-transform: none; transform: none;
  opacity: 1;
  padding: 0;
  min-width: 0;
  text-align: right;
}
body#product .products .product-miniature-grid:hover .product-functional-buttons-bottom {
  -webkit-transform: none; -ms-transform: none; transform: none;
  opacity: 1;
}
body#product .products .product-functional-buttons-links {
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-orient: vertical; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column;
  -webkit-box-align: end; -webkit-align-items: flex-end; -ms-flex-align: end; align-items: flex-end;
  gap: 6px;
}
body#product .products .product-functional-buttons-links > a {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,.92);
  border: 1px solid var(--ksp-line);
  color: var(--ksp-muted);
  font-size: 16px;
  line-height: 1;
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center;
  box-shadow: var(--ksp-shadow-sm);
  margin: 0;
  padding: 0;
}
body#product .products .product-functional-buttons-links > a:hover { color: var(--ksp-coral); border-color: var(--ksp-coral); }
body#product .products .product-functional-buttons-links > a.js-iqitcompare-add,
body#product .products .product-functional-buttons-links > a.js-quick-view-iqit {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity .15s ease, visibility .15s ease; transition: opacity .15s ease, visibility .15s ease;
}
body#product .products .product-miniature:hover .product-functional-buttons-links > a.js-iqitcompare-add,
body#product .products .product-miniature:hover .product-functional-buttons-links > a.js-quick-view-iqit {
  opacity: 1;
  visibility: visible;
}
body#product .products .product-description {
  padding: 14px 15px 15px;
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-orient: vertical; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column;
  -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1;
  text-align: left;
  border-top: 1px solid var(--ksp-line);
  background: none;
}
body#product .products .product-category-name {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .4px;
  text-transform: uppercase;
  color: var(--ksp-coral-deep) !important;
  border-bottom: 0;
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
  gap: 6px;
  margin: 0 0 8px;
  padding: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
body#product .products .product-category-name::before {
  content: "\f02b";
  font-family: FontAwesome;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0;
  color: var(--ksp-coral);
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; -ms-flex: 0 0 auto; flex: 0 0 auto;
}
body#product .products .product-title {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 12px;
  padding: 0;
  height: auto;
  min-height: 2.5em;
  text-align: left;
  overflow: visible;
}
body#product .products .product-title a {
  color: var(--ksp-ink);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-decoration: none;
}
body#product .products .product-brand,
body#product .products .product-reference,
body#product .products .product-description-short,
body#product .products .price-countdown-wrapper { display: none; }
body#product .products .product-price-and-shipping {
  margin-top: auto;
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-align: baseline; -webkit-align-items: baseline; -ms-flex-align: baseline; align-items: baseline;
  gap: 8px;
  margin-bottom: 6px;
  padding: 0;
}
body#product .products .product-price { font-size: 22px; font-weight: 800 !important; color: var(--ksp-ink); }
body#product .products .product-price-and-shipping .regular-price { font-size: 14px !important; color: var(--ksp-faint) !important; font-weight: 600 !important; line-height: normal; text-decoration: line-through; display: inline; }
body#product .products .product-miniature-grid .product-availability {
  position: static;
  left: auto;
  bottom: auto;
  -webkit-transform: none; -ms-transform: none; transform: none;
  opacity: 1;
  margin: 0 0 14px;
  text-align: left;
}
body#product .products .product-miniature-grid:hover .product-availability {
  -webkit-transform: none; -ms-transform: none; transform: none;
  opacity: 1;
}
body#product .products .product-availability .badge {
  background: none;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  color: var(--ksp-green);
  display: -webkit-inline-box !important; display: -webkit-inline-flex !important; display: -ms-inline-flexbox !important; display: inline-flex !important;
  -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
  gap: 6px;
  white-space: normal;
  text-align: left;
  line-height: 1.3;
  text-transform: none;
  letter-spacing: 0;
}
body#product .products .product-availability .badge::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; -ms-flex: 0 0 auto; flex: 0 0 auto;
}
body#product .products .product-availability .badge .fa { display: none; }
body#product .products .product-availability .badge.product-unavailable { color: var(--ksp-coral-deep); }
body#product .products .product-availability .badge.product-unavailable-allow-oosp { color: var(--ksp-green); }
body#product .products .product-add-cart { margin: 0; padding: 0; }
body#product .products .input-group-add-cart {
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-flex-wrap: nowrap; -ms-flex-wrap: nowrap; flex-wrap: nowrap;
  -webkit-box-align: stretch; -webkit-align-items: stretch; -ms-flex-align: stretch; align-items: stretch;
  gap: 8px;
}
body#product .products .ks-qty {
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
  border: 1.5px solid var(--ksp-line-strong);
  border-radius: 100px;
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; -ms-flex: 0 0 auto; flex: 0 0 auto;
  background: var(--ksp-surface);
  overflow: hidden;
}
body#product .products .ks-qty-btn {
  width: 32px;
  height: 40px;
  border: 0;
  border-radius: 0;
  background: none;
  color: var(--ksp-ink);
  font-family: inherit;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center;
  padding: 0;
  cursor: pointer;
}
body#product .products .ks-qty-btn:hover { background: var(--ksp-cream2); }
body#product .products .ks-qty .input-qty {
  display: inline-block !important;
  width: 26px;
  min-width: 26px;
  max-width: 26px;
  height: 40px;
  border: 0;
  border-radius: 0;
  text-align: center;
  font-family: inherit;
  font-weight: 800;
  font-size: 14px;
  color: var(--ksp-ink);
  background: transparent;
  padding: 0;
  -moz-appearance: textfield;
  box-shadow: none;
}
body#product .products .ks-qty .input-qty::-webkit-outer-spin-button,
body#product .products .ks-qty .input-qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
body#product .products .ks-qty .input-qty:focus { outline: none; background: var(--ksp-cream2); }
body#product .products .btn-product-list {
  -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1;
  min-width: 0;
  margin: 0;
  display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex;
  -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center;
  gap: .5em;
  border: 0;
  border-radius: 100px;
  background: var(--ksp-yellow-btn);
  color: #3A2E00;
  font-weight: 700;
  font-size: 14.5px;
  text-transform: none;
  letter-spacing: 0;
  min-height: 40px;
  padding: 9px 10px;
  box-shadow: var(--ksp-shadow-sm);
  -webkit-transition: -webkit-transform .12s ease, box-shadow .12s ease, background .12s ease;
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
  white-space: nowrap;
}
body#product .products .btn-product-list:hover,
body#product .products .btn-product-list:focus {
  background: var(--ksp-yellow);
  color: #3A2E00;
  box-shadow: var(--ksp-shadow);
  -webkit-transform: translateY(-1px); transform: translateY(-1px);
}
body#product .products .btn-product-list .bag-icon { font-size: 15px; }
/* šipky karuselu decentní (artefakt karusel nemá; ponechány kvůli funkci) */
body#product .block-section .swiper-button-prev,
body#product .block-section .swiper-button-next {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255,255,255,.92);
  border: 1px solid var(--ksp-line);
  color: var(--ksp-ink);
  box-shadow: var(--ksp-shadow-sm);
}
body#product .block-section .swiper-button-prev:hover,
body#product .block-section .swiper-button-next:hover { color: var(--ksp-coral-deep); border-color: var(--ksp-line-strong); }
body#product .block-section .swiper-pagination-product { display: none; }

/* ============================================================
   10. MOBILNÍ STICKY LIŠTA (artefakt .pstickybuy, jen pod 768)
   ============================================================ */
body#product .ks-pstickybuy { display: none; }

/* ============================================================
   11. MODÁL „PŘIDÁNO DO KOŠÍKU" (#blockcart-modal, globální — bez scope
       body#product; bílá zaoblená karta, stín, tlačítka žluté/tmavé)
   ============================================================ */
#blockcart-modal {
  --ksm-ink: #2B2620;
  --ksm-text: #4C473F;
  --ksm-muted: #9C9483;
  --ksm-line: #EDE7D8;
  --ksm-green: #3EA24A;
  --ksm-yellow: #FFD54A;
  --ksm-yellow-btn: #FFCE3B;
}
#blockcart-modal .modal-dialog { max-width: 780px; }
#blockcart-modal .modal-content {
  background: #FFFFFF;
  border: 1px solid var(--ksm-line);
  border-radius: 18px;
  box-shadow: 0 10px 22px rgba(43,38,32,.12), 0 26px 54px rgba(43,38,32,.14);
  overflow: hidden;
}
#blockcart-modal .modal-header {
  border-bottom: 1px solid var(--ksm-line);
  background: #FFFDF6;
  padding: 16px 20px;
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
}
#blockcart-modal .modal-title {
  font-family: 'Baloo 2', cursive;
  font-size: 16px;
  font-weight: 800;
  color: var(--ksm-ink);
  padding: 0;
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
  gap: 10px;
  line-height: 1.3;
}
#blockcart-modal .modal-title i {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #E6F3E7;
  color: var(--ksm-green) !important;
  font-size: 14px !important;
  font-weight: 400;
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center;
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; -ms-flex: 0 0 auto; flex: 0 0 auto;
}
#blockcart-modal .close {
  color: var(--ksm-muted);
  opacity: 1;
  text-shadow: none;
  font-size: 26px;
}
#blockcart-modal .close:hover { color: var(--ksm-ink); }
#blockcart-modal .modal-body { padding: 20px 22px 22px; }
#blockcart-modal .product-image { max-height: 170px; width: auto; -o-object-fit: contain; object-fit: contain; margin: 0 auto; }
#blockcart-modal .product-name,
#blockcart-modal .product-name a {
  font-family: 'Baloo 2', cursive;
  font-size: 15.5px;
  font-weight: 700;
  color: var(--ksm-ink);
  line-height: 1.3;
}
#blockcart-modal .product-name a:hover { color: #E06A6A; }
#blockcart-modal .col-info > span,
#blockcart-modal .col-info .text-muted { font-size: 14px; font-weight: 600; color: var(--ksm-text); }
#blockcart-modal .col-info .text-muted { color: var(--ksm-muted); }
#blockcart-modal .product-attributes { font-size: 12.5px; color: var(--ksm-muted); }
#blockcart-modal .divide-right { border-right: 1px solid var(--ksm-line); }
#blockcart-modal .cart-content { padding-top: 0 !important; }
#blockcart-modal .cart-products-count {
  font-family: 'Baloo 2', cursive;
  font-size: 15px;
  font-weight: 700;
  color: var(--ksm-ink);
  margin-bottom: 10px;
}
#blockcart-modal .cart-subtotals > div,
#blockcart-modal .cart-content .clearfix {
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-align: baseline; -webkit-align-items: baseline; -ms-flex-align: baseline; align-items: baseline;
  gap: 10px;
  padding: 3px 0;
  font-size: 14px;
  color: var(--ksm-text);
}
#blockcart-modal .cart-subtotals > div::after,
#blockcart-modal .cart-content .clearfix::after { content: none; }
#blockcart-modal .cart-subtotals strong,
#blockcart-modal .cart-content .clearfix strong { font-weight: 600; color: var(--ksm-muted); }
#blockcart-modal .cart-subtotals .value,
#blockcart-modal .cart-content .clearfix .value {
  margin-left: auto;
  float: none;
  font-weight: 700;
  color: var(--ksm-ink);
  white-space: nowrap;
}
#blockcart-modal .cart-content .clearfix.mb-2:last-of-type { border-top: 1px solid var(--ksm-line); margin-top: 6px; padding-top: 8px; }
#blockcart-modal .cart-content .clearfix.mb-2:last-of-type .value { font-size: 18px; font-weight: 800; }
#blockcart-modal .cart-content-btn { margin-top: 14px; }
/* CTA: žluté „K pokladně" (přebíjí legacy custom.css !important pravidla) */
#blockcart-modal .cart-content .cart-content-btn .btn-primary,
#blockcart-modal .cart-content-btn .btn-primary,
#blockcart-modal .btn-primary {
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center;
  min-height: 50px;
  background: var(--ksm-yellow-btn) !important;
  border: 0 !important;
  border-radius: 100px !important;
  font-family: 'Baloo 2', cursive;
  font-size: 15.5px;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #3A2E00 !important;
  box-shadow: 0 1px 2px rgba(43,38,32,.05), 0 5px 14px rgba(43,38,32,.05);
  -webkit-transition: background .12s ease, box-shadow .12s ease, -webkit-transform .12s ease;
  transition: background .12s ease, box-shadow .12s ease, transform .12s ease;
}
#blockcart-modal .cart-content-btn .btn-primary:hover,
#blockcart-modal .btn-primary:hover {
  background: var(--ksm-yellow) !important;
  color: #3A2E00 !important;
  box-shadow: 0 3px 8px rgba(43,38,32,.06), 0 16px 36px rgba(43,38,32,.08);
  -webkit-transform: translateY(-1px); transform: translateY(-1px);
}
/* sekundární: tmavé „Pokračovat v nákupu" */
#blockcart-modal .cart-content .cart-content-btn .btn-secondary,
#blockcart-modal .cart-content-btn .btn-secondary,
#blockcart-modal .btn-secondary {
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center;
  min-height: 46px;
  margin-top: 8px;
  background: var(--ksm-ink) !important;
  border: 0 !important;
  border-radius: 100px !important;
  font-family: 'Baloo 2', cursive;
  font-size: 14.5px;
  font-weight: 700 !important;
  color: #FFFDF4 !important;
  -webkit-transition: box-shadow .12s ease, -webkit-transform .12s ease;
  transition: box-shadow .12s ease, transform .12s ease;
}
#blockcart-modal .cart-content-btn .btn-secondary:hover,
#blockcart-modal .btn-secondary:hover {
  background: var(--ksm-ink) !important;
  color: #FFFDF4 !important;
  box-shadow: 0 3px 8px rgba(43,38,32,.06), 0 16px 36px rgba(43,38,32,.08);
  -webkit-transform: translateY(-1px); transform: translateY(-1px);
}

/* ============================================================
   12. RESPONSIVITA
   ============================================================ */
/* artefakt @container 900 → stack, galerie static */
@media (max-width: 991.98px) {
  body#product .row.product-info-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }
  body#product .row.product-info-row > .col-product-image {
    position: static;
    top: auto;
  }
  body#product .ks-usp { grid-template-columns: 1fr 1fr; gap: 14px; }
  body#product .ks-usp .item + .item { border-left: 0; padding-left: 0; }
}
/* artefakt @container 640 → menší titulek/cena, sticky lišta koupit */
@media (max-width: 767.98px) {
  body#product #content-wrapper .page-title { font-size: 24px; }
  body#product .current-price .product-price,
  body#product .current-price .current-price-value { font-size: 28px !important; }
  body#product .ks-pspecs { grid-template-columns: 1fr; }
  body#product .product-add-to-cart .product-quantity > .col-add-btn { -webkit-box-flex: 1; -webkit-flex: 1 1 auto; -ms-flex: 1 1 auto; flex: 1 1 auto; min-width: 0; }
  body#product .product-add-to-cart .btn.btn-primary.add-to-cart { width: 100%; padding: 0 16px; min-width: 0; }
  /* užší stepper, ať se qty + tlačítko + srdíčko vejdou na jeden řádek (artefakt .pbuy) */
  body#product .product-add-to-cart .qty .btn-touchspin { width: 38px; }
  body#product .product-add-to-cart .qty .bootstrap-touchspin #quantity_wanted { width: 34px; min-width: 34px; }
  body#product .product-add-to-cart .col-add-wishlist button,
  body#product .product-add-to-cart .col-add-compare button { width: 50px; min-width: 50px; }
  body#product #product-details .data-sheet { grid-template-columns: 45% 1fr; }
  body#product #product-details > div .label { width: 45%; min-width: 45%; }
  /* sticky lišta dole (artefakt .pstickybuy) — Filip 1.9.2026: nechce ji
     nikde, display:none z base pravidla se nesmí přebít */
  body#product .ks-pstickybuy {
    display: none;
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    z-index: 36;
    -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
    gap: 12px;
    background: var(--ksp-surface);
    border-top: 1px solid var(--ksp-line);
    box-shadow: 0 -3px 16px rgba(43,38,32,.1);
    padding: 10px 16px;
    margin: 0 -20px;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
  body#product .ks-pstickybuy .ks-psticky-price {
    font-family: 'Baloo 2', cursive;
    font-weight: 800;
    font-size: 20px;
    color: var(--ksp-ink);
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; -ms-flex: 0 0 auto; flex: 0 0 auto;
    white-space: nowrap;
  }
  body#product .ks-pstickybuy .ks-psticky-price s {
    font-size: 13px;
    color: var(--ksp-faint);
    font-weight: 600;
    margin-left: 6px;
  }
  body#product .ks-pstickybuy .ks-psticky-btn {
    -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1;
    display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex;
    -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
    -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center;
    gap: .5em;
    min-height: 46px;
    border: 0;
    border-radius: 100px;
    background: var(--ksp-yellow-btn);
    color: #3A2E00;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    box-shadow: var(--ksp-shadow-sm);
    cursor: pointer;
  }
  body#product .ks-pstickybuy .ks-psticky-btn:disabled { opacity: .55; cursor: default; }
  /* karty v karuselech: akce do sloupce (artefakt @430 .card-actions column) */
  body#product .products .input-group-add-cart {
    -webkit-box-orient: vertical; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column;
    -webkit-box-align: stretch; -webkit-align-items: stretch; -ms-flex-align: stretch; align-items: stretch;
  }
  body#product .products .ks-qty {
    width: 100%;
    -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between;
  }
  body#product .products .ks-qty .input-qty { font-size: 16px; } /* iOS zoom */
  body#product .products .btn-product-list { width: 100%; }
  /* modál přes celý mobil pohodlně */
  #blockcart-modal .divide-right { border-right: 0; border-bottom: 1px solid var(--ksm-line); padding-bottom: 12px; margin-bottom: 12px; }
}
/* artefakt @container 430 → USP 1 sloupec */
@media (max-width: 575.98px) {
  /* mobil: USP jako horizontalni slider (scroll-snap), ne pod sebou - Filip 1.9.2026 */
  body#product .ks-usp{ display:-webkit-box; display:-ms-flexbox; display:flex;
    -ms-flex-wrap:nowrap; flex-wrap:nowrap; overflow-x:auto;
    -webkit-overflow-scrolling:touch; scroll-snap-type:x mandatory;
    scrollbar-width:none; gap:12px; }
  body#product .ks-usp::-webkit-scrollbar{ display:none; }
  body#product .ks-usp .item{ -ms-flex:0 0 78%; flex:0 0 78%; scroll-snap-align:center; }
  body#product .ks-pshort { max-width: none; }
}

/* ============================================================
   13. PŘÍSTUPNOST A POHYB
   ============================================================ */
body#product .product-add-to-cart .btn.btn-primary.add-to-cart:focus-visible,
body#product .product-add-to-cart .qty .btn-touchspin:focus-visible,
body#product .product-add-to-cart .col-add-wishlist button:focus-visible,
body#product #product-images-thumbs .thumb-container:focus-visible,
body#product .ks-pstickybuy .ks-psticky-btn:focus-visible,
body#product .products .btn-product-list:focus-visible,
body#product .products .ks-qty-btn:focus-visible,
#blockcart-modal .btn-primary:focus-visible,
#blockcart-modal .btn-secondary:focus-visible {
  outline: 3px solid #EDAF06;
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  body#product .products .product-miniature,
  body#product .product-add-to-cart .btn.btn-primary.add-to-cart,
  body#product .products .btn-product-list,
  #blockcart-modal .btn-primary,
  #blockcart-modal .btn-secondary {
    -webkit-transition: none !important;
    transition: none !important;
  }
  body#product .products .product-miniature:hover,
  body#product .product-add-to-cart .btn.btn-primary.add-to-cart:hover,
  #blockcart-modal .btn-primary:hover,
  #blockcart-modal .btn-secondary:hover {
    -webkit-transform: none;
    transform: none;
  }
}

/* ============================================================
   Heureka recenze obchodu (modul ksheurekabar) — vzhled 1:1 drží
   sdílený blok .ks-hp2 v custom.css; tady jen rozestupy na produktu
   ============================================================ */
body#product .ks-shopreviews{ margin:10px 0 40px; }
body#product .ks-shopreviews .reviews-head{ margin-bottom:18px; }

/* ============================================================
   Miniatury galerie: alternativni markup bez swiperu (.js-qv-mask
   .product-images, img.thumb primo) - stejny vzhled jako
   #product-images-thumbs (76px dlazdice, vybrany koralovy)
   ============================================================ */
body#product .js-qv-mask .product-images{
  display:-webkit-box; display:-ms-flexbox; display:flex;
  -ms-flex-wrap:wrap; flex-wrap:wrap;
  gap:10px; margin:0; padding:0; list-style:none;
}
body#product .js-qv-mask .product-images li{ margin:0; padding:0; }
body#product .js-qv-mask img.thumb{
  width:76px; height:76px;
  -o-object-fit:contain; object-fit:contain;
  background:#fff;
  border:1.5px solid var(--ksp-line,#EDE7D8);
  border-radius:10px;
  padding:6px;
  cursor:pointer;
  -webkit-transition:border-color .12s ease; transition:border-color .12s ease;
}
body#product .js-qv-mask img.thumb:hover{ border-color:var(--ksp-line-strong,#DED6C2); }
body#product .js-qv-mask img.thumb.selected{ border-color:var(--ksp-coral,#F07E7E); }

/* ============================================================
   Karusely produktu: mezery mezi kartami (swiper nema gap)
   ============================================================ */
body#product .product-accessories .swiper-slide,
body#product .category-products .swiper-slide,
body#product .crossselling-products .swiper-slide{
  padding:6px 9px;
  box-sizing:border-box;
}

/* ============================================================
   Stepper dle artefaktu .qty.big: tlacitka 46x56, input 38, font 22/16
   (Filip: mnozstvi je v grafice sirsi)
   ============================================================ */
body#product .product-add-to-cart .qty .bootstrap-touchspin .btn-touchspin{
  width:46px !important; height:56px !important; font-size:22px !important;
}
body#product .product-add-to-cart .qty .bootstrap-touchspin #quantity_wanted{
  width:38px !important; height:56px !important; font-size:16px !important;
}

/* odkaz na nakladatele v meta radku (Filip 1.9.2026) */
body#product .ks-pvat .ks-pmanu{ color:var(--ksp-coral-deep,#E06A6A); font-weight:700; }
body#product .ks-pvat .ks-pmanu:hover{ text-decoration:underline; }

/* cara pod titulem produktu neni v grafice (Filip 1.9.2026) */
body#product .product_header_container{ border-bottom:0 !important; margin-bottom:0; padding-bottom:0; }

/* Oprava: v flex kontejnerech rozhoduje flex-basis, width nestaci
   (tlacitka stepperu i miniatury se smrskavaly pres flex-shrink) */
body#product .product-add-to-cart .qty{ width:auto !important; }
body#product .product-add-to-cart .qty .bootstrap-touchspin .btn-touchspin{
  -webkit-box-flex:0; -ms-flex:0 0 46px !important; flex:0 0 46px !important;
}
body#product .product-add-to-cart .qty .bootstrap-touchspin #quantity_wanted{
  -webkit-box-flex:0; -ms-flex:0 0 38px !important; flex:0 0 38px !important;
}
body#product .js-qv-mask .product-images li,
body#product .js-qv-mask img.thumb{
  -webkit-box-flex:0; -ms-flex:0 0 auto !important; flex:0 0 auto !important;
  min-width:76px;
}

/* Sipky karuselu (swiper) jako kruhy v jazyce designu */
body#product .swiper-button-prev,
body#product .swiper-button-next{
  width:42px; height:42px; border-radius:50%;
  background:#fff; border:1.5px solid var(--ksp-line-strong,#DED6C2);
  box-shadow:0 1px 2px rgba(43,38,32,.05), 0 5px 14px rgba(43,38,32,.05);
  color:var(--ksp-ink,#2B2620);
  -webkit-transition:border-color .12s ease,color .12s ease; transition:border-color .12s ease,color .12s ease;
}
body#product .swiper-button-prev::after,
body#product .swiper-button-next::after{ font-size:15px; font-weight:800; color:inherit; }
body#product .swiper-button-prev:hover,
body#product .swiper-button-next:hover{ border-color:var(--ksp-coral,#F07E7E); color:var(--ksp-coral-deep,#E06A6A); }

/* Sipky predchozi/dalsi produkt u drobecku (#iqitproductsnav) - kruhy v jazyce designu */
body#product #iqitproductsnav{
  display:-webkit-box; display:-ms-flexbox; display:flex;
  gap:8px;
}
body#product #iqitproductsnav a{
  width:36px; height:36px; border-radius:50%;
  background:#fff; border:1.5px solid var(--ksp-line-strong,#DED6C2);
  color:var(--ksp-ink,#2B2620);
  display:-webkit-box; display:-ms-flexbox; display:flex;
  -webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;
  -webkit-box-align:center; -ms-flex-align:center; align-items:center;
  font-size:16px;
  box-shadow:0 1px 2px rgba(43,38,32,.05);
  -webkit-transition:border-color .12s ease,color .12s ease; transition:border-color .12s ease,color .12s ease;
}
body#product #iqitproductsnav a:hover{ border-color:var(--ksp-coral,#F07E7E); color:var(--ksp-coral-deep,#E06A6A); }

/* ============================================================
   Potrebujete poradit? (ks-phelp) - karta s telefonem a vyhodami
   ============================================================ */
body#product .ks-phelp{
  margin-top:18px;
  background:#FDF4D8;
  background:-webkit-linear-gradient(330deg,#FDF4D8,#FFF7E0);
  background:linear-gradient(120deg,#FDF4D8,#FFF7E0);
  border:1px solid var(--ksp-line,#EDE7D8);
  border-radius:14px;
  padding:18px 20px;
}
body#product .ks-phelp-call{
  display:-webkit-box; display:-ms-flexbox; display:flex;
  -webkit-box-align:center; -ms-flex-align:center; align-items:center;
  gap:14px;
}
body#product .ks-phelp-ic{
  width:44px; height:44px; border-radius:50%;
  background:#fff; color:var(--ksp-coral,#F07E7E);
  display:-webkit-box; display:-ms-flexbox; display:flex;
  -webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;
  -webkit-box-align:center; -ms-flex-align:center; align-items:center;
  font-size:18px;
  -ms-flex:0 0 auto; flex:0 0 auto;
  box-shadow:0 1px 2px rgba(43,38,32,.05);
}
body#product .ks-phelp-call b{ display:block; color:var(--ksp-ink,#2B2620); font-size:14.5px; font-weight:800; }
body#product .ks-phelp-tel{
  color:var(--ksp-ink,#2B2620) !important; font-weight:800; font-size:19px; line-height:1.2;
  display:inline-block; margin-right:10px;
}
body#product .ks-phelp-tel:hover{ color:var(--ksp-coral-deep,#E06A6A) !important; }
body#product .ks-phelp-hours{ color:var(--ksp-muted,#9C9483); font-size:12.5px; font-weight:600; }
body#product .ks-phelp-benefits{
  list-style:none; margin:12px 0 0; padding:12px 0 0;
  border-top:1px solid rgba(222,214,194,.6);
}
body#product .ks-phelp-benefits li{
  position:relative; padding-left:26px; margin-bottom:6px;
  color:var(--ksp-text,#4C473F); font-size:13.5px; font-weight:600;
}
body#product .ks-phelp-benefits li:last-child{ margin-bottom:0; }
body#product .ks-phelp-benefits li::before{
  content:""; position:absolute; left:0; top:1px; width:17px; height:17px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Ccircle cx='10' cy='10' r='9' fill='%233EA24A'/%3E%3Cpath d='M6 10.2l2.6 2.6L14 7.4' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
@media (max-width:575.98px){
  body#product .ks-phelp{ padding:14px 16px; }
  body#product .ks-phelp-tel{ font-size:17px; }
}

/* proklik na kategorii v nadpisu "Ze stejne kategorie:" */
body#product .category-products .section-title .ks-samecat{ color:var(--ksp-coral-deep,#E06A6A); }
body#product .category-products .section-title .ks-samecat:hover{ text-decoration:underline; }

/* Hover stin karet v karuselu orezaval overflow:hidden swiper kontejneru -
   padding + zaporny margin daji stinu prostor (Filip 1.9.2026) */
/* klipuje .swiper-container-wrapper (overflow hidden, puvodni margin -15px):
   padding da stinu prostor, margin kompenzuje, geometrie zustava (-15) */
body#product .product-accessories .swiper-container-wrapper,
body#product .category-products .swiper-container-wrapper,
body#product .crossselling-products .swiper-container-wrapper{
  padding:22px 15px !important;
  margin:-37px -30px !important;
}

/* ============================================================
   Zakaznici zakoupili take - listovy vypis (Filip 1.9.2026)
   Stejny vzhled jako bestbox "Nejprodavanejsi v kategorii":
   karta, radky s dashed oddelovaci, cena+dostupnost vpravo,
   4 radky + tlacitko Zobrazit vice (toggle v custom.js).
   ============================================================ */
body#product .ks-cross-list{
  background:#fff;
  border:1px solid var(--ksp-line,#EDE7D8);
  border-radius:14px;
  box-shadow:0 1px 2px rgba(43,38,32,.05),0 5px 14px rgba(43,38,32,.05);
  padding:10px 24px;
}
body#product .ks-cross-row{
  display:-webkit-box; display:-ms-flexbox; display:flex;
  -webkit-box-align:center; -ms-flex-align:center; align-items:center;
  gap:16px;
  padding:14px 0;
}
body#product .ks-cross-row + .ks-cross-row{ border-top:1px dashed var(--ksp-line,#EDE7D8); }
/* sbaleny stav: jen prvni 4 radky */
body#product .ks-cross-list:not(.open) .ks-cross-row:nth-child(n+5){ display:none; }
body#product .ks-cross-img{ -ms-flex:0 0 56px; flex:0 0 56px; }
body#product .ks-cross-img img{
  width:56px; height:56px; max-width:56px;
  -o-object-fit:contain; object-fit:contain;
  border:1px solid var(--ksp-line,#EDE7D8); border-radius:10px; background:#fff; padding:4px;
}
body#product .ks-cross-info{ -webkit-box-flex:1; -ms-flex:1; flex:1; min-width:0; }
body#product .ks-cross-name{
  display:block; color:var(--ksp-ink,#2B2620) !important; font-weight:700; font-size:15px; line-height:1.3;
  text-decoration:none;
}
body#product .ks-cross-name:hover{ color:var(--ksp-coral-deep,#E06A6A) !important; }
body#product .ks-cross-side{ -ms-flex:0 0 auto; flex:0 0 auto; text-align:right; }
body#product .ks-cross-price{ color:var(--ksp-ink,#2B2620); font-weight:800; font-size:15px; }
body#product .ks-cross-avail{ font-size:12.5px; font-weight:700; color:var(--ksp-muted,#9C9483); }
body#product .ks-cross-avail.ok{ color:#3EA24A; }
/* Zobrazit vice - stejne jako bestbox (textove tlacitko na stred) */
body#product .ks-cross-more{
  display:block; margin:6px auto 2px;
  background:none; border:0; box-shadow:none;
  color:var(--ksp-ink,#2B2620); font-family:inherit; font-weight:800; font-size:14px;
  text-transform:none; padding:4px 10px; cursor:pointer;
}
body#product .ks-cross-more:hover{ color:var(--ksp-coral-deep,#E06A6A); }
@media (max-width:575.98px){
  body#product .ks-cross-list{ padding:6px 14px; }
  body#product .ks-cross-row{ padding:12px 0; gap:12px; }
  body#product .ks-cross-name{ font-size:14px; }
}

/* ============================================================
   RECENZE PRODUKTU (dm_heureka extraContent) — do designu webu
   (Filip 1.9.2026). Modul kresli tabulku s inline styly a modrym
   avatarem; sekci obaluje product-tabs-sections (h4 uz stylovany).
   Bez recenzi se sekce nerenderuje vubec (overeno).
   ============================================================ */
body#product #item_heureka_product_review{
  border: 1px solid var(--ksp-line) !important;
  border-radius: 14px;
  background: var(--ksp-surface);
  box-shadow: 0 1px 2px rgba(43,38,32,.05), 0 5px 14px rgba(43,38,32,.05);
  padding: 16px 18px !important;
  margin: 0 0 12px;
}
body#product #item_heureka_product_review table{ width:100% !important; margin:0; }
body#product #item_heureka_product_review td{ border:0; padding:2px 6px; vertical-align:top; }
body#product .dm_heureka_first_column{ width:170px !important; text-align:left !important; }
body#product #heureka-item-star{ width:22px !important; height:22px !important; }
/* genericky modry avatar pryc, jmeno je dost */
body#product #dm_heureka_product_avatar img,
body#product #dm_heureka_avatar{ display:none !important; }
body#product #item_heureka_product_review b,
body#product #item_heureka_product_review strong{ color:var(--ksp-ink); }
body#product #item_heureka_product_review{ color:var(--ksp-text); font-size:14.5px; line-height:1.6; }
body#product .dm_heureka_bottom_text_right{
  text-align:right !important; padding:6px 0 0 !important;
  font-size:12.5px; color:var(--ksp-muted);
}
body#product .dm_heureka_bottom_text_right a{ color:var(--ksp-muted) !important; text-decoration:underline; }
@media (max-width:575.98px){
  body#product .dm_heureka_first_column{ width:110px !important; }
  body#product #heureka-item-star{ width:18px !important; height:18px !important; }
}
