/* Zlato z Oliv – příznaky V12: pouze pozice hostitele.
   Samotné štítky jsou uzavřené ve Shadow DOM a jiné CSS je neovlivní. */
.products .product.zzo-v14-anchor,
.products-block .product.zzo-v14-anchor,
.products .p.zzo-v14-anchor,
.products-block .p.zzo-v14-anchor {
  position: relative !important;
}
html body zzo-badge-overlay.zzo-v14-card {
  position: absolute !important;
  display: block !important;
  z-index: 9 !important;
  width: max-content !important;
  max-width: 116px !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  pointer-events: none !important;
  isolation: isolate !important;
}
html body zzo-badge-overlay.zzo-v14-detail {
  display: block !important;
  position: static !important;
  max-width: 100% !important;
  margin: 12px 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
}
html body zzo-badge-overlay.zzo-v14-card::before,
html body zzo-badge-overlay.zzo-v14-card::after,
html body zzo-badge-overlay.zzo-v14-detail::before,
html body zzo-badge-overlay.zzo-v14-detail::after {
  content: none !important;
  display: none !important;
}
@media (max-width: 767px) {
  html body zzo-badge-overlay.zzo-v14-card { max-width: 64px !important; }
}

/* ============================================================
   V12 – výhradně mobilní oprava, desktop zůstává jako V8
   ============================================================ */
@media screen and (max-width: 767px) {
  /* Příznaky do levého volného prostoru, fotografie není měněna. */
  html body zzo-badge-overlay.zzo-v14-card {
    left: 7px !important;
    max-width: 64px !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  /* Pokud jsou cena a dostupnost ve stejném řádku, dáme je pod sebe. */
  .products .product .zzo-v14-price-stock-row,
  .products-block .product .zzo-v14-price-stock-row,
  .products .p .zzo-v14-price-stock-row,
  .products-block .p .zzo-v14-price-stock-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 4px !important;
    height: auto !important;
    min-height: 0 !important;
  }
  .zzo-v14-price-cell,
  .zzo-v14-stock-cell {
    display: block !important;
    position: static !important;
    float: none !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
  }

  /* Záloha pro běžné názvy Shoptet prvků i u jiných typů karet. */
  .products .product :is(.zzo-v14-price-text,.price-final,.p-final-price),
  .products-block .product :is(.zzo-v14-price-text,.price-final,.p-final-price),
  .products .p :is(.zzo-v14-price-text,.price-final,.p-final-price),
  .products-block .p :is(.zzo-v14-price-text,.price-final,.p-final-price) {
    white-space: nowrap !important;
    font-size: clamp(16px, 4.6vw, 21px) !important;
    line-height: 1.28 !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: normal !important;
    position: static !important;
  }
  .products .product :is(.zzo-v14-stock-text,.availability,.p-availability),
  .products-block .product :is(.zzo-v14-stock-text,.availability,.p-availability),
  .products .p :is(.zzo-v14-stock-text,.availability,.p-availability),
  .products-block .p :is(.zzo-v14-stock-text,.availability,.p-availability) {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    font-size: clamp(10px, 2.8vw, 12px) !important;
    line-height: 1.35 !important;
    max-width: 100% !important;
    min-width: 0 !important;
    position: static !important;
    text-align: left !important;
  }
}

/* V12 – záložní CSS pro známé kontejnery samostatného bloku Nejprodávanější.
   Ostatní produktové karty ani detail to neovlivňuje. */
.top-products zzo-badge-overlay.zzo-v14-card,
.top-products-wrapper zzo-badge-overlay.zzo-v14-card,
.products-top zzo-badge-overlay.zzo-v14-card,
.top-products-box zzo-badge-overlay.zzo-v14-card,
.category-top-products zzo-badge-overlay.zzo-v14-card,
.bestsellers zzo-badge-overlay.zzo-v14-card,
.best-sellers zzo-badge-overlay.zzo-v14-card,
.bestseller-products zzo-badge-overlay.zzo-v14-card,
[data-section="bestsellers"] zzo-badge-overlay.zzo-v14-card,
[data-section="top-products"] zzo-badge-overlay.zzo-v14-card {
  display: none !important;
}


/* ===========================================================
   V12 – cílená mobilní oprava skutečného kontejneru kartiček
   vytvořeného zzo-product-cards-final-v6.js:
     .zzo-price-stock > .zzo-price-box + .zzo-stock-box
   =========================================================== */
