/* Fonty (Fraunces, Inter, JetBrains Mono) sa načítavajú cez <link> v hlavičke webu,
   nie tu cez @import — kvôli rýchlosti. Viď snippet do "HTML kód v hlavičke". */
:root{--vivelum-ink:#1B1C1E;--vivelum-chalk:#EFE8DA;--vivelum-soft:#F8F5F1;--vivelum-oxblood:#6B2B2B;--vivelum-muted:#555555}
.type-product #description,.type-product .description-inner,.type-product .basic-description,.type-product .extended-description,.type-product .p-detail-tabs,.type-product .p-detail-tabs-wrapper,.type-product .p-detail-tabs-content,.type-product .tab-content{width:100%!important;max-width:none!important}
.type-product .vivelum-pdp{width:min(1180px,calc(100vw - 32px))!important;max-width:1180px!important;margin-left:50%!important;transform:translateX(-50%)!important;color:var(--vivelum-ink);font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.65;font-size:16px;overflow:visible}
.vivelum-pdp *{box-sizing:border-box}
.vivelum-section{padding:48px 16px}
.vivelum-section:first-child{padding-top:28px}
.vivelum-text{max-width:860px;margin-left:auto;margin-right:auto}
.vivelum-wide{max-width:1180px;margin-left:auto;margin-right:auto}
.vivelum-band{background:var(--vivelum-soft)}
.vivelum-kicker,.vivelum-card-label{margin:0 0 10px;font-size:11px;line-height:1.3;letter-spacing:.16em;text-transform:uppercase;color:var(--vivelum-oxblood);font-weight:700}
.vivelum-kicker-light{color:#D8A0A0}
.vivelum-pdp h2,.vivelum-pdp h3,.vivelum-pdp h4{font-family:Georgia,'Times New Roman',serif;color:var(--vivelum-ink);font-weight:400;margin:0 0 16px;letter-spacing:-.025em}
.vivelum-pdp h2{font-size:clamp(32px,4.4vw,54px);line-height:1.08}
.vivelum-pdp h3{font-size:clamp(26px,3vw,34px);line-height:1.18}
.vivelum-pdp h4{font-size:21px;line-height:1.3}
.vivelum-pdp p{margin:0 0 16px;color:#444}
.vivelum-pdp p:last-child{margin-bottom:0}
.vivelum-lead{font-size:19px;line-height:1.58;color:var(--vivelum-ink)!important}
.vivelum-grid{display:grid;gap:14px}
.vivelum-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.vivelum-card{background:#FFF;padding:26px 22px;border-radius:4px}
.vivelum-card-accent{background:var(--vivelum-soft);border-left:4px solid var(--vivelum-oxblood)}
.vivelum-benefit-card{border-top:4px solid var(--vivelum-oxblood)}
.vivelum-dose-box{background:var(--vivelum-soft);border-left:4px solid var(--vivelum-oxblood);padding:28px 26px}
.vivelum-dose-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:#FFF;border:1px solid rgba(27,28,30,.12)}
.vivelum-dose-grid div{padding:18px 16px;border-right:1px solid rgba(27,28,30,.12);border-bottom:1px solid rgba(27,28,30,.12)}
.vivelum-dose-grid div:nth-child(3n){border-right:0}
.vivelum-dose-grid div:nth-last-child(-n+3){border-bottom:0}
.vivelum-dose-grid span,.vivelum-params span{display:block;font-size:13px;color:#777;margin-bottom:4px}
.vivelum-dose-grid strong,.vivelum-params strong{display:block;font-size:17px;color:var(--vivelum-ink)}
.vivelum-hero{width:100%;max-width:1180px;margin:16px auto;background-color:var(--vivelum-ink);background-size:cover;background-position:center;text-align:center;padding:74px 24px}
.vivelum-hero-inner{max-width:700px;margin:0 auto}
.vivelum-hero h2{color:var(--vivelum-chalk)}
.vivelum-hero p{color:#D6CDC0;font-size:15px;line-height:1.8}
.vivelum-split{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:52px;align-items:center}
.vivelum-split-image img{width:100%;height:auto;display:block;border-radius:4px}
.vivelum-section-intro{max-width:760px;margin-bottom:30px}
.center{text-align:center;margin-left:auto;margin-right:auto}
.vivelum-dark-note{background:var(--vivelum-ink);color:var(--vivelum-chalk);padding:32px 28px;margin-top:30px}
.vivelum-dark-note h3{color:var(--vivelum-chalk)}
.vivelum-dark-note p{color:#D6CDC0}
.vivelum-params{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:#FFF;border:1px solid rgba(27,28,30,.12);margin:22px 0 10px}
.vivelum-params div{padding:16px 18px;border-right:1px solid rgba(27,28,30,.12);border-bottom:1px solid rgba(27,28,30,.12)}
.vivelum-params div:nth-child(2n){border-right:0}
.vivelum-params div:nth-last-child(-n+2){border-bottom:0}
.vivelum-small-note{font-size:12px;color:rgba(27,28,30,.65)!important;margin-bottom:28px!important}
.vivelum-faq{margin:18px 0 38px}
.vivelum-faq details{border-bottom:1px solid rgba(27,28,30,.16);padding:0;background:transparent}
.vivelum-faq summary{cursor:pointer;list-style:none;padding:20px 44px 20px 0;position:relative;font-family:Georgia,'Times New Roman',serif;font-size:18px;line-height:1.35;font-weight:600;color:var(--vivelum-ink)}
.vivelum-faq summary::-webkit-details-marker{display:none}
.vivelum-faq summary::after{content:"+";position:absolute;right:0;top:18px;width:28px;height:28px;border:1px solid rgba(27,28,30,.28);border-radius:50%;text-align:center;line-height:26px;font-family:Inter,Arial,Helvetica,sans-serif;font-size:18px;font-weight:400;color:var(--vivelum-ink)}
.vivelum-faq details[open] summary::after{content:"×";line-height:25px}
.vivelum-faq .faq-answer{padding:0 0 22px;max-width:760px;font-size:15px;line-height:1.7;color:rgba(27,28,30,.82)}
.vivelum-warning{background:var(--vivelum-soft);border-left:4px solid var(--vivelum-oxblood);padding:26px 24px}
.vivelum-warning p{font-size:14px;line-height:1.7;color:#555;margin-bottom:12px}
@media (max-width:991px){.vivelum-grid-3{grid-template-columns:1fr}.vivelum-dose-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vivelum-dose-grid div:nth-child(3n){border-right:1px solid rgba(27,28,30,.12)}.vivelum-dose-grid div:nth-child(2n){border-right:0}.vivelum-dose-grid div:nth-last-child(-n+3){border-bottom:1px solid rgba(27,28,30,.12)}.vivelum-dose-grid div:nth-last-child(-n+2){border-bottom:0}.vivelum-split{grid-template-columns:1fr;gap:28px}.vivelum-split-image{max-width:520px;margin:0 auto;width:100%}}
@media (max-width:767px){.type-product .vivelum-pdp{width:calc(100vw - 32px)!important;margin-left:50%!important;transform:translateX(-50%)!important;font-size:15px}.vivelum-section{padding:38px 0}.vivelum-section:first-child{padding-top:24px}.vivelum-pdp h2{font-size:32px;line-height:1.12}.vivelum-pdp h3{font-size:26px;line-height:1.18}.vivelum-pdp h4{font-size:20px}.vivelum-lead{font-size:17px;line-height:1.6}.vivelum-card,.vivelum-dose-box,.vivelum-dark-note,.vivelum-warning{padding:22px 18px}.vivelum-hero{padding:56px 20px;margin:8px auto}.vivelum-hero p{font-size:15px;line-height:1.75}.vivelum-dose-grid,.vivelum-params{grid-template-columns:1fr}.vivelum-dose-grid div,.vivelum-params div{border-right:0!important;border-bottom:1px solid rgba(27,28,30,.12)!important}.vivelum-dose-grid div:last-child,.vivelum-params div:last-child{border-bottom:0!important}.vivelum-split{display:flex;flex-direction:column;gap:24px}.vivelum-split-content{order:1}.vivelum-split-image{order:2;max-width:100%}.vivelum-faq summary{font-size:17px;padding-right:40px}}

/* Vivelum: globálne farby pre produktové štítky a zľavový box */
:root{
  --vivelum-petrol:#1E4A4D;
  --vivelum-petrol-hover:#16383A;
  --vivelum-oxblood-hover:#552222;
}

/* Zľavový percentuálny štítok na produktových kartách */
body .flag-discount,
body .flag.flag-discount,
body .flags .flag-discount,
body .flags-extra .flag-discount,
body .product .flag-discount,
body .product-top .flag-discount,
body .product .flags-extra .flag-discount,
body .products .flag-discount,
body .products-block .flag-discount,
body .p .flag-discount,
body .p-in .flag-discount,
body .p-image-wrapper .flag-discount,
body .product .discount,
body .products .discount {
  background:#8A732B!important;
  background-color:#8A732B!important;
  color:#FFFFFF!important;
  border-color:#8A732B!important;
  box-shadow:none!important;
  border-radius:4px!important;
}

/* Texty v zľavovom štítku vrátane pôvodnej ceny a percent */
body .flag-discount *,
body .flag.flag-discount *,
body .flags .flag-discount *,
body .flags-extra .flag-discount *,
body .product .flag-discount *,
body .product-top .flag-discount *,
body .products .flag-discount *,
body .products-block .flag-discount *,
body .p .flag-discount *,
body .p-in .flag-discount *,
body .p-image-wrapper .flag-discount *,
body .product .discount *,
body .products .discount * {
  color:#FFFFFF!important;
  border-color:#FFFFFF!important;
}

/* Preškrtnutá pôvodná cena v zľavovom štítku */
body .flag-discount .price-standard,
body .flag.flag-discount .price-standard,
body .flags-extra .flag-discount .price-standard,
body .flag-discount .price-save,
body .flag-discount del,
body .flag-discount s {
  color:#FFFFFF!important;
  opacity:.82!important;
  text-decoration-color:#FFFFFF!important;
}

/* Pseudo-elementy, ak ich šablóna používa pri zľavovom boxe */
body .flag-discount::before,
body .flag-discount::after,
body .flag.flag-discount::before,
body .flag.flag-discount::after,
body .flags-extra .flag-discount::before,
body .flags-extra .flag-discount::after {
  background:#8A732B!important;
  background-color:#8A732B!important;
  border-color:#8A732B!important;
}

/* Novinka v brandovej petrol farbe */
body .flag-new,
body .flag.flag-new,
body .flags .flag-new,
body .flags-extra .flag-new {
  background:#1E4A4D!important;
  background-color:#1E4A4D!important;
  color:#EFE8DA!important;
  border-color:#1E4A4D!important;
  box-shadow:none!important;
  border-radius:4px!important;
}

body .flag-new *,
body .flag.flag-new *,
body .flags .flag-new *,
body .flags-extra .flag-new * {
  color:#EFE8DA!important;
}

/* Akcia v Oxblood farbe */
body .flag-action,
body .flag.flag-action,
body .flags .flag-action,
body .flags-extra .flag-action,
body .flag-sale,
body .flag.flag-sale,
body .flags .flag-sale,
body .flags-extra .flag-sale {
  background:#6B2B2B!important;
  background-color:#6B2B2B!important;
  color:#EFE8DA!important;
  border-color:#6B2B2B!important;
  box-shadow:none!important;
  border-radius:4px!important;
}

body .flag-action *,
body .flag.flag-action *,
body .flags .flag-action *,
body .flags-extra .flag-action *,
body .flag-sale *,
body .flag.flag-sale *,
body .flags .flag-sale *,
body .flags-extra .flag-sale * {
  color:#EFE8DA!important;
}

/* CTA a odkazy na produktových kartách v Petrol farbe */
body .product .btn,
body .products .btn,
body .product .btn-primary,
body .products .btn-primary,
body .product .p-tools a,
body .products .p-tools a,
body .product .p-tools button,
body .products .p-tools button {
  color:#1E4A4D!important;
  border-color:#1E4A4D!important;
}

body .product .btn:hover,
body .products .btn:hover,
body .product .btn-primary:hover,
body .products .btn-primary:hover,
body .product .p-tools a:hover,
body .products .p-tools a:hover,
body .product .p-tools button:hover,
body .products .p-tools button:hover {
  color:#16383A!important;
  border-color:#16383A!important;
}

/* Skladom v pokojnejšej brandovej farbe */
body .availability,
body .availability-amount,
body .availability-value,
body .p .availability,
body .product .availability,
body .products .availability {
  color:#1E4A4D!important;
}


/* Vivelum fix v3: prepísanie zeleného percentuálneho zľavového štítku */
body .flags-extra,
body .p .flags-extra,
body .product .flags-extra,
body .products .flags-extra,
body .products-block .flags-extra,
body .product-top .flags-extra,
body .p-image-wrapper .flags-extra {
  background:transparent!important;
  box-shadow:none!important;
}

body .flags-extra .flag,
body .flags-extra [class*="flag"],
body .flags-extra [class*="discount"],
body .flags-extra [class*="Discount"],
body .flags-extra [class*="percent"],
body .flags-extra [class*="Percent"],
body .flags-extra [class*="saving"],
body .flags-extra [class*="Saving"],
body .flags-extra [class*="save"],
body .flags-extra [class*="Save"],
body .flags-extra .price-standard,
body .flags-extra .price-save,
body .p .flags-extra .flag,
body .p .flags-extra [class*="flag"],
body .p .flags-extra [class*="discount"],
body .p .flags-extra [class*="percent"],
body .p .flags-extra [class*="save"],
body .p .flags-extra .price-standard,
body .p .flags-extra .price-save,
body .product .flags-extra .flag,
body .product .flags-extra [class*="flag"],
body .product .flags-extra [class*="discount"],
body .product .flags-extra [class*="percent"],
body .product .flags-extra [class*="save"],
body .product .flags-extra .price-standard,
body .product .flags-extra .price-save,
body .products .flags-extra .flag,
body .products .flags-extra [class*="flag"],
body .products .flags-extra [class*="discount"],
body .products .flags-extra [class*="percent"],
body .products .flags-extra [class*="save"],
body .products .flags-extra .price-standard,
body .products .flags-extra .price-save {
  background:#6B2B2B!important;
  background-color:#6B2B2B!important;
  color:#EFE8DA!important;
  border-color:#6B2B2B!important;
  box-shadow:none!important;
  text-shadow:none!important;
}

body .flags-extra *,
body .p .flags-extra *,
body .product .flags-extra *,
body .products .flags-extra *,
body .products-block .flags-extra * {
  color:#EFE8DA!important;
  text-shadow:none!important;
}

body .flags-extra .flag,
body .flags-extra [class*="flag"],
body .flags-extra [class*="discount"],
body .flags-extra [class*="percent"],
body .flags-extra [class*="save"] {
  border-radius:4px!important;
}

body .flags-extra .price-standard,
body .flags-extra del,
body .flags-extra s,
body .flags-extra [class*="old"],
body .flags-extra [class*="Old"] {
  color:#EFE8DA!important;
  opacity:.82!important;
  text-decoration-color:#EFE8DA!important;
}

/* Vivelum fix v4: presny selector pre Shoptet zlavu v produktovej karte
   HTML struktura: .flags.flags-extra > .flag.flag-discount > .price-standard + .price-save */
html body.template-11 .products.products-block .product .p a.image .flags.flags-extra > span.flag.flag-discount,
html body.template-11 .products.products-block .product .p a.image .flags.flags-extra > .flag.flag-discount,
html body.template-11 .products .product .p a.image .flags.flags-extra > span.flag.flag-discount,
html body.template-11 .products .product .p a.image .flags.flags-extra > .flag.flag-discount,
html body.template-11 #products-3.products.products-block .product .p a.image .flags.flags-extra > span.flag.flag-discount {
  background: #8A732B !important;
  background-color: #8A732B !important;
  background-image: none !important;
  color: #FFFFFF !important;
  border: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  border-radius: 4px !important;
}

/* Vnutorne riadky ceny nesmu mat vlastne pozadie, inak vznikne pruh cez stitok */
html body.template-11 .products.products-block .product .p a.image .flags.flags-extra > span.flag.flag-discount > span,
html body.template-11 .products.products-block .product .p a.image .flags.flags-extra > span.flag.flag-discount > span > span,
html body.template-11 .products .product .p a.image .flags.flags-extra > span.flag.flag-discount > span,
html body.template-11 .products .product .p a.image .flags.flags-extra > span.flag.flag-discount > span > span,
html body.template-11 #products-3.products.products-block .product .p a.image .flags.flags-extra > span.flag.flag-discount > span,
html body.template-11 #products-3.products.products-block .product .p a.image .flags.flags-extra > span.flag.flag-discount > span > span {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #FFFFFF !important;
  border-color: transparent !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

html body.template-11 .products.products-block .product .p a.image .flags.flags-extra > span.flag.flag-discount .price-standard,
html body.template-11 .products.products-block .product .p a.image .flags.flags-extra > span.flag.flag-discount .price-standard span,
html body.template-11 .products.products-block .product .p a.image .flags.flags-extra > span.flag.flag-discount .price-save,
html body.template-11 .products .product .p a.image .flags.flags-extra > span.flag.flag-discount .price-standard,
html body.template-11 .products .product .p a.image .flags.flags-extra > span.flag.flag-discount .price-standard span,
html body.template-11 .products .product .p a.image .flags.flags-extra > span.flag.flag-discount .price-save {
  color: #FFFFFF !important;
  text-decoration-color: #FFFFFF !important;
}

html body.template-11 .products.products-block .product .p a.image .flags.flags-extra > span.flag.flag-discount .price-standard,
html body.template-11 .products .product .p a.image .flags.flags-extra > span.flag.flag-discount .price-standard {
  opacity: .82 !important;
}

/* Inline zelena farba pri dostupnosti */
html body.template-11 .products .product .availability span,
html body.template-11 .products.products-block .product .availability span {
  color: #1E4A4D !important;
}

/* Vivelum fix v5: globalny zlavovy ribbon na celom webe
   Cieli na Shoptet strukturu: .flags.flags-extra > .flag.flag-discount */
html body.template-11 .flags.flags-extra > span.flag.flag-discount,
html body.template-11 .flags.flags-extra > .flag.flag-discount,
html body.template-11 .flags-extra > span.flag-discount,
html body.template-11 .flags-extra > .flag-discount,
html body.template-11 span.flag.flag-discount,
html body.template-11 .flag.flag-discount {
  background: #8A732B !important;
  background-color: #8A732B !important;
  background-image: none !important;
  color: #FFFFFF !important;
  border: 0 !important;
  border-color: #8A732B !important;
  box-shadow: none !important;
  text-shadow: none !important;
  border-radius: 4px !important;
}

html body.template-11 .flags.flags-extra > span.flag.flag-discount::before,
html body.template-11 .flags.flags-extra > span.flag.flag-discount::after,
html body.template-11 .flags.flags-extra > .flag.flag-discount::before,
html body.template-11 .flags.flags-extra > .flag.flag-discount::after,
html body.template-11 span.flag.flag-discount::before,
html body.template-11 span.flag.flag-discount::after,
html body.template-11 .flag.flag-discount::before,
html body.template-11 .flag.flag-discount::after {
  background: #8A732B !important;
  background-color: #8A732B !important;
  background-image: none !important;
  border-color: #8A732B !important;
  box-shadow: none !important;
}

html body.template-11 .flags.flags-extra > span.flag.flag-discount > span,
html body.template-11 .flags.flags-extra > span.flag.flag-discount > span > span,
html body.template-11 .flags.flags-extra > .flag.flag-discount > span,
html body.template-11 .flags.flags-extra > .flag.flag-discount > span > span,
html body.template-11 span.flag.flag-discount > span,
html body.template-11 span.flag.flag-discount > span > span,
html body.template-11 .flag.flag-discount > span,
html body.template-11 .flag.flag-discount > span > span {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #FFFFFF !important;
  border-color: transparent !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

html body.template-11 .flag.flag-discount .price-standard,
html body.template-11 .flag.flag-discount .price-standard span,
html body.template-11 .flag.flag-discount .price-save,
html body.template-11 .flags.flags-extra .flag.flag-discount .price-standard,
html body.template-11 .flags.flags-extra .flag.flag-discount .price-standard span,
html body.template-11 .flags.flags-extra .flag.flag-discount .price-save {
  color: #FFFFFF !important;
  text-decoration-color: #FFFFFF !important;
}

html body.template-11 .flag.flag-discount .price-standard,
html body.template-11 .flags.flags-extra .flag.flag-discount .price-standard {
  opacity: .82 !important;
}

/* Vivelum fix v6: vyssi kontrast ribbonov globalne */
html body.template-11 .flags .flag,
html body.template-11 .flags .flag *,
html body.template-11 .flags-default .flag,
html body.template-11 .flags-default .flag *,
html body.template-11 .flags-extra .flag,
html body.template-11 .flags-extra .flag * {
  color: #FFFFFF !important;
  text-shadow: none !important;
}

/* Novinka */
html body.template-11 .flag.flag-new,
html body.template-11 .flags .flag.flag-new,
html body.template-11 .flags-default .flag.flag-new,
html body.template-11 .flags-extra .flag.flag-new,
html body.template-11 span.flag.flag-new {
  background: #1E4A4D !important;
  background-color: #1E4A4D !important;
  background-image: none !important;
  color: #FFFFFF !important;
  border-color: #1E4A4D !important;
}

/* Akcia */
html body.template-11 .flag.flag-action,
html body.template-11 .flags .flag.flag-action,
html body.template-11 .flags-default .flag.flag-action,
html body.template-11 .flags-extra .flag.flag-action,
html body.template-11 .flag.flag-sale,
html body.template-11 .flags .flag.flag-sale,
html body.template-11 span.flag.flag-action,
html body.template-11 span.flag.flag-sale {
  background: #6B2B2B !important;
  background-color: #6B2B2B !important;
  background-image: none !important;
  color: #FFFFFF !important;
  border-color: #6B2B2B !important;
}

/* Zlava percenta */
html body.template-11 .flag.flag-discount,
html body.template-11 span.flag.flag-discount,
html body.template-11 .flags-extra > .flag.flag-discount,
html body.template-11 .flags-extra > span.flag.flag-discount,
html body.template-11 .flags.flags-extra > .flag.flag-discount,
html body.template-11 .flags.flags-extra > span.flag.flag-discount {
  background: #8A732B !important;
  background-color: #8A732B !important;
  background-image: none !important;
  color: #FFFFFF !important;
  border-color: #8A732B !important;
}

html body.template-11 .flag.flag-discount *,
html body.template-11 span.flag.flag-discount *,
html body.template-11 .flags-extra .flag.flag-discount *,
html body.template-11 .flags.flags-extra .flag.flag-discount * {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #FFFFFF !important;
  border-color: transparent !important;
  text-shadow: none !important;
}

html body.template-11 .flag.flag-discount .price-standard,
html body.template-11 .flag.flag-discount .price-standard span,
html body.template-11 .flag.flag-discount .price-save,
html body.template-11 .flags-extra .flag.flag-discount .price-standard,
html body.template-11 .flags-extra .flag.flag-discount .price-standard span,
html body.template-11 .flags-extra .flag.flag-discount .price-save {
  color: #FFFFFF !important;
  text-decoration-color: #FFFFFF !important;
}

html body.template-11 .flag.flag-discount .price-standard,
html body.template-11 .flags-extra .flag.flag-discount .price-standard {
  opacity: .9 !important;
}

html body.template-11 .flag.flag-new::before,
html body.template-11 .flag.flag-new::after {
  background: #1E4A4D !important;
  background-color: #1E4A4D !important;
  border-color: #1E4A4D !important;
}

html body.template-11 .flag.flag-action::before,
html body.template-11 .flag.flag-action::after,
html body.template-11 .flag.flag-sale::before,
html body.template-11 .flag.flag-sale::after,
html body.template-11 .flag.flag-discount::before,
html body.template-11 .flag.flag-discount::after {
  background: #8A732B !important;
  background-color: #8A732B !important;
  border-color: #8A732B !important;
}

/* Vivelum fix v7: maximalny kontrast textu v zlavovom ribbone */
html body .flags.flags-extra .flag.flag-discount,
html body .flags-extra .flag.flag-discount,
html body span.flag.flag-discount,
html body .flag.flag-discount {
  background: #8A732B !important;
  background-color: #8A732B !important;
  background-image: none !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  opacity: 1 !important;
  filter: none !important;
  text-shadow: none !important;
}

html body .flags.flags-extra .flag.flag-discount *,
html body .flags-extra .flag.flag-discount *,
html body span.flag.flag-discount *,
html body .flag.flag-discount * {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  opacity: 1 !important;
  filter: none !important;
  text-shadow: none !important;
}

html body .flags.flags-extra .flag.flag-discount .price-standard,
html body .flags.flags-extra .flag.flag-discount .price-standard span,
html body .flags.flags-extra .flag.flag-discount .price-save,
html body .flags-extra .flag.flag-discount .price-standard,
html body .flags-extra .flag.flag-discount .price-standard span,
html body .flags-extra .flag.flag-discount .price-save,
html body .flag.flag-discount .price-standard,
html body .flag.flag-discount .price-standard span,
html body .flag.flag-discount .price-save {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  opacity: 1 !important;
  text-decoration-color: #FFFFFF !important;
  text-shadow: none !important;
}

html body .flag.flag-discount .price-standard,
html body .flags-extra .flag.flag-discount .price-standard {
  opacity: 1 !important;
}

/* Vivelum fix v8: zlavovy ribbon vo farbe Vitamin D / dark Ember */
html body .flags.flags-extra .flag.flag-discount,
html body .flags-extra .flag.flag-discount,
html body span.flag.flag-discount,
html body .flag.flag-discount {
  background: #8A732B !important;
  background-color: #8A732B !important;
  background-image: none !important;
  border-color: #8A732B !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  opacity: 1 !important;
  filter: none !important;
  text-shadow: none !important;
}

html body .flag.flag-discount::before,
html body .flag.flag-discount::after,
html body .flags-extra .flag.flag-discount::before,
html body .flags-extra .flag.flag-discount::after,
html body .flags.flags-extra .flag.flag-discount::before,
html body .flags.flags-extra .flag.flag-discount::after {
  background: #8A732B !important;
  background-color: #8A732B !important;
  border-color: #8A732B !important;
}

html body .flags.flags-extra .flag.flag-discount *,
html body .flags-extra .flag.flag-discount *,
html body span.flag.flag-discount *,
html body .flag.flag-discount * {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  opacity: 1 !important;
  filter: none !important;
  text-shadow: none !important;
}

html body .flags.flags-extra .flag.flag-discount .price-standard,
html body .flags.flags-extra .flag.flag-discount .price-standard span,
html body .flags.flags-extra .flag.flag-discount .price-save,
html body .flags-extra .flag.flag-discount .price-standard,
html body .flags-extra .flag.flag-discount .price-standard span,
html body .flags-extra .flag.flag-discount .price-save,
html body .flag.flag-discount .price-standard,
html body .flag.flag-discount .price-standard span,
html body .flag.flag-discount .price-save {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  opacity: 1 !important;
  text-decoration-color: #FFFFFF !important;
  text-shadow: none !important;
}

/* Vivelum fix v9: FORCE discount ribbon to dark Ember globally */
html body .overall-wrapper .flag.flag-discount,
html body .overall-wrapper .flags .flag.flag-discount,
html body .overall-wrapper .flags-extra .flag.flag-discount,
html body .overall-wrapper .flags.flags-extra .flag.flag-discount,
html body.template-11 .overall-wrapper .flag.flag-discount,
html body.template-11 .overall-wrapper .flags-extra > .flag.flag-discount,
html body.template-11 .products .product .image .flags-extra > .flag.flag-discount,
html body.template-11 .products-block .product .image .flags-extra > .flag.flag-discount,
html body.template-11 .product-top .image .flags-extra > .flag.flag-discount,
html body.template-11 .p-image .flags-extra > .flag.flag-discount,
html body.template-11 .p-image-wrapper .flags-extra > .flag.flag-discount,
html body.template-11 .p-detail .flags-extra > .flag.flag-discount {
  background: #8A732B !important;
  background-color: #8A732B !important;
  background-image: none !important;
  border-color: #8A732B !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  box-shadow: none !important;
  text-shadow: none !important;
  opacity: 1 !important;
  filter: none !important;
}

html body .overall-wrapper .flag.flag-discount::before,
html body .overall-wrapper .flag.flag-discount::after,
html body .overall-wrapper .flags-extra .flag.flag-discount::before,
html body .overall-wrapper .flags-extra .flag.flag-discount::after,
html body.template-11 .products .product .image .flags-extra > .flag.flag-discount::before,
html body.template-11 .products .product .image .flags-extra > .flag.flag-discount::after,
html body.template-11 .product-top .image .flags-extra > .flag.flag-discount::before,
html body.template-11 .product-top .image .flags-extra > .flag.flag-discount::after,
html body.template-11 .p-image .flags-extra > .flag.flag-discount::before,
html body.template-11 .p-image .flags-extra > .flag.flag-discount::after {
  background: #8A732B !important;
  background-color: #8A732B !important;
  border-color: #8A732B !important;
}

html body .overall-wrapper .flag.flag-discount *,
html body .overall-wrapper .flags-extra .flag.flag-discount *,
html body.template-11 .products .product .image .flags-extra > .flag.flag-discount *,
html body.template-11 .products-block .product .image .flags-extra > .flag.flag-discount *,
html body.template-11 .product-top .image .flags-extra > .flag.flag-discount *,
html body.template-11 .p-image .flags-extra > .flag.flag-discount *,
html body.template-11 .p-image-wrapper .flags-extra > .flag.flag-discount *,
html body.template-11 .p-detail .flags-extra > .flag.flag-discount * {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  text-decoration-color: #FFFFFF !important;
  text-shadow: none !important;
  opacity: 1 !important;
  filter: none !important;
}

html body .overall-wrapper .flag.flag-discount .price-standard,
html body .overall-wrapper .flag.flag-discount .price-standard span,
html body .overall-wrapper .flag.flag-discount .price-save,
html body .overall-wrapper .flags-extra .flag.flag-discount .price-standard,
html body .overall-wrapper .flags-extra .flag.flag-discount .price-standard span,
html body .overall-wrapper .flags-extra .flag.flag-discount .price-save {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  text-decoration-color: #FFFFFF !important;
  opacity: 1 !important;
}


/* Vivelum final fix: discount ribbon percentage color */
html body .flag.flag-discount,
html body span.flag.flag-discount,
html body .flags-extra .flag.flag-discount,
html body .flags.flags-extra .flag.flag-discount,
html body .products .flag.flag-discount,
html body .products-block .flag.flag-discount,
html body .product-top .flag.flag-discount {
  background: #8A732B !important;
  background-color: #8A732B !important;
  background-image: none !important;
  border-color: #8A732B !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

html body .flag.flag-discount::before,
html body .flag.flag-discount::after,
html body .flags-extra .flag.flag-discount::before,
html body .flags-extra .flag.flag-discount::after {
  background: #8A732B !important;
  background-color: #8A732B !important;
  border-color: #8A732B !important;
}

html body .flag.flag-discount *,
html body .flags-extra .flag.flag-discount *,
html body .flags.flags-extra .flag.flag-discount * {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  text-decoration-color: #FFFFFF !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

/* Vivelum set: benefit boxy v sekcii "Menej rozhodovania, viac jasnosti" — texty zarovnane nalavo.
   POZOR: skutocnou pricinou "vycentrovania" nadpisov NEBOL text-align (ten je uz left), ale
   temove pravidlo, ktore dava kazdemu h4 "padding-left:40px" (rezerva pre dekorativny ::after,
   ktory sa tu ani nezobrazuje). To odsadzovalo nadpisy o 40px doprava oproti labelu a odseku.
   Preto nizsie nulujeme padding a dekorativne pseudo-prvky na h4. Specificita je zamerne zvysena
   (retazec obsahuje #description aj .type-product), aby pravidlo prebilo temu. */
html body .vivelum-pdp.vivelum-product-set .vivelum-band .vivelum-card.vivelum-benefit-card,
html body .type-product .vivelum-pdp.vivelum-product-set .vivelum-band .vivelum-card.vivelum-benefit-card,
html body #description .vivelum-pdp.vivelum-product-set .vivelum-band .vivelum-card.vivelum-benefit-card {
  display: block !important;
  text-align: left !important;
}

html body .vivelum-pdp.vivelum-product-set .vivelum-band .vivelum-card.vivelum-benefit-card *,
html body .type-product .vivelum-pdp.vivelum-product-set .vivelum-band .vivelum-card.vivelum-benefit-card *,
html body #description .vivelum-pdp.vivelum-product-set .vivelum-band .vivelum-card.vivelum-benefit-card * {
  text-align: left !important;
}

/* Nadpis h4: vynulovat lave odsadenie z temy (padding-left:40px) — TOTO je vlastna oprava zarovnania */
html body #description .vivelum-pdp.vivelum-product-set .vivelum-band .vivelum-card.vivelum-benefit-card .vivelum-card-label,
html body #description .vivelum-pdp.vivelum-product-set .vivelum-band .vivelum-card.vivelum-benefit-card h4,
html body #description .vivelum-pdp.vivelum-product-set .vivelum-band .vivelum-card.vivelum-benefit-card p,
html body .type-product #description .vivelum-pdp.vivelum-product-set .vivelum-band .vivelum-card.vivelum-benefit-card h4 {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-indent: 0 !important;
  text-align: left !important;
}

/* Skryt dekorativny ::before/::after (accent bar) na nadpisoch v boxoch, nech nevznika medzera */
html body #description .vivelum-pdp.vivelum-product-set .vivelum-band .vivelum-card.vivelum-benefit-card h4::before,
html body #description .vivelum-pdp.vivelum-product-set .vivelum-band .vivelum-card.vivelum-benefit-card h4::after,
html body .type-product #description .vivelum-pdp.vivelum-product-set .vivelum-band .vivelum-card.vivelum-benefit-card h4::before,
html body .type-product #description .vivelum-pdp.vivelum-product-set .vivelum-band .vivelum-card.vivelum-benefit-card h4::after {
  display: none !important;
  content: none !important;
}

/* ============================================================================
   Hlavny banner (carousel) na mobile: pomer stran 4:5 namiesto povodneho ~1:1.
   Tema drzi vysku pevnym min-height:380px na .item a .item img (obrazok 16:9 sa
   cez object-fit:cover oreze do stvorca). Namiesto pevnej vysky pouzivame
   aspect-ratio:4/5 na obrazku a vsetko ostatne necharme height:auto, aby to
   responzivne skalovalo so sirkou. Text (.extended-banner-texts) je uz
   position:absolute cez cely box, takze sa prisposobi automaticky.
   Cielime len na homepage (body.type-index #carousel) a len na telefony
   (max-width:600px), aby sa nezmenil desktop ani ostatne banery.
   ============================================================================ */
@media (max-width: 600px) {
  html body.type-index #carousel,
  html body.type-index #carousel .carousel-inner,
  html body.type-index #carousel .item,
  html body.type-index #carousel .item.active,
  html body.type-index #carousel .item > a {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  html body.type-index #carousel .item > a {
    display: block !important;
  }

  html body.type-index #carousel .item img,
  html body.type-index #carousel .item > a > img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-width: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 4 / 5 !important;
    object-fit: cover !important;
    object-position: 50% 50% !important;
  }
}

/* ============================================================================
   VIVELUM TYPOGRAFICKÝ SYSTÉM — jednotné fonty na celom webe
   Fonty sa načítavajú cez @import na 1. riadku súboru (Google Fonts, zadarmo).
     • Fraunces        → logo, názvy produktov, veľké nadpisy (editorialový charakter)
     • Inter           → bežný text, microcopy, e-shop texty (čitateľná vrstva)
     • JetBrains Mono  → čísla, ceny, dávky, batch, SKU (dátová presnosť)
   Používame html body ... !important, aby pravidlá prebili tému template-11.
   ============================================================================ */

:root{
  --vivelum-font-serif:'Fraunces',Georgia,'Times New Roman',serif;
  --vivelum-font-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,Helvetica,sans-serif;
  --vivelum-font-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

/* ---- 1) ZÁKLADNÁ VRSTVA: Inter na celý web (text, microcopy, formuláre) ----
   POZOR: Inter dávame len na <body> (font-family sa DEDÍ, takže ho zdedí všetok
   text) + na formulárové prvky, ktoré dedičnosť nepreberajú. NEDÁVAME Inter na
   span/a/div — to by s !important zablokovalo dedenie Fraunces/Mono do vnorených
   <span> (názov produktu aj banner titul sú <span>, preto predtým ostali Inter). */
html body,
html body input,
html body select,
html body textarea,
html body button,
html body optgroup,
html body .btn {
  font-family: var(--vivelum-font-sans) !important;
}

/* ---- 2) FRAUNCES: logo, názvy produktov, nadpisy ---- */
html body #logo,
html body #logo a,
html body .logo,
html body .logo a,
html body .header-logo,
html body .header-logo a,
html body h1,
html body h2,
html body h3,
html body h4,
html body .p-name,
html body .p-name a,
html body .product-name,
html body .products .product .name,
html body .p-detail .p-title,
html body .p-detail-inner h1,
html body .main-header h1,
html body .base-heading,
html body .heading-underline,
html body .category-title,
html body .content-header h1 {
  font-family: var(--vivelum-font-serif) !important;
  letter-spacing: -0.02em;
}

/* Prebitie starších PDP nadpisov (mali natvrdo Georgia) na Fraunces */
html body .vivelum-pdp h2,
html body .vivelum-pdp h3,
html body .vivelum-pdp h4,
html body .vivelum-faq summary,
html body #description .vivelum-pdp .vivelum-card-label {
  font-family: var(--vivelum-font-serif) !important;
}

/* Banner na homepage (rozšírený banner) — titul je <span class="extended-banner-title">.
   Perex .extended-banner-perex zámerne NEcielime, ostáva v Inter (bežný text). */
html body .extended-banner-title,
html body .extended-banner-texts .extended-banner-title,
html body #carousel .extended-banner-title {
  font-family: var(--vivelum-font-serif) !important;
}

/* Názvy produktov v listingu aj detaile — trieda je .name (text býva vo <span>). */
html body .products .product .name,
html body .products .product a.name,
html body .product a.name,
html body a.name,
html body .p-name,
html body .p-name a,
html body .products .product .name span,
html body .product a.name span,
html body .p-name span {
  font-family: var(--vivelum-font-serif) !important;
}

/* ---- 3) JETBRAINS MONO: čísla, ceny, dávky, batch, SKU ---- */
html body .price,
html body .price-final,
html body .price-final-holder,
html body .p-price,
html body .pd-price,
html body .prices,
html body .price-standard,
html body .price-save,
html body .price-additional,
html body .p-code,
html body .p-code-value,
html body .code,
html body .product-code,
html body [data-micro-code],
html body .availability-amount,
html body .availability-value,
html body .amount,
html body .count,
html body .vivelum-dose-grid strong,
html body .vivelum-params strong,
html body .vivelum-mono,
html body .vivelum-sku,
html body .vivelum-batch {
  font-family: var(--vivelum-font-mono) !important;
  font-feature-settings: "tnum" 1;   /* tabuľkové číslice — čísla sú zarovnané */
  letter-spacing: 0;
}

/* Ceny v zľavovom ribbone tiež v mono, ale zachovaj bielu farbu z fix v7–v9 */
html body .flag.flag-discount .price-standard,
html body .flag.flag-discount .price-save,
html body .flags-extra .flag.flag-discount .price-standard,
html body .flags-extra .flag.flag-discount .price-save {
  font-family: var(--vivelum-font-mono) !important;
}

/* ============================================================================
   VIVELUM: dekoratívna čiarka pod nadpismi vo farbách trikolóry z loga.
   Téma `nefrit` kreslí akcent ako pseudo-element (::after, v pätičke ::before)
   s pozadím petrol #1E4A4D. Prepíšeme ho na 3-farebný gradient (oxblood → petrol
   → zlatá), presne v pomere 1/3 : 1/3 : 1/3 ako podčiarknutie v logu.
   POZOR: tú istú petrol farbu téma používa aj na zaškrtávacie políčka, radio
   buttony, krokovník v košíku a cenový slider — tie ZÁMERNE NEcielime, nech
   ostanú jednofarebné (trikolórová „fajočka" by vyzerala rozbito). */
html body .h4::after,
html body .content h4::after,
html body .category-title::after,
html body h1::after,
html body .p-detail-inner h1::after,
html body article h1::after,
html body h4.homepage-group-title::after,
html body .h4.homepage-group-title::after,
html body .homepage-group-title::after,
html body .extended-banner-title::after,
html body #carousel .carousel-slide-caption h2::before,
html body .welcome-wrapper h1::before,
html body footer h4::before,
html body footer h3::before,
html body .products-related-header::after,
html body .latest-contribution-wrapper h2::before {
  background: linear-gradient(90deg,
    #6B2B2B 0 33.333%,
    #1E4A4D 33.333% 66.666%,
    #B0953D 66.666% 100%) !important;
  background-color: transparent !important;
  border: 0 !important;
}

/* ============================================================================
   VIVELUM PDP v5 (2026-07-14) — tri nové komponenty:
     1) .vivelum-stats    — farebný blok s presahujúcou fotkou produktu
     2) .vivelum-short    — krátky popis pri cene (odrážky + pilulka)
     3) .vivelum-audience — sekcia „Pre koho" ako riadky na celú šírku
   Vzory: ostrovit.sk (.cm__stats) a matchaday.sk (.ikonka / .ikonka_baleni).
   ============================================================================ */

/* Ember doteraz existovala len natvrdo v trikolórovom gradiente vyššie. */
:root{
  --vivelum-ember:#B0953D;
}

/* ============================================================================
   1) FAREBNÝ BLOK S FOTKOU PRODUKTU
   Trik: fotka vylieza von z bloku cez záporný margin; blok si na to rezervuje
   miesto vlastným margin-top. Vyžaduje ŠTVORCOVÉ PNG S ALFA KANÁLOM —
   na JPG s bielym pozadím to vyzerá ako nálepka.
   .vivelum-pdp už má overflow:visible, takže presah nie je orezaný.
   Farbu prepína trieda produktu na .vivelum-pdp — HTML bloku je vždy rovnaké.
   ============================================================================ */
.vivelum-stats{
  --vs-bg:var(--vivelum-ink);
  --vs-value:var(--vivelum-chalk);
  --vs-label:#D8A0A0;
  --vs-rule:#D8A0A0;
  --vs-note:rgba(239,232,218,.78);
  background:var(--vs-bg);
  border-radius:4px;
  display:flex;
  flex-direction:column;
  align-items:center;
  margin:92px 0 44px;
  padding:0 0 30px;
}
.vivelum-stats-picture{display:block;margin:-72px auto 22px}
.vivelum-stats-picture img{
  display:block;width:230px;min-width:230px;aspect-ratio:1/1;object-fit:contain;height:auto;
}
.vivelum-stats-figures{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  width:100%;text-align:center;padding:0 14px;gap:0;
}
.vivelum-stats-value{
  font-family:var(--vivelum-font-mono);font-feature-settings:"tnum" 1;
  font-size:38px;line-height:1;font-weight:700;color:var(--vs-value);margin-bottom:11px;
}
.vivelum-stats-label{
  text-transform:uppercase;letter-spacing:.13em;font-size:10.5px;font-weight:700;
  color:var(--vs-label);line-height:1.3;margin-bottom:5px;
}
.vivelum-stats-note{font-size:12px;line-height:1.45;color:var(--vs-note)}

@media (min-width:768px){
  .vivelum-stats{flex-direction:row;margin:64px 0 40px;padding:0 34px 0 0}
  .vivelum-stats-picture{margin:-34px 0 -22px;flex:0 0 auto}
  .vivelum-stats-figures{text-align:left;padding-left:28px}
  .vivelum-stats-value{border-left:2px solid var(--vs-rule);padding-left:13px}
  .vivelum-stats-label,.vivelum-stats-note{padding-left:15px}
}

/* --- Magnézium bisglycinát → Oxblood --- */
.vivelum-product-magnesium .vivelum-stats{
  --vs-bg:radial-gradient(circle at 22% 38%,#8C3838 0%,#6B2B2B 45%,#3F1919 100%);
  --vs-value:var(--vivelum-chalk);   /* kontrast 8.59:1 */
  --vs-label:#D8A0A0;                /* 4.71:1 — rovnaká hodnota ako --vivelum-kicker-light */
  --vs-rule:#D8A0A0;
  --vs-note:rgba(239,232,218,.78);
}

/* --- Omega 3 + Vitamín E → Petrol --- */
.vivelum-product-omega-3 .vivelum-stats{
  --vs-bg:radial-gradient(circle at 22% 38%,#2B6A6E 0%,#1E4A4D 45%,#0D2021 100%);
  --vs-value:var(--vivelum-chalk);   /* 8.04:1 */
  --vs-label:#7FBFC2;                /* 4.73:1 — svetlejší odtieň petrolu */
  --vs-rule:#7FBFC2;
  --vs-note:rgba(239,232,218,.78);
}

/* --- Vitamín D3 + K2 + K1 → Ember.
   POZOR: Ember je SVETLÁ. Chalk na nej má kontrast 2.39:1 (nečitateľné, padá aj
   pod hranicu 3:1 pre veľký text), preto tu text ide na tmavo — ink má 5.86:1.
   Hierarchiu nesie veľkosť a prestrkanie, nie farba. Nie je to nedôslednosť. */
.vivelum-product-vitamin-d3 .vivelum-stats{
  --vs-bg:radial-gradient(circle at 22% 38%,#C6AA52 0%,#B0953D 45%,#998235 100%);
  --vs-value:var(--vivelum-ink);     /* 5.86:1 */
  --vs-label:var(--vivelum-ink);     /* 5.86:1 */
  --vs-rule:var(--vivelum-oxblood);  /* 3.60:1 — stačí, je to 2px linka, nie text */
  --vs-note:rgba(27,28,30,.72);
}

/* Téma nefrit štýluje obrázky v #description (max-width, margin, radius).
   Prebíjame ju len na tejto jednej fotke. */
html body #description .vivelum-pdp .vivelum-stats-picture img{
  width:230px!important;max-width:230px!important;height:auto!important;
  margin:0!important;border-radius:0!important;float:none!important;
}

/* ============================================================================
   2) KRÁTKY POPIS PRI CENE (.p-short-description)
   POZOR 1: .p-short-description NIE JE vnútri .vivelum-pdp (žije v .p-detail-info),
   takže sa NEDÁ nafarbiť triedou produktu z PDP. Farbu nesie modifikátor priamo tu.
   POZOR 2: téma dáva ul v obsahu list-style:disc + padding-left:40px — nulujeme.
   POZOR 3: fajka ✓ (U+2713) NIE JE v Google Fonts subsete Interu — ťahá sa zo
   systémového fontu, takže tvar sa medzi OS mierne líši. Ak treba nulovú odchýlku,
   prepísať content na "‣" (U+2023), ktorý v Interi je.
   ============================================================================ */
.vivelum-short{ --vs-tick:var(--vivelum-oxblood); }
.vivelum-short-omega{ --vs-tick:var(--vivelum-petrol); }
/* Ember #B0953D má na bielom pozadí kontrast len 2.91:1 — na fajku je slabá.
   Tmavšia zlatá #8A732B (tú istú už používame na zľavovom ribbone) má 4.60:1. */
.vivelum-short-d3{ --vs-tick:#8A732B; }
.vivelum-short-set{ --vs-tick:var(--vivelum-ink); }

html body .p-short-description .vivelum-short-list{
  list-style:none!important;
  padding-left:0!important;
  margin:0 0 14px!important;
  display:grid;
  gap:7px;
}
/* Odrážka je absolútne pozicovaná, NIE grid. Dôvod: pri display:grid na li sa
   z každého potomka stane samostatná grid položka — <strong> alebo <a> vnútri
   odrážky odtrhne zvyšok textu do ďalšieho riadku. Overené, dialo sa to. */
html body .p-short-description .vivelum-short-list li{
  position:relative;
  padding-left:22px!important;
  margin:0!important;
  list-style:none!important;
  font-size:14.5px;
  line-height:1.5;
  color:var(--vivelum-ink);
}
html body .p-short-description .vivelum-short-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:var(--vs-tick);
  font-weight:700;
  font-size:13px;
  line-height:1.65;
}
html body .p-short-description .vivelum-short-badge{
  display:inline-block;
  background:var(--vivelum-soft);
  border:1px solid rgba(27,28,30,.16);
  border-left:3px solid var(--vs-tick);
  border-radius:4px;
  padding:7px 12px;
  font-family:var(--vivelum-font-mono);
  font-feature-settings:"tnum" 1;
  font-size:12.5px;
  font-weight:700;
  color:var(--vivelum-ink);
}
html body .p-short-description .vivelum-short-more{
  display:inline-block;
  margin-top:12px;
  font-size:13px;
  color:var(--vs-tick);
  text-decoration:underline;
  text-underline-offset:3px;
}

/* ============================================================================
   3) SEKCIA „PRE KOHO" AKO RIADKY NA CELÚ ŠÍRKU
   Nahrádza .vivelum-grid-3 s .vivelum-benefit-card v tejto jednej sekcii.
   Ikony zámerne nie sú (matchaday má vlastné ilustrácie z Pobo, my sadu nemáme) —
   namiesto nich štítok vľavo, čo je existujúci jazyk značky.
   ============================================================================ */
.vivelum-audience{
  display:grid;gap:0;margin-top:24px;
  border-top:1px solid rgba(27,28,30,.12);
}
.vivelum-audience-item{
  display:grid;
  grid-template-columns:minmax(0,220px) minmax(0,1fr);
  gap:26px;
  padding:22px 0;
  border-bottom:1px solid rgba(27,28,30,.12);
  align-items:start;
}
.vivelum-audience-label{
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;
  color:var(--vivelum-oxblood);margin:0 0 6px;
}
/* h4 dostáva od témy padding-left:40px — nulujeme, rovnako ako pri benefit boxoch */
html body #description .vivelum-pdp .vivelum-audience-item h4{
  font-family:var(--vivelum-font-serif)!important;
  font-weight:400!important;
  font-size:19px!important;
  line-height:1.3!important;
  color:var(--vivelum-ink)!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
  text-indent:0!important;
  text-align:left!important;
  letter-spacing:-.02em;
}
html body #description .vivelum-pdp .vivelum-audience-item h4::before,
html body #description .vivelum-pdp .vivelum-audience-item h4::after{
  display:none!important;content:none!important;
}
/* POZOR na priamy potomok (>): .vivelum-audience-label je tiež <p> a je vnorený
   v ľavom <div>. Bez ">" by ho toto pravidlo prebilo a štítok by stratil farbu. */
.vivelum-audience-item > p{
  font-size:14.5px;line-height:1.65;color:#444;margin:0;
}

/* ============================================================================
   OPRAVA (2026-07-14): oxblood štítky nikdy nefungovali.
   `.vivelum-pdp p{color:#444}` (špecificita 0,1,1) prebíjalo
   `.vivelum-kicker{color:var(--vivelum-oxblood)}` (0,1,0) — a keďže kicker JE <p>,
   prehrával. Následok: VŠETKY kickery a card-labely na PDP boli sivé #444, nie
   oxblood. V hero sekcii to isté robí `.vivelum-hero p{color:#D6CDC0}` s
   `.vivelum-kicker-light`. Overené na živom webe: 7/7 kickerov sivých.
   Riešenie: zvýšiť špecificitu na (0,2,0), čo (0,1,1) porazí.
   ============================================================================ */
.vivelum-pdp .vivelum-kicker,
.vivelum-pdp .vivelum-card-label{
  color:var(--vivelum-oxblood);
}
.vivelum-pdp .vivelum-kicker-light{
  color:#D8A0A0;
}
.vivelum-pdp .vivelum-audience-label{
  color:var(--vivelum-oxblood);
}
@media (max-width:700px){
  .vivelum-audience-item{grid-template-columns:1fr;gap:8px;padding:20px 0}
}

/* ============================================================================
   VIVELUM PDP v3 (2026-07-14) — „dve krabice namiesto štrnástich"
   Schválené používateľom. Nahrádza rozhádzaný systém sekcií.

   Princíp: celý obsah PDP sú len 4 druhy vecí —
     FAKT (štítok+nadpis+text) · ÚDAJ (štítok+hodnota) · TEXT · FAQ
   Doteraz sa kreslili 14 rôznymi spôsobmi. Tu ich kreslia DVA bloky
   (.vx-facts / .vx-data) s identickou mriežkou, štítkom aj typografiou.

   Štruktúra: viditeľné sú len úvod + .vivelum-stats, zvyšok je v 4 accordionoch.
   Použitie: <div class="vivelum-pdp vx vivelum-product-magnesium">

   RUŠÍ SA: .vivelum-hero, .vivelum-card-accent, .vivelum-benefit-card,
   .vivelum-dose-box, .vivelum-audience (slepá vetva — vyzerala zle).

   POZOR na špecificitu: téma má na #description ID pravidlá, ktoré porazia
   `.vx h1` (0,1,1). Preto majú nadpisy a odseky v reťazci `#description`.
   Bez toho sa škála nepresadí — presne to sa stalo pôvodnému .vivelum-pdp h3
   (predpisoval clamp(26px,3vw,34px), reálne renderoval 22.4px z témy).
   ============================================================================ */

.vx{
  --col:680px;
  --hair:rgba(27,28,30,.13);
  background:#FFF;
  color:var(--vivelum-ink);
  font-size:16px;
  line-height:1.65;
  padding:0 0 8px;
}
.vx *{box-sizing:border-box}

/* ── Úvod: jediná viditeľná textová sekcia ──
   POZOR na špecificitu aj na skratku `margin`. Toto pravidlo musí prebiť:
     a) `.vivelum-pdp p{margin:0 0 16px}` (0,1,1) — inak odsek stratí margin-left:auto
     b) vlastné pravidlo pre h1 nižšie — preto tam NIE JE skratka `margin`,
        ale margin-top/bottom zvlášť. Skratka by nastavila margin-left:0 !important
        a úvod by sa zarovnal doľava, kým blok by ostal vycentrovaný (rozdiel 226px). */
.vx-intro{padding:36px 24px 8px}
html body #description .vx .vx-intro > *{
  max-width:var(--col)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Nadpisy a text — #description v reťazci je nutnosť, nie opatrnosť */
html body #description .vx h1{
  font-family:var(--vivelum-font-serif)!important;
  font-weight:400!important;
  font-size:36px!important;
  line-height:1.15!important;
  letter-spacing:-.025em;
  margin-top:0!important;      /* NIE skratka `margin` — zrušila by margin-left:auto */
  margin-bottom:16px!important;
  padding-left:0!important;
  color:var(--vivelum-ink)!important;
  text-wrap:balance;
}
html body #description .vx p{color:#4A4844}
html body #description .vx .vivelum-lead{font-size:18px;line-height:1.6;color:var(--vivelum-ink)!important}

/* ── 4 VEĽKÉ ACCORDIONY ── */
/* max-width je --col PLUS vodorovný padding: kvôli box-sizing:border-box by inak
   obsah accordionu vyšiel o 48px užší než úvod a blok (text by začal na 338 vs 314). */
.vx-acc{max-width:calc(var(--col) + 48px);margin:0 auto;padding:0 24px 40px;border-top:1px solid var(--hair)}
.vx-acc > details{border-bottom:1px solid var(--hair)}
.vx-acc > details > summary{cursor:pointer;list-style:none;padding:24px 48px 24px 0;position:relative;display:block}
.vx-acc > details > summary::-webkit-details-marker{display:none}
.vx-sum-t{display:block;font-family:var(--vivelum-font-serif);font-size:22px;line-height:1.3;
  color:var(--vivelum-ink);letter-spacing:-.015em}
.vx-sum-s{display:block;font-size:13.5px;color:#7A7872;margin-top:4px;line-height:1.45}
.vx-acc > details > summary::after{
  content:"+";position:absolute;right:0;top:26px;width:30px;height:30px;
  border:1px solid rgba(27,28,30,.24);border-radius:50%;
  /* flex centrovanie namiesto line-height: sedi pri + aj x, bez dopocitavania pixelov */
  display:flex;align-items:center;justify-content:center;line-height:1;
  font-family:var(--vivelum-font-sans);font-size:18px;font-weight:400;color:var(--vivelum-ink);
  transition:background .15s,color .15s,border-color .15s;
}
.vx-acc > details > summary:hover::after{background:var(--vivelum-oxblood);border-color:var(--vivelum-oxblood);color:#FFF}
.vx-acc > details[open] > summary::after{content:"×";
  background:var(--vivelum-oxblood);border-color:var(--vivelum-oxblood);color:#FFF}
.vx-acc > details[open] > summary .vx-sum-t{color:var(--vivelum-oxblood)}
.vx-body{padding:2px 0 30px}
.vx-body > *:first-child{margin-top:0}

/* Podnadpis vnútri accordionu — jediný akcent, oxblood eyebrow */
html body #description .vx .vx-sub{
  font-family:var(--vivelum-font-sans)!important;
  font-size:11px!important;letter-spacing:.16em;text-transform:uppercase;
  font-weight:700!important;color:var(--vivelum-oxblood)!important;
  margin:30px 0 12px!important;padding-left:0!important;
}

/* ── BLOK 1: FAKT ── */
.vx-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;
  background:var(--hair);border:1px solid var(--hair);margin:0 0 18px}
.vx-fact{background:#FFF;padding:20px 18px}
html body #description .vx .vx-fact .vx-t,
html body #description .vx .vx-fact .vx-t p{font-size:13.5px;line-height:1.6;color:#5A5852;margin:0}

/* ── BLOK 2: ÚDAJ ── */
.vx-data{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;
  background:var(--hair);border:1px solid var(--hair);margin:0 0 18px}
.vx-datum{background:#FFF;padding:15px 18px}
html body #description .vx .vx-v{
  font-family:var(--vivelum-font-mono)!important;font-feature-settings:"tnum" 1;
  font-size:15px!important;color:var(--vivelum-ink)!important;margin:0!important;font-weight:600;
}

/* ── Spoločné pre OBA bloky — v tomto je tá jednotnosť ──
   .vx-l je <p>, takže ho `.vivelum-pdp p{color:#444}` prebije. Odtiaľ !important. */
html body #description .vx .vx-l{
  font-size:10px!important;letter-spacing:.14em;text-transform:uppercase;font-weight:700!important;
  color:#8A8880!important;margin:0 0 6px!important;line-height:1.3;padding-left:0!important;
}
html body #description .vx .vx-h{
  font-family:var(--vivelum-font-serif)!important;font-weight:400!important;
  font-size:17px!important;line-height:1.3!important;margin:0 0 8px!important;
  color:var(--vivelum-ink)!important;padding-left:0!important;letter-spacing:-.01em;
  text-align:left!important;
}
html body #description .vx .vx-h::before,
html body #description .vx .vx-h::after{display:none!important;content:none!important}

@media (max-width:680px){
  .vx-facts,.vx-data{grid-template-columns:1fr}
  .vx-sum-t{font-size:19px}
}

/* ── Zvyšky pôvodného obsahu: zjednotiť, neprikrášľovať ── */
.vx .vivelum-warning,.vx .vivelum-dose-box{background:transparent;border:0;padding:0}
.vx .vivelum-faq details{border-bottom:1px solid var(--hair)}
.vx .vivelum-faq summary{cursor:pointer;list-style:none;padding:15px 40px 15px 0;position:relative;
  font-family:var(--vivelum-font-serif);font-size:16px;color:var(--vivelum-ink)}
.vx .vivelum-faq summary::-webkit-details-marker{display:none}
/* Aj tu flex: povodne pravidlo temy 
   bolo pisane pre 28px kruzok. V 22px kruzku posunulo x o 5px dole. */
html body #description .vx .vivelum-faq summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);
  width:22px;height:22px;border:1px solid rgba(27,28,30,.24);border-radius:50%;
  display:flex;align-items:center;justify-content:center;line-height:1!important;
  font-family:var(--vivelum-font-sans);font-size:14px;color:var(--vivelum-ink)}
/* Otvorený stav: vyplnený oxblood krúžok s bielym ×. Vzniklo to pôvodne omylom
   (presakovaním pravidiel veľkého accordionu), ale vyzerá dobre — tak je to tu
   nastavené zámerne a v správnej veľkosti. line-height:1 + flex = × je v strede
   bez ohľadu na znak; pôvodné `line-height:25px` z témy bolo pre 28px krúžok. */
html body #description .vx .vivelum-faq details[open] summary::after{
  content:"×";
  line-height:1!important;
  background:var(--vivelum-oxblood);
  border-color:var(--vivelum-oxblood);
  color:#FFF;
}
html body #description .vx .vivelum-faq summary:hover::after{
  background:var(--vivelum-oxblood);
  border-color:var(--vivelum-oxblood);
  color:#FFF;
}
html body #description .vx .faq-answer{font-size:14.5px;line-height:1.7;color:#4A4844;padding:0 0 18px}
html body #description .vx .vivelum-sources{font-size:13px;color:#6A6862}
html body #description .vx .vivelum-small-note{font-size:12.5px;color:#8A8880!important}

/* Farebný blok ostáva ako jediný hlasný moment — len sadá do stĺpca .vx */
.vx .vivelum-stats{max-width:var(--col);margin-left:auto;margin-right:auto}
/* Na mobile sa už necentruje (stĺpec je širší než obrazovka), takže by blok
   trčal 24px za text na každej strane. Dorovnávame ho na rovnaké odsadenie,
   aké má .vx-intro a .vx-acc — jedna os platí aj na mobile. */
@media (max-width:760px){
  .vx .vivelum-stats{margin-left:24px!important;margin-right:24px!important}
}

/* v3 dodatok: .vivelum-dark-note (tmavý box v „Dávka a rutina" / „Ako používať")
   sa vo v3 zapája do jednotného systému — inak by to bol ďalší druh krabice.
   Jeho vnorený .vivelum-kicker-light bol na inku ružový; na bielej ide na oxblood. */
.vx .vivelum-dark-note{background:transparent!important;padding:0!important;margin:18px 0 0!important}
html body #description .vx .vivelum-dark-note h3{
  font-family:var(--vivelum-font-serif)!important;font-weight:400!important;font-size:17px!important;
  line-height:1.3!important;color:var(--vivelum-ink)!important;margin:0 0 8px!important;padding-left:0!important;
}
html body #description .vx .vivelum-dark-note p{color:#4A4844!important;font-size:14.5px}
html body #description .vx .vivelum-dark-note .vivelum-kicker-light,
html body #description .vx .vivelum-dark-note .vivelum-kicker{
  font-size:10px!important;letter-spacing:.14em;text-transform:uppercase;font-weight:700!important;
  color:var(--vivelum-oxblood)!important;margin:0 0 6px!important;padding-left:0!important;
}

