/* Kosik – finalni jednotny panel pro cely web (2026-09-26).
   Nacita se jako posledni styl, proto prebiji starsi vrstvy. */
html body .cart-overlay .cart-panel {
  --cart-line: rgba(47, 33, 25, .12);
  --cart-soft: rgba(47, 33, 25, .6);
  position: absolute;
  inset: 0 0 0 auto;
  display: flex;
  flex-direction: column;
  width: min(440px, 100%);
  height: 100dvh;
  min-height: 0;
  max-height: 100dvh;
  padding: 0;
  overflow: hidden;
  border-radius: 0;
  background: #fbf7ef;
  color: #21120e;
  box-shadow: -24px 0 60px rgba(33, 18, 14, .18);
}
html body .cart-overlay .cart-panel > .overlay-close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid var(--cart-line);
  border-radius: 50%;
  background: #fff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
html body .cart-overlay .cart-panel > .eyebrow { margin: 0; padding: 24px 24px 0; font-size: 11px; letter-spacing: .12em; }
html body .cart-overlay .cart-panel > h2 { margin: 6px 0 0; padding: 0 24px; font: 400 34px/1.1 var(--serif); }
html body .cart-overlay .cart-panel > #shipping-text { margin: 14px 24px 0; font-size: 13px; line-height: 1.5; color: var(--cart-soft); }
html body .cart-overlay .cart-panel > #shipping-text strong, html body .cart-overlay .cart-panel > #shipping-text span { color: #21120e; }
html body .cart-overlay .cart-panel > .shipping-bar { height: 5px; margin: 10px 24px 0; border-radius: 999px; background: rgba(47, 33, 25, .09); overflow: hidden; }
html body .cart-overlay .cart-panel > .shipping-bar[hidden] { display: none; }
html body .cart-overlay .cart-panel #shipping-progress-fill { display: block; height: 100%; border-radius: 999px; background: #c98a3f; transition: width .4s ease; }