@media screen and (max-width: 767px) {
  html body .products .product .zzo-price-stock,
  html body .products-block .product .zzo-price-stock,
  html body .products .p .zzo-price-stock,
  html body .products-block .p .zzo-price-stock,
  html body .zzo-final-card .zzo-price-stock {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    grid-template-rows: auto auto !important;
    justify-content: stretch !important;
    align-items: start !important;
    gap: 3px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin-bottom: 10px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }
  html body .products .product .zzo-price-stock > .zzo-price-box,
  html body .products .product .zzo-price-stock > .zzo-stock-box,
  html body .products-block .product .zzo-price-stock > .zzo-price-box,
  html body .products-block .product .zzo-price-stock > .zzo-stock-box,
  html body .products .p .zzo-price-stock > .zzo-price-box,
  html body .products .p .zzo-price-stock > .zzo-stock-box,
  html body .products-block .p .zzo-price-stock > .zzo-price-box,
  html body .products-block .p .zzo-price-stock > .zzo-stock-box,
  html body .zzo-final-card .zzo-price-stock > .zzo-price-box,
  html body .zzo-final-card .zzo-price-stock > .zzo-stock-box {
    grid-column: 1 / -1 !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    float: none !important;
    align-self: start !important;
    text-align: left !important;
    box-sizing: border-box !important;
  }
  html body .zzo-final-card .zzo-price-stock .zzo-price-box :is(.prices,.price-final,.price),
  html body .zzo-final-card .zzo-price-stock .zzo-stock-box :is(.availability,.availability-label,.availability-amount),
  html body .products .product .zzo-price-stock .zzo-stock-box :is(.availability,.availability-label,.availability-amount),
  html body .products-block .product .zzo-price-stock .zzo-stock-box :is(.availability,.availability-label,.availability-amount) {
    position: static !important;
    float: none !important;
    display: inline !important;
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    text-align: left !important;
  }
  html body .products .product .zzo-price-stock .zzo-stock-box,
  html body .products-block .product .zzo-price-stock .zzo-stock-box,
  html body .zzo-final-card .zzo-price-stock .zzo-stock-box {
    font-size: 11px !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}

/* V14 – cena a dostupnost: přímá oprava dynamicky vytvořeného řádku. */
@media (max-width: 767px) {
  html body .products .product .zzo-price-stock,
  html body .products-block .product .zzo-price-stock,
  html body .products .p .zzo-price-stock,
  html body .products-block .p .zzo-price-stock,
  html body .zzo-final-card .zzo-price-stock {
    display: flex !important; flex-direction: column !important;
    align-items: stretch !important; justify-content: flex-start !important;
    gap: 4px !important; height: auto !important; min-height: 0 !important;
    overflow: visible !important; width: 100% !important;
  }
  html body .products .product .zzo-price-stock > *,
  html body .products-block .product .zzo-price-stock > *,
  html body .products .p .zzo-price-stock > *,
  html body .products-block .p .zzo-price-stock > *,
  html body .zzo-final-card .zzo-price-stock > * {
    display: block !important; flex: none !important; width: 100% !important;
    max-width: 100% !important; min-width: 0 !important;
    position: static !important; float: none !important;
    margin: 0 !important; padding: 0 !important; text-align: left !important;
  }
  html body .zzo-price-stock .zzo-stock-box,
  html body .zzo-price-stock .zzo-stock-box .availability {
    white-space: normal !important; overflow-wrap: anywhere !important;
    text-align: left !important; line-height: 1.35 !important;
  }
  html body .zzo-price-stock .zzo-price-box .price-final,
  html body .zzo-price-stock .zzo-price-box .price {
    white-space: nowrap !important; font-size: 19px !important;
  }
}

/* ============================================================
   V14 – JEDINÁ řada štítků: polyfenoly > acidita > BIO > sleva.
   Štítky jsou v jednom Shadow DOM (styly barev jsou v JS),
   takže se nikdy nepřekryjí navzájem.
   ============================================================ */
:is(.products,.products-block) :is(.product,.p).zzo-v14-sale-active .zzo-v14-sale-current,
:is(.products,.products-block) :is(.product,.p).zzo-v14-sale-active .zzo-v14-sale-current * {
  color: #b83229 !important;
}
:is(.products,.products-block) :is(.product,.p).zzo-v14-sale-active .zzo-v14-sale-before {
  color: #858585 !important;
  text-decoration: line-through !important;
}
:is(.products,.products-block) :is(.product,.p) .zzo-v14-native-percent-hidden,
:is(.products,.products-block) :is(.product,.p) .zzo-sale__native-hidden {
  display: none !important;
}
/* V14 nenastavuje žádné marginy ani řádky u cen, nic do ceny nevkládá. */