/* ============================================================================
   OPRAVA (2026-07-14): názov produktu sa skrýval pod hornou lištou na mobile.
   Príčina: na mobile je <header> position:fixed, 60px. Každý kotvový skok
   (napr. odkaz "Viac informácií o produkte" na #description) aj každé
   scrollIntoView() zarovná cieľ na vrch okna — teda POD lištu.
   Namerané: scrollIntoView na galériu dalo h1 na -122px (celý pod lištou).
   scroll-padding-top povie prehliadaču, aby sa zastavil nižšie.
   Na desktope je header position:absolute a odscrolluje preč, takže tam to
   netreba — zámerne scopnuté len na mobil, aby sa desktop nezmenil.
   ============================================================================ */
@media (max-width:991px){
  html{scroll-padding-top:76px}
}

/* Gradient C (žiara za produktom) — poloha svetla podľa rozloženia bloku.
   Na desktope je fotka vľavo (blok je flex-direction:row), takže žiara je na 22% 38%.
   Na mobile sa blok preklopí na column a fotka je HORE V STREDE — žiara sa preto
   musí presunúť nad ňu, inak by svietila vedľa fľaše. */
@media (max-width:767px){
  .vivelum-product-magnesium .vivelum-stats{
    --vs-bg:radial-gradient(circle at 50% 20%,#8C3838 0%,#6B2B2B 45%,#3F1919 100%);
  }
  .vivelum-product-omega-3 .vivelum-stats{
    --vs-bg:radial-gradient(circle at 50% 20%,#2B6A6E 0%,#1E4A4D 45%,#0D2021 100%);
  }
  .vivelum-product-vitamin-d3 .vivelum-stats{
    --vs-bg:radial-gradient(circle at 50% 20%,#C6AA52 0%,#B0953D 45%,#998235 100%);
  }
}

/* ============================================================================
   VIVELUM PDP — poradie nákupného bloku na mobile (2026-07-28)
   ---------------------------------------------------------------------------
   PROBLÉM: v natívnom Shoptet layoute má riadok .product-top poradie
     [1] .p-detail-info  (krátky popis, ~440px)  →  [2] .p-info-wrapper (cena + CTA)
   Na mobile sa oba stĺpce stackujú v tomto DOM poradí, takže tlačidlo
   „Pridať do košíka" spadne až na ~1311px — cca 1,6 obrazovky pod ohyb.
   (Namerané na 375×812: fotka 207–566, popis 596–1037, cena 1036, CTA 1311.)

   RIEŠENIE: .product-top preklopíme na flex-column a blok s cenou a CTA
   (.p-info-wrapper) posunieme cez order:-1 PRED popis. Dlhý popis klesne pod CTA.
   Výsledok (namerané po aplikovaní): CTA 1311 → 870px, cena + „Skladom" nad
   ohybom, tlačidlo hneď za nimi. Fotku ani strip miniatúr ani blok dostupnosti
   ZÁMERNE neorezávame — nesú hodnotu (viac fotiek, sklad + termín doručenia),
   posledných ~58px pod ohyb za ne nestojí.

   PREČO order:-1 a nie order:1/2: cena je prvá bez ohľadu na to, koľko
   súrodencov v riadku pribudne (napr. varianty). Popis a čokoľvek ďalšie
   ostáva v prirodzenom poradí (order:0) za ňou.

   SCOPE max-width:991px = presne bod, kde sa Shoptet stĺpce (col-lg-6) lámu na
   jeden stĺpec. Desktop (≥992px, kde je layout vedľa seba) ostáva nedotknutý —
   overené: nad 991px je .product-top stále display:block a order:0.
   ============================================================================ */
@media (max-width:991px){
  html body .p-detail .product-top{
    display:flex!important;
    flex-direction:column!important;
  }
  html body .p-detail .product-top > .p-info-wrapper{
    order:-1!important;
  }
}

/* ============================================================================
   VIVELUM PDP — cena a dostupnosť/doručenie VEDĽA SEBA na mobile (2026-07-28)
   ---------------------------------------------------------------------------
   Nadväzuje na reorder vyššie. .price-line je natívne flex-column: cena je NAD
   blokom dostupnosti, takže na mobile je to 4–5 riadkov pod sebou (~255px).
   Preklopíme ho na DVA STĹPCE: VĽAVO cena (nezmenená), VPRAVO „Skladom + Môžeme
   doručiť do: + dátum + Možnosti doručenia" — zarovnané doprava a oddelené
   tenkou zvislou hairline linkou (rgba(27,28,30,.13), tá istá ako .vx-facts).
   ZAROVNANIE (verzia „B — cena na stred", schválené používateľom): ľavý cenový
   blok je nižší (2 riadky) než pravý (4 riadky). Cenu necháme v natívnej veľkosti
   (28px) a align-items:center ju vycentruje na výšku pravého bloku — rovnaký
   odstup hore aj dole (namerané ~18/18px na 375px). Cena tak „pláva" v optickom
   strede, geometricky dokonalá symetria; zámerne nesedí vrchom so „Skladom".
   margin-top na oboch stĺpcoch nulujeme (.availability-value malo natívne 20px).
   (Alternatíva „A" — väčšia cena 44px ako kotva — bola zvážená a zamietnutá.)

   Výsledok (namerané 375×812): price-line 255 → ~105px, CTA (už po reorderi)
   870 → ~719px, čiže cena, dostupnosť AJ tlačidlo sú CELÉ nad ohybom.

   POZOR 1 — FONT: typografický systém vyššie dáva celej .availability-value MONO
   font (JetBrains Mono je široký). Mono má zmysel len pre číslo (dátum), preto
   prozaické riadky („Môžeme doručiť do:", „Možnosti doručenia") vraciame na Inter
   — inak sa v úzkom stĺpci lámu na 2 riadky. Dátum (.delivery-time) ostáva mono.

   POZOR 2 — ÚZKE DISPLEJE: white-space:nowrap (čisté jednoriadkové texty) púšťame
   len od 361px. Pod 360px sa próza radšej zalomí, než by pretiekla — overené na
   360px aj 320px: žiadne horizontálne pretečenie, CTA stále vysoko.

   POZOR 3 — DESKTOP: .price-line je nad 991px natívne tiež row; tam ZÁMERNE
   NEcielime (celý blok je v max-width:991px), takže hairline linka ani
   right-align na desktope nevzniknú — overené na 1280px (border-left:0,
   text-align:start, .product-top zostáva block).
   ============================================================================ */
@media (max-width:991px){
  html body .p-detail .price-line{
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:12px!important;
  }
  html body .p-detail .price-line > .p-final-price-wrapper{
    flex:0 0 auto!important;
    margin-top:0!important;
    /* Cenový blok stiahnutý presne na obsah — .price-final je natívne display:block
       a rozťahoval sa na ~173px, čo bralo miesto pravému stĺpcu (a pri centrovaní
       tlačilo .price-line do ~1px vnútorného pretoku). max-content = presná šírka
       (~111px), takže doprava má viac miesta a próza sa zmestí na 1 riadok aj pri
       360px. max-width:60% je poistka, aby dlhá cena nikdy nezožrala pravý stĺpec. */
    width:max-content!important;
    max-width:60%!important;
  }
  html body .p-detail .price-line > .availability-value{
    flex:1 1 auto!important;
    min-width:0!important;
    margin-top:0!important;
    text-align:right!important;
    border-left:1px solid rgba(27,28,30,.13)!important;
    padding-left:12px!important;
  }
  html body .p-detail .price-line > .availability-value .availability-label{
    font-size:15px!important;
    line-height:1.2!important;
    margin-bottom:3px!important;
  }
  html body .p-detail .price-line > .availability-value .delivery-line{
    display:block!important;
    margin-top:0!important;
    line-height:1.45!important;
  }
  /* Každý riadok doručenia na vlastný riadok a flush k pravému okraju.
     .delivery-time-label je natívne inline a .delivery-time inline-block — v
     pôvodnom horizontálnom layoute mali margin-right (10px / 25px) ako medzery.
     Pri right-align to spôsobovalo dve veci: dátum a popisok končili 10–25px od
     okraja (nezarovnané so „Skladom") a po vynulovaní marginov sa dokonca spojili
     na jeden riadok. display:block ich rozdelí na samostatné riadky, margin-right:0
     ich prisadí presne pod „Skladom" a „Možnosti doručenia". */
  html body .p-detail .price-line > .availability-value .delivery-time-label,
  html body .p-detail .price-line > .availability-value .delivery-time{
    display:block!important;
    margin-right:0!important;
  }
  html body .p-detail .price-line > .availability-value .delivery-time-label,
  html body .p-detail .price-line > .availability-value .shipping-options{
    font-family:var(--vivelum-font-sans)!important;
    font-size:12.5px!important;
  }
  html body .p-detail .price-line > .availability-value .shipping-options{
    display:block!important;
    margin:5px 0 0!important;
  }
}
/* Čisté jednoriadkové texty len na bežných telefónoch (≥361px).
   Pod 360px sa próza radšej zalomí, aby nič nepretieklo. */
@media (min-width:361px) and (max-width:991px){
  html body .p-detail .price-line > .availability-value .delivery-time-label,
  html body .p-detail .price-line > .availability-value .shipping-options{
    white-space:nowrap!important;
  }
}

/* ============================================================================
   VIVELUM · 2+1 „Bundle výber" blok (Variant A) — VZHĽAD
   ----------------------------------------------------------------------------
   Upsell 2+1 pod tlačidlom „Do košíka" na produktových stránkach.
   FUNKČNOSŤ (nie vzhľad) rieši JavaScript vložený v pätičke:
     Nastavenia → HTML kódy a analytika → pole „Pätička (pred </body>)".
   PREPOJENIE produktu s jeho 2+1 sadou (jedno z dvoch):
     • parameter s názvom obsahujúcim „2+1", hodnota = URL sady, alebo
     • skrytý prvok v popise:
       <a class="vivelum-2p1-link" href="URL_SADY" style="display:none">2+1</a>
   Čísla (cena, za ks) sú v JetBrains Mono ako ostatné ceny na webe.
   ============================================================================ */
.vlm2p1{--b:#753333;--tint:#F3E9E4;--tintln:#E4CFC6;--ink:#1B1C1E;--muted:#8a8378;--card:#fff;--line:#E7DECF;
  margin:16px 0 4px;font-family:var(--vivelum-font-sans,Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif);-webkit-font-smoothing:antialiased}
.vlm2p1__lead{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 9px;display:flex;align-items:center;gap:8px}
.vlm2p1__lead svg{width:15px;height:15px;color:var(--b);flex:0 0 auto}
.vlm2p1__opts{display:flex;flex-direction:column;gap:9px}
.vlm2p1__opt{position:relative;display:flex;align-items:center;gap:13px;cursor:pointer;border:1.5px solid var(--line);border-radius:12px;padding:13px 15px;background:var(--card);transition:border-color .15s,background .15s;-webkit-tap-highlight-color:transparent;min-height:56px}
.vlm2p1__opt:hover{border-color:var(--tintln)}
.vlm2p1__opt:focus-visible{outline:2px solid var(--b);outline-offset:2px}
.vlm2p1__opt.is-sel{border-color:var(--b);background:var(--tint)}
.vlm2p1__radio{width:20px;height:20px;border-radius:50%;border:2px solid var(--muted);flex:0 0 auto;position:relative;transition:border-color .15s}
.vlm2p1__opt.is-sel .vlm2p1__radio{border-color:var(--b)}
.vlm2p1__opt.is-sel .vlm2p1__radio::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--b)}
.vlm2p1__main{flex:1;min-width:0}
.vlm2p1__t{font-size:14.5px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:8px;flex-wrap:wrap;line-height:1.25}
.vlm2p1__s{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.3}
.vlm2p1__badge{font-size:10.5px;font-weight:800;letter-spacing:.03em;color:#fff;background:var(--b);padding:2px 7px;border-radius:5px;text-transform:uppercase;white-space:nowrap}
.vlm2p1__pr{display:flex;flex-direction:column;align-items:flex-end;flex:0 0 auto;padding-left:6px;text-align:right}
.vlm2p1__price{font-weight:700;font-size:16px;color:var(--ink);white-space:nowrap;line-height:1.1;font-family:var(--vivelum-font-mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace);font-feature-settings:"tnum" 1}
.vlm2p1__per{font-size:11px;color:var(--muted);font-weight:500;margin-top:2px;white-space:nowrap;font-family:var(--vivelum-font-mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace)}
.p-detail-inner.vlm2p1-bundle .p-final-price-wrapper .price-standard,
.p-detail-inner.vlm2p1-bundle .p-final-price-wrapper .price-save{display:none!important}
@media (max-width:480px){
  .vlm2p1{margin:13px 0 2px}
  .vlm2p1__lead{font-size:11px;margin-bottom:7px;letter-spacing:.05em}
  .vlm2p1__lead svg{width:13px;height:13px}
  .vlm2p1__opts{gap:7px}
  .vlm2p1__opt{padding:9px 11px;gap:10px;min-height:46px;border-radius:10px}
  .vlm2p1__radio{width:17px;height:17px}
  .vlm2p1__t{font-size:13px;gap:6px}
  .vlm2p1__s{font-size:11px;margin-top:1px}
  .vlm2p1__price{font-size:14px}
  .vlm2p1__per{font-size:10px;margin-top:1px}
  .vlm2p1__badge{font-size:9px;padding:1px 5px;letter-spacing:0}
}