html body .cart-overlay #cart-items-list { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; margin-top: 16px; padding: 0 24px 16px; border-top: 1px solid var(--cart-line); }
html body .cart-overlay .cart-item-row {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr) 36px;
  gap: 14px;
  align-items: start;
  padding: 16px 0;
  border-top: 0;
  border-bottom: 1px solid var(--cart-line);
}
html body .cart-overlay .cart-item-img { width: 68px; height: 68px; padding: 6px; object-fit: contain; border-radius: 12px; background: #f1e8da; }
html body .cart-overlay .cart-item-details { display: grid; gap: 4px; min-width: 0; }
html body .cart-overlay .cart-item-details h4 { margin: 0; font: 700 15px/1.3 var(--sans); }
html body .cart-overlay .cart-item-details h4 a:hover { text-decoration: underline; text-underline-offset: 3px; }
html body .cart-overlay .cart-item-variant { font-size: 13px; line-height: 1.4; color: var(--cart-soft); }
html body .cart-overlay .cart-item-qty {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-top: 6px;
  border: 1px solid rgba(47, 33, 25, .2);
  border-radius: 999px;
  background: #fff;
}
html body .cart-overlay .cart-item-qty .qty-btn {
  width: 34px;
  height: 34px;
  min-width: 34px;
  min-height: 34px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  font-size: 17px;
  line-height: 1;
  color: #21120e;
  cursor: pointer;
}
html body .cart-overlay .cart-item-qty .qty-btn:hover:not(:disabled) { background: rgba(47, 33, 25, .06); }
html body .cart-overlay .cart-item-qty .qty-value { min-width: 26px; text-align: center; font-weight: 700; font-size: 14px; }
html body .cart-overlay .cart-remove {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  min-width: 36px;
  min-height: 36px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--cart-soft);
  cursor: pointer;
}
html body .cart-overlay .cart-remove:hover { background: rgba(162, 59, 44, .08); color: #a23b2c; }
html body .cart-overlay .cart-pack-hint { width: fit-content; margin-top: 6px; padding: 5px 10px; border: 0; border-radius: 999px; background: #e7efdc; color: #31482a; font: 600 12px var(--sans); cursor: pointer; text-align: left; }

html body .cart-overlay .cart-empty { display: grid; justify-items: center; gap: 6px; padding: 48px 12px; text-align: center; color: var(--cart-soft); }
html body .cart-overlay .cart-empty img { width: 52px; height: 52px; margin-bottom: 8px; }
html body .cart-overlay .cart-empty p { margin: 0; max-width: 280px; line-height: 1.5; font-size: 14px; }
html body .cart-overlay .cart-empty .cart-empty-title { color: #21120e; font: 400 22px var(--serif); }
html body .cart-overlay .cart-empty .button { margin-top: 14px; min-height: 48px; gap: 16px; }

html body .cart-overlay .cart-crosssell { margin-top: 20px; }
html body .cart-overlay .cart-crosssell h3 { margin: 0 0 10px; font: 700 12px var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--cart-soft); }
html body .cart-overlay .cart-crosssell ul { list-style: none; margin: 0; padding: 0; }
html body .cart-overlay .cart-crosssell li { display: grid; grid-template-columns: 52px minmax(0, 1fr) 40px; gap: 12px; align-items: center; padding: 10px; border: 1px solid var(--cart-line); border-radius: 14px; background: #fff; }
html body .cart-overlay .cart-crosssell-media img { width: 52px; height: 52px; object-fit: contain; border-radius: 10px; background: #f1e8da; padding: 4px; }
html body .cart-overlay .cart-crosssell-copy { display: grid; gap: 2px; min-width: 0; font-size: 14px; }
html body .cart-overlay .cart-crosssell-copy a { font-weight: 700; line-height: 1.3; }
html body .cart-overlay .cart-crosssell-copy span { font-size: 12px; color: var(--cart-soft); }
html body .cart-overlay .cart-crosssell-add { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: #21120e; color: #fff; font-size: 20px; cursor: pointer; }

html body .cart-overlay .cart-checkout-area {
  flex: 0 0 auto;
  margin: 0;
  padding: 16px 24px calc(16px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--cart-line);
  background: #fff;
}
html body .cart-overlay .cart-total { display: flex; justify-content: space-between; align-items: baseline; margin: 0 0 12px; padding: 0; border: 0; font-size: 14px; }
html body .cart-overlay .cart-total strong { font: 400 26px var(--serif); }
html body .cart-overlay .cart-checkout-area .checkout-link { display: flex; justify-content: center; width: 100%; min-height: 52px; margin: 0; }
html body .cart-overlay .checkout-preview-note { margin: 10px 0 0; font-size: 12px; line-height: 1.45; text-align: center; color: var(--cart-soft); }
html body .cart-overlay .cart-keep-shopping { display: block; margin: 8px auto 0; padding: 6px; border: 0; background: none; font: 700 13px var(--sans); color: #21120e; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
html body .cart-overlay [data-cart-coupon], html body .cart-overlay .cart-coupon { margin-top: 12px; }

@media (max-width: 520px) {
  .cart-overlay .cart-panel { width: 100%; box-shadow: none; }
  .cart-overlay .cart-panel > .eyebrow { padding: 20px 18px 0; }
  .cart-overlay .cart-panel > h2 { padding: 0 18px; font-size: 30px; }
  .cart-overlay .cart-panel > #shipping-text { margin-inline: 18px; }
  .cart-overlay .cart-panel > .shipping-bar { margin-inline: 18px; }
  .cart-overlay #cart-items-list { padding-inline: 18px; }
  .cart-overlay .cart-checkout-area { padding-inline: 18px; }
}

/* Potvrzeni po pridani do kosiku. */
.vb-added-toast {
  position: fixed;
  left: 50%;
  bottom: calc(18px + env(safe-area-inset-bottom));
  z-index: 400;
  display: flex;
  align-items: center;
  gap: 12px;
  width: min(420px, calc(100vw - 24px));
  padding: 10px 10px 10px 12px;
  border-radius: 16px;
  background: #21120e;
  color: #fff9e9;
  box-shadow: 0 16px 40px rgba(33, 18, 14, .3);
  transform: translate(-50%, 140%);
  transition: transform .35s cubic-bezier(.2, .8, .2, 1);
}
.vb-added-toast.is-visible { transform: translate(-50%, 0); }
.vb-added-toast img { width: 44px; height: 44px; object-fit: contain; border-radius: 10px; background: #f1e8da; padding: 3px; flex: 0 0 auto; }
.vb-added-toast span { flex: 1; min-width: 0; font-size: 13px; line-height: 1.35; }
.vb-added-toast b { display: block; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vb-added-toast button { flex: 0 0 auto; min-height: 40px; padding: 0 14px; border: 0; border-radius: 999px; background: #fff9e9; color: #21120e; font: 700 13px var(--sans); cursor: pointer; }
@media (prefers-reduced-motion: reduce) { .vb-added-toast { transition: none; } }
body.story-in-view .vb-chat:has(.vb-chat-panel[hidden]) { visibility: hidden; opacity: 0; pointer-events: none; }

html body .cart-overlay .cart-panel:has(.cart-empty) .cart-checkout-area { display: none; }
html body .cart-overlay .cart-item-qty .qty-btn { font-size: 20px; font-weight: 500; }
html body .cart-overlay .cart-item-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 6px; }
html body .cart-overlay .cart-item-foot .cart-item-qty { margin-top: 0; }
html body .cart-overlay .cart-item-price { font-size: 15px; white-space: nowrap; }
html body .cart-overlay .cart-item-unit { white-space: nowrap; }

/* Uvodni stranka: ceny v kartach vzdy ve stejne vysce. */
.featured-grid .featured-card .featured-card-copy { display: flex; flex-direction: column; flex: 1 1 auto; }
.featured-grid .featured-card .featured-card-price { margin-top: auto; padding-top: 10px; }
.bundle-card > div { display: flex; flex-direction: column; flex: 1 1 auto; }
.bundle-card > div > b { margin-top: auto; }
.bundle-card { display: flex; flex-direction: column; }

/* ==================================================================
   Paticka – jednotna pro cely web (2026-09-26)
   ================================================================== */
html body .site-footer.vb-footer {
  margin: 0;
  padding: 64px max(24px, calc((100vw - 1320px) / 2)) 28px;
  border-top: 1px solid rgba(47, 33, 25, .1);
  background: #f4ecdf;
  color: #2f2119;
}
html body .vb-footer .footer-main {
  display: grid;
  grid-template-columns: minmax(220px, 1.4fr) repeat(4, minmax(0, 1fr));
  gap: 40px 32px;
  padding: 0 0 40px;
}
html body .vb-footer .footer-main > div { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
html body .vb-footer .footer-brand img { width: 96px; height: auto; max-height: none; object-fit: contain; filter: none; }
html body .vb-footer .footer-brand p { max-width: 30ch; margin: 6px 0 0; font-size: 14px; line-height: 1.55; color: rgba(47, 33, 25, .7); }
html body .vb-footer .footer-social { display: flex; gap: 8px; margin-top: 10px; }
html body .vb-footer .footer-social a { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 1px solid rgba(47, 33, 25, .2); border-radius: 50%; color: #2f2119; transition: background .2s, color .2s; }
html body .vb-footer .footer-social a:hover { background: #2f2119; color: #fff; }
html body .vb-footer .footer-col > p { margin: 0 0 6px; font: 700 11px var(--sans); letter-spacing: .12em; text-transform: uppercase; color: #a8672f; }
html body .vb-footer .footer-col a, html body .vb-footer .footer-col span { padding: 0; font-size: 14px; line-height: 1.4; color: #2f2119; text-decoration: none; }
html body .vb-footer .footer-col span { color: rgba(47, 33, 25, .62); }
html body .vb-footer .footer-col a:hover { color: #a8672f; text-decoration: underline; text-underline-offset: 3px; }
html body .vb-footer .footer-contact-link { margin-top: 4px; font-weight: 700; }
html body .vb-footer .footer-main > div:last-child > a:last-child { display: inline; }
html body .vb-footer .footer-bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px 24px;
  margin: 0;
  padding: 20px 0 0;
  border-top: 1px solid rgba(47, 33, 25, .12);
  font-size: 12px;
  letter-spacing: 0;
  text-transform: none;
  color: rgba(47, 33, 25, .6);
}
html body .vb-footer .footer-bottom span { flex-shrink: 1; }
html body .vb-footer .vb-privacy-settings { order: 3; padding: 0; border: 0; background: none; font: inherit; color: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
@media (max-width: 1100px) {
  html body .vb-footer .footer-main { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html body .vb-footer .footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  html body .site-footer.vb-footer { padding: 44px 16px calc(24px + env(safe-area-inset-bottom)); }
  html body .vb-footer .footer-main { grid-template-columns: 1fr 1fr; gap: 32px 20px; padding-bottom: 28px; }
  html body .vb-footer .footer-brand { grid-column: 1 / -1; flex-direction: column; }
  html body .vb-footer .footer-contact { grid-column: 1 / -1; }
  html body .vb-footer .footer-col a, html body .vb-footer .footer-col span { font-size: 15px; padding-block: 3px; }
  html body .vb-footer .footer-bottom { flex-direction: column; align-items: flex-start; }
}
/* Pokladna: jen spodni radek s udaji o provozovateli. */
body:has(#checkout-form) .vb-footer .footer-main { display: none; }
body:has(#checkout-form) .vb-footer .footer-bottom { border-top: 0; padding-top: 0; }

/* Kontakt */
.contact-faq-hint { margin: 14px 0 0; font-size: 15px; color: rgba(47, 33, 25, .7); }
.contact-faq-hint a { font-weight: 700; color: #2f2119; text-decoration: underline; text-underline-offset: 3px; }
.contact-details .contact-item { display: grid; gap: 3px; padding: 14px 0; border-top: 1px solid rgba(47, 33, 25, .12); }
.contact-details .contact-item:first-of-type { border-top: 0; padding-top: 4px; }
.contact-details .contact-item > span { font: 700 11px var(--sans); letter-spacing: .12em; text-transform: uppercase; color: #a8672f; }
.contact-details .contact-item > a { font-size: 18px; font-weight: 600; }
.contact-details .contact-item p { margin: 0; line-height: 1.55; }
.contact-details .contact-item small { font-size: 13px; color: rgba(47, 33, 25, .62); }
.contact-details .contact-item p a { text-decoration: underline; text-underline-offset: 3px; }

/* Doprava a platba */
.service-page { max-width: 1120px; margin-inline: auto; }
.service-page .reading-lead { max-width: 640px; }
.service-highlight { display: flex; align-items: center; gap: 16px; margin: 8px 0 44px; padding: 18px 22px; border-radius: 18px; background: #2f2119; color: #fff9e9; }
.service-highlight span { display: grid; place-items: center; flex: 0 0 48px; height: 48px; border-radius: 50%; background: rgba(255, 249, 233, .12); }
.service-highlight svg, .service-card-icon svg, .service-more svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.service-highlight p { margin: 0; font-size: 16px; line-height: 1.5; }
.service-section { margin-bottom: 44px; }
.service-section h2 { margin: 0 0 16px; font: 400 clamp(28px, 3vw, 36px)/1.1 var(--serif); }
.service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.service-card { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 16px; padding: 22px; border: 1px solid rgba(47, 33, 25, .12); border-radius: 18px; background: #fffdf8; }
.service-card-icon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: rgba(142, 90, 56, .1); color: #8e5a38; }
.service-card-top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.service-card h3 { margin: 0; font: 700 17px/1.3 var(--sans); }
.service-card-top b { white-space: nowrap; font: 400 24px var(--serif); }
.service-card p { margin: 8px 0 0; line-height: 1.6; color: rgba(47, 33, 25, .78); }
.service-card small { display: block; margin-top: 10px; font-size: 13px; color: #4f7a3c; font-weight: 700; }
.service-more { display: grid; gap: 18px; padding-top: 28px; border-top: 1px solid rgba(47, 33, 25, .12); }
.service-more > div:first-child { display: flex; gap: 14px; align-items: flex-start; }
.service-more > div:first-child svg { flex: 0 0 24px; margin-top: 2px; color: #8e5a38; }
.service-more p { margin: 0; line-height: 1.6; }
.service-more a { text-decoration: underline; text-underline-offset: 3px; }
.service-links { display: flex; flex-wrap: wrap; gap: 10px; }
.service-links a { padding: 10px 16px; border: 1px solid rgba(47, 33, 25, .2); border-radius: 999px; font-weight: 700; font-size: 14px; text-decoration: none; }
.service-links a:hover { background: #2f2119; color: #fff; }
@media (max-width: 760px) {
  .service-grid { grid-template-columns: 1fr; }
  .service-card { grid-template-columns: 44px minmax(0, 1fr); padding: 18px; gap: 12px; }
  .service-card-icon { width: 44px; height: 44px; }
  .service-highlight { margin-bottom: 32px; padding: 16px; }
}

/* ==================================================================
   Velkoobchod (2026-09-26)
   ================================================================== */
.b2b-page { background: #faf6ed; }
.b2b-shell { width: min(1240px, calc(100vw - 48px)); margin: 0 auto; }
.b2b-hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); min-height: min(720px, calc(100svh - 82px)); background: #21120e; color: #fff9e9; }
.b2b-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: 72px 56px 64px max(24px, calc((100vw - 1240px) / 2)); }
.b2b-hero-copy .page-kicker { color: #e3a869; }
.b2b-hero h1 { margin: 14px 0 20px; font: 400 clamp(44px, 5.4vw, 80px)/1 var(--serif); letter-spacing: -.02em; }
.b2b-lead { max-width: 520px; margin: 0; font-size: 18px; line-height: 1.6; color: rgba(255, 249, 233, .78); }
.b2b-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-top: 32px; }
.b2b-hero-actions .button { gap: 18px; }
.b2b-ghost { font-weight: 700; font-size: 14px; color: #fff9e9; text-decoration: underline; text-underline-offset: 4px; }
.b2b-proof { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 48px 0 0; padding: 24px 0 0; border-top: 1px solid rgba(255, 249, 233, .16); }
.b2b-proof b { display: block; font: 400 19px/1.2 var(--serif); color: #fff9e9; }
.b2b-proof span { display: block; margin-top: 4px; font-size: 13px; line-height: 1.4; color: rgba(255, 249, 233, .62); }
.b2b-hero-media { position: relative; overflow: hidden; }
.b2b-hero-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

.b2b-section { padding: 88px 0; }
.b2b-section-soft { background: #f3eadb; }
.b2b-heading { max-width: 720px; margin-bottom: 36px; }
.b2b-heading h2, .b2b-form-intro h2 { margin: 10px 0 0; font: 400 clamp(32px, 3.6vw, 48px)/1.08 var(--serif); letter-spacing: -.015em; }

.b2b-type-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.b2b-type { display: flex; flex-direction: column; padding: 28px; border: 1px solid rgba(47, 33, 25, .12); border-radius: 20px; background: #fffdf8; }
.b2b-type-icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: rgba(142, 90, 56, .1); color: #8e5a38; }
.b2b-type-icon svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.b2b-type h3 { margin: 22px 0 10px; font: 400 26px/1.15 var(--serif); }
.b2b-type p { margin: 0 0 22px; line-height: 1.65; color: rgba(47, 33, 25, .75); }
.b2b-type-link { margin-top: auto; font-weight: 700; color: #2f2119; }
.b2b-type-link:hover { text-decoration: underline; text-underline-offset: 3px; }

.b2b-products { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.b2b-product { display: flex; flex-direction: column; gap: 4px; padding: 0 0 16px; border-radius: 18px; background: #fffdf8; overflow: hidden; border: 1px solid rgba(47, 33, 25, .08); transition: box-shadow .2s; }
.b2b-product:hover { box-shadow: 0 12px 28px rgba(51, 24, 15, .08); }
.b2b-product span { display: block; aspect-ratio: 1; margin-bottom: 10px; background: #fff; }
.b2b-product img { width: 100%; height: 100%; object-fit: contain; padding: 14px; }
.b2b-product b { padding: 0 16px; font: 400 18px/1.2 var(--serif); }
.b2b-product small { padding: 0 16px; font-size: 13px; line-height: 1.4; color: rgba(47, 33, 25, .66); }

.b2b-steps { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; }
.b2b-steps li { padding: 24px 0 0; border-top: 2px solid #2f2119; }
.b2b-steps span { font: 700 12px var(--sans); letter-spacing: .12em; color: #a8672f; }
.b2b-steps b { display: block; margin: 10px 0 8px; font: 400 22px/1.2 var(--serif); }
.b2b-steps p { margin: 0; line-height: 1.6; color: rgba(47, 33, 25, .72); }

.b2b-form-section { background: #21120e; color: #fff9e9; }
.b2b-form-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 64px; align-items: start; }
.b2b-form-intro .page-kicker { color: #e3a869; }
.b2b-form-intro p { line-height: 1.65; color: rgba(255, 249, 233, .75); }
.b2b-direct { display: grid; gap: 6px; margin-top: 28px; padding-top: 22px; border-top: 1px solid rgba(255, 249, 233, .16); }
.b2b-direct span { font: 700 11px var(--sans); letter-spacing: .12em; text-transform: uppercase; color: #e3a869; }
.b2b-direct a { font: 400 22px var(--serif); color: #fff9e9; }
.b2b-direct small { color: rgba(255, 249, 233, .6); }
.b2b-form { display: grid; gap: 16px; padding: 32px; border-radius: 22px; background: #fffdf8; color: #2f2119; }
.b2b-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.b2b-form label { display: grid; gap: 7px; font-size: 13px; font-weight: 700; }
.b2b-form label small { font-weight: 400; color: rgba(47, 33, 25, .6); }
.b2b-form input, .b2b-form select, .b2b-form textarea { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid rgba(47, 33, 25, .22); border-radius: 10px; background: #fff; font: 400 16px var(--sans); color: #2f2119; }
.b2b-form textarea { min-height: 110px; resize: vertical; }
.b2b-form input:focus, .b2b-form select:focus, .b2b-form textarea:focus { outline: none; border-color: #8e5a38; box-shadow: 0 0 0 3px rgba(142, 90, 56, .15); }
.b2b-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; border: 0; }
.b2b-chips legend { margin-bottom: 8px; font-size: 13px; font-weight: 700; }
.b2b-form .b2b-chip { position: relative; display: inline-flex; cursor: pointer; }
.b2b-form .b2b-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; min-height: 0; padding: 0; }
.b2b-chip span { padding: 9px 14px; border: 1px solid rgba(47, 33, 25, .22); border-radius: 999px; font-weight: 600; font-size: 14px; }
.b2b-chip input:checked + span { background: #2f2119; border-color: #2f2119; color: #fff; }
.b2b-chip input:focus-visible + span { outline: 2px solid #8e5a38; outline-offset: 2px; }
.b2b-form .b2b-hp { position: absolute; left: -9999px; }
.b2b-consent { margin: 0; font-size: 13px; color: rgba(47, 33, 25, .62); }
.b2b-consent a { text-decoration: underline; text-underline-offset: 3px; }
.b2b-submit { justify-content: center; width: 100%; }
.b2b-result { margin: 0; font-weight: 600; min-height: 1em; }
.b2b-result.is-success { color: #3f6b2f; }

@media (max-width: 1000px) {
  .b2b-hero { grid-template-columns: 1fr; min-height: 0; }
  .b2b-hero-copy { padding: 48px 24px; }
  .b2b-hero-media { height: 300px; order: -1; }
  .b2b-type-grid, .b2b-steps { grid-template-columns: 1fr 1fr; }
  .b2b-products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .b2b-form-layout { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 640px) {
  .b2b-shell { width: calc(100vw - 32px); }
  .b2b-hero-copy { padding: 36px 16px 40px; }
  .b2b-hero-media { height: 220px; }
  .b2b-lead { font-size: 16px; }
  .b2b-proof { grid-template-columns: 1fr; gap: 12px; margin-top: 32px; }
  .b2b-section { padding: 56px 0; }
  .b2b-type-grid, .b2b-steps, .b2b-form-grid { grid-template-columns: 1fr; }
  .b2b-products { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 -16px; padding: 0 16px 6px; scrollbar-width: none; }
  .b2b-products::-webkit-scrollbar { display: none; }
  .b2b-product { flex: 0 0 62%; scroll-snap-align: start; }
  .b2b-type { padding: 22px; }
  .b2b-form { padding: 22px 18px; border-radius: 18px; }
}

/* Cookie lista: bez analytiky jen jednoradkove oznameni. */
.vb-consent.is-notice [data-preferences] { display: none; }
.vb-consent.is-notice strong { display: none; }
.vb-consent.is-notice p { margin: 0; }
@media (max-width: 760px) {
  html body .vb-consent.is-notice {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 12px;
    inset: auto 10px calc(10px + env(safe-area-inset-bottom));
    padding: 10px 10px 10px 16px;
    border-radius: 999px;
    max-height: none;
  }
  html body .vb-consent.is-notice .vb-consent-copy { flex: 1 1 auto; min-width: 0; }
  html body .vb-consent.is-notice p { font-size: 13px; line-height: 1.35; }
  html body .vb-consent.is-notice .vb-consent-actions { flex: 0 0 auto; }
  html body .vb-consent.is-notice .vb-consent-actions button { min-height: 38px; padding: 6px 16px; }
}
/* Dokud je lista videt, bublina poradce a potvrzeni kosiku jdou nad ni. */
body:has(#vb-consent) .vb-chat:has(.vb-chat-panel[hidden]) { bottom: calc(76px + env(safe-area-inset-bottom)); }
body:has(#vb-consent) .vb-added-toast { bottom: calc(76px + env(safe-area-inset-bottom)); }
@media (min-width: 761px) {
  body:has(#vb-consent) .vb-chat:has(.vb-chat-panel[hidden]) { bottom: 104px; }
  body:has(#vb-consent) .vb-added-toast { bottom: 104px; }
}
.contact-details .contact-item p a { display: inline; font-size: inherit; }
html body .featured-grid .featured-card .featured-card-link { margin-top: 0; }

/* Chat na mobilu: celoobrazovkovy panel nad klavesnici, bez skakani. */
@media (max-width: 600px) {
  html.vb-chat-lock, html.vb-chat-lock body { overflow: hidden; overscroll-behavior: none; }
  html body .vb-chat.is-open { inset: 0; z-index: 500; }
  html body .vb-chat.is-open .vb-chat-launcher { display: none; }
  html body .vb-chat.is-open .vb-chat-panel {
    position: fixed;
    top: var(--vb-vvt, 0px);
    left: 0;
    right: 0;
    bottom: auto;
    width: 100%;
    height: var(--vb-vvh, 100dvh);
    max-height: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  html body .vb-chat .vb-chat-head { padding-top: calc(12px + env(safe-area-inset-top)); }
  html body .vb-chat .vb-chat-messages { overscroll-behavior: contain; }
  html body .vb-chat .vb-chat-composer { padding-bottom: calc(10px + env(safe-area-inset-bottom)); }
  /* 16 px zabrani automatickemu priblizeni stranky na iPhonu. */
  html body .vb-chat .vb-chat-composer textarea { font-size: 16px; }
  html body .vb-chat .vb-chat-panel > small { display: none; }
}
.vb-chat-composer textarea { scrollbar-width: none; } .vb-chat-composer textarea::-webkit-scrollbar { display: none; }

/* ==================================================================
   Jednotny vizualni jazyk podle detailu produktu (2026-09-26).
   Detail (pdp-vilgain) je vzor: tmave hnede #2f2119, seda #74675c,
   bezove plochy pod fotkami, ceny DM Sans tucne, tlacitka se
   zaoblenim 12 px. Nadpisy zustavaji ve Fraunces.
   ================================================================== */
:root {
  --vb-ink: #2f2119;
  --vb-ink-hover: #4a3022;
  --vb-muted: #74675c;
  --vb-page: #faf6ef;
  --vb-panel: #f1e8dc;
  --vb-line: #e6d9ca;
  --vb-radius: 12px;
  --vb-radius-lg: 16px;
}
html body.page-site, html body.home-page { background: var(--vb-page); color: var(--vb-ink); }
html body .site-header { border-bottom-color: var(--vb-line); }

/* Tlacitka: zaobleny obdelnik jako "Pridat do kosiku" na detailu. */
html body .button {
  border-radius: var(--vb-radius);
  font-family: var(--sans);
  font-weight: 600;
  letter-spacing: 0;
}
html body .button-ink { background: var(--vb-ink); border-color: var(--vb-ink); color: #fff; }
html body .button-ink:hover { background: var(--vb-ink-hover); }
html body .button:hover { transform: none; }

/* Karty v obchode: fotka na bilem jako driv, zbytek podle detailu. */
/* ---------------------------------------------------------- obchod */
html body.shop-page #products-grid .product-card {
  border: 1px solid var(--vb-line) !important;
  border-radius: var(--vb-radius-lg) !important;
  background: #fff !important;
  box-shadow: none !important;
}
/* Vlajka zapecena do fotek lusku se zakryje stejne jako na detailu. */
html body.shop-page .product-card-title { color: var(--vb-ink); }
html body.shop-page .product-card-desc { color: var(--vb-muted); }
html body.shop-page #products-grid .product-price b {
  font-family: var(--sans) !important;
  font-weight: 700 !important;
  font-size: 20px !important;
  letter-spacing: -.02em;
  color: var(--vb-ink);
}
html body.shop-page #products-grid .product-price > span { color: var(--vb-muted) !important; }
html body.shop-page .product-card-buy .button {
  border-radius: var(--vb-radius) !important;
  background: var(--vb-ink) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  justify-content: center;
  gap: 10px;
}
html body.shop-page .product-card-buy .button span { display: none; }
@media (max-width: 760px) {
  html body.shop-page #products-grid .product-price b { font-size: 16px !important; }
  html body.shop-page .product-card-buy .button { border-radius: 10px !important; font-size: 12px !important; }
}

/* Stitky na kartach = stitek nad nazvem na detailu. */
.card-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: calc(100% - 50px);
  padding: 5px 11px;
  border-radius: 999px;
  background: #f6efe5;
  color: #5c4738;
  font: 600 12px/1.2 var(--sans);
  letter-spacing: 0;
  text-transform: none;
}
.card-badge.moth-badge-lime { background: #dce8ce; color: #31482a; }
.card-badge.moth-badge-peach { background: #efddbf; color: #5c3c21; }
.card-badge.moth-badge-cream { background: #f6efe5; color: #5c4738; box-shadow: inset 0 0 0 1px #e6d9ca; }
.card-badge.card-badge-origin { padding: 4px 10px 4px 4px; background: rgba(255, 255, 255, .94); color: var(--vb-ink); box-shadow: 0 1px 4px rgba(45, 25, 12, .08); }
.card-flag { display: block; flex: 0 0 auto; width: 16px; height: 16px; overflow: hidden; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(45, 25, 12, .18); }
.card-flag svg { display: block; width: 100%; height: 100%; }
@media (max-width: 760px) {
  html body.shop-page .product-badges .card-badge { display: inline-flex; font-size: 10.5px; padding: 4px 8px; }
  html body.shop-page .product-badges .card-badge-origin { padding: 3px 8px 3px 3px; }
  .card-flag { width: 14px; height: 14px; }
}

html body.shop-page .product-badges .card-badge { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block; }
html body.shop-page .product-badges .card-badge-origin { display: inline-flex; }

/* Filtry a razeni v jazyku voleb na detailu. */
html body.shop-page .filter-pill.active { background: var(--vb-ink); border-color: var(--vb-ink); }

/* ------------------------------------------------ uvodni stranka */
html body .featured-grid .featured-card { border-color: var(--vb-line); border-radius: var(--vb-radius-lg); }
html body .featured-grid .featured-card-media { margin: 8px 8px 0; border-radius: var(--vb-radius); background: var(--vb-panel); overflow: hidden; }
html body .featured-grid .featured-card-image { mix-blend-mode: multiply; }
html body .featured-card-price { font-family: var(--sans) !important; font-weight: 700 !important; letter-spacing: -.02em; color: var(--vb-ink); }
html body .bundle-card > div > b { font-family: var(--sans); font-weight: 700; letter-spacing: -.02em; }

/* ---------------------------------------------------------- kosik */
html body .cart-overlay .cart-item-img { background: var(--vb-panel); mix-blend-mode: normal; }
html body .cart-overlay .cart-total strong { font: 700 24px var(--sans); letter-spacing: -.02em; }
html body .cart-overlay .cart-checkout-area .checkout-link { border-radius: var(--vb-radius); }
html body .cart-overlay .cart-crosssell-media img { background: var(--vb-panel); }
html body .vb-added-toast img { background: var(--vb-panel); }

/* -------------------------------------------------------- pokladna */
html body #checkout-summary strong { font: 700 26px var(--sans); letter-spacing: -.02em; }
html body .checkout-summary-item img { background: var(--vb-panel); border-radius: 10px; }
html body .checkout-main input:not([type="checkbox"]):not([type="radio"]), html body .checkout-main select { border-radius: 10px; }

/* ------------------------------------------------------------ ucet */
html body .account-main { --acc-paper: #fff; --acc-line: var(--vb-line); --acc-soft: var(--vb-muted); color: var(--vb-ink); }
html body .account-sum .is-total { font: 700 22px var(--sans); letter-spacing: -.02em; }
html body .account-big { font-family: var(--sans); font-weight: 700; }
html body .account-items img, html body .account-noimg, html body .account-order-thumbs img { background: var(--vb-panel); }
html body .account-fav img { background: var(--vb-panel); }
html body .account-nav a.is-active, html body .account-avatar { background: var(--vb-ink); }
html body .account-switch a.is-active { color: var(--vb-ink); }

/* ------------------------------------------- velkoobchod, doprava */
html body .b2b-product span { background: var(--vb-panel); }
html body .b2b-product img { mix-blend-mode: multiply; }
html body .service-card-top b { font: 700 20px var(--sans); letter-spacing: -.02em; }
html body .form-slider .form-tile-media { background: var(--vb-panel); }
html body .form-slider .form-tile-media img { mix-blend-mode: multiply; }



/* ==================================================================
   Typograficka stupnice pro cely web (2026-09-26), vzor = detail.
   Nejmensi text 11 px, popisky 12-13 px, text 15-16 px, tlacitka 14 px.
   ================================================================== */

/* Male nadpisy nad sekcemi (eyebrow, kicker, cislovani) */
html body .eyebrow,
html body .page-kicker,
html body.home-page .chapter-index,
html body.home-page .guide-number,
html body.home-page .proof-index,
html body.home-page .featured-card-kicker {
  font-size: 11px !important;
  letter-spacing: .12em;
  line-height: 1.4;
}
@media (min-width: 761px) {
  html body .eyebrow,
  html body .page-kicker,
  html body.home-page .chapter-index,
  html body.home-page .guide-number,
  html body.home-page .proof-index,
  html body.home-page .featured-card-kicker { font-size: 12px !important; }
}

/* Uvodni stranka: drobnosti citelne */
html body.home-page .film-label span,
html body.home-page .film-label b,
html body.home-page .mobile-story-counter,
html body.home-page .mobile-story-toggle span,
html body.home-page .origin-stamp small,
html body.home-page .proof-source,
html body.home-page .chapter-facts small { font-size: 11px !important; }
html body.home-page .chapter-facts span,
html body.home-page .proof-card strong,
html body.home-page .inspiration-card span { font-size: 12px !important; }
html body.home-page .guide-card p,
html body.home-page .bundle-card p,
html body.home-page .newsletter-copy small,
html body.home-page .newsletter-copy small a { font-size: 12px !important; line-height: 1.5; }
html body.home-page .inspiration-card b,
html body.home-page .guide-footer span,
html body.home-page .guide-footer a,
html body.home-page .featured-card-link,
html body.home-page .bundle-card del { font-size: 13px !important; }
html body.home-page .text-link,
html body.home-page .bundle-card .text-link { font-size: 14px !important; }
html body.home-page .button { font-size: 14px !important; }

/* Uvodni stranka: nadpisy bez extremu */
html body.home-page .hero-copy h1 { font-size: clamp(42px, 11vw, 48px) !important; }
html body.home-page main h2,
html body.home-page main h2 em { font-size: clamp(34px, 9.5vw, 44px) !important; }
html body.home-page .proof-value { font-size: clamp(40px, 11vw, 44px) !important; }
@media (min-width: 761px) {
  html body.home-page .hero-copy h1 { font-size: clamp(56px, 5.4vw, 76px) !important; }
  html body.home-page main h2,
  html body.home-page main h2 em { font-size: clamp(44px, 4.4vw, 64px) !important; }
  html body.home-page .guide-card h3 { font-size: clamp(34px, 3.2vw, 46px) !important; }
  html body.home-page .proof-value { font-size: clamp(48px, 4.2vw, 60px) !important; }
}

/* Obchod na mobilu: blize detailu */
@media (max-width: 760px) {
  html body.shop-page .product-card-title,
  html body.shop-page:not(.view-moth):not(.view-diaspora) .product-card-title { font-size: 15px !important; line-height: 1.25 !important; }
  html body.shop-page .product-card-desc,
  html body.shop-page:not(.view-moth):not(.view-diaspora) .product-card-desc { font-size: 12.5px !important; line-height: 1.4 !important; }
  html body.shop-page #products-grid .product-price b { font-size: 17px !important; }
  html body.shop-page #products-grid .product-price > span { font-size: 11.5px !important; }
  html body.shop-page .product-badges .card-badge { font-size: 11px !important; }
  html body.shop-page .product-card-buy .button,
  html body.shop-page:not(.view-moth):not(.view-diaspora) .product-card-buy .button { font-size: 13px !important; }
  html body.shop-page .mobile-filter-trigger span,
  html body.shop-page .mobile-filter-selection { font-size: 13px !important; }
  html body.shop-page .form-slider .form-tile-meta { font-size: 11px; }
}
html body.home-page .hero-categories a span,
html body.home-page .story-buy small,
html body.home-page .origin-metrics span,
html body.home-page .proof-review small { font-size: 11px !important; letter-spacing: .08em; }
html body.home-page .hero-categories a b,
html body.home-page .proof-review strong { font-size: 12px !important; }

/* ==================================================================
   Uvodni stranka – jednotna hierarchie velikosti (2026-09-26).
   Nadpis sekce 34/52, nadpis v karte 22/28 (~polovina), velka cisla
   36/44, produktove karty jako v obchode 15/19 + cena 17/20.
   ================================================================== */
html body.home-page main h2,
html body.home-page main h2 em { font-size: 34px !important; line-height: 1.08 !important; letter-spacing: -.02em; }
html body.home-page .hero-copy h1,
html body.home-page .hero-copy h1 em { font-size: 44px !important; line-height: 1.02 !important; }

/* nadpisy v kartach */
html body.home-page .guide-card h3,
html body.home-page .bundle-card h3,
html body.home-page .inspiration-card h3,
html body.home-page .flavor-panel h3,
html body.home-page .proof-card h3 { font-size: 22px !important; line-height: 1.15 !important; letter-spacing: -.01em; min-height: 0; max-width: none; }
html body.home-page .proof-value { font-size: 36px !important; line-height: 1 !important; margin-top: 18px !important; }
html body.home-page .proof-review b { font-size: 30px !important; }

/* produktove karty = karty v obchode */
html body.home-page .featured-card h3 { font-size: 15px !important; line-height: 1.25 !important; min-height: 2.5em; }
html body.home-page .featured-card-price { font-size: 17px !important; }
html body.home-page .bundle-card > div > b { font-size: 17px !important; margin-top: 10px; }

/* text v kartach */
html body.home-page .guide-footer span,
html body.home-page .inspiration-card b { font-size: 14px !important; }

@media (max-width: 760px) {
  /* posuvne karty: 80 % sirky, je videt kus dalsi */
  html body.home-page .guide-card,
  html body.home-page .bundle-card,
  html body.home-page .inspiration-card,
  html body.home-page .inspiration-card-large,
  html body.home-page .proof-card,
  html body.home-page .proof-card:last-child { flex: 0 0 80% !important; min-height: 0 !important; }
  html body.home-page .guide-card { grid-template-rows: auto auto 150px auto; gap: 4px; }
  html body.home-page .guide-card img { height: 150px !important; margin: 6px auto !important; }
  html body.home-page .bundle-card > img { flex-basis: 180px !important; height: 180px !important; }
  html body.home-page .inspiration-card,
  html body.home-page .inspiration-card-large { aspect-ratio: 1 / 1; padding: 18px; }
  html body.home-page .proof-card { gap: 10px; }
  html body.home-page .format-guide,
  html body.home-page .bundle-showcase,
  html body.home-page .flavor-profile { padding-top: 64px !important; padding-bottom: 64px !important; }
  html body.home-page .guide-heading { margin-bottom: 28px; }
}

@media (min-width: 761px) {
  html body.home-page main h2,
  html body.home-page main h2 em { font-size: clamp(40px, 3.7vw, 52px) !important; }
  html body.home-page .hero-copy h1,
  html body.home-page .hero-copy h1 em { font-size: clamp(56px, 5vw, 72px) !important; }
  html body.home-page .guide-card h3,
  html body.home-page .bundle-card h3,
  html body.home-page .inspiration-card h3,
  html body.home-page .flavor-panel h3,
  html body.home-page .proof-card h3 { font-size: 28px !important; }
  html body.home-page .proof-value { font-size: 44px !important; }
  html body.home-page .featured-card h3 { font-size: 19px !important; }
  html body.home-page .featured-card-price { font-size: 20px !important; }
  html body.home-page .bundle-card > div > b { font-size: 20px !important; }
  html body.home-page .guide-footer span,
  html body.home-page .inspiration-card b { font-size: 15px !important; }

  /* rozumne rozmery karet */
  html body.home-page .guide-card { min-height: 480px !important; }
  html body.home-page .guide-card img { top: 20% !important; height: 50% !important; }
  html body.home-page .bundle-card { min-height: 0 !important; }
  html body.home-page .bundle-card > img { flex-basis: 220px !important; height: 220px !important; }
  html body.home-page .inspiration-card { min-height: 360px !important; }
  html body.home-page .proof-card { min-height: 280px !important; }
  html body.home-page .format-guide,
  html body.home-page .featured-products,
  html body.home-page .bundle-showcase,
  html body.home-page .flavor-profile,
  html body.home-page .proof,
  html body.home-page .home-inspiration { padding-top: 112px !important; padding-bottom: 112px !important; }
}

/* ==================================================================
   Kontrast textu (WCAG AA) – 2026-09-26.
   Male zlate popisky na svetlem #8a5220 (5,9:1), text na oranzove
   plose tmavy #23150d (5,4:1), sede texty tmavsi.
   ================================================================== */
html body.theme-cremebrulee .eyebrow,
html body.theme-cremebrulee .page-kicker,
html body.theme-cremebrulee .guide-number,
html body.theme-cremebrulee .guide-card > p,
html body.theme-cremebrulee .bundle-card p,
html body.theme-cremebrulee .proof-index,
html body.theme-cremebrulee .featured-card-kicker,
html body .vb-footer .footer-col > p,
html body .contact-details .contact-item > span,
html body .account-main .page-kicker,
html body .b2b-steps span { color: #8a5220 !important; }
/* tmave sekce si nechavaji svetlejsi zlatou */
html body.theme-cremebrulee .story .eyebrow,
html body.theme-cremebrulee .story .chapter-index,
html body.theme-cremebrulee .origin .eyebrow,
html body.theme-cremebrulee .b2b-hero .page-kicker,
html body.theme-cremebrulee .b2b-form-section .page-kicker,
html body.theme-cremebrulee .final-copy .eyebrow { color: #e3a869 !important; }

html body.theme-cremebrulee .bundle-card .text-link { color: #8a5220; border-bottom-color: #8a5220; }
html body.theme-cremebrulee .bundle-card del { color: rgba(35, 21, 13, .62); }

/* oranzove plochy: text tmavy, velke nadpisy smi zustat bile */
html body.theme-cremebrulee .bundle-showcase .bundle-intro .eyebrow,
html body.theme-cremebrulee .bundle-showcase .bundle-intro > p,
html body.theme-cremebrulee .bundle-showcase .bundle-intro .text-link,
html body.theme-cremebrulee .home-newsletter .eyebrow,
html body.theme-cremebrulee .home-newsletter .newsletter-copy > p,
html body.theme-cremebrulee .home-newsletter small,
html body.theme-cremebrulee .home-newsletter small a { color: #23150d !important; opacity: 1 !important; }
html body.theme-cremebrulee .bundle-showcase .bundle-intro .text-link { border-bottom-color: #23150d; }
html body.theme-cremebrulee .guide-card-ground,
html body.theme-cremebrulee .guide-card-ground h3,
html body.theme-cremebrulee .guide-card-ground > p,
html body.theme-cremebrulee .guide-card-ground .guide-number,
html body.theme-cremebrulee .guide-card-ground .guide-footer span,
html body.theme-cremebrulee .guide-card-ground .guide-footer a { color: #23150d !important; }
html body.theme-cremebrulee .guide-card-ground .guide-footer a { border-bottom-color: #23150d; }

/* sede texty */
html body .vb-footer .footer-col span,
html body .vb-footer .footer-bottom,
html body .vb-footer .footer-bottom span,
html body .vb-footer .vb-privacy-settings { color: #5c4a3d; }
html body .contact-details .contact-item small,
html body .b2b-form label small,
html body .b2b-consent { color: #5c4a3d; }

/* Detail na mobilu: rezerva pod patickou pro lepivou nakupni listu. */
@media (max-width: 1023px) {
  html body.pdp-vilgain .site-footer.vb-footer { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
}
/* Nic v paticce nelezi pod bublinou poradce. */
html body .vb-footer .footer-bottom { padding-right: 88px; }
@media (max-width: 760px) { html body .vb-footer .footer-bottom { padding-right: 64px; } }

/* Kratka pokladna (prazdny kosik): paticka drzi u spodniho okraje. */
html body.checkout-page { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
html body.checkout-page > main { flex: 1 0 auto; width: 100%; }

/* ==================================================================
   Kosik v barvach detailu (2026-09-26): jedna kremova plocha,
   doprava zdarma jako bezovy blok z detailu, stejna hneda tlacitka.
   ================================================================== */
html body .cart-overlay .cart-panel { background: #faf6ef; color: #2f2119; }
html body .cart-overlay .cart-panel > .eyebrow { color: #8a5220; }
html body .cart-overlay .cart-panel > .overlay-close { background: #fff; border-color: #e6d9ca; color: #2f2119; }
html body .cart-overlay .cart-panel > #shipping-text {
  margin: 16px 24px 0;
  padding: 12px 14px 22px;
  border-radius: 12px 12px 0 0;
  background: #f5eadb;
  color: #2f2119;
  font-size: 13px;
}
html body .cart-overlay .cart-panel > .shipping-bar {
  margin: -16px 38px 0;
  height: 4px;
  background: rgba(47, 33, 25, .12);
  position: relative;
}
html body .cart-overlay .cart-panel > .shipping-bar::after { content: ''; position: absolute; left: -14px; right: -14px; top: 4px; height: 12px; background: #f5eadb; border-radius: 0 0 12px 12px; }
html body .cart-overlay .cart-panel > .shipping-bar { overflow: visible; }
html body .cart-overlay .cart-panel #shipping-progress-fill { background: #b7763e; border-radius: 999px; }
html body .cart-overlay #cart-items-list { margin-top: 22px; border-top-color: #e6d9ca; }
html body .cart-overlay .cart-item-row { border-bottom-color: #e6d9ca; }
html body .cart-overlay .cart-item-variant { color: #74675c; }
html body .cart-overlay .cart-item-qty { border-color: #e6d9ca; }
html body .cart-overlay .cart-pack-hint { background: #eef3e8; color: #557940; }
html body .cart-overlay .cart-crosssell h3 { color: #74675c; }
html body .cart-overlay .cart-crosssell li { border-color: #e6d9ca; }
html body .cart-overlay .cart-crosssell-add { background: #2f2119; }
html body .cart-overlay .cart-checkout-area { background: #faf6ef; border-top-color: #e6d9ca; }
html body .cart-overlay .cart-checkout-area .checkout-link { background: #2f2119; border-color: #2f2119; }
html body .cart-overlay .checkout-preview-note { color: #74675c; }
html body .cart-overlay .cart-keep-shopping { color: #2f2119; }
@media (max-width: 520px) {
  html body .cart-overlay .cart-panel > #shipping-text { margin-inline: 18px; }
  html body .cart-overlay .cart-panel > .shipping-bar { margin-inline: 32px; }
}

/* Balicky na desktopu: uvod nad kartami, tri siroke karty (misto uzkych vezi). */
@media (min-width: 761px) {
  html body.home-page .bundle-layout { grid-template-columns: 1fr; gap: 36px; align-items: start; }
  html body.home-page .bundle-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); column-gap: 48px; align-items: end; max-width: none; }
  html body.home-page .bundle-intro .eyebrow,
  html body.home-page .bundle-intro h2 { grid-column: 1; }
  html body.home-page .bundle-intro > p:not(.eyebrow),
  html body.home-page .bundle-intro .text-link { grid-column: 2; }
  html body.home-page .bundle-intro > p:not(.eyebrow) { grid-row: 2; margin: 0 0 12px; max-width: none; }
  html body.home-page .bundle-intro .text-link { grid-row: 3; justify-self: start; }
  html body.home-page .bundle-intro h2 { grid-row: 2 / span 2; }
  html body.home-page .bundle-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  html body.home-page .bundle-card { padding: 20px; border-radius: 18px; }
  html body.home-page .bundle-card > img { flex-basis: 260px !important; height: 260px !important; width: calc(100% + 40px); margin: -20px -20px 20px; }
  html body.home-page .bundle-card h3 { font-size: 26px !important; }
}

/* Kosik: produkty na bilem jako v obchode. */
html body .cart-overlay .cart-item-img,
html body .cart-overlay .cart-crosssell-media img { background: #fff; box-shadow: inset 0 0 0 1px #e6d9ca; }

/* Karty forem: cislo 01/02/03 v jednom radku s popiskem, nic se neprekryva. */
html body.home-page .guide-card > p { padding-right: 44px; }
html body.home-page .guide-card .guide-number { top: 26px; right: 26px; line-height: 1.4; letter-spacing: .12em; }
@media (max-width: 760px) {
  html body.home-page .guide-card .guide-number { top: 18px; right: 18px; }
}
/* Fotka s BIO samolepkou: sklenice opticky na stred. */
html body.home-page .guide-card-ground img { transform: translateX(5%); }
html body.home-page .guide-card-ground:hover img { transform: translateX(5%) scale(1.04) rotate(-2deg); }

/* Tlacitka: text a sipka u sebe, na stred (ne sipka odsunuta na kraj). */
html body .button { justify-content: center; gap: 10px; }
html body .button > span { font-size: 1em; line-height: 1; }

/* Hlavicka nad pribehem: pozadi, text i logo se meni najednou a stejne rychle,
   takze nenastane okamzik tmave na tmavem. */
html body.home-page .site-header { transition: color .45s ease, border-color .45s ease, top .3s; }
html body.home-page .site-header::before { transition: background-color .45s ease, opacity .45s ease !important; }
html body.home-page .site-header .brand img { transition: filter .45s ease; }
html body.home-page .site-header .cart-button,
html body.home-page .site-header .account-button,
html body.home-page .site-header .fav-button { transition: border-color .45s ease, color .45s ease; }

/* Produktove karty na uvodni strance: fotka na bilem jako v obchode. */
html body .featured-grid .featured-card-media { margin: 0; border-radius: 0; background: #fff; }
html body .featured-grid .featured-card-image { mix-blend-mode: normal; }
html body .featured-grid .featured-card-media { border: 0 !important; border-bottom: 0 !important; }

/* Posuvne karty na mobilu: stin se v posuvniku orizne a vytvori
   viditelny pruh v pozadi, proto bez stinu. */
@media (max-width: 760px) {
  html body.home-page .bundle-card,
  html body.home-page .guide-card,
  html body.home-page .inspiration-card,
  html body.home-page .proof-card { box-shadow: none !important; }
}

/* Rucne / Primo / Osobne: bez ramecku, jen vzdusne pod sebou (desktop vedle sebe). */
html body.home-page .origin-metrics { border: 0 !important; gap: 22px 32px; }
html body.home-page .origin-metrics div,
html body.home-page .origin-metrics div:last-child { border: 0 !important; min-height: 0; padding: 0; }
@media (min-width: 761px) { html body.home-page .origin-metrics { align-items: start; } html body.home-page .origin-metrics div { align-content: start; } }

/* Hodnoceni: loga Google a Heureka, bez nedokoncenych car. */
html body.home-page .proof-reviews { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; border: 0 !important; margin-top: 28px; }
html body.home-page .proof-review.review-badge,
html body.home-page .proof-review.review-badge + .proof-review.review-badge {
  display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 8px;
  min-height: 0; padding: 16px 18px !important; border: 1px solid #e6d9ca !important; border-radius: 16px;
  background: #fff; color: #2f2119; text-decoration: none;
}
html body.home-page .review-logo { display: block; height: 24px; width: auto; }
html body.home-page .review-logo-heureka { height: 20px; margin: 2px 0; }
html body.home-page .review-main { display: flex; align-items: center; gap: 10px; }
html body.home-page .review-badge b { font: 700 28px/1 var(--sans) !important; letter-spacing: -.02em; color: #2f2119; }
html body.home-page .review-stars { display: flex; gap: 2px; color: #e3a008; }
html body.home-page .review-stars svg { width: 15px; height: 15px; fill: currentColor; }
html body.home-page .review-badge small { font: 600 12px/1.35 var(--sans) !important; letter-spacing: 0 !important; text-transform: none !important; color: #5c4a3d; }
@media (hover: hover) { html body.home-page .review-badge:hover { border-color: #cdbca9 !important; } html body.home-page .review-badge:hover small { color: #2f2119; } }
/* Karty pod hodnocenim: bila plocha jako ostatni karty webu. */
html body.home-page .proof-card, html body.home-page .proof-card:last-child { background: #fff; border-color: #e6d9ca !important; }
@media (min-width: 761px) {
  html body.home-page .proof-grid {
    width: min(100%, 1200px);
    margin-inline: auto;
    gap: 18px;
    border-top: 0;
  }
  html body.home-page .proof-card,
  html body.home-page .proof-card:last-child {
    min-height: 350px !important;
    justify-content: flex-start;
    padding: 28px;
    border: 1px solid #e6d9ca !important;
    border-radius: 16px;
  }
  html body.home-page .proof-card-copy { flex: 1; }
  html body.home-page .proof-value { margin-top: 26px !important; }
  html body.home-page .proof-card-copy > p { max-width: 32ch; font-size: 14px; line-height: 1.5; }
  html body.home-page .proof-source { margin-top: 24px; }
}
@media (min-width: 761px) and (max-width: 980px) {
  html body.home-page .proof-grid { max-width: 620px; grid-template-columns: 1fr; }
  html body.home-page .proof-card,
  html body.home-page .proof-card:last-child { min-height: 0 !important; }
}
@media (max-width: 760px) {
  html body.home-page .proof-reviews { grid-template-columns: 1fr 1fr; gap: 10px; }
  html body.home-page .proof-review.review-badge,
  html body.home-page .proof-review.review-badge + .proof-review.review-badge { padding: 14px !important; }
  html body.home-page .review-badge b { font-size: 24px !important; }
  html body.home-page .review-stars svg { width: 12px; height: 12px; }
}

/* Recepty na fotkach: popisek citelny na jakekoli fotce (svetly text,
   silnejsi ztmaveni spodni casti karty). */
html body.home-page .inspiration-card::after { background: linear-gradient(180deg, rgba(20,11,8,0) 30%, rgba(20,11,8,.55) 55%, rgba(20,11,8,.9) 100%); }
html body.home-page .inspiration-card > span { color: #fff9e9 !important; opacity: .92; text-shadow: 0 1px 8px rgba(0,0,0,.45); }
html body.home-page .inspiration-card > h3,
html body.home-page .inspiration-card > b { text-shadow: 0 1px 10px rgba(0,0,0,.35); }

/* Recepty: popisek, nadpis i odkaz ve stejne vysce na vsech kartach
   (nadpis ma vzdy misto na dva radky). */
html body.home-page .inspiration-card > h3 { min-height: 2.3em; display: flex; align-items: flex-start; margin-top: 10px !important; margin-bottom: 14px !important; }
html body.home-page .inspiration-card > span { margin: 0; }

/* Newsletter: kompaktni pruh, pole a tlacitko jako jeden celek. */
html body.home-page .home-newsletter { padding: 56px 5vw !important; }
html body.home-page .home-newsletter .newsletter-inner { align-items: center; gap: 24px 48px; }
html body.home-page .home-newsletter h2,
html body.home-page .home-newsletter h2 em { font-size: clamp(30px, 3vw, 40px) !important; }
html body.home-page .home-newsletter .eyebrow { margin-bottom: 8px; }
html body.home-page .newsletter-form { display: flex !important; gap: 0; max-width: 520px; margin: 0 0 10px; padding: 5px; border-radius: 14px; background: #fff; }
html body.home-page .newsletter-form input { flex: 1; min-width: 0; min-height: 46px; padding: 0 12px; border: 0 !important; border-radius: 10px; background: transparent !important; font: 400 16px var(--sans); color: #23150d; outline: none; }
html body.home-page .newsletter-form .button { flex: 0 0 auto; min-height: 46px; margin: 0; padding: 0 18px; border-radius: 10px; background: #23150d !important; color: #fff !important; font-size: 14px; }
html body.home-page .newsletter-form:focus-within { box-shadow: 0 0 0 2px #23150d; }
html body.home-page .newsletter-form .form-result:not(:empty) { flex-basis: 100%; }
html body.home-page .newsletter-form { flex-wrap: wrap; }
html body.home-page .home-newsletter small { display: block; font-size: 12px; }
@media (max-width: 760px) {
  html body.home-page .home-newsletter { padding: 44px 16px !important; }
  html body.home-page .home-newsletter .newsletter-inner { gap: 18px; }
}
html body.home-page .newsletter-form { flex-wrap: nowrap !important; position: relative; }
html body.home-page .newsletter-form input { width: auto !important; }
html body.home-page .newsletter-form .button { width: auto !important; }
html body.home-page .newsletter-form .form-result { position: absolute; top: calc(100% + 30px); left: 0; margin: 0; font-weight: 600; }

/* ==================================================================
   Paticka: desktop beze zmeny (mensi logo), mobil kompaktni
   s rozbalovacimi skupinami odkazu.
   ================================================================== */
html body .vb-footer .footer-acc-head {
  display: block; width: 100%; margin: 0; padding: 0; border: 0; background: none; text-align: left; cursor: default;
  font: 700 11px var(--sans); letter-spacing: .12em; text-transform: uppercase; color: #8a5220;
}
html body .vb-footer .footer-acc > p { margin: 0 0 6px; }
html body .vb-footer .footer-acc-body { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
html body .vb-footer .footer-brand img { width: 72px; }

@media (max-width: 760px) {
  html body .site-footer.vb-footer { padding: 28px 16px calc(20px + env(safe-area-inset-bottom)); }
  html body .vb-footer .footer-main { display: flex; flex-direction: column; gap: 0; padding-bottom: 16px; }
  /* logo a site na jednom radku */
  html body .vb-footer .footer-brand { flex-direction: row !important; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 18px; }
  html body .vb-footer .footer-brand img { width: 52px; }
  html body .vb-footer .footer-brand p { display: none; }
  html body .vb-footer .footer-social { margin: 0; }
  html body .vb-footer .footer-social a { width: 38px; height: 38px; }
  /* rozbalovaci skupiny */
  html body .vb-footer .footer-acc { border-top: 1px solid rgba(47, 33, 25, .12); gap: 0; }
  html body .vb-footer .footer-acc > p { margin: 0; width: 100%; }
  html body .vb-footer .footer-acc-head {
    position: relative; min-height: 52px; padding: 0 36px 0 0; cursor: pointer;
    font-size: 13px; letter-spacing: .1em; color: #2f2119;
  }
  html body .vb-footer .footer-acc-head::after {
    content: ''; position: absolute; right: 4px; top: 50%; width: 12px; height: 12px;
    background: linear-gradient(currentColor, currentColor) center / 12px 1.5px no-repeat, linear-gradient(currentColor, currentColor) center / 1.5px 12px no-repeat;
    transform: translateY(-50%); transition: transform .2s ease;
  }
  html body .vb-footer .footer-acc.is-open .footer-acc-head::after { transform: translateY(-50%) rotate(45deg); }
  html body .vb-footer .footer-acc-body { display: none; gap: 2px; padding: 0 0 14px; }
  html body .vb-footer .footer-acc.is-open .footer-acc-body { display: flex; }
  html body .vb-footer .footer-acc-body a { padding: 8px 0 !important; font-size: 15px; }
  /* kontakt vzdy videt, kompaktne */
  html body .vb-footer .footer-contact { border-top: 1px solid rgba(47, 33, 25, .12); padding-top: 16px; flex-direction: row !important; flex-wrap: wrap; gap: 6px 16px !important; }
  html body .vb-footer .footer-contact > p { display: none; }
  html body .vb-footer .footer-contact a, html body .vb-footer .footer-contact span { font-size: 14px !important; padding: 2px 0 !important; }
  html body .vb-footer .footer-contact .footer-contact-link { flex-basis: 100%; margin-top: 4px; }
  /* spodni radek */
  html body .vb-footer .footer-bottom { gap: 6px; padding-top: 14px; font-size: 11.5px; }
  html body .vb-footer .footer-bottom span:nth-child(2) { display: none; }
}

/* Produktove fotky vsude na bilem pozadi (originalni fotky). */
html body .account-items img, html body .account-noimg, html body .account-order-thumbs img,
html body .account-fav img, html body .b2b-product span, html body .checkout-summary-item img,
html body .vb-added-toast img, html body .cart-overlay .cart-item-img, html body .cart-overlay .cart-crosssell-media img {
  background: #fff !important; mix-blend-mode: normal !important;
}
html body .b2b-product img { mix-blend-mode: normal !important; }
html body .account-items img, html body .account-order-thumbs img, html body .checkout-summary-item img, html body .vb-added-toast img { box-shadow: inset 0 0 0 1px #efe6d9; }

/* Heureka odznak: paticka, kosik, pokladna. */
html body .heureka-trust { margin-top: 18px; }
html body .heureka-badge { display: inline-flex; align-items: center; gap: 12px; padding: 10px 14px; border: 1px solid #e6d9ca; border-radius: 12px; background: #fff; color: #2f2119; text-decoration: none; transition: border-color .15s ease; }
html body .heureka-badge img { display: block; width: 70px; height: 16px; flex: 0 0 auto; }
html body .heureka-badge span { display: grid; gap: 1px; padding-left: 12px; border-left: 1px solid #efe6d9; }
html body .heureka-badge b { font: 600 13px/1.25 var(--sans); }
html body .heureka-badge small { font: 500 11.5px/1.3 var(--sans); color: #5c4a3d; }
@media (hover: hover) { html body .heureka-badge:hover { border-color: #cdbca9; } html body .heureka-badge:hover small { color: #2f2119; } }
html body .heureka-trust-cart { margin: 0 0 12px; display: flex; justify-content: center; }
html body .checkout-main aside .heureka-trust { margin-top: 16px; }
html body .checkout-heureka { margin-top: 6px; }
html body .checkout-heureka span { font-size: 13px; color: #5c4a3d; }
html body .checkout-newsletter { margin-top: 6px; }
html body .checkout-newsletter span { font-size: 13px; color: #5c4a3d; }
html body .checkout-newsletter small { display: block; margin-top: 2px; font-size: 12px; color: #7a6a5c; }
@media (max-width: 760px) {
  html body .vb-footer .footer-brand { flex-wrap: wrap; }
  html body .vb-footer .footer-brand .heureka-trust { flex: 0 0 100%; order: 10; margin-top: 14px; }
}

/* Cookie lista s merenim: karta se susenkou (27. 9. 2026).
   Prijmout i odmitnout jsou stejne vyrazne (pozadavek UOOU), nastaveni jako odkaz. */
html body #vb-consent.has-analytics {
  inset: auto auto 24px 24px;
  display: block;
  width: min(440px, calc(100vw - 48px));
  max-width: none;
  margin: 0;
  padding: 24px 24px 18px;
  border: 1px solid #e7d6bb;
  border-radius: 24px;
  background:
    radial-gradient(120% 90% at 0% 0%, #fff8ea 0%, transparent 60%),
    linear-gradient(160deg, #fffaf1 0%, #f6ead6 100%);
  box-shadow: 0 24px 60px #3a24181f, 0 2px 8px #3a24180f;
  max-height: calc(100dvh - 48px);
  overflow-y: auto;
  overscroll-behavior: contain;
  animation: vb-consent-in .5s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes vb-consent-in { from { opacity: 0; transform: translateY(24px) scale(.98); } to { opacity: 1; transform: none; } }
html body #vb-consent.has-analytics .vb-consent-copy {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  column-gap: 16px;
  align-items: center;
}
html body #vb-consent.has-analytics .vb-consent-art { grid-row: span 2; align-self: start; display: block; width: 64px; height: 64px; animation: vb-cookie-wiggle 2.8s ease-in-out 1s 2; transform-origin: 50% 60%; }
html body #vb-consent.has-analytics .vb-consent-art svg { display: block; width: 100%; height: 100%; filter: drop-shadow(0 6px 10px #b9863f40); }
@keyframes vb-cookie-wiggle { 0%, 100% { transform: rotate(0); } 20% { transform: rotate(-10deg); } 40% { transform: rotate(8deg); } 60% { transform: rotate(-4deg); } }
html body #vb-consent.has-analytics strong { display: block; font-family: var(--serif); font-size: 25px; line-height: 1.1; font-weight: 400; color: var(--ink); }
html body #vb-consent.has-analytics p { margin: 6px 0 0; max-width: none; font-size: 13.5px; line-height: 1.5; color: #5b4636; white-space: normal; }
html body #vb-consent.has-analytics p a { color: inherit; }
html body #vb-consent.has-analytics .vb-consent-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 18px;
  width: auto;
}
html body #vb-consent.has-analytics .vb-consent-actions button {
  min-height: 48px;
  padding: 10px 14px;
  border: 1px solid var(--ink);
  border-radius: 999px;
  background: var(--ink);
  color: #fffaf1;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .01em;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
html body #vb-consent.has-analytics .vb-consent-actions button:hover { transform: translateY(-1px); box-shadow: 0 8px 18px #3a241833; background: #4a3020; }
html body #vb-consent.has-analytics .vb-consent-actions [data-preferences] {
  grid-column: 1 / -1;
  min-height: 0;
  padding: 4px 0 0;
  border: 0;
  background: none;
  color: #6b5444;
  font-weight: 500;
  font-size: 12.5px;
  text-decoration: underline;
  text-underline-offset: 3px;
  box-shadow: none;
  transform: none;
}
html body #vb-consent.has-analytics .vb-consent-actions [data-preferences]:hover { background: none; color: var(--ink); box-shadow: none; transform: none; }
html body #vb-consent.has-analytics #vb-cookie-options { margin-top: 14px; padding-top: 10px; border-top: 1px solid #e7d6bb; }
html body #vb-consent.has-analytics #vb-cookie-options [data-save] { width: 100%; min-height: 46px; margin-top: 6px; border-radius: 999px; background: #fffaf1; }
html body #vb-consent.has-analytics .vb-cookie-category { padding: 10px 0; gap: 16px; }
html body #vb-consent.has-analytics .vb-cookie-category p { font-size: 12.5px; margin: 2px 0 0; }
html body #vb-consent.has-analytics #vb-cookie-options > a { margin: 10px 0 0; font-size: 12.5px; }
@media (min-width: 761px) {
  /* Karta je vlevo; poradce vpravo nemusi uhybat. */
  body:has(#vb-consent.has-analytics) .vb-chat:has(.vb-chat-panel[hidden]),
  body:has(#vb-consent.has-analytics) .vb-added-toast { bottom: 24px; }
}
@media (max-width: 760px) {
  html body #vb-consent.has-analytics {
    inset: auto 10px calc(10px + env(safe-area-inset-bottom));
    width: auto;
    padding: 16px 16px 12px;
    border-radius: 22px;
    max-height: calc(100dvh - 20px);
  }
  html body #vb-consent.has-analytics .vb-consent-copy { grid-template-columns: 48px minmax(0, 1fr); column-gap: 12px; }
  html body #vb-consent.has-analytics .vb-consent-art { width: 48px; height: 48px; }
  html body #vb-consent.has-analytics strong { font-size: 20px; }
  html body #vb-consent.has-analytics p { font-size: 12.5px; line-height: 1.4; margin-top: 4px; }
  html body #vb-consent.has-analytics .vb-consent-actions { margin-top: 12px; gap: 8px; }
  html body #vb-consent.has-analytics .vb-consent-actions button { min-height: 44px; padding: 8px 10px; font-size: 13.5px; flex: none; }
  html body #vb-consent.has-analytics .vb-consent-actions [data-preferences] { min-height: 0; padding-top: 2px; font-size: 12px; }
  body:has(#vb-consent.has-analytics) .vb-chat:has(.vb-chat-panel[hidden]) { visibility: hidden; pointer-events: none; }
  body:has(#vb-consent.has-analytics) .vb-added-toast { bottom: calc(230px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
  html body #vb-consent.has-analytics, html body #vb-consent.has-analytics .vb-consent-art { animation: none; }
  html body #vb-consent.has-analytics .vb-consent-actions button { transition: none; }
}

/* Naseptavac adres (Mapy.com) v pokladne a uctu. */
.vb-address-host { position: relative; }
.vb-address-suggest { position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 60; max-height: 320px; overflow-y: auto; padding: 6px; border: 1px solid #e7d6bb; border-radius: 16px; background: #fffaf1; box-shadow: 0 18px 40px #3a24182b; text-align: left; }
.vb-address-suggest[hidden] { display: none; }
.vb-address-option { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 12px; cursor: pointer; color: var(--ink); }
.vb-address-option svg { flex: 0 0 auto; color: #b9863f; }
.vb-address-option span { display: flex; flex-direction: column; min-width: 0; }
.vb-address-option b { font-size: 14px; font-weight: 600; line-height: 1.3; }
.vb-address-option small { font-size: 12.5px; color: #7a6352; line-height: 1.3; }
.vb-address-option:hover, .vb-address-option[aria-selected="true"] { background: #f3e5cc; }
.vb-address-credit { display: block; padding: 6px 12px 2px; font-size: 11px; color: #9a8472; text-align: right; text-decoration: none; }
.payment-choice.is-preview { cursor: not-allowed; opacity: .7; }
.payment-choice.is-preview small { margin-left: auto; font-size: 11.5px; color: #8a6d4e; }
.account-tracking { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; margin: 4px 0 18px; }
.account-tracking small { font-size: 12.5px; color: #7a6352; }
