/* VRplus.cz · košík a objednávka · 1.1.0
 * Design a kód: Tadeáš Mikš (2026)
 *
 * Platí s třídou html.vp-ko (přidá ji řádek v Záhlaví; vypnutí pro porovnání ?vc=0) na stránkách objednávky
 * (body.ordering-process: /kosik/, /objednavka/krok-1/, /objednavka/krok-2/, /objednavka/dekujeme/) a pro okno „Produkt byl
 * přidán do košíku“ (od 1.1.0 vlastní okno #vc-ao s VR brýlemi; okno Shoptetu je jen záloha, oddíl 10).
 * Prvky Shoptetu (počty, mazání, doprava, platba, formulář, souhlasy, odeslání) zůstávají a fungují – mění se vzhled.
 * Pasti:
 *  – Shoptet po změně počtu / smazání vymění celý #cart-wrapper → rozložení je v CSS (display: contents + grid),
 *    skript jen doplňuje a po každé výměně se spustí znovu;
 *  – na mobilu má řádek košíku jiné buňky (dostupnost a počet uvnitř názvu, cena za kus v součtu) → buňky jsou
 *    „display: contents“ a místo v mřížce určuje třída prvku, ne buňka;
 *  – Apollo dává souhrnu zelené pozadí (setColorBasketBg) a radiím vlastní fajfky – přepsáno.
 */

/* ------------------------------------------------------------------ 0) základ */
html.vp-ko { --vc-api: 1; }
.vp-ko .ordering-process, html.vp-ko #vc-bar, html.vp-ko #colorbox.colorbox--order, html.vp-ko #vc-ao {
  --vc-grad: linear-gradient(100deg, #ff2d6f 0%, #e4005c 18%, #c7008a 42%, #a400bd 64%, #7b00f6 100%);
  --vc-ink: #0b0716; --vc-text: #1d1630; --vc-muted: #6b6582; --vc-line: #ece8f4; --vc-soft: #f7f4fd; --vc-mag: #c7008a; --vc-pur: #a400bd;
  --vc-ok: #0c9b53; --vc-pre: #b26b00; --vc-out: #8a8499; --vc-err: #d0154f; --vc-ease: cubic-bezier(.2, .7, .2, 1);
  --vc-font: 'Poppins', 'Open Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --vc-top: 92px;
  --vc-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}
.vp-ko .ordering-process #content-wrapper, html.vp-ko #vc-bar { font-family: var(--vc-font); -webkit-font-smoothing: antialiased; }
.vp-ko .ordering-process .vc-i, html.vp-ko #vc-bar .vc-i, html.vp-ko #colorbox.colorbox--order .vc-i, html.vp-ko #vc-ao .vc-i, .vp-ko .vc-hd-help .vc-i {
  width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round;
}
.vp-ko .ordering-process #content-wrapper { padding-top: 18px !important; padding-bottom: 10px; }
.vp-ko .ordering-process #content { float: none !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
.vp-ko .ordering-process .content-inner { margin: 0; padding: 0; }
.vp-ko .ordering-process :is(.cart-row, .cart-inner) { margin: 0 !important; padding: 0 !important; }
.vp-ko .ordering-process .cart-inner { border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; }
.vp-ko .ordering-process .cart-row::before, .vp-ko .ordering-process .cart-row::after { display: none !important; }
/* hlava Apolla („Můj košík“ + kontakt) a původní krokovač – nahrazuje je naše hlava (jen se skriptem) */
html.vc-ready.vp-ko .ordering-process .cart-header-block, html.vc-ready.vp-ko .ordering-process ol.cart-header { display: none !important; }
.vp-ko .ordering-process .vc-st { display: inline-flex; align-items: center; gap: 6px; font: 600 12px/1.2 var(--vc-font); color: var(--vc-out); }
.vp-ko .ordering-process .vc-st::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.vp-ko .ordering-process .vc-st--in { color: var(--vc-ok); }

/* tlačítka (naše i Shoptetu v krocích) */
.vp-ko .ordering-process .vc-btn, html.vp-ko #vc-bar .vc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; margin: 0; padding: 0 18px; border: 1px solid transparent; border-radius: 999px;
  font: 700 14px/1 var(--vc-font); text-decoration: none; white-space: nowrap; cursor: pointer; transition: transform .2s var(--vc-ease), box-shadow .25s, background-color .2s, color .2s;
}
.vp-ko .ordering-process .vc-btn--dark { color: #fff; background: var(--vc-ink); }
.vp-ko .ordering-process .vc-btn--dark:hover { background: var(--vc-grad); }
.vp-ko .ordering-process .vc-btn.is-busy { opacity: .7; cursor: progress; }
.vp-ko .ordering-process .vc-btn.is-done { background: var(--vc-ok); }
.vp-ko .ordering-process .vc-btn--grad, html.vp-ko #vc-bar .vc-btn--grad { color: #fff; background: var(--vc-grad); box-shadow: 0 14px 30px -14px rgba(199, 0, 138, .75); }

/* ------------------------------------------------------------------ 1) hlava s krokovačem (skript) */
.vp-ko .ordering-process .vc-hero {
  position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 22px 40px;
  margin: 0 0 26px; padding: 30px 38px; overflow: hidden; border-radius: 30px; color: #fff;
  background: radial-gradient(110% 160% at 100% 0%, rgba(164, 0, 189, .55) 0%, rgba(164, 0, 189, 0) 55%), radial-gradient(80% 140% at 0% 100%, rgba(228, 0, 92, .35) 0%, rgba(228, 0, 92, 0) 60%), linear-gradient(135deg, #1b0b35 0%, #0b0716 72%);
  box-shadow: 0 34px 70px -50px rgba(60, 10, 110, .8);
}
.vp-ko .ordering-process .vc-hero::before {
  content: ""; position: absolute; inset: auto -10% -60% -10%; height: 90%; z-index: -1; pointer-events: none;
  background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .06) 0 1px, transparent 1px 64px), repeating-linear-gradient(0deg, rgba(255, 255, 255, .05) 0 1px, transparent 1px 40px);
  transform: perspective(500px) rotateX(62deg); transform-origin: 50% 100%; -webkit-mask-image: linear-gradient(transparent, #000 70%); mask-image: linear-gradient(transparent, #000 70%);
}
.vp-ko .ordering-process .vc-hero.is-empty { grid-template-columns: minmax(0, 1fr); }
.vp-ko .ordering-process .vc-eyebrow { display: inline-flex; align-items: center; gap: 10px; font: 600 12px/1 var(--vc-font); letter-spacing: .16em; text-transform: uppercase; color: #ff8fbc; }
.vp-ko .ordering-process .vc-eyebrow::before { content: ""; width: 22px; height: 2px; border-radius: 2px; background: var(--vc-grad); }
.vp-ko .ordering-process .vc-hero h1 { margin: 12px 0 0; padding: 0; border: 0; font: 800 clamp(28px, 3vw, 42px)/1.06 var(--vc-font); letter-spacing: -.035em; color: #fff; text-transform: none; }
.vp-ko .ordering-process .vc-hero-meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 0; }
.vp-ko .ordering-process .vc-hero-meta:empty { display: none; }
.vp-ko .ordering-process .vc-hero-meta span {
  display: inline-flex; align-items: center; gap: 7px; height: 30px; padding: 0 13px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .16); background: rgba(255, 255, 255, .06);
  font: 600 12.5px/1 var(--vc-font); color: rgba(255, 255, 255, .88);
}
.vp-ko .ordering-process .vc-hero-meta .vc-i { width: 14px; height: 14px; color: #3ee08f; }
/* krokovač */
.vp-ko .ordering-process .vc-steps { display: flex; align-items: flex-start; gap: 0; margin: 0; padding: 0; list-style: none; }
.vp-ko .ordering-process .vc-step { position: relative; display: flex; margin: 0; padding: 0; }
.vp-ko .ordering-process .vc-step + .vc-step { padding-left: 64px; }
.vp-ko .ordering-process .vc-step + .vc-step::before { content: ""; position: absolute; left: 10px; top: 19px; width: 44px; height: 2px; border-radius: 2px; background: rgba(255, 255, 255, .18); }
.vp-ko .ordering-process .vc-step:is(.is-done, .is-cur) + .vc-step:is(.is-done, .is-cur)::before { background: var(--vc-grad); }
.vp-ko .ordering-process .vc-step > :is(a, span) { display: flex; flex-direction: column; align-items: center; gap: 8px; min-width: 70px; color: rgba(255, 255, 255, .62); text-decoration: none; }
.vp-ko .ordering-process .vc-step-n {
  display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; border: 1.5px solid rgba(255, 255, 255, .28); background: rgba(255, 255, 255, .04);
  font: 700 15px/1 var(--vc-font); color: rgba(255, 255, 255, .78); transition: transform .2s var(--vc-ease);
}
.vp-ko .ordering-process .vc-step-l { font: 600 12.5px/1.2 var(--vc-font); white-space: nowrap; }
.vp-ko .ordering-process .vc-step.is-done .vc-step-n { border-color: transparent; background: var(--vc-grad); color: #fff; }
.vp-ko .ordering-process .vc-step.is-done .vc-step-n .vc-i { width: 18px; height: 18px; stroke-width: 2.6; }
.vp-ko .ordering-process .vc-step.is-done a:hover .vc-step-n { transform: scale(1.06); }
.vp-ko .ordering-process .vc-step.is-done a:hover { color: #fff; }
.vp-ko .ordering-process .vc-step.is-cur > span { color: #fff; }
.vp-ko .ordering-process .vc-step.is-cur .vc-step-n { border-color: #fff; background: #fff; color: var(--vc-ink); box-shadow: 0 0 0 6px rgba(255, 255, 255, .12), 0 12px 30px -8px rgba(199, 0, 138, .8); }
/* bez skriptu: původní krokovač jako jednoduché pilulky */
.vp-ko .ordering-process ol.cart-header { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 22px; padding: 5px; border: 0; border-radius: 999px; background: #efeaf7; list-style: none; }
.vp-ko .ordering-process ol.cart-header li { flex: 1; margin: 0; padding: 0; border: 0; background: none; }
.vp-ko .ordering-process ol.cart-header li > * { display: block; padding: 10px 14px; border-radius: 999px; font: 600 13.5px/1.2 var(--vc-font); color: var(--vc-muted); text-align: center; text-decoration: none; }
.vp-ko .ordering-process ol.cart-header li.active > * { background: #fff; color: var(--vc-ink); }
.vp-ko .ordering-process ol.cart-header li::before, .vp-ko .ordering-process ol.cart-header li::after, .vp-ko .ordering-process ol.cart-header li > *::before { display: none !important; }

/* ------------------------------------------------------------------ 2) rozložení: obsah vlevo, souhrn vpravo */
.vp-ko .ordering-process .cart-row { display: grid !important; grid-template-columns: minmax(0, 1fr) 390px; column-gap: 30px; align-items: start; }
.vp-ko .ordering-process .cart-row > :is(.col-md-8, .col-md-4, #checkoutContent, #checkoutSidebar) { width: auto !important; max-width: none !important; float: none !important; margin: 0 !important; padding: 0 !important; min-width: 0; }
/* košík: tabulka, termín a „Mohlo by se hodit“ vlevo, souhrn (je uvnitř levého sloupce) vpravo */
.vp-ko .in-kosik .cart-row > .col-md-8, .vp-ko .in-kosik .cart-row > .col-md-8 > .cart-content { display: contents; }
.vp-ko .in-kosik .cart-row > .col-md-8 > .cart-content > * { grid-column: 1; min-width: 0; }
.vp-ko .in-kosik .cart-row > .col-md-8 > .cart-content > .cart-summary { grid-column: 2; grid-row: 1 / span 20; position: sticky; top: var(--vc-top); margin: 0; padding: 0 !important; }
.vp-ko .in-kosik .cart-row > .sidebar-in-cart { display: none; }
.vp-ko .ordering-process #checkoutSidebar { position: sticky; top: var(--vc-top); }
.vp-ko .in-krok-2 #order-form > .cart-row { margin: 0 !important; }

/* ------------------------------------------------------------------ 3) košík – položky */
.vp-ko .in-kosik .cart-table { display: block; width: 100%; margin: 0; padding: 6px 26px; border: 1px solid var(--vc-line); border-radius: 28px; border-collapse: separate; background: #fff; box-shadow: 0 30px 60px -50px rgba(40, 10, 80, .45); }
.vp-ko .in-kosik .cart-table > tbody { display: block; }
.vp-ko .in-kosik .cart-table tr.removeable {
  display: grid; grid-template-columns: 92px minmax(0, 1fr) auto 140px 40px; grid-template-areas: "img name qty tot rm" "img av qty unit rm" "img rel qty unit rm";
  grid-template-rows: auto auto 1fr; align-items: center; column-gap: 20px; row-gap: 4px; margin: 0; padding: 20px 0; border: 0; background: none;
}
.vp-ko .in-kosik .cart-table tr.removeable + tr, .vp-ko .in-kosik .cart-table tr + tr.removeable { border-top: 1px solid var(--vc-line); }
.vp-ko .in-kosik .cart-table tr.removeable > td { padding: 0; border: 0; background: none; }
.vp-ko .in-kosik .cart-table tr.removeable :is(td.p-name, td.p-availability, td.p-quantity, td.p-price, td.p-total, td.p-related, span.p-availability, .p-price-content, .p-quantity > div) { display: contents; }
.vp-ko .in-kosik .cart-table tr.removeable .p-label, .vp-ko .in-kosik .cart-table tr.removeable :is([data-testid="cartItemPrice"], .unit-value) { display: none !important; }
.vp-ko .in-kosik .cart-table td.cart-p-image { grid-area: img; align-self: start; width: 92px; height: 92px; }
.vp-ko .in-kosik .cart-table td.cart-p-image a {
  display: grid; place-items: center; width: 92px; height: 92px; overflow: hidden; border-radius: 20px; background: radial-gradient(circle at 50% 45%, #fff 0 40%, #f3ebff 78%, #eadcff 100%);
}
.vp-ko .in-kosik .cart-table td.cart-p-image img { width: 80% !important; height: 80% !important; max-width: none; object-fit: contain; mix-blend-mode: multiply; }
.vp-ko .in-kosik .cart-table a.main-link { grid-area: name; align-self: end; display: block; margin: 0; font: 600 15.5px/1.35 var(--vc-font) !important; color: var(--vc-ink) !important; text-decoration: none; text-transform: none; }
.vp-ko .in-kosik .cart-table a.main-link:hover { color: var(--vc-mag) !important; }
.vp-ko .in-kosik .cart-table .main-link-variant { display: block; margin: 3px 0 0; font: 500 12.5px/1.35 var(--vc-font) !important; letter-spacing: 0; text-transform: none !important; color: var(--vc-muted) !important; }
.vp-ko .in-kosik .cart-table .availability-label { grid-area: av; align-self: start; display: inline-flex; align-items: center; gap: 7px; margin: 0; font: 600 12.5px/1.3 var(--vc-font) !important; text-transform: none !important; }
.vp-ko .in-kosik .cart-table .availability-label::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.vp-ko .in-kosik .cart-table tr.vc-st-in .availability-label { color: var(--vc-ok) !important; }
.vp-ko .in-kosik .cart-table tr:is(.vc-st-soon, .vc-st-pre) .availability-label { color: var(--vc-pre) !important; }
.vp-ko .in-kosik .cart-table tr.vc-st-out .availability-label { color: var(--vc-out) !important; }
.vp-ko .in-kosik .cart-table a.show-related { grid-area: rel; align-self: start; justify-self: start; font: 600 12px/1.3 var(--vc-font); text-transform: none; letter-spacing: 0; color: var(--vc-mag); }
html.vc-ready.vp-ko .in-kosik .cart-table a.show-related, html.vc-ready.vp-ko .in-kosik .cart-table tr.related { display: none !important; }
/* počet */
.vp-ko .in-kosik .cart-table .quantity-form { grid-area: qty; display: block; margin: 0; }
.vp-ko .in-kosik .cart-table .quantity { display: flex !important; align-items: center; width: 124px; height: 46px; margin: 0; padding: 0 4px; border-radius: 999px; border: 1.5px solid var(--vc-line); background: #fff; }
.vp-ko .in-kosik .cart-table .quantity :is(.increase-tooltip, .decrease-tooltip) { display: none; }
.vp-ko .in-kosik .cart-table .quantity label { order: 1; flex: 1; min-width: 0; margin: 0; }
.vp-ko .in-kosik .cart-table .quantity input.amount { width: 100%; height: 36px; margin: 0; padding: 0; border: 0 !important; background: none !important; box-shadow: none; outline: 0; font: 700 15px/1 var(--vc-font); color: var(--vc-ink); text-align: center; -moz-appearance: textfield; appearance: textfield; }
.vp-ko .in-kosik .cart-table .quantity input.amount::-webkit-inner-spin-button, .vp-ko .in-kosik .cart-table .quantity input.amount::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.vp-ko .in-kosik .cart-table .quantity :is(.increase, .decrease) {
  position: static; display: grid; place-items: center; flex: none; width: 34px; height: 34px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: var(--vc-soft); box-shadow: none;
  font: 600 17px/1 var(--vc-font); color: var(--vc-ink); cursor: pointer; transition: background-color .2s;
}
.vp-ko .in-kosik .cart-table .quantity :is(.increase, .decrease)::before, .vp-ko .in-kosik .cart-table .quantity :is(.increase, .decrease)::after { display: none !important; }
.vp-ko .in-kosik .cart-table .quantity :is(.increase, .decrease) span { display: block; font: inherit; color: inherit; }
.vp-ko .in-kosik .cart-table .quantity :is(.increase, .decrease):hover { background: #efe6fb; }
.vp-ko .in-kosik .cart-table .quantity .decrease { order: 0; }
.vp-ko .in-kosik .cart-table .quantity .increase { order: 2; }
/* cena */
.vp-ko .in-kosik .cart-table [data-testid="cartPrice"] { grid-area: tot; align-self: end; justify-self: end; margin: 0; font: 800 19px/1.1 var(--vc-font) !important; letter-spacing: -.02em; color: var(--vc-ink) !important; white-space: nowrap; }
.vp-ko .in-kosik .cart-table .vc-unit { grid-area: unit; align-self: start; justify-self: end; display: none; font: 500 12px/1.3 var(--vc-font); color: var(--vc-muted); white-space: nowrap; }
.vp-ko .in-kosik .cart-table tr.vc-multi .vc-unit { display: block; }
/* odebrat */
.vp-ko .in-kosik .cart-table td.p-total form { grid-area: rm; justify-self: end; margin: 0; }
.vp-ko .in-kosik .cart-table td.p-total form .inline { display: block; margin: 0; }
.vp-ko .in-kosik .cart-table .remove-item {
  position: relative; display: grid; place-items: center; width: 40px; height: 40px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: var(--vc-soft); box-shadow: none; color: var(--vc-muted);
  font-size: 0; cursor: pointer; transition: background-color .2s, color .2s;
}
.vp-ko .in-kosik .cart-table .remove-item::before {
  content: "" !important; position: static !important; display: block !important; width: 18px; height: 18px; margin: 0 !important; background: currentColor !important; transform: none !important; font-size: 0;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 7h15M10 11v6M14 11v6M6.5 7l1 12.5h9L17.5 7M9.5 7V4.5h5V7'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 7h15M10 11v6M14 11v6M6.5 7l1 12.5h9L17.5 7M9.5 7V4.5h5V7'/%3E%3C/svg%3E") center / contain no-repeat;
}
.vp-ko .in-kosik .cart-table .remove-item::after { display: none !important; }
.vp-ko .in-kosik .cart-table .remove-item:hover { background: #fdecf2; color: var(--vc-err); }
/* související u položky (bez skriptu) */
.vp-ko .in-kosik .cart-table tr.related.visible { display: block !important; padding: 0 0 18px; }
.vp-ko .in-kosik .cart-table tr.related > td { display: block; padding: 0; border: 0; }
/* termín doručení */
.vp-ko .in-kosik .cart-inner .text-center { margin: 14px 0 0; text-align: left; }
.vp-ko .in-kosik .cart-inner .delivery-time {
  display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 11px 18px 11px 14px; border-radius: 999px; border: 1px solid var(--vc-line); background: #fff;
  font: 500 13.5px/1.3 var(--vc-font); color: var(--vc-muted);
}
.vp-ko .in-kosik .cart-inner .delivery-time::before {
  content: "" !important; position: static !important; flex: none; width: 20px; height: 20px; margin: 0 !important; background: var(--vc-pur) !important; transform: none !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 6h11v9.5h-11zM13.5 9.5h4l3 3.5v2.5h-7'/%3E%3Ccircle cx='6.5' cy='17.5' r='1.8'/%3E%3Ccircle cx='17' cy='17.5' r='1.8'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 6h11v9.5h-11zM13.5 9.5h4l3 3.5v2.5h-7'/%3E%3Ccircle cx='6.5' cy='17.5' r='1.8'/%3E%3Ccircle cx='17' cy='17.5' r='1.8'/%3E%3C/svg%3E") center / contain no-repeat;
}
.vp-ko .in-kosik .cart-inner .delivery-time strong { margin: 0; padding: 0; border: 0; background: none; font: 700 13.5px/1.3 var(--vc-font); color: var(--vc-ink); text-decoration: none; }
/* „Mohlo by se hodit“ (skript) */
.vp-ko .in-kosik .vc-rel { margin: 30px 0 0; }
.vp-ko .in-kosik .vc-rel h2 { margin: 0 0 14px; font: 800 22px/1.2 var(--vc-font); letter-spacing: -.02em; color: var(--vc-ink); text-transform: none; }
.vp-ko .in-kosik .vc-rel-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.vp-ko .in-kosik .cart-related-product {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; margin: 0; padding: 10px 14px 10px 10px; border-radius: 22px; border: 1px solid var(--vc-line); background: #fff;
  transition: border-color .2s, box-shadow .25s;
}
.vp-ko .in-kosik .cart-related-product:hover { border-color: #ddd3ee; box-shadow: 0 20px 40px -30px rgba(60, 20, 110, .5); }
.vp-ko .in-kosik .cart-related-product > * { width: auto !important; max-width: none !important; min-width: 0; margin: 0 !important; padding: 0 !important; float: none !important; }
.vp-ko .in-kosik .cart-related-product :is(.cart-related-info, .cart-related-info *) { text-align: left !important; }
.vp-ko .in-kosik .cart-related-info { display: grid !important; grid-template-columns: 64px minmax(0, 1fr); grid-template-areas: "img name" "img av"; align-items: center; column-gap: 12px; row-gap: 3px; min-width: 0; }
.vp-ko .in-kosik .cart-related-info > * { width: auto !important; max-width: none !important; margin: 0 !important; float: none !important; text-transform: none !important; text-align: left !important; justify-self: start; }
.vp-ko .in-kosik .cart-related-info > .cart-related-img { justify-self: stretch; }
.vp-ko .in-kosik .cart-related-img { grid-area: img; display: grid; place-items: center; width: 64px; height: 64px; overflow: hidden; border-radius: 16px; background: radial-gradient(circle at 50% 45%, #fff 0 40%, #f3ebff 78%, #eadcff 100%); }
.vp-ko .in-kosik .cart-related-img img { width: 82% !important; height: 82% !important; object-fit: contain; mix-blend-mode: multiply; }
.vp-ko .in-kosik .cart-related-name { grid-area: name; align-self: end; display: -webkit-box !important; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font: 600 13.5px/1.35 var(--vc-font); color: var(--vc-ink); text-decoration: none; }
.vp-ko .in-kosik .cart-related-name:hover { color: var(--vc-mag); }
.vp-ko .in-kosik .cart-related-availability { grid-area: av; align-self: start; display: inline-flex !important; align-items: center; gap: 6px; font: 600 11.5px/1.2 var(--vc-font) !important; letter-spacing: 0; text-transform: none !important; color: var(--vc-out); }
.vp-ko .in-kosik .cart-related-availability::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.vp-ko .in-kosik .cart-related-product.vc-st-in .cart-related-availability { color: var(--vc-ok); }
.vp-ko .in-kosik .cart-related-product:is(.vc-st-soon, .vc-st-pre) .cart-related-availability { color: var(--vc-pre); }
.vp-ko .in-kosik .cart-related-availability span { font: inherit !important; text-transform: none !important; color: inherit; }
.vp-ko .in-kosik .cart-related-button { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.vp-ko .in-kosik .cart-related-button .price-final { font: 700 15px/1.1 var(--vc-font) !important; color: var(--vc-ink) !important; white-space: nowrap; }
.vp-ko .in-kosik .cart-related-button form { margin: 0; }
.vp-ko .in-kosik .cart-related-button .add-to-cart-button {
  display: inline-flex !important; align-items: center; gap: 6px; height: 36px !important; margin: 0; padding: 0 14px !important; border: 0 !important; border-radius: 999px !important; background: var(--vc-ink) !important;
  box-shadow: none !important; font: 600 12.5px/1 var(--vc-font) !important; text-transform: none !important; color: #fff !important; cursor: pointer;
}
.vp-ko .in-kosik .cart-related-button .add-to-cart-button::before, .vp-ko .in-kosik .cart-related-button .add-to-cart-button::after { display: none !important; }
.vp-ko .in-kosik .cart-related-button .add-to-cart-button:hover { background: var(--vc-grad) !important; }
.vp-ko .in-kosik .cart-related-button .add-to-cart-button .vc-i { width: 15px; height: 15px; }

/* ------------------------------------------------------------------ 4) souhrn (košík) a rekapitulace (krok 1 a 2) */
.vp-ko .ordering-process :is(.cart-summary, #checkoutSidebar, #checkoutContent) .cart-content { margin: 0; padding: 0 !important; border: 0 !important; border-radius: 0; background: none !important; box-shadow: none !important; }
.vp-ko .ordering-process .order-summary :is(.order-summary-top, .order-summary-bottom, .order-summary-item, .cart-items, .order-recapitulation) { border-radius: 0; background: none !important; box-shadow: none !important; }
.vp-ko .ordering-process .order-summary .order-summary-top { padding: 0 !important; }
.vp-ko .ordering-process .cart-summary :is(.extras-wrapper, .extras-col) { display: block; width: auto; margin: 0; padding: 0; float: none; }
.vp-ko .ordering-process :is(.cart-summary .box, .order-summary) {
  margin: 0; padding: 26px 26px 22px; border-radius: 28px; border: 1px solid var(--vc-line) !important; background: #fff !important; box-shadow: 0 34px 70px -50px rgba(40, 10, 80, .5);
}
.vp-ko .ordering-process .order-summary-inner { margin: 0; padding: 0; border: 0; background: none !important; }
.vp-ko .ordering-process :is(.vc-sum-h, .order-summary h2) { margin: 0 0 16px; padding: 0; border: 0; font: 800 20px/1.2 var(--vc-font) !important; letter-spacing: -.02em; text-transform: none !important; color: var(--vc-ink) !important; text-align: left; }
/* částky */
.vp-ko .ordering-process :is(.cart-summary, .order-summary) .price-wrapper {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 6px 12px; margin: 0; padding: 18px 20px; border: 0; border-radius: 20px; background: var(--vc-soft) !important; text-align: left;
}
.vp-ko .ordering-process :is(.cart-summary, .order-summary) .price-wrapper .price-label { margin: 0; font: 600 14px/1.3 var(--vc-font) !important; text-transform: none; color: var(--vc-text) !important; }
.vp-ko .ordering-process :is(.cart-summary, .order-summary) .price-wrapper .price-primary.price { margin: 0; font: 800 26px/1 var(--vc-font) !important; letter-spacing: -.03em; color: var(--vc-ink) !important; text-align: right; white-space: nowrap; }
.vp-ko .ordering-process :is(.cart-summary, .order-summary) .price-wrapper .price-primary.price span { font: inherit !important; color: inherit !important; }
.vp-ko .ordering-process :is(.cart-summary, .order-summary) .price-wrapper .price-secondary { margin: 0; font: 500 12.5px/1.3 var(--vc-font) !important; color: var(--vc-muted) !important; text-align: left; }
.vp-ko .ordering-process :is(.cart-summary, .order-summary) .price-wrapper .price-secondary.price { text-align: right; }
.vp-ko .ordering-process :is(.cart-summary, .order-summary) .price-wrapper .price-secondary span { font: inherit !important; color: inherit !important; }
.vp-ko .ordering-process .vc-sum-note { display: flex; align-items: center; gap: 9px; margin: 12px 0 0; font: 500 13px/1.4 var(--vc-font); color: var(--vc-muted); }
.vp-ko .ordering-process .vc-sum-note .vc-i { color: var(--vc-pur); }
/* tlačítka další krok / zpět */
.vp-ko .ordering-process .next-step { display: flex; flex-direction: column-reverse; gap: 10px; margin: 18px 0 0; padding: 0; border: 0; background: none; text-align: center; }
.vp-ko .ordering-process .next-step .btn { float: none; width: 100% !important; max-width: none; margin: 0 !important; box-shadow: none; text-transform: none !important; letter-spacing: 0; }
.vp-ko .ordering-process .next-step .next-step-forward, .vp-ko .ordering-process .next-step .next-step-finish {
  display: flex !important; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-height: 60px; height: auto !important; padding: 10px 22px !important; border: 0 !important; border-radius: 999px !important;
  background: var(--vc-grad) !important; box-shadow: 0 18px 36px -16px rgba(199, 0, 138, .8), inset 0 1px 0 rgba(255, 255, 255, .25) !important;
  font: 700 16.5px/1.15 var(--vc-font) !important; color: #fff !important; text-decoration: none; cursor: pointer; transition: transform .2s var(--vc-ease), box-shadow .25s;
}
.vp-ko .ordering-process .next-step :is(.next-step-forward, .next-step-finish)::before, .vp-ko .ordering-process .next-step :is(.next-step-forward, .next-step-finish)::after { display: none !important; }
.vp-ko .ordering-process .next-step :is(.next-step-forward, .next-step-finish):hover { transform: translateY(-2px); }
.vp-ko .ordering-process .next-step :is(.next-step-forward, .next-step-finish) span { font: inherit; color: inherit; }
.vp-ko .ordering-process .next-step .next-step-finish { flex-direction: row; flex-wrap: wrap; column-gap: 9px; row-gap: 2px; }
.vp-ko .ordering-process .next-step .next-step-finish .vc-i { width: 18px; height: 18px; stroke-width: 2.1; }
.vp-ko .ordering-process .next-step .next-step-finish .order-button-suffix { flex-basis: 100%; font: 500 12px/1.2 var(--vc-font) !important; color: rgba(255, 255, 255, .85) !important; }
.vp-ko .ordering-process .next-step .next-step-back {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 7px; width: auto !important; min-height: 0; height: auto !important; align-self: center; padding: 6px 4px !important;
  border: 0 !important; background: none !important; font: 600 13.5px/1.2 var(--vc-font) !important; color: var(--vc-muted) !important; text-decoration: none;
}
.vp-ko .ordering-process .next-step .next-step-back::before { content: "←" !important; position: static !important; display: inline !important; margin: 0 !important; font: inherit !important; color: inherit; transform: none !important; background: none !important; }
.vp-ko .ordering-process .next-step .next-step-back::after { display: none !important; }
.vp-ko .ordering-process .next-step .next-step-back:hover { color: var(--vc-pur) !important; }
.vp-ko .ordering-process .next-step .next-step-back span { font: inherit; color: inherit; }
/* služby a kontakt (skript) */
.vp-ko .ordering-process .vc-trust { display: grid; gap: 2px; margin: 18px 0 0; padding: 14px 0 0; border-top: 1px solid var(--vc-line); list-style: none; }
.vp-ko .ordering-process .vc-trust li { margin: 0; padding: 0; }
.vp-ko .ordering-process .vc-trust li::before { display: none; }
.vp-ko .ordering-process .vc-trust a { display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: center; gap: 11px; margin: 0 -8px; padding: 7px 8px; border-radius: 14px; color: var(--vc-text); text-decoration: none; transition: background-color .2s; }
.vp-ko .ordering-process .vc-trust a:hover { background: var(--vc-soft); }
.vp-ko .ordering-process .vc-trust .vc-i { width: 34px; height: 34px; padding: 8px; border-radius: 11px; background: var(--vc-soft); color: var(--vc-pur); }
.vp-ko .ordering-process .vc-trust b { display: block; font: 600 13.5px/1.3 var(--vc-font); color: var(--vc-ink); }
.vp-ko .ordering-process .vc-trust small { display: block; font: 400 12px/1.35 var(--vc-font); color: var(--vc-muted); }
.vp-ko .ordering-process #checkoutSidebar > .cart-content > .vc-trust { margin: 16px 0 0; padding: 14px 18px; border: 1px solid var(--vc-line); border-radius: 22px; background: #fff; }
.vp-ko .ordering-process .vc-help {
  display: grid; gap: 6px; margin: 14px 0 0; padding: 18px 20px; border-radius: 22px; color: rgba(255, 255, 255, .75); font: 400 13px/1.4 var(--vc-font);
  background: radial-gradient(120% 140% at 100% 0%, rgba(164, 0, 189, .45), transparent 60%), #0b0716;
}
.vp-ko .ordering-process .vc-help b { font: 700 15px/1.3 var(--vc-font); color: #fff; }
.vp-ko .ordering-process .vc-help a { display: inline-flex; align-items: center; gap: 9px; color: #fff; text-decoration: none; }
.vp-ko .ordering-process .vc-help a:hover { color: #ff8fbc; }
.vp-ko .ordering-process .vc-help small { font-size: 12px; color: rgba(255, 255, 255, .55); }
.vp-ko .ordering-process .vc-help .vc-i { width: 17px; height: 17px; color: #ff74a8; }
/* rekapitulace: položky, doprava, platba, součty */
.vp-ko .ordering-process .order-summary .cart-items { margin: 0; padding: 0; border: 0; }
.vp-ko .ordering-process .order-summary .cart-items + .cart-items, .vp-ko .ordering-process .order-summary .order-recapitulation:not(:empty) { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--vc-line); }
.vp-ko .ordering-process .order-summary .cart-item {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "name price" "amt price"; align-items: center; gap: 2px 12px; margin: 0; padding: 9px 0; border: 0; background: none;
}
.vp-ko .ordering-process .order-summary .cart-item.vc-has-thumb { grid-template-columns: 52px minmax(0, 1fr) auto; grid-template-areas: "img name price" "img amt price"; }
.vp-ko .ordering-process .order-summary .vc-thumb { grid-area: img; display: grid; place-items: center; width: 52px; height: 52px; overflow: hidden; border-radius: 14px; background: radial-gradient(circle at 50% 45%, #fff 0 40%, #f3ebff 78%, #eadcff 100%); color: var(--vc-pur); }
.vp-ko .ordering-process .order-summary .vc-thumb img { width: 82%; height: 82%; object-fit: contain; mix-blend-mode: multiply; }
.vp-ko .ordering-process .order-summary .cart-item-name { grid-area: name; align-self: end; margin: 0; padding: 0; min-width: 0; width: auto; float: none; }
.vp-ko .ordering-process .order-summary .cart-item-name a { display: block; font: 600 13.5px/1.35 var(--vc-font) !important; color: var(--vc-ink) !important; text-decoration: none; }
.vp-ko .ordering-process .order-summary .cart-item-name .main-link-variant { display: block; margin-top: 2px; font: 500 11.5px/1.3 var(--vc-font) !important; text-transform: none !important; color: var(--vc-muted) !important; }
.vp-ko .ordering-process .order-summary .cart-item-amount { grid-area: amt; align-self: start; margin: 0; padding: 0; width: auto; float: none; font: 500 12px/1.3 var(--vc-font); color: var(--vc-muted); text-align: left; }
.vp-ko .ordering-process .order-summary .cart-item-amount .unit-value { font: inherit; color: inherit; }
.vp-ko .ordering-process .order-summary .cart-item-price { grid-area: price; margin: 0; padding: 0; width: auto; float: none; font: 700 14px/1.2 var(--vc-font); color: var(--vc-ink); text-align: right; white-space: nowrap; }
.vp-ko .ordering-process .order-summary .recapitulation-single { display: flex !important; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 2px 12px; margin: 0; padding: 6px 0; border: 0; font: 500 12px/1.4 var(--vc-font); color: var(--vc-muted); }
.vp-ko .ordering-process .order-summary .recapitulation-single > span:first-child { flex: 1 1 100%; display: block !important; width: auto !important; float: none !important; text-align: left; }
.vp-ko .ordering-process .order-summary .recapitulation-single strong {
  display: flex !important; flex-direction: row !important; justify-content: space-between; align-items: baseline; gap: 12px; flex: 1 1 100%; width: auto !important; float: none !important; margin: 0;
  font: 600 13.5px/1.35 var(--vc-font) !important; font-style: normal !important; color: var(--vc-ink) !important; text-align: left !important;
}
.vp-ko .ordering-process .order-summary .recapitulation-single strong span { order: 2 !important; flex: none; float: none !important; text-transform: none !important; font: 700 13.5px/1.35 var(--vc-font) !important; font-style: normal; color: var(--vc-ink) !important; white-space: nowrap; }
.vp-ko .ordering-process .order-summary-bottom { margin: 14px 0 0; padding: 0 !important; border: 0; }
.vp-ko .ordering-process .order-summary-item.helper { display: flex !important; justify-content: space-between; gap: 12px; margin: 0 0 10px; padding: 0 !important; font: 500 13.5px/1.3 var(--vc-font); color: var(--vc-muted); }
.vp-ko .ordering-process .order-summary-item.helper > div { width: auto !important; float: none !important; flex: none; padding: 0 !important; }
.vp-ko .ordering-process .order-summary-item.helper strong { font-weight: 500; }
.vp-ko .ordering-process .order-summary-item.helper > div:last-child { font-weight: 600; color: var(--vc-ink); }
.vp-ko .ordering-process .order-summary-item.price { margin: 0; padding: 0; border: 0; }

/* ------------------------------------------------------------------ 5) krok 1 – doprava a platba */
.vp-ko .in-krok-1 .co-box { margin: 0 0 18px; padding: 28px 30px 24px; border-radius: 28px; border: 1px solid var(--vc-line) !important; background: #fff !important; box-shadow: 0 30px 60px -50px rgba(40, 10, 80, .45); }
.vp-ko .in-krok-1 .co-box > h2 {
  display: flex !important; flex-flow: row nowrap !important; align-items: center !important; gap: 12px; min-height: 42px; line-height: 1.2 !important; margin: 0 0 18px; padding: 0 !important; border: 0; font: 800 21px/1.2 var(--vc-font) !important; letter-spacing: -.02em; text-transform: none !important; color: var(--vc-ink) !important;
}
.vp-ko .in-krok-1 .co-box > h2::before {
  content: "" !important; position: static !important; transform: none !important; flex: none; width: 42px; height: 42px; margin: 0 !important; border-radius: 14px; background: var(--vc-soft) var(--vc-ico) center / 22px no-repeat !important; font-size: 0 !important;
}
.vp-ko .in-krok-1 .co-delivery-method > h2 { --vc-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a400bd' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 6h11v9.5h-11zM13.5 9.5h4l3 3.5v2.5h-7'/%3E%3Ccircle cx='6.5' cy='17.5' r='1.8'/%3E%3Ccircle cx='17' cy='17.5' r='1.8'/%3E%3C/svg%3E"); }
.vp-ko .in-krok-1 .co-payment-method > h2 { --vc-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a400bd' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='5.5' width='19' height='13' rx='2.5'/%3E%3Cpath d='M2.5 10h19M6.5 15h4'/%3E%3C/svg%3E"); }
.vp-ko .in-krok-1 .shipping-billing-table { display: grid; gap: 10px; margin: 0; padding: 0; border: 0; }
.vp-ko .in-krok-1 .vc-group-h { margin: 8px 0 -2px; font: 600 11.5px/1.2 var(--vc-font); letter-spacing: .14em; text-transform: uppercase; color: var(--vc-muted); }
.vp-ko .in-krok-1 .vc-group-h:first-child { margin-top: 0; }
.vp-ko .in-krok-1 .radio-wrapper { position: relative; margin: 0; padding: 0; border: 0 !important; background: none !important; box-shadow: none !important; }
.vp-ko .in-krok-1 .radio-wrapper > input[type="radio"] { position: absolute; left: 22px; top: 50%; width: 22px; height: 22px; margin: -11px 0 0; opacity: 0; }
.vp-ko .in-krok-1 .radio-wrapper > label {
  position: relative; display: grid !important; grid-template-columns: 22px 72px minmax(0, 1fr) auto; grid-template-areas: "dot logo info price"; align-items: start; column-gap: 16px;
  width: 100%; min-height: 76px; margin: 0; padding: 14px 20px 14px 18px; border-radius: 20px; border: 1.5px solid var(--vc-line) !important; background: #fff !important; box-shadow: none !important;
  font: 400 14px/1.4 var(--vc-font); color: var(--vc-text); text-transform: none; cursor: pointer; transition: border-color .2s, box-shadow .2s, background-color .2s;
}
.vp-ko .in-krok-1 .radio-wrapper > label::after { display: none !important; }
.vp-ko .in-krok-1 .radio-wrapper > label::before {
  content: "" !important; grid-area: dot; position: static !important; display: block !important; width: 22px; height: 22px; margin: 0 !important; border-radius: 50%; border: 2px solid #cfc5e0 !important;
  background: #fff !important; box-shadow: none !important; transform: none !important; transition: border-color .2s, box-shadow .2s;
}
.vp-ko .in-krok-1 .radio-wrapper:hover > label { border-color: #d9c7ee !important; }
.vp-ko .in-krok-1 .radio-wrapper:is(.active, :has(> input:checked)) > label { border-color: transparent !important; background: #fbf7ff !important; box-shadow: 0 0 0 2px var(--vc-pur) !important; }
.vp-ko .in-krok-1 .radio-wrapper:is(.active, :has(> input:checked)) > label::before { border: 6.5px solid var(--vc-pur) !important; }
.vp-ko .in-krok-1 .radio-wrapper > input:focus-visible + label { outline: 3px solid rgba(164, 0, 189, .4); outline-offset: 2px; }
.vp-ko .in-krok-1 .radio-wrapper .payment-info { grid-area: info; display: block; min-width: 0; margin: 0; padding: 12px 0 0; float: none; width: auto; }
.vp-ko .in-krok-1 .radio-wrapper > label::before { margin-top: 12px !important; }
.vp-ko .in-krok-1 .radio-wrapper > input[type="radio"] { top: 26px; margin-top: 0; }
.vp-ko .in-krok-1 .radio-wrapper .shipping-billing-name { display: inline; font: 600 15px/1.35 var(--vc-font) !important; color: var(--vc-ink) !important; text-transform: none; }
.vp-ko .in-krok-1 .radio-wrapper .vc-hours { display: inline-flex; margin: 0 0 0 8px; padding: 3px 8px; border-radius: 999px; background: var(--vc-soft); font: 600 11px/1.2 var(--vc-font); color: var(--vc-muted); vertical-align: 1px; }
.vp-ko .in-krok-1 .radio-wrapper .question-tooltip {
  display: inline-grid !important; place-items: center; width: 18px; height: 18px; margin: 0 0 0 6px; padding: 0; border: 0; border-radius: 50%; background: var(--vc-soft) !important;
  font: 700 11px/1 var(--vc-font) !important; color: var(--vc-pur) !important; vertical-align: 1px; cursor: help;
}
.vp-ko .in-krok-1 .radio-wrapper .question-tooltip::before, .vp-ko .in-krok-1 .radio-wrapper .question-tooltip::after { display: none !important; }
.vp-ko .in-krok-1 .radio-wrapper .payment-logo { grid-area: logo; display: grid; place-items: center; width: 72px; height: 46px; margin: 0; padding: 4px 6px; border-radius: 12px; border: 1px solid var(--vc-line); background: #fff; float: none; }
.vp-ko .in-krok-1 .radio-wrapper .payment-logo img { max-width: 100%; max-height: 36px; width: auto; height: auto; object-fit: contain; }
.vp-ko .in-krok-1 .radio-wrapper .payment-shipping-price { grid-area: price; margin: 13px 0 0; padding: 0; text-transform: none !important; font: 700 15px/1.2 var(--vc-font) !important; color: var(--vc-ink) !important; text-align: right; white-space: nowrap; float: none; }
.vp-ko .in-krok-1 .radio-wrapper .payment-shipping-price:is(.vc-free, .vc-minus, .for-free) { color: var(--vc-ok) !important; }
.vp-ko .in-krok-1 .radio-wrapper .payment-shipping-price.vc-minus::after { content: "sleva"; display: block; margin-top: 2px; font: 600 11px/1 var(--vc-font); color: var(--vc-ok); }
/* odběrné místo (Zásilkovna, GLS, Balíkovna) */
.vp-ko .in-krok-1 .radio-wrapper .sublabel { display: block; margin: 7px 0 0; font: 500 13px/1.4 var(--vc-font); color: var(--vc-muted); text-transform: none; }
.vp-ko .in-krok-1 .radio-wrapper .sublabel a {
  display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 13px; border-radius: 999px; border: 1px solid #e4d7f4; background: #faf6ff;
  font: 600 12.5px/1 var(--vc-font) !important; letter-spacing: 0; text-transform: none !important; color: var(--vc-mag) !important; text-decoration: none !important;
}
.vp-ko .in-krok-1 .radio-wrapper .sublabel a::after { display: none !important; }
.vp-ko .in-krok-1 .radio-wrapper .sublabel a::before {
  content: "" !important; position: static !important; width: 14px; height: 14px; margin: 0 !important; background: currentColor !important; transform: none !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21.5s-7-6.3-7-11.5a7 7 0 0 1 14 0c0 5.2-7 11.5-7 11.5z'/%3E%3Ccircle cx='12' cy='10' r='2.6'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21.5s-7-6.3-7-11.5a7 7 0 0 1 14 0c0 5.2-7 11.5-7 11.5z'/%3E%3Ccircle cx='12' cy='10' r='2.6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.vp-ko .in-krok-1 .radio-wrapper .sublabel a:hover { border-color: var(--vc-mag); background: #fff; }
/* nemožná kombinace */
.vp-ko .in-krok-1 .radio-wrapper .not-possible-info { display: none; margin: 4px 0 0; font: 500 12px/1.3 var(--vc-font); font-style: normal; color: var(--vc-err); }
.vp-ko .in-krok-1 .radio-wrapper:is(.inactive-child, .inactive) > label { cursor: not-allowed; background: #fbfafd !important; }
.vp-ko .in-krok-1 .radio-wrapper:is(.inactive-child, .inactive) > label > * { opacity: .5; }
.vp-ko .in-krok-1 .radio-wrapper:is(.inactive-child, .inactive) .not-possible-info { display: block; opacity: 1; }
.vp-ko .in-krok-1 .radio-wrapper:is(.inactive-child, .inactive) .payment-info { opacity: 1; }
.vp-ko .in-krok-1 .radio-wrapper:is(.inactive-child, .inactive) .shipping-billing-name { color: var(--vc-muted) !important; }
/* popis zvolené dopravy / platby (skript) */
.vp-ko .in-krok-1 .vc-desc { position: relative; margin: 10px 0 2px; font: 400 12.5px/1.55 var(--vc-font); color: var(--vc-muted); cursor: default; }
.vp-ko .in-krok-1 .vc-desc ul { margin: 0; padding: 0 0 0 16px; list-style: disc; }
.vp-ko .in-krok-1 .vc-desc li { margin: 0 0 3px; padding: 0; font: inherit; color: inherit; }
.vp-ko .in-krok-1 .vc-desc li::marker { color: var(--vc-mag); }
.vp-ko .in-krok-1 .vc-desc.is-clamp:not(.is-open) ul { max-height: 5.9em; overflow: hidden; -webkit-mask-image: linear-gradient(#000 55%, transparent); mask-image: linear-gradient(#000 55%, transparent); }
.vp-ko .in-krok-1 .vc-desc-more { display: inline-flex; align-items: center; gap: 4px; margin: 4px 0 0; padding: 2px 0; border: 0; background: none; font: 600 12px/1 var(--vc-font); color: var(--vc-mag); cursor: pointer; }
.vp-ko .in-krok-1 .vc-desc-more .vc-i { width: 14px; height: 14px; transition: transform .25s var(--vc-ease); }
.vp-ko .in-krok-1 .vc-desc.is-open .vc-desc-more .vc-i { transform: rotate(180deg); }

/* ------------------------------------------------------------------ 6) krok 2 – údaje */
.vp-ko .in-krok-2 #checkoutContent .cart-content { margin: 0; padding: 0; }
.vp-ko .in-krok-2 #checkoutContent fieldset.box, .vp-ko .in-krok-2 #checkoutContent .co-box > fieldset.box {
  display: block !important; margin: 0 0 16px; padding: 28px 30px 26px; border-radius: 28px; border: 1px solid var(--vc-line) !important; background: #fff !important; box-shadow: 0 30px 60px -50px rgba(40, 10, 80, .45);
}
.vp-ko .in-krok-2 #checkoutContent .co-box { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
.vp-ko .in-krok-2 #checkoutContent :is(fieldset, .co-box, .form-group-content, #company-info, #shipping-address, #note, .form-group, .form-control-wrapper) { width: auto !important; max-width: none !important; float: none !important; }
.vp-ko .in-krok-2 #checkoutContent .form-group-content, .vp-ko .in-krok-2 #checkoutContent #company-info:not(.js-hidden), .vp-ko .in-krok-2 #checkoutContent .co-shipping-address .form-group-content {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 16px; align-items: start;
}
.vp-ko .in-krok-2 #checkoutContent .form-group-content > :is(h2, p, .sr-only, .form-group:has(.login-button), .company-shopping, #company-info, .form-group:has(#billFullName), .form-group:has(#billStreet), .form-group:has(#billCountryId), .form-group:has(#deliveryFullName), .form-group:has(#deliveryStreet)),
.vp-ko .in-krok-2 #checkoutContent #company-info > .form-group:has(#billCompany) { grid-column: 1 / -1; }
.vp-ko .in-krok-2 #checkoutContent #company-info:not(.js-hidden) { margin: 0; }
.vp-ko .in-krok-2 #checkoutContent .form-group-content > input[type="hidden"] { display: none; }
.vp-ko .in-krok-2 #checkoutContent :is(fieldset h2, .co-shipping-address > h2) {
  display: flex !important; flex-flow: row nowrap !important; align-items: center !important; gap: 12px; min-height: 42px; line-height: 1.2 !important; margin: 0 0 4px !important; padding: 0 !important; border: 0; background: none !important; font: 800 21px/1.2 var(--vc-font) !important; letter-spacing: -.02em; text-transform: none !important; color: var(--vc-ink) !important;
}
.vp-ko .in-krok-2 #checkoutContent .co-shipping-address > h2 { margin-bottom: 18px; }
.vp-ko .in-krok-2 #checkoutContent fieldset h2::before {
  content: "" !important; position: static !important; transform: none !important; flex: none; width: 42px; height: 42px; margin: 0 !important; border-radius: 14px; background: var(--vc-soft) var(--vc-ico) center / 22px no-repeat !important; font-size: 0 !important;
  --vc-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a400bd' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c1.5-4 4.5-6 8-6s6.5 2 8 6'/%3E%3C/svg%3E");
}
.vp-ko .in-krok-2 #checkoutContent .co-billing-address h2::before { --vc-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a400bd' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 11 12 4l8.5 7'/%3E%3Cpath d='M5.5 9.5V20h13V9.5'/%3E%3C/svg%3E"); }
.vp-ko .in-krok-2 #checkoutContent .co-shipping-address h2::before { --vc-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a400bd' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 6h11v9.5h-11zM13.5 9.5h4l3 3.5v2.5h-7'/%3E%3Ccircle cx='6.5' cy='17.5' r='1.8'/%3E%3Ccircle cx='17' cy='17.5' r='1.8'/%3E%3C/svg%3E"); }
.vp-ko .in-krok-2 #checkoutContent .form-legend { margin: 0; font: 500 12px/1.3 var(--vc-font); color: var(--vc-muted); text-align: right; }
/* účet */
.vp-ko .in-krok-2 #checkoutContent .form-group:has(.login-button) { display: flex !important; flex-direction: row !important; flex-wrap: wrap; align-items: center !important; justify-content: space-between; gap: 8px 14px; margin: 0; padding: 12px 12px 12px 18px; border-radius: 16px; background: var(--vc-soft); text-align: left; }
.vp-ko .in-krok-2 #checkoutContent .form-group:has(.login-button) > * { width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important; text-align: left; }
.vp-ko .in-krok-2 #checkoutContent .form-group:has(.login-button) .label { flex: 1 1 auto; margin: 0; font: 500 13.5px/1.3 var(--vc-font); color: var(--vc-muted); text-transform: none; letter-spacing: 0; text-align: left !important; }
.vp-ko .in-krok-2 #checkoutContent .form-group:has(.login-button) .label::after { content: " – máte u nás účet?"; }
.vp-ko .in-krok-2 #checkoutContent .login-button {
  display: inline-flex; align-items: center; height: 36px; margin: 0; padding: 0 16px; border: 1px solid var(--vc-line); border-radius: 999px; background: #fff; box-shadow: none;
  font: 600 13px/1 var(--vc-font); text-transform: none; color: var(--vc-ink); text-decoration: none;
}
.vp-ko .in-krok-2 #checkoutContent .login-button:hover { border-color: #d9c7ee; color: var(--vc-pur); }
/* pole */
.vp-ko .in-krok-2 #checkoutContent .form-group { margin: 0; padding: 0; float: none; width: auto; }
.vp-ko .in-krok-2 #checkoutContent .form-group.smart-label-wrapper { display: flex; flex-direction: column; gap: 7px; }
.vp-ko .in-krok-2 #checkoutContent .form-group.smart-label-wrapper > label, .vp-ko .in-krok-2 #checkoutContent .form-group.smart-label-wrapper > .label {
  position: static !important; display: block; width: auto; margin: 0; padding: 0; transform: none !important; background: none; font: 600 13px/1.3 var(--vc-font) !important; letter-spacing: 0; text-transform: none !important; color: var(--vc-text) !important; pointer-events: auto;
}
.vp-ko .in-krok-2 #checkoutContent .form-group.smart-label-wrapper > label.js-location--hidden { display: none; }
.vp-ko .in-krok-2 #checkoutContent .required-asterisk::after { content: " *"; color: var(--vc-mag); }
.vp-ko .in-krok-2 #checkoutContent .required-asterisk--before::after { content: none; }
.vp-ko .in-krok-2 #checkoutContent .required-asterisk--before::before { content: "* "; color: var(--vc-mag); }
.vp-ko .in-krok-2 #checkoutContent .form-control-wrapper { position: relative; width: 100%; margin: 0; padding: 0; float: none; }
.vp-ko .ordering-process #checkoutContent :is(input.form-control, select.form-control, textarea.form-control) {
  width: 100% !important; max-width: none !important; height: 50px; margin: 0; padding: 0 16px; border-radius: 14px; border: 1.5px solid #e2daee !important; background: #fff !important; box-shadow: none !important;
  font: 500 15px/1.3 var(--vc-font) !important; color: var(--vc-ink) !important; outline: 0; transition: border-color .2s, box-shadow .2s;
}
.vp-ko .ordering-process #checkoutContent textarea.form-control { height: auto; min-height: 110px; padding: 13px 16px; }
.vp-ko .ordering-process #checkoutContent :is(input.form-control, select.form-control, textarea.form-control):hover { border-color: #d3c4e8 !important; }
.vp-ko .ordering-process #checkoutContent :is(input.form-control, select.form-control, textarea.form-control):focus { border-color: var(--vc-pur) !important; box-shadow: 0 0 0 4px rgba(164, 0, 189, .12) !important; }
.vp-ko .ordering-process #checkoutContent input.form-control::placeholder { color: #a39cb5; }
.vp-ko .ordering-process #checkoutContent .js-error-field { border-color: var(--vc-err) !important; background: #fff8fa !important; }
.vp-ko .ordering-process #checkoutContent .js-error-field:focus { box-shadow: 0 0 0 4px rgba(208, 21, 79, .12) !important; }
.vp-ko .ordering-process :is(#checkoutContent, #checkoutSidebar) :is(.msg-error, .js-validator-msg) { position: static; display: block; margin: 6px 0 0; padding: 0; border: 0; background: none; box-shadow: none; text-align: left !important; font: 500 12.5px/1.35 var(--vc-font) !important; color: var(--vc-err) !important; }
.vp-ko .ordering-process :is(#checkoutContent, #checkoutSidebar) :is(.msg-error, .js-validator-msg)::before, .vp-ko .ordering-process :is(#checkoutContent, #checkoutSidebar) :is(.msg-error, .js-validator-msg)::after { display: none !important; }
.vp-ko .ordering-process #checkoutContent .form-group-tooltip { position: absolute; right: 14px; top: 25px; transform: translateY(-50%); display: grid; place-items: center; width: 20px; height: 20px; margin: 0; border-radius: 50%; background: var(--vc-soft); font: 700 11px/1 var(--vc-font); color: var(--vc-pur); }
/* telefon s předvolbou */
/* Apollo dává obalu flex-wrap: wrap → pole se šířkou 100 % by spadlo pod předvolbu */
.vp-ko .in-krok-2 #checkoutContent .phone-combined-input {
  display: flex !important; flex-wrap: nowrap !important; align-items: stretch; gap: 0; height: 50px; border-radius: 14px; border: 1.5px solid #e2daee; background: #fff;
  transition: border-color .2s, box-shadow .2s;
}
.vp-ko .in-krok-2 #checkoutContent .phone-combined-input:focus-within { border-color: var(--vc-pur); box-shadow: 0 0 0 4px rgba(164, 0, 189, .12); }
.vp-ko .in-krok-2 #checkoutContent .phone-combined-input input.form-control {
  flex: 1 1 auto; width: auto !important; min-width: 0; height: 47px; margin: 0; border: 0 !important; border-radius: 0 14px 14px 0; box-shadow: none !important; background: transparent !important;
}
/* automatické vyplnění prohlížečem (Chrome/Safari) – bez modrého pozadí, stejně jako ostatní pole */
.vp-ko .ordering-process #checkoutContent :is(input.form-control:-webkit-autofill, input.form-control:-webkit-autofill:hover, input.form-control:-webkit-autofill:focus) {
  -webkit-box-shadow: 0 0 0 100px #fff inset !important; box-shadow: 0 0 0 100px #fff inset !important; -webkit-text-fill-color: var(--vc-ink); caret-color: var(--vc-ink);
}
.vp-ko .ordering-process #checkoutContent input.form-control:-webkit-autofill:focus { -webkit-box-shadow: 0 0 0 100px #fff inset, 0 0 0 4px rgba(164, 0, 189, .12) !important; }
.vp-ko .in-krok-2 #checkoutContent .phone-combined-input input.form-control:-webkit-autofill { -webkit-box-shadow: 0 0 0 100px #fff inset !important; }
.vp-ko .in-krok-2 #checkoutContent .phone-combined-input:has(.js-error-field) { border-color: var(--vc-err); }
/* předvolba: Shoptet ji posouvá o 10 px (left) a vybraná vlajka je širší než obal → +420 a šipka přetékaly přes čáru.
   Vnitřek je v Shoptetu absolutně (kvůli rozbalení), šířku proto drží obal. */
.vp-ko .in-krok-2 #checkoutContent .country-flags {
  position: relative; left: 0 !important; top: 0 !important; flex: none; width: 118px !important; height: 47px; margin: 0; padding: 0; border: 0;
  border-right: 1px solid var(--vc-line); border-radius: 13px 0 0 13px; background: transparent; box-shadow: none; outline: 0; cursor: pointer; transition: background-color .2s;
}
.vp-ko .in-krok-2 #checkoutContent .country-flags:not(.active):hover { background: var(--vc-soft); }
/* fokus ukazuje fialový prstenec celého pole (:focus-within), ne obrys šablony */
.vp-ko .in-krok-2 #checkoutContent .country-flags:focus-visible { outline: 0; box-shadow: none; }
.vp-ko .in-krok-2 #checkoutContent .country-flags:not(.active) .country-flags-inner { left: 0; top: 0; width: 100%; height: 100%; overflow: hidden; border: 0; background: transparent; }
.vp-ko .in-krok-2 #checkoutContent .country-flags:not(.active) .country-flag.selected {
  width: 100%; height: 100%; margin: 0; padding: 0 12px 0 14px; gap: 8px; align-items: center; background: transparent;
}
.vp-ko .in-krok-2 #checkoutContent .country-flag svg.shp-flag { flex: none; width: 24px; height: 24px; }
.vp-ko .in-krok-2 #checkoutContent .country-flag .shp-flag-label { align-items: center; gap: 4px; padding: 0; white-space: nowrap; font: 600 14.5px/1 var(--vc-font); color: var(--vc-ink); }
/* šipka (Shoptet ji kreslí jako ::before popisku) – vpravo uvnitř předvolby */
.vp-ko .in-krok-2 #checkoutContent .country-flag.selected .shp-flag-label { position: static; flex: 1; padding-right: 18px; }
.vp-ko .in-krok-2 #checkoutContent .country-flag.selected .shp-flag-label::before { top: 50%; right: 12px; margin-top: -4px; }
/* rozbalený seznam předvoleb (Shoptet přidá .active) */
.vp-ko .in-krok-2 #checkoutContent .country-flags.active .country-flags-inner {
  top: -1px; left: -1px; z-index: 40; min-width: 280px; overflow-y: auto; border: 1px solid var(--vc-line) !important; border-radius: 16px; background: #fff; box-shadow: 0 30px 60px -24px rgba(30, 10, 60, .45);
}
.vp-ko .in-krok-2 #checkoutContent .country-flags.active .country-flag { flex-wrap: nowrap; gap: 10px; margin: 0; padding: 0 14px; border-radius: 10px; font: 500 13.5px/1.3 var(--vc-font); color: var(--vc-ink); }
.vp-ko .in-krok-2 #checkoutContent .country-flags.active .country-flag .shp-flag-label { flex: 1; width: auto; min-width: 0; font: inherit; }
.vp-ko .in-krok-2 #checkoutContent .country-flags.active .country-flag:is(:hover, .selected) { background: var(--vc-soft); }
/* země (jen text) */
.vp-ko .in-krok-2 #checkoutContent .form-control-wrapper--with-note strong { display: inline-flex; align-items: center; height: 44px; padding: 0 14px; border-radius: 12px; background: var(--vc-soft); font: 600 14px/1 var(--vc-font); color: var(--vc-ink); }
/* zaškrtávací políčka (firma, jiná adresa, poznámka, registrace, souhlasy) */
.vp-ko .ordering-process :is(#checkoutContent, #checkoutSidebar) .form-group:has(> input[type="checkbox"]) { position: relative; margin: 0; }
.vp-ko .ordering-process :is(#checkoutContent, #checkoutSidebar) input[type="checkbox"] { position: absolute; left: 0; top: 2px; width: 22px; height: 22px; margin: 0; opacity: 0; }
.vp-ko .ordering-process :is(#checkoutContent, #checkoutSidebar) .form-group:has(> input[type="checkbox"]) > input[type="checkbox"] { left: var(--vc-cbx, 0px); top: var(--vc-cby, 2px); }
.vp-ko .ordering-process :is(#checkoutContent, #checkoutSidebar) input[type="checkbox"] + label {
  position: relative; display: block; min-height: 24px; margin: 0; padding: 2px 0 2px 34px; border: 0; background: none; font: 500 14px/1.45 var(--vc-font) !important; letter-spacing: 0; text-transform: none !important;
  color: var(--vc-text) !important; cursor: pointer;
}
.vp-ko .ordering-process :is(#checkoutContent, #checkoutSidebar) input[type="checkbox"] + label::before {
  content: "" !important; position: absolute !important; left: 0 !important; top: 1px !important; display: block !important; width: 22px !important; height: 22px !important; margin: 0 !important; border-radius: 7px !important;
  border: 1.5px solid #cfc5e0 !important; background: #fff !important; box-shadow: none !important; transform: none !important; transition: background-color .2s, border-color .2s;
}
.vp-ko .ordering-process :is(#checkoutContent, #checkoutSidebar) input[type="checkbox"] + label::after {
  content: "" !important; position: absolute !important; left: 5px !important; top: 6px !important; display: block !important; width: 12px !important; height: 12px !important; margin: 0 !important; border: 0 !important;
  background: #fff !important; -webkit-mask: var(--vc-check) center / contain no-repeat; mask: var(--vc-check) center / contain no-repeat; transform: scale(0) !important; transition: transform .2s var(--vc-ease);
}
.vp-ko .ordering-process :is(#checkoutContent, #checkoutSidebar) input[type="checkbox"]:checked + label::before { border-color: transparent !important; background: var(--vc-grad) !important; }
.vp-ko .ordering-process :is(#checkoutContent, #checkoutSidebar) input[type="checkbox"]:checked + label::after { transform: scale(1) !important; }
.vp-ko .ordering-process :is(#checkoutContent, #checkoutSidebar) input[type="checkbox"]:focus-visible + label::before { outline: 3px solid rgba(164, 0, 189, .4); outline-offset: 2px; }
.vp-ko .ordering-process :is(#checkoutContent, #checkoutSidebar) input[type="checkbox"] + label:hover::before { border-color: var(--vc-mag) !important; }
.vp-ko .ordering-process :is(#checkoutContent, #checkoutSidebar) input[type="checkbox"].js-error-field + label::before { border-color: var(--vc-err) !important; }
.vp-ko .ordering-process :is(#checkoutContent, #checkoutSidebar) input[type="checkbox"] + label a { color: var(--vc-mag); text-decoration: underline; text-underline-offset: 2px; }
/* volby pod adresou (jiná adresa, poznámka, registrace) jako řádky v kartě */
.vp-ko .in-krok-2 #checkoutContent .co-billing-address > .form-group, .vp-ko .in-krok-2 #checkoutContent .co-box-additional > .form-group, .vp-ko .in-krok-2 #checkoutContent .stay-in-touch {
  margin: 0 0 10px; padding: 16px 20px; border-radius: 20px; border: 1px solid var(--vc-line); background: #fff; --vc-cbx: 20px; --vc-cby: 18px;
}
.vp-ko .in-krok-2 #checkoutContent .stay-in-touch .form-group { margin: 0; padding: 0; border: 0; --vc-cbx: 0px; --vc-cby: 2px; }
.vp-ko .in-krok-2 #checkoutContent .additional-information { font-size: 12.5px; color: var(--vc-muted); }
/* souhlasy a odeslání (pravý sloupec) */
.vp-ko .in-krok-2 #checkoutSidebar .consents { margin: 14px 0 0; padding: 0 4px; border: 0; border-radius: 0; background: none !important; box-shadow: none !important; }
.vp-ko .in-krok-2 #checkoutSidebar .consents.consents-first { margin-top: 18px; padding: 16px; border-radius: 18px; background: #fff !important; border: 1px solid var(--vc-line); --vc-cbx: 16px; --vc-cby: 18px; }
.vp-ko .in-krok-2 #checkoutSidebar .consents input[type="checkbox"] + label { font-size: 13px !important; line-height: 1.5 !important; }
.vp-ko .in-krok-2 #checkoutSidebar .consents .label { margin: 0; font: 400 12px/1.5 var(--vc-font); text-transform: none; letter-spacing: 0; color: var(--vc-muted); }
.vp-ko .in-krok-2 #checkoutSidebar .consents .label a { color: var(--vc-mag); }
.vp-ko .in-krok-2 #checkoutSidebar .consents :is(.msg-error, .js-validator-msg) { margin: 6px 0 0 34px; }

/* ------------------------------------------------------------------ 7) prázdný košík (skript) */
html.vc-ready.vp-ko .in-kosik .cart-empty > :not(.vc-empty), html.vc-ready.vp-ko .in-kosik .cart-empty + .text-center { display: none !important; }
html.vc-ready.vp-ko .in-kosik .cart-inner.cart-empty { width: auto !important; max-width: none !important; }
.vp-ko .in-kosik .vc-empty-card {
  display: grid; justify-items: center; gap: 12px; max-width: 760px; margin: 0 auto; padding: 46px 40px 40px; border-radius: 32px; border: 1px solid var(--vc-line); background: #fff; text-align: center;
  box-shadow: 0 34px 70px -50px rgba(40, 10, 80, .5);
}
.vp-ko .in-kosik .vc-empty-ico { display: grid; place-items: center; width: 78px; height: 78px; border-radius: 26px; background: var(--vc-grad); color: #fff; box-shadow: 0 20px 40px -18px rgba(199, 0, 138, .8); }
.vp-ko .in-kosik .vc-empty-ico .vc-i { width: 36px; height: 36px; stroke-width: 1.8; }
.vp-ko .in-kosik .vc-empty-card h2 { margin: 8px 0 0; font: 800 28px/1.15 var(--vc-font); letter-spacing: -.03em; color: var(--vc-ink); text-transform: none; }
.vp-ko .in-kosik .vc-empty-card p { max-width: 480px; margin: 0; font: 400 15px/1.6 var(--vc-font); color: var(--vc-muted); }
.vp-ko .in-kosik .vc-empty-cats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; width: 100%; margin: 14px 0 0; }
.vp-ko .in-kosik .vc-empty-cats a {
  display: grid; grid-template-columns: 44px minmax(0, 1fr) 18px; align-items: center; gap: 12px; padding: 10px 14px 10px 10px; border-radius: 18px; border: 1px solid var(--vc-line); background: #fff;
  font: 600 14.5px/1.2 var(--vc-font); color: var(--vc-ink); text-align: left; text-decoration: none; transition: border-color .2s, transform .25s var(--vc-ease), box-shadow .25s;
}
.vp-ko .in-kosik .vc-empty-cats a:hover { transform: translateY(-2px); border-color: #ddd0ef; box-shadow: 0 18px 34px -24px rgba(60, 20, 110, .5); }
.vp-ko .in-kosik .vc-empty-cats a > .vc-i:first-child { width: 44px; height: 44px; padding: 11px; border-radius: 14px; background: var(--vc-soft); color: var(--vc-pur); }
.vp-ko .in-kosik .vc-empty-cats a > .vc-i:last-child { width: 16px; height: 16px; color: var(--vc-muted); }
.vp-ko .in-kosik .vc-empty-search { position: relative; display: flex; align-items: center; width: 100%; height: 54px; margin: 8px 0 0; border-radius: 999px; background: var(--vc-soft); border: 1px solid transparent; }
.vp-ko .in-kosik .vc-empty-search:focus-within { background: #fff; border-color: #d8c6ef; box-shadow: 0 0 0 4px rgba(164, 0, 189, .12); }
.vp-ko .in-kosik .vc-empty-search > .vc-i { position: absolute; left: 18px; color: var(--vc-muted); pointer-events: none; }
.vp-ko .in-kosik .vc-empty-search input { flex: 1; height: 100%; padding: 0 12px 0 48px; border: 0; background: none; outline: 0; box-shadow: none; font: 500 15px/1 var(--vc-font); color: var(--vc-ink); }
.vp-ko .in-kosik .vc-empty-search button { height: 44px; margin: 0 5px 0 0; padding: 0 20px; border: 0; border-radius: 999px; background: var(--vc-ink); font: 600 14px/1 var(--vc-font); color: #fff; cursor: pointer; }
.vp-ko .in-kosik .vc-empty-search button:hover { background: var(--vc-grad); }
.vp-ko .in-kosik .vc-picks { margin: 40px 0 0; }
.vp-ko .in-kosik .vc-picks h2 { margin: 0 0 16px; font: 800 24px/1.2 var(--vc-font); letter-spacing: -.025em; color: var(--vc-ink); text-transform: none; }
.vp-ko .in-kosik .vc-picks-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.vp-ko .in-kosik .vc-pick { display: flex; flex-direction: column; gap: 8px; padding: 10px 10px 14px; border-radius: 26px; border: 1px solid var(--vc-line); background: #fff; transition: transform .3s var(--vc-ease), box-shadow .3s; }
.vp-ko .in-kosik .vc-pick:hover { transform: translateY(-4px); box-shadow: 0 26px 46px -28px rgba(60, 20, 110, .5); }
.vp-ko .in-kosik .vc-pick-img { display: grid; place-items: center; aspect-ratio: 4 / 3; border-radius: 19px; background: radial-gradient(circle at 50% 42%, #fff 0 42%, #f5effd 78%, #efe6fb 100%); }
.vp-ko .in-kosik .vc-pick-img img { width: 84%; height: 84%; object-fit: contain; mix-blend-mode: multiply; }
.vp-ko .in-kosik .vc-pick-t { display: -webkit-box; min-height: 2.7em; margin: 4px 6px 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font: 600 14.5px/1.35 var(--vc-font); color: var(--vc-ink); text-decoration: none; }
.vp-ko .in-kosik .vc-pick-t:hover { color: var(--vc-mag); }
.vp-ko .in-kosik .vc-pick .vc-st { margin: 0 6px; }
.vp-ko .in-kosik .vc-pick-buy { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin: auto 6px 0; }
.vp-ko .in-kosik .vc-pick-buy b { font: 700 18px/1.1 var(--vc-font); color: var(--vc-ink); }

/* ------------------------------------------------------------------ 8) klidná hlavička v krocích 1 a 2 (skript) */
html.vc-focus.vp-ko #vp-hd :is(.vp-nav, .vp-search, .vp-ibtn--search, .vp-mega, .vp-burger) { display: none !important; }
.vp-ko .vc-hd-help { display: flex; align-items: center; gap: 10px; margin-left: auto; padding: 0 16px 0 0; font: 500 13px/1.3 'Poppins', 'Open Sans', sans-serif; color: #6b6582; }
.vp-ko .vc-hd-help .vc-i { width: 34px; height: 34px; padding: 8px; border-radius: 11px; background: #f7f4fd; color: #0c9b53; }
.vp-ko .vc-hd-help b { display: block; font-weight: 600; color: #0b0716; }
.vp-ko .vc-hd-help a { color: #a400bd; text-decoration: none; }
.vp-ko .vc-hd-help + .vp-tools { margin-left: 0 !important; }

/* ------------------------------------------------------------------ 9) mobil: spodní lišta (skript) */
#vc-bar { display: none; }
@media (max-width: 991px) {
  html.vc-ready.vp-ko #vc-bar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 950; display: block; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); border-top: 1px solid #ece8f4;
    background: rgba(255, 255, 255, .96); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: 0 -18px 40px -24px rgba(40, 10, 80, .45);
    transform: translateY(110%); transition: transform .3s cubic-bezier(.2, .7, .2, 1);
  }
  html.vc-ready.vp-ko #vc-bar.is-on { transform: none; }
  html.vc-bar-on.vp-ko body { padding-bottom: 76px; }
  #vc-bar .vc-bar-in { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
  #vc-bar .vc-bar-t { display: flex; flex-direction: column; min-width: 0; }
  #vc-bar .vc-bar-t small { font: 500 12px/1.3 'Poppins', sans-serif; color: #6b6582; }
  #vc-bar .vc-bar-t b { font: 800 19px/1.2 'Poppins', sans-serif; letter-spacing: -.02em; color: #0b0716; }
  #vc-bar .vc-btn { height: 50px; padding: 0 22px; font-size: 15px; }
}

/* ------------------------------------------------------------------ 10) okno „Produkt byl přidán do košíku“ (všechny stránky) */
html.vp-ko #colorbox.colorbox--order { font-family: var(--vc-font); -webkit-font-smoothing: antialiased; }
html.vp-ko #colorbox.colorbox--order #cboxContent { overflow: hidden; border-radius: 28px; background: #fff; box-shadow: 0 50px 100px -40px rgba(0, 0, 0, .7); }
html.vp-ko #colorbox.colorbox--order :is(#cboxLoadedContent, .colorbox-html-content) { padding: 0 !important; background: #fff; }
html.vp-ko #colorbox.colorbox--order .advanced-order { margin: 0; padding: 0 0 4px !important; font-family: var(--vc-font); text-align: center; }
html.vp-ko #colorbox.colorbox--order .advanced-order > .h1:not(.advanced-order-suggestion) {
  position: relative; display: flex; align-items: center; justify-content: flex-start; gap: 14px; min-height: 76px; margin: 0; padding: 18px 76px 18px 30px; border: 0; color: #fff; text-align: left;
  background: radial-gradient(90% 160% at 100% 0%, rgba(164, 0, 189, .55), transparent 60%), radial-gradient(70% 140% at 0% 100%, rgba(228, 0, 92, .35), transparent 60%), linear-gradient(135deg, #1b0b35, #0b0716 72%) !important;
  font: 800 21px/1.25 var(--vc-font) !important; letter-spacing: -.02em; text-transform: none;
}
html.vp-ko #colorbox.colorbox--order .advanced-order > .h1:not(.advanced-order-suggestion)::before {
  content: "" !important; position: static !important; flex: none; width: 34px; height: 34px; margin: 0 !important; border-radius: 50%; background: #0c9b53 !important; box-shadow: 0 0 0 5px rgba(12, 155, 83, .25);
  -webkit-mask: none; mask: none; transform: none !important;
}
html.vp-ko #colorbox.colorbox--order .advanced-order > .h1:not(.advanced-order-suggestion)::after {
  content: "" !important; position: absolute !important; left: 39px; top: 50%; width: 16px; height: 16px; margin: -8px 0 0 !important; border: 0 !important; background: #fff !important; transform: none !important;
  -webkit-mask: var(--vc-check) center / contain no-repeat; mask: var(--vc-check) center / contain no-repeat;
}
html.vp-ko #colorbox.colorbox--order .advanced-order > .h1 :is(img, svg) { display: none !important; }
html.vp-ko #colorbox.colorbox--order .advanced-order .h2 { margin: 24px 30px 0; font: 600 17px/1.4 var(--vc-font) !important; color: var(--vc-ink) !important; text-transform: none; }
html.vp-ko #colorbox.colorbox--order .advancedOrder__buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 18px 30px 0; }
html.vp-ko #colorbox.colorbox--order .advancedOrder__buttons .btn {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; width: auto !important; min-width: 200px; height: 52px !important; margin: 0; padding: 0 26px !important; border-radius: 999px !important;
  font: 700 15px/1 var(--vc-font) !important; text-transform: none !important; letter-spacing: 0; box-shadow: none; transition: transform .2s, box-shadow .25s, border-color .2s, color .2s;
}
html.vp-ko #colorbox.colorbox--order .advancedOrder__buttons .btn::before, html.vp-ko #colorbox.colorbox--order .advancedOrder__buttons .btn::after { color: inherit; }
html.vp-ko #colorbox.colorbox--order .advancedOrder__buttons .next-step-back { border: 1px solid var(--vc-line) !important; background: #fff !important; color: var(--vc-text) !important; }
html.vp-ko #colorbox.colorbox--order .advancedOrder__buttons .next-step-back:hover { border-color: #d9c7ee !important; color: var(--vc-pur) !important; }
html.vp-ko #colorbox.colorbox--order .advancedOrder__buttons .btn-conversion { border: 0 !important; background: var(--vc-grad) !important; color: #fff !important; box-shadow: 0 16px 34px -14px rgba(199, 0, 138, .75); }
html.vp-ko #colorbox.colorbox--order .advancedOrder__buttons .btn-conversion:hover { transform: translateY(-2px); }
html.vp-ko #colorbox.colorbox--order .advanced-order .advanced-order-suggestion {
  margin: 30px 30px 14px; padding: 22px 0 0; border-top: 1px solid var(--vc-line); background: none !important; font: 800 19px/1.2 var(--vc-font) !important; letter-spacing: -.02em; color: var(--vc-ink) !important; text-align: left;
}
html.vp-ko #colorbox.colorbox--order .advanced-order .products-related {
  display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0 30px 26px !important; padding: 0 !important; overflow: visible; text-align: left;
}
html.vp-ko #colorbox.colorbox--order .advanced-order .products-related > .product { flex: none !important; width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; float: none; }
html.vp-ko #colorbox.colorbox--order .advanced-order .products-related > .product.inactive { display: none !important; }
html.vp-ko #colorbox.colorbox--order .advanced-order .p {
  display: flex !important; flex-direction: column !important; height: 100%; margin: 0; padding: 8px 8px 10px; border-radius: 22px; border: 1px solid var(--vc-line) !important; background: #fff !important; box-shadow: none !important; overflow: hidden;
}
html.vp-ko #colorbox.colorbox--order .advanced-order .p a.image {
  display: grid !important; place-items: center; width: auto !important; height: auto !important; max-height: none !important; aspect-ratio: 4 / 3; margin: 0; padding: 0; overflow: hidden; border-radius: 16px;
  background: radial-gradient(circle at 50% 42%, #fff 0 42%, #f5effd 78%, #efe6fb 100%) !important;
}
html.vp-ko #colorbox.colorbox--order .advanced-order .p a.image img { width: 82% !important; height: 82% !important; max-width: none; object-fit: contain; mix-blend-mode: multiply; }
html.vp-ko #colorbox.colorbox--order .advanced-order .p :is(.flags, .ratings-wrapper, .p-desc, .stars-placeholder) { display: none !important; }
html.vp-ko #colorbox.colorbox--order .advanced-order .p .p-in { display: flex !important; flex: 1; flex-direction: column; align-items: stretch !important; width: auto !important; min-width: 0; margin: 0; padding: 10px 4px 0; background: none; text-align: left; }
html.vp-ko #colorbox.colorbox--order .advanced-order .p .p-in-in { width: auto !important; }
html.vp-ko #colorbox.colorbox--order .advanced-order .p a.name {
  display: -webkit-box !important; min-height: 2.7em; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font: 600 13.5px/1.35 var(--vc-font) !important; color: var(--vc-ink) !important; text-decoration: none; text-transform: none; white-space: normal;
}
html.vp-ko #colorbox.colorbox--order .advanced-order .p a.name span { font: inherit !important; color: inherit !important; white-space: normal !important; }
html.vp-ko #colorbox.colorbox--order .advanced-order .p a.name:hover { color: var(--vc-mag) !important; }
html.vp-ko #colorbox.colorbox--order .advanced-order .p :is(.p-in, .p-bottom, .p-bottom *) { text-align: left !important; }
html.vp-ko #colorbox.colorbox--order .advanced-order .p .p-bottom { display: flex; flex: 1; flex-direction: column; justify-content: flex-end; width: auto !important; margin: 0; padding: 8px 0 0; }
html.vp-ko #colorbox.colorbox--order .advanced-order .p .p-bottom > div { display: flex; flex-direction: column-reverse; align-items: flex-start !important; gap: 4px; width: auto !important; }
html.vp-ko #colorbox.colorbox--order .advanced-order .p :is(.prices, .p-tools) { width: auto !important; align-items: flex-start !important; justify-content: flex-start !important; }
html.vp-ko #colorbox.colorbox--order .advanced-order .p .price-final strong { font: 700 17px/1.1 var(--vc-font) !important; color: var(--vc-ink) !important; }
html.vp-ko #colorbox.colorbox--order .advanced-order .p :is(.price-standard, .price-save) { display: none !important; }
html.vp-ko #colorbox.colorbox--order .advanced-order .p .availability { display: inline-flex; align-items: center; gap: 6px; font: 600 11.5px/1.2 var(--vc-font) !important; color: var(--vc-out); }
html.vp-ko #colorbox.colorbox--order .advanced-order .p .availability::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
html.vp-ko #colorbox.colorbox--order .advanced-order .p .availability span { font: inherit !important; color: inherit !important; }
html.vp-ko #colorbox.colorbox--order .advanced-order .p:is(.vc-st-in, .vk-st-in) .availability { color: var(--vc-ok); }
html.vp-ko #colorbox.colorbox--order .advanced-order .p:is(.vc-st-soon, .vk-st-soon) .availability { color: var(--vc-pre); }
html.vp-ko #colorbox.colorbox--order .advanced-order .p .product-btn { display: block !important; width: auto !important; margin: 10px 0 0; padding: 0; opacity: 1 !important; visibility: visible !important; transform: none !important; }
html.vp-ko #colorbox.colorbox--order .advanced-order .p .product-btn form { display: block !important; width: 100% !important; max-width: none !important; margin: 0; }
html.vp-ko #colorbox.colorbox--order .advanced-order .p .product-btn .btn {
  display: flex !important; align-items: center; justify-content: center; gap: 7px; width: 100% !important; max-width: none !important; height: 40px !important; margin: 0; padding: 0 12px !important; border-radius: 999px !important; border: 0 !important;
  box-shadow: none !important; font: 600 13px/1 var(--vc-font) !important; text-transform: none !important; text-decoration: none; color: var(--vc-text) !important; background: var(--vc-soft) !important;
}
html.vp-ko #colorbox.colorbox--order .advanced-order .p .product-btn .btn::before, html.vp-ko #colorbox.colorbox--order .advanced-order .p .product-btn .btn::after { display: none !important; }
html.vp-ko #colorbox.colorbox--order .advanced-order .p .product-btn .add-to-cart-button { color: #fff !important; background: var(--vc-ink) !important; }
html.vp-ko #colorbox.colorbox--order .advanced-order .p .product-btn .btn:hover { color: #fff !important; background: var(--vc-grad) !important; }
html.vp-ko #colorbox.colorbox--order .advanced-order .p .vc-i { width: 15px; height: 15px; stroke-width: 2; }
html.vp-ko #colorbox.colorbox--order .advanced-order .browse-p { display: none !important; }
html.vp-ko #colorbox.colorbox--order #cboxClose {
  top: 20px; right: 20px; width: 40px !important; height: 40px !important; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .2); background: rgba(255, 255, 255, .08); color: #fff; transition: background-color .2s;
}
html.vp-ko #colorbox.colorbox--order #cboxClose:hover { background: rgba(255, 255, 255, .18); }
html.vp-ko #colorbox.colorbox--order #cboxClose::before, html.vp-ko #colorbox.colorbox--order #cboxClose::after { color: #fff !important; }

/* ------------------------------------------------------------------ 11) menší obrazovky */
@media (max-width: 1199px) {
  .vp-ko .ordering-process .cart-row { grid-template-columns: minmax(0, 1fr) 340px; column-gap: 22px; }
  .vp-ko .in-kosik .cart-table tr.removeable { grid-template-columns: 80px minmax(0, 1fr) auto 112px 40px; column-gap: 16px; }
  .vp-ko .in-kosik .cart-table td.cart-p-image, .vp-ko .in-kosik .cart-table td.cart-p-image a { width: 80px; height: 80px; }
  .vp-ko .in-kosik .vc-rel-list { grid-template-columns: minmax(0, 1fr); }
  .vp-ko .in-krok-1 .radio-wrapper > label { grid-template-columns: 22px 60px minmax(0, 1fr) auto; column-gap: 12px; }
  .vp-ko .in-krok-1 .radio-wrapper .payment-logo { width: 60px; }
  .vp-ko .in-kosik .vc-picks-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html.vp-ko #colorbox.colorbox--order .advanced-order .products-related { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
  .vp-ko .ordering-process .cart-row { grid-template-columns: minmax(0, 1fr); row-gap: 18px; }
  .vp-ko .in-kosik .cart-row > .col-md-8 > .cart-content > .cart-summary { grid-column: 1; grid-row: auto; position: static; }
  .vp-ko .ordering-process #checkoutSidebar { position: static; }
  .vp-ko .ordering-process .vc-hero { grid-template-columns: minmax(0, 1fr); padding: 26px 26px 24px; }
  .vp-ko .ordering-process .vc-steps { justify-content: space-between; }
  .vp-ko .ordering-process .vc-step { flex: 1; }
  .vp-ko .ordering-process .vc-step + .vc-step { padding-left: 0; }
  .vp-ko .ordering-process .vc-step + .vc-step::before { left: auto; right: calc(50% + 26px); width: calc(100% - 52px); }
  .vp-ko .ordering-process .vc-step > :is(a, span) { flex: 1; }
  .vc-hd-help span { display: none; }
}
@media (max-width: 767px) {
  .vp-ko .ordering-process #content-wrapper { padding-top: 12px !important; }
  .vp-ko .ordering-process .vc-hero { margin-bottom: 18px; padding: 22px 18px 20px; border-radius: 24px; }
  .vp-ko .ordering-process .vc-hero h1 { font-size: 28px; }
  .vp-ko .ordering-process .vc-step-n { width: 34px; height: 34px; font-size: 13.5px; }
  .vp-ko .ordering-process .vc-step + .vc-step::before { top: 16px; right: calc(50% + 22px); width: calc(100% - 44px); }
  .vp-ko .ordering-process .vc-step-l { font-size: 11.5px; }
  /* košík: obrázek, název a koš nahoře, počet a cena dole */
  .vp-ko .in-kosik .cart-table { padding: 2px 16px; border-radius: 24px; }
  .vp-ko .in-kosik .cart-table tr.removeable {
    grid-template-columns: 72px minmax(0, 1fr) auto; grid-template-areas: "img name rm" "img av rm" "img rel rel" "qty unit tot"; grid-template-rows: auto auto auto auto; column-gap: 12px; row-gap: 4px; padding: 16px 0;
  }
  .vp-ko .in-kosik .cart-table td.cart-p-image, .vp-ko .in-kosik .cart-table td.cart-p-image a { width: 72px; height: 72px; border-radius: 16px; }
  .vp-ko .in-kosik .cart-table a.main-link { align-self: start; font-size: 14.5px !important; }
  .vp-ko .in-kosik .cart-table .quantity-form { margin-top: 10px; }
  .vp-ko .in-kosik .cart-table .quantity { width: 116px; height: 42px; }
  .vp-ko .in-kosik .cart-table .quantity :is(.increase, .decrease) { width: 30px; height: 30px; }
  .vp-ko .in-kosik .cart-table [data-testid="cartPrice"] { align-self: center; margin-top: 10px; font-size: 17px !important; }
  .vp-ko .in-kosik .cart-table .vc-unit { align-self: center; justify-self: end; margin-top: 10px; }
  .vp-ko .in-kosik .cart-table td.p-total form { align-self: start; }
  .vp-ko .in-kosik .cart-table .remove-item { width: 36px; height: 36px; }
  .vp-ko .in-kosik .cart-related-product { grid-template-columns: minmax(0, 1fr); }
  .vp-ko .in-kosik .cart-related-button { flex-direction: row; align-items: center; justify-content: space-between; }
  .vp-ko .ordering-process :is(.cart-summary .box, .order-summary) { padding: 22px 18px 18px; border-radius: 24px; }
  .vp-ko .in-krok-1 .co-box { padding: 22px 16px 18px; border-radius: 24px; }
  .vp-ko .in-krok-1 .co-box > h2 { font-size: 19px !important; }
  .vp-ko .in-krok-1 .radio-wrapper > label {
    grid-template-columns: 22px minmax(0, 1fr) auto; grid-template-areas: "dot info price" "dot logo price"; row-gap: 8px; column-gap: 12px; padding: 14px;
  }
  .vp-ko .in-krok-1 .radio-wrapper > input[type="radio"] { left: 14px; }
  .vp-ko .in-krok-1 .radio-wrapper .payment-logo { width: 64px; height: 34px; padding: 3px 5px; }
  .vp-ko .in-krok-1 .radio-wrapper .payment-logo img { max-height: 26px; }
  .vp-ko .in-krok-1 .radio-wrapper .vc-hours { display: flex; width: max-content; margin: 4px 0 0; }
  .vp-ko .in-krok-2 #checkoutContent fieldset.box, .vp-ko .in-krok-2 #checkoutContent .co-box > fieldset.box { padding: 22px 16px 20px; border-radius: 24px; }
  .vp-ko .in-krok-1 .radio-wrapper .question-tooltip { display: none !important; }
  .vp-ko .in-krok-2 #checkoutContent .form-group-content, .vp-ko .in-krok-2 #checkoutContent #company-info:not(.js-hidden), .vp-ko .in-krok-2 #checkoutContent .co-shipping-address .form-group-content { grid-template-columns: minmax(0, 1fr); }
  .vp-ko .in-krok-2 #checkoutContent fieldset h2 { font-size: 19px !important; }
  .vp-ko .in-kosik .vc-empty-card { padding: 34px 18px 24px; border-radius: 26px; }
  .vp-ko .in-kosik .vc-empty-card h2 { font-size: 23px; }
  .vp-ko .in-kosik .vc-empty-cats { grid-template-columns: minmax(0, 1fr); }
  .vp-ko .in-kosik .vc-picks-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .vp-ko .in-kosik .vc-pick-buy .vc-btn span { display: none; }
  .vp-ko .in-kosik .vc-pick-buy .vc-btn { width: 44px; padding: 0; }
  html.vp-ko #colorbox.colorbox--order #cboxContent { border-radius: 22px; }
  html.vp-ko #colorbox.colorbox--order .advanced-order > .h1:not(.advanced-order-suggestion) { min-height: 64px; padding: 14px 64px 14px 18px; font-size: 17px !important; }
  html.vp-ko #colorbox.colorbox--order .advanced-order > .h1:not(.advanced-order-suggestion)::before { width: 28px; height: 28px; }
  html.vp-ko #colorbox.colorbox--order .advanced-order > .h1:not(.advanced-order-suggestion)::after { left: 24px; width: 14px; height: 14px; margin-top: -7px !important; }
  html.vp-ko #colorbox.colorbox--order .advanced-order .h2 { margin: 18px 18px 0; font-size: 15px !important; }
  html.vp-ko #colorbox.colorbox--order .advancedOrder__buttons { margin: 14px 18px 0; }
  html.vp-ko #colorbox.colorbox--order .advancedOrder__buttons .btn { flex: 1 1 100%; min-width: 0; height: 48px !important; }
  html.vp-ko #colorbox.colorbox--order .advanced-order .advanced-order-suggestion { margin: 22px 18px 12px; padding-top: 18px; font-size: 17px !important; }
  html.vp-ko #colorbox.colorbox--order .advanced-order .products-related { margin: 0 18px 18px !important; gap: 10px; }
  html.vp-ko #colorbox.colorbox--order #cboxClose { top: 12px; right: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .vp-ko .ordering-process *, html.vp-ko #vc-bar { transition: none !important; animation: none !important; }
}

/* ------------------------------------------------------------------ 12) VR brýle (okno „Přidáno do košíku“ i děkovací stránka, skript) */
html.vp-ko .vc-visor { --hs: 380px; position: relative; display: grid; place-items: center; width: 100%; height: 100%; pointer-events: none; }
html.vp-ko .vc-visor-hs { position: relative; z-index: 2; display: block; width: var(--hs); aspect-ratio: 400 / 190; filter: drop-shadow(0 26px 34px rgba(0, 0, 0, .55)); animation: vc-don .8s .08s var(--vc-ease) both; }
html.vp-ko .vc-visor-body { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
html.vp-ko .vc-visor-shell { stroke: rgba(255, 255, 255, .24); stroke-width: 1.4; }
html.vp-ko .vc-visor-plate { fill: none; stroke: rgba(255, 255, 255, .07); stroke-width: 1.2; }
html.vp-ko .vc-visor-led { fill: none; stroke-width: 3; stroke-linecap: round; filter: drop-shadow(0 0 5px rgba(228, 0, 92, .9)); animation: vc-led 3.2s ease-in-out infinite; }
html.vp-ko .vc-visor-holes circle { fill: #05030b; stroke: rgba(255, 255, 255, .1); stroke-width: 1; }
html.vp-ko .vc-visor-cam circle { fill: #05030b; stroke: rgba(255, 255, 255, .22); stroke-width: 1.2; }
html.vp-ko .vc-visor-body text { font: 800 13px/1 var(--vc-font, 'Poppins', sans-serif); letter-spacing: .14em; fill: rgba(255, 255, 255, .5); }
html.vp-ko .vc-visor-lens { position: absolute; top: 16.84%; width: 33%; aspect-ratio: 1; border-radius: 50%; }
html.vp-ko .vc-visor-lens--l { left: 11.5%; }
html.vp-ko .vc-visor-lens--r { right: 11.5%; }
html.vp-ko .vc-visor-glass { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; overflow: hidden; border-radius: 50%; }
html.vp-ko .vc-visor-lens--l .vc-visor-glass {
  background: radial-gradient(circle at 50% 42%, #fff 0 55%, #f7f0ff 70%, #eadcff 100%);
  box-shadow: inset 0 0 0 3px rgba(11, 7, 22, .85), inset 0 -10px 24px rgba(164, 0, 189, .14), 0 0 36px 6px rgba(164, 0, 189, .45);
  animation: vc-pop .6s .42s var(--vc-ease) both;
}
html.vp-ko .vc-visor-lens--l .vc-visor-glass img { width: 80%; height: 80%; object-fit: contain; mix-blend-mode: multiply; animation: vc-bob 5s 1.1s ease-in-out infinite; }
html.vp-ko .vc-visor-lens--l .vc-visor-glass > .vc-i, html.vp-ko #vc-ao .vc-visor-lens--l .vc-visor-glass > .vc-i { width: 44%; height: 44%; color: var(--vc-pur); stroke-width: 1.4; }
html.vp-ko .vc-visor-ring {
  position: absolute; inset: -5px; z-index: 2; border-radius: 50%; padding: 2px; opacity: .9;
  background: conic-gradient(from 0deg, #ff2d6f, #a400bd, #7b00f6, rgba(123, 0, 246, 0) 70%, #ff2d6f);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  animation: vc-spin 9s linear infinite;
}
html.vp-ko .vc-visor-lens--r .vc-visor-glass {
  background: radial-gradient(circle at 36% 30%, rgba(255, 255, 255, .18), rgba(255, 255, 255, 0) 40%), radial-gradient(circle at 50% 62%, #2c1253 0%, #0b0716 76%);
  box-shadow: inset 0 0 0 3px rgba(11, 7, 22, .85), 0 0 0 1px rgba(255, 255, 255, .16), 0 0 34px 4px rgba(62, 224, 143, .22);
  animation: vc-pop .6s .52s var(--vc-ease) both;
}
html.vp-ko .vc-visor-check { width: 44%; height: auto; overflow: visible; }
html.vp-ko .vc-visor-check circle { fill: rgba(62, 224, 143, .12); stroke: rgba(62, 224, 143, .5); stroke-width: 2; }
html.vp-ko .vc-visor-check path { fill: none; stroke: #3ee08f; stroke-width: 4.2; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 32; filter: drop-shadow(0 0 6px rgba(62, 224, 143, .85)); animation: vc-draw .55s .8s var(--vc-ease) both; }
html.vp-ko .vc-visor-lens--r small { font: 700 10.5px/1 var(--vc-font, 'Poppins', sans-serif); letter-spacing: .1em; text-transform: uppercase; color: rgba(255, 255, 255, .82); }
html.vp-ko .vc-visor-n {
  position: absolute; z-index: 3; top: -4px; right: -4px; display: grid; place-items: center; min-width: 32px; height: 32px; padding: 0 8px; border-radius: 999px;
  border: 2px solid #0b0716; background: var(--vc-grad); font: 800 13px/1 var(--vc-font, 'Poppins', sans-serif); color: #fff; box-shadow: 0 8px 20px -6px rgba(199, 0, 138, .8);
  animation: vc-pop .5s .9s var(--vc-ease) both;
}
html.vp-ko .vc-visor-strap {
  position: absolute; z-index: 1; top: 50%; height: 22px; margin-top: -15px; border-radius: 7px; border: 1px solid rgba(255, 255, 255, .12);
  background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .16) 0 7px, rgba(255, 255, 255, 0) 7px 13px) center / 100% 1px no-repeat, linear-gradient(180deg, #2d1b4c, #140b26);
  animation: vc-strap .75s .22s var(--vc-ease) both;
}
html.vp-ko .vc-visor-strap--l { left: 0; right: calc(50% + var(--hs) / 2 - 14px); transform-origin: 100% 50%; -webkit-mask-image: linear-gradient(90deg, transparent, #000 55%); mask-image: linear-gradient(90deg, transparent, #000 55%); }
html.vp-ko .vc-visor-strap--r { right: 0; left: calc(50% + var(--hs) / 2 - 14px); transform-origin: 0 50%; -webkit-mask-image: linear-gradient(270deg, transparent, #000 55%); mask-image: linear-gradient(270deg, transparent, #000 55%); }
@keyframes vc-don { from { opacity: 0; transform: translateY(-34px) scale(1.12); filter: blur(8px); } }
@keyframes vc-strap { from { transform: scaleX(0); } }
@keyframes vc-pop { from { opacity: 0; transform: scale(.6); } }
@keyframes vc-draw { from { stroke-dashoffset: 32; } }
@keyframes vc-spin { to { transform: rotate(1turn); } }
@keyframes vc-bob { 50% { transform: translateY(-4px); } }
@keyframes vc-led { 50% { opacity: .55; } }
@keyframes vc-fade { from { opacity: 0; } }
@keyframes vc-ao-in { from { opacity: 0; transform: translateY(20px) scale(.97); } }
@keyframes vc-ao-up { from { transform: translateY(100%); } }
@keyframes vc-twinkle { 50% { opacity: .35; } }

/* ------------------------------------------------------------------ 13) vlastní okno „Přidáno do košíku“ (skript, všechny stránky) */
html.vc-ao-lock { overflow: hidden !important; scrollbar-gutter: stable; }
html.vp-ko #vc-ao {
  position: fixed; inset: 0; z-index: 1300; display: grid; place-items: center; padding: 24px;
  font-family: var(--vc-font); color: var(--vc-text); text-align: left; -webkit-font-smoothing: antialiased;
}
#vc-ao *, #vc-ao *::before, #vc-ao *::after { box-sizing: border-box; }
#vc-ao [hidden] { display: none !important; }
#vc-ao .vc-ao-scrim { position: absolute; inset: 0; background: rgba(11, 7, 22, .62); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); animation: vc-fade .3s both; }
#vc-ao .vc-ao-box {
  position: relative; width: min(940px, 100%); max-height: calc(100vh - 48px); max-height: calc(100dvh - 48px); overflow: auto; overscroll-behavior: contain;
  border-radius: 30px; background: #fff; box-shadow: 0 60px 120px -40px rgba(0, 0, 0, .75); outline: none; animation: vc-ao-in .45s var(--vc-ease) both;
}
#vc-ao.is-out .vc-ao-scrim { opacity: 0; transition: opacity .2s; }
#vc-ao.is-out .vc-ao-box { opacity: 0; transform: translateY(12px) scale(.98); transition: opacity .2s, transform .2s; }
#vc-ao .vc-ao-x {
  position: absolute; top: 16px; right: 16px; z-index: 4; display: grid; place-items: center; width: 42px; height: 42px; margin: 0; padding: 0; border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .22); background: rgba(255, 255, 255, .08); color: #fff; cursor: pointer; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); transition: background-color .2s, transform .2s;
}
#vc-ao .vc-ao-x:hover { background: rgba(255, 255, 255, .2); transform: rotate(90deg); }
html.vp-ko #vc-ao .vc-ao-x .vc-i { width: 18px; height: 18px; stroke-width: 2.2; }
#vc-ao :focus-visible { outline: 3px solid #ff8fbc; outline-offset: 2px; }
/* scéna s brýlemi */
#vc-ao .vc-ao-stage {
  position: relative; isolation: isolate; height: 232px; overflow: hidden; border-radius: 30px 30px 0 0;
  background: radial-gradient(70% 120% at 50% 120%, rgba(123, 0, 246, .45), rgba(123, 0, 246, 0) 70%), linear-gradient(180deg, #170a2e 0%, #0b0716 78%);
}
#vc-ao .vc-ao-aur { position: absolute; z-index: -1; left: 50%; top: -60%; width: 70%; height: 140%; transform: translateX(-50%); border-radius: 50%; background: radial-gradient(closest-side, rgba(228, 0, 92, .38), rgba(228, 0, 92, 0)); filter: blur(30px); }
#vc-ao .vc-ao-grid {
  position: absolute; z-index: -1; inset: auto -20% -70% -20%; height: 110%; pointer-events: none;
  background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .07) 0 1px, transparent 1px 56px), repeating-linear-gradient(0deg, rgba(255, 255, 255, .06) 0 1px, transparent 1px 36px);
  transform: perspective(420px) rotateX(64deg); transform-origin: 50% 100%; -webkit-mask-image: linear-gradient(transparent, #000 75%); mask-image: linear-gradient(transparent, #000 75%);
}
#vc-ao .vc-ao-stars {
  position: absolute; z-index: -1; inset: 0; opacity: .8; animation: vc-twinkle 4s ease-in-out infinite;
  background-image: radial-gradient(1.5px 1.5px at 8% 22%, #fff, transparent), radial-gradient(1px 1px at 19% 64%, #fff, transparent), radial-gradient(1.5px 1.5px at 31% 12%, #ffb3d1, transparent),
    radial-gradient(1px 1px at 72% 18%, #fff, transparent), radial-gradient(1.5px 1.5px at 84% 58%, #d6b3ff, transparent), radial-gradient(1px 1px at 93% 26%, #fff, transparent), radial-gradient(1px 1px at 61% 8%, #fff, transparent);
}
#vc-ao .vc-ao-stage .vc-visor { position: absolute; inset: 0; padding-top: 4px; }
/* text a tlačítka */
#vc-ao .vc-ao-main { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 20px 32px; padding: 26px 32px 24px; }
#vc-ao .vc-ao-info { align-self: center; min-width: 0; }
#vc-ao .vc-ao-k { display: inline-flex; align-items: center; gap: 8px; margin: 0; font: 700 12px/1.2 var(--vc-font); letter-spacing: .12em; text-transform: uppercase; color: var(--vc-ok); }
html.vp-ko #vc-ao .vc-ao-k .vc-i { width: 22px; height: 22px; padding: 4px; border-radius: 50%; background: var(--vc-ok); color: #fff; stroke-width: 3; }
#vc-ao .vc-ao-info h2 {
  display: -webkit-box; margin: 12px 0 0; padding: 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3;
  font: 800 24px/1.22 var(--vc-font); letter-spacing: -.025em; color: var(--vc-ink); text-transform: none;
}
#vc-ao .vc-ao-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 14px 0 0; }
#vc-ao .vc-ao-chip { display: inline-flex; align-items: center; height: 30px; padding: 0 12px; border-radius: 999px; background: var(--vc-soft); border: 1px solid var(--vc-line); font: 600 12.5px/1 var(--vc-font); color: var(--vc-text); }
#vc-ao .vc-ao-chip:empty { display: none; }
#vc-ao .vc-ao-price { margin-left: 4px; font: 800 21px/1 var(--vc-font); letter-spacing: -.02em; color: var(--vc-ink); }
#vc-ao .vc-ao-extra { display: flex; align-items: flex-start; gap: 8px; margin: 14px 0 0; font: 500 13px/1.45 var(--vc-font); color: var(--vc-muted); }
html.vp-ko #vc-ao .vc-ao-extra .vc-i { width: 17px; height: 17px; margin-top: 1px; color: var(--vc-pur); }
#vc-ao .vc-ao-act { display: grid; gap: 10px; align-content: start; padding: 18px; border-radius: 22px; background: var(--vc-soft); border: 1px solid var(--vc-line); }
#vc-ao .vc-ao-sum { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 0 2px 6px; font: 500 13.5px/1.3 var(--vc-font); color: var(--vc-muted); }
#vc-ao .vc-ao-sum small { font-size: 12px; }
#vc-ao .vc-ao-sum b { font: 800 22px/1 var(--vc-font); letter-spacing: -.02em; color: var(--vc-ink); white-space: nowrap; }
#vc-ao .vc-ao-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px; width: 100%; height: 52px; margin: 0; padding: 0 22px; border-radius: 999px; border: 1px solid transparent;
  font: 700 15px/1 var(--vc-font); text-decoration: none; text-transform: none; cursor: pointer; transition: transform .2s var(--vc-ease), box-shadow .25s, border-color .2s, color .2s;
}
html.vp-ko #vc-ao .vc-ao-btn .vc-i { width: 18px; height: 18px; stroke-width: 2.2; transition: transform .2s var(--vc-ease); }
#vc-ao .vc-ao-btn--grad { color: #fff; background: var(--vc-grad); box-shadow: 0 16px 34px -14px rgba(199, 0, 138, .75); }
#vc-ao .vc-ao-btn--grad:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 20px 40px -14px rgba(199, 0, 138, .85); }
html.vp-ko #vc-ao .vc-ao-btn--grad:hover .vc-i { transform: translateX(3px); }
#vc-ao .vc-ao-btn--line { color: var(--vc-text); background: #fff; border-color: var(--vc-line); }
#vc-ao .vc-ao-btn--line:hover { color: var(--vc-pur); border-color: #d9c7ee; }
#vc-ao .vc-ao-trust { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 18px 0 0; border-top: 1px solid var(--vc-line); list-style: none; }
#vc-ao .vc-ao-trust li { display: flex; align-items: center; gap: 10px; min-width: 0; margin: 0; padding: 0; }
html.vp-ko #vc-ao .vc-ao-trust .vc-i { width: 36px; height: 36px; padding: 8px; border-radius: 12px; background: var(--vc-soft); color: var(--vc-pur); }
#vc-ao .vc-ao-trust span { min-width: 0; }
#vc-ao .vc-ao-trust b { display: block; font: 600 13px/1.25 var(--vc-font); color: var(--vc-ink); }
#vc-ao .vc-ao-trust small { display: block; font: 400 11.5px/1.35 var(--vc-font); color: var(--vc-muted); }
/* doporučené zboží */
#vc-ao .vc-ao-rel { padding: 22px 32px 28px; border-top: 1px solid var(--vc-line); background: linear-gradient(180deg, #faf8fe, #fff); }
#vc-ao .vc-ao-rel h3 { margin: 0 0 14px; padding: 0; font: 800 18px/1.2 var(--vc-font); letter-spacing: -.02em; color: var(--vc-ink); text-transform: none; }
#vc-ao .vc-ao-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
#vc-ao .vc-ao-card { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 10px 12px 10px 10px; border-radius: 20px; border: 1px solid var(--vc-line); background: #fff; transition: border-color .2s, box-shadow .25s; }
#vc-ao .vc-ao-card:hover { border-color: #e2d3f5; box-shadow: 0 18px 34px -26px rgba(60, 10, 110, .55); }
#vc-ao .vc-ao-card-img { display: grid; place-items: center; width: 76px; height: 76px; overflow: hidden; border-radius: 16px; background: radial-gradient(circle at 50% 42%, #fff 0 46%, #f5effd 78%, #efe6fb 100%); }
#vc-ao .vc-ao-card-img img { width: 86%; height: 86%; object-fit: contain; mix-blend-mode: multiply; }
html.vp-ko #vc-ao .vc-ao-card-img .vc-i { width: 30px; height: 30px; color: var(--vc-pur); }
#vc-ao .vc-ao-card-tx { display: grid; gap: 6px; min-width: 0; }
#vc-ao .vc-ao-card-t { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font: 600 13.5px/1.35 var(--vc-font); color: var(--vc-ink); text-decoration: none; }
#vc-ao .vc-ao-card-t:hover { color: var(--vc-mag); }
#vc-ao .vc-ao-card-row { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
#vc-ao .vc-ao-card-row b { font: 700 15px/1.1 var(--vc-font); color: var(--vc-ink); }
#vc-ao .vc-ao-av { display: inline-flex; align-items: center; gap: 6px; font: 600 11.5px/1.2 var(--vc-font); color: var(--vc-out); }
#vc-ao .vc-ao-av::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
#vc-ao .vc-st-in .vc-ao-av { color: var(--vc-ok); }
#vc-ao :is(.vc-st-soon, .vc-st-pre) .vc-ao-av { color: var(--vc-pre); }
#vc-ao .vc-ao-add {
  display: grid; place-items: center; width: 44px; height: 44px; margin: 0; padding: 0; border-radius: 50%; border: 0; color: #fff; background: var(--vc-ink); cursor: pointer; text-decoration: none;
  transition: transform .2s var(--vc-ease), background-color .2s;
}
#vc-ao .vc-ao-add:hover { color: #fff; background: var(--vc-grad); transform: scale(1.06); }
html.vp-ko #vc-ao .vc-ao-add .vc-i { width: 18px; height: 18px; stroke-width: 2; }
#vc-ao .vc-ao-add--go { color: var(--vc-text); background: var(--vc-soft); }
#vc-ao .vc-ao-add.is-busy { opacity: .6; cursor: progress; }
#vc-ao .vc-ao-add.is-done { background: var(--vc-ok); cursor: default; transform: none; }
html.vp-ko #vc-ao .vc-ao-add.is-done .vc-i { stroke-width: 2.8; }
.vc-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
@media (max-width: 991px) {
  #vc-ao .vc-ao-main { grid-template-columns: minmax(0, 1fr) 290px; gap: 18px 24px; padding: 24px 26px 22px; }
  #vc-ao .vc-ao-rel { padding: 20px 26px 24px; }
}
@media (max-width: 767px) {
  html.vp-ko #vc-ao { place-items: end stretch; padding: 0; }
  #vc-ao .vc-ao-box { width: 100%; max-height: 92vh; max-height: 92dvh; border-radius: 26px 26px 0 0; padding-bottom: env(safe-area-inset-bottom); animation: vc-ao-up .42s var(--vc-ease) both; }
  #vc-ao.is-out .vc-ao-box { transform: translateY(40px); }
  #vc-ao .vc-ao-stage { height: 178px; border-radius: 26px 26px 0 0; }
  #vc-ao .vc-ao-stage::before { content: ""; position: absolute; left: 50%; top: 8px; width: 40px; height: 4px; margin-left: -20px; border-radius: 4px; background: rgba(255, 255, 255, .3); }
  #vc-ao .vc-ao-stage .vc-visor { --hs: 272px; }
  #vc-ao .vc-ao-x { top: 12px; right: 12px; width: 38px; height: 38px; }
  #vc-ao .vc-ao-main { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 20px 18px 18px; }
  #vc-ao .vc-ao-info h2 { margin-top: 10px; font-size: 20px; }
  #vc-ao .vc-ao-price { font-size: 19px; }
  #vc-ao .vc-ao-act { padding: 14px; border-radius: 20px; }
  #vc-ao .vc-ao-trust { display: none; }
  #vc-ao .vc-ao-rel { padding: 18px 0 20px; }
  #vc-ao .vc-ao-rel h3 { margin: 0 18px 12px; font-size: 17px; }
  #vc-ao .vc-ao-list { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: minmax(250px, 82%); gap: 10px; overflow-x: auto; padding: 2px 18px 4px; scroll-snap-type: x mandatory; scroll-padding: 0 18px; scrollbar-width: none; }
  #vc-ao .vc-ao-list::-webkit-scrollbar { display: none; }
  #vc-ao .vc-ao-card { scroll-snap-align: start; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 12px; }
  #vc-ao .vc-ao-card-img { width: 64px; height: 64px; }
}

/* ------------------------------------------------------------------ 14) děkovací stránka /objednavka/dekujeme/ (skript) */
/* původní rekapitulace jen skrytá (měřicí skripty v ní běží dál); neznámé odkazy Shoptetu přesune skript do .vc-thx-keep */
html.vc-thx-on.vp-ko .in-dekujeme .content-inner > :is(.recapitulation-wrapper, .order-complete-links) { display: none !important; }
html.vc-thx-on.vp-ko .in-dekujeme #content > h1.sr-only { display: none !important; }
.vp-ko .in-dekujeme .vc-thx { max-width: 1280px; margin: 0 auto; }
.vp-ko .in-dekujeme .vc-thx [hidden] { display: none !important; }
.vp-ko .in-dekujeme .vc-hero--thx { grid-template-columns: minmax(0, 1fr) minmax(0, 480px); align-items: stretch; gap: 10px 20px; margin-bottom: 24px; padding: 42px 0 40px 46px; }
.vp-ko .in-dekujeme .vc-hero--thx .vc-hero-t { align-self: center; min-width: 0; }
.vp-ko .in-dekujeme .vc-hero--thx h1 { font-size: clamp(30px, 3.4vw, 46px); }
.vp-ko .in-dekujeme .vc-thx-lead { max-width: 520px; margin: 14px 0 0; font: 500 15.5px/1.55 var(--vc-font); color: rgba(255, 255, 255, .78); }
.vp-ko .in-dekujeme .vc-thx-num {
  display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; margin: 22px 0 0; padding: 8px 8px 8px 20px; border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .18); background: rgba(255, 255, 255, .07); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.vp-ko .in-dekujeme .vc-thx-num span { font: 500 12.5px/1.2 var(--vc-font); color: rgba(255, 255, 255, .65); }
.vp-ko .in-dekujeme .vc-thx-num b { font: 800 21px/1 var(--vc-font); letter-spacing: .03em; color: #fff; }
.vp-ko .in-dekujeme .vc-thx-num .vc-copy { border-color: transparent; background: #fff; color: var(--vc-ink); }
.vp-ko .in-dekujeme .vc-hero--thx .vc-steps { margin-top: 26px; }
.vp-ko .in-dekujeme .vc-thx-vis { position: relative; min-height: 250px; }
.vp-ko .in-dekujeme .vc-thx-vis .vc-visor { --hs: 400px; position: absolute; inset: 0; }
.vp-ko .in-dekujeme .vc-thx-vis::before { content: ""; position: absolute; left: 50%; top: 50%; width: 120%; height: 120%; transform: translate(-50%, -50%); border-radius: 50%; background: radial-gradient(closest-side, rgba(228, 0, 92, .28), rgba(228, 0, 92, 0)); filter: blur(20px); }
/* mřížka: obsah vlevo, shrnutí vpravo */
.vp-ko .in-dekujeme .vc-thx-grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 24px; align-items: start; }
.vp-ko .in-dekujeme .vc-thx-main { display: grid; gap: 20px; min-width: 0; }
.vp-ko .in-dekujeme .vc-thx-side { position: sticky; top: var(--vc-top); display: grid; gap: 16px; }
.vp-ko .in-dekujeme .vc-card { min-width: 0; padding: 28px 30px; border-radius: 28px; border: 1px solid var(--vc-line); background: #fff; box-shadow: 0 30px 60px -50px rgba(40, 10, 80, .5); }
.vp-ko .in-dekujeme .vc-card h2 { margin: 0; padding: 0; border: 0; font: 800 21px/1.2 var(--vc-font); letter-spacing: -.02em; color: var(--vc-ink); text-transform: none; }
.vp-ko .in-dekujeme .vc-card-h { display: flex; align-items: center; gap: 14px; }
.vp-ko .in-dekujeme .vc-card-h p { margin: 3px 0 0; font: 400 13.5px/1.45 var(--vc-font); color: var(--vc-muted); }
.vp-ko .in-dekujeme .vc-card-i { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 15px; background: var(--vc-soft); color: var(--vc-pur); }
.vp-ko .in-dekujeme .vc-card-i .vc-i { width: 22px; height: 22px; }
.vp-ko .in-dekujeme .vc-copy {
  display: grid; place-items: center; flex: none; width: 36px; height: 36px; margin: 0; padding: 0; border-radius: 12px; border: 1px solid var(--vc-line); background: #fff; color: var(--vc-muted); cursor: pointer;
  transition: color .2s, border-color .2s, background-color .2s;
}
.vp-ko .in-dekujeme .vc-copy:hover { color: var(--vc-pur); border-color: #d9c7ee; }
.vp-ko .in-dekujeme .vc-copy.is-done, .vp-ko .in-dekujeme .vc-thx-num .vc-copy.is-done { color: #fff; border-color: var(--vc-ok); background: var(--vc-ok); }
.vp-ko .in-dekujeme .vc-copy .vc-i { width: 17px; height: 17px; }
.vp-ko .in-dekujeme .vc-thx :focus-visible { outline: 3px solid #ff8fbc; outline-offset: 2px; }
/* platba převodem */
.vp-ko .in-dekujeme .vc-pay { border-color: #e6d8f8; background: linear-gradient(180deg, #fbf8ff 0, #fff 160px); }
.vp-ko .in-dekujeme .vc-pay .vc-card-i { color: #fff; background: var(--vc-grad); }
.vp-ko .in-dekujeme .vc-pay-grid { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 28px; align-items: start; margin-top: 22px; }
.vp-ko .in-dekujeme .vc-pay-qr { margin: 0; padding: 14px 14px 10px; border-radius: 22px; border: 1px solid var(--vc-line); background: #fff; box-shadow: 0 20px 40px -30px rgba(60, 10, 110, .55); text-align: center; }
.vp-ko .in-dekujeme .vc-pay-qr img { display: block; width: 100%; height: auto; image-rendering: pixelated; }
.vp-ko .in-dekujeme .vc-pay-qr figcaption { margin-top: 6px; font: 700 11.5px/1.2 var(--vc-font); letter-spacing: .12em; text-transform: uppercase; color: var(--vc-muted); }
.vp-ko .in-dekujeme .vc-pay-rows { display: grid; margin: 0; }
.vp-ko .in-dekujeme .vc-pay-row { display: grid; grid-template-columns: 138px minmax(0, 1fr) 36px; align-items: center; gap: 12px; min-height: 54px; padding: 8px 0; border-bottom: 1px solid var(--vc-line); }
.vp-ko .in-dekujeme .vc-pay-row:last-child { border-bottom: 0; }
.vp-ko .in-dekujeme .vc-pay-row dt { font: 500 13px/1.3 var(--vc-font); color: var(--vc-muted); }
.vp-ko .in-dekujeme .vc-pay-row dd { margin: 0; min-width: 0; overflow-wrap: anywhere; font: 700 15.5px/1.3 var(--vc-font); letter-spacing: .01em; color: var(--vc-ink); }
.vp-ko .in-dekujeme .vc-pay-row.is-sum dd { font-size: 22px; font-weight: 800; letter-spacing: -.02em; }
.vp-ko .in-dekujeme .vc-pay-note { display: flex; align-items: flex-start; gap: 10px; margin: 20px 0 0; padding: 14px 16px; border-radius: 18px; background: #fff6e6; font: 400 13.5px/1.5 var(--vc-font); color: #5c4300; }
.vp-ko .in-dekujeme .vc-pay-note .vc-i { width: 18px; height: 18px; margin-top: 1px; color: var(--vc-pre); }
.vp-ko .in-dekujeme .vc-pay-note b { font-weight: 700; }
/* co bude dál */
.vp-ko .in-dekujeme .vc-next ol { display: grid; margin: 22px 0 0; padding: 0; list-style: none; }
.vp-ko .in-dekujeme .vc-next li { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 16px; margin: 0; padding: 0 0 22px; }
.vp-ko .in-dekujeme .vc-next li:last-child { padding-bottom: 0; }
.vp-ko .in-dekujeme .vc-next li:not(:last-child)::before { content: ""; position: absolute; left: 21px; top: 48px; bottom: 4px; width: 2px; border-radius: 2px; background: var(--vc-line); }
.vp-ko .in-dekujeme .vc-next li.is-done::before { background: linear-gradient(var(--vc-ok), var(--vc-line)); }
.vp-ko .in-dekujeme .vc-next-i { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; border: 1px solid var(--vc-line); background: #fff; color: var(--vc-pur); }
.vp-ko .in-dekujeme .vc-next-i .vc-i { width: 20px; height: 20px; }
.vp-ko .in-dekujeme .vc-next li.is-done .vc-next-i { border-color: transparent; background: var(--vc-ok); color: #fff; }
.vp-ko .in-dekujeme .vc-next li.is-done .vc-next-i .vc-i { stroke-width: 2.8; }
.vp-ko .in-dekujeme .vc-next li.is-now .vc-next-i { border-color: transparent; background: var(--vc-grad); color: #fff; box-shadow: 0 12px 26px -10px rgba(199, 0, 138, .75); }
.vp-ko .in-dekujeme .vc-next b { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 3px; font: 700 15.5px/1.3 var(--vc-font); color: var(--vc-ink); }
.vp-ko .in-dekujeme .vc-next b em { padding: 4px 9px; border-radius: 999px; background: #ffe3ef; font: 700 10.5px/1 var(--vc-font); font-style: normal; letter-spacing: .08em; text-transform: uppercase; color: var(--vc-mag); }
.vp-ko .in-dekujeme .vc-next p { margin: 5px 0 0; font: 400 14px/1.55 var(--vc-font); color: var(--vc-muted); }
.vp-ko .in-dekujeme .vc-next-go { display: inline-flex; align-items: center; gap: 6px; margin: 8px 16px 0 0; font: 600 13.5px/1.2 var(--vc-font); color: var(--vc-pur); text-decoration: none; }
.vp-ko .in-dekujeme .vc-next-go .vc-i { width: 15px; height: 15px; transition: transform .2s var(--vc-ease); }
.vp-ko .in-dekujeme .vc-next-go:hover .vc-i { transform: translateX(3px); }
/* obsah objednávky */
.vp-ko .in-dekujeme .vc-items ul { margin: 14px 0 0; padding: 0; list-style: none; }
.vp-ko .in-dekujeme .vc-item { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; align-items: center; gap: 16px; margin: 0; padding: 14px 0; border-bottom: 1px solid var(--vc-line); }
.vp-ko .in-dekujeme .vc-item-img { display: grid; place-items: center; width: 72px; height: 72px; overflow: hidden; border-radius: 18px; background: radial-gradient(circle at 50% 42%, #fff 0 46%, #f5effd 78%, #efe6fb 100%); color: var(--vc-pur); }
.vp-ko .in-dekujeme .vc-item-img img { width: 86%; height: 86%; object-fit: contain; mix-blend-mode: multiply; }
.vp-ko .in-dekujeme .vc-item-t { display: grid; gap: 4px; min-width: 0; }
.vp-ko .in-dekujeme .vc-item-t b { font: 600 14.5px/1.4 var(--vc-font); color: var(--vc-ink); }
.vp-ko .in-dekujeme .vc-item-t small { font: 400 13px/1.4 var(--vc-font); color: var(--vc-muted); }
.vp-ko .in-dekujeme .vc-item-p { font: 700 16px/1.2 var(--vc-font); color: var(--vc-ink); white-space: nowrap; }
.vp-ko .in-dekujeme .vc-items-sum { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 16px 0 0; font: 600 14px/1.3 var(--vc-font); color: var(--vc-text); }
.vp-ko .in-dekujeme .vc-items-sum small { display: block; margin-top: 2px; font: 400 12px/1.3 var(--vc-font); color: var(--vc-muted); }
.vp-ko .in-dekujeme .vc-items-sum b { font: 800 22px/1 var(--vc-font); letter-spacing: -.02em; color: var(--vc-ink); white-space: nowrap; }
/* shrnutí a kontakt */
.vp-ko .in-dekujeme .vc-thx-sum dl { display: grid; margin: 16px 0 0; }
.vp-ko .in-dekujeme .vc-thx-sum dl > div { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--vc-line); }
.vp-ko .in-dekujeme .vc-thx-sum dt { font: 500 13px/1.4 var(--vc-font); color: var(--vc-muted); }
.vp-ko .in-dekujeme .vc-thx-sum dd { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0; min-width: 0; font: 600 14px/1.4 var(--vc-font); color: var(--vc-ink); }
.vp-ko .in-dekujeme .vc-thx-sum dd small { flex-basis: 100%; font: 400 12.5px/1.4 var(--vc-font); color: var(--vc-muted); }
.vp-ko .in-dekujeme .vc-thx-sum dd b { font-size: 16px; font-weight: 800; letter-spacing: .02em; }
.vp-ko .in-dekujeme .vc-thx-sum dd .vc-copy { width: 30px; height: 30px; border-radius: 10px; }
.vp-ko .in-dekujeme .vc-thx-sum dd .vc-copy .vc-i { width: 15px; height: 15px; }
.vp-ko .in-dekujeme .vc-thx-total { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 16px 0 18px; font: 600 14px/1.3 var(--vc-font); color: var(--vc-text); }
.vp-ko .in-dekujeme .vc-thx-total b { font: 800 26px/1 var(--vc-font); letter-spacing: -.025em; color: var(--vc-ink); white-space: nowrap; }
.vp-ko .in-dekujeme .vc-thx-sum .vc-btn { width: 100%; height: 52px; font-size: 15px; }
.vp-ko .in-dekujeme .vc-thx-sum .vc-btn .vc-i { width: 18px; height: 18px; }
.vp-ko .in-dekujeme .vc-thx-help { color: #fff; border-color: transparent; background: radial-gradient(120% 120% at 100% 0%, rgba(164, 0, 189, .5), rgba(164, 0, 189, 0) 60%), linear-gradient(135deg, #1b0b35, #0b0716 75%); }
.vp-ko .in-dekujeme .vc-thx-help h2 { font-size: 18px; color: #fff; }
.vp-ko .in-dekujeme .vc-thx-help p { margin: 6px 0 12px; font: 400 13.5px/1.5 var(--vc-font); color: rgba(255, 255, 255, .7); }
.vp-ko .in-dekujeme .vc-thx-help a { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid rgba(255, 255, 255, .1); color: #fff; text-decoration: none; }
.vp-ko .in-dekujeme .vc-thx-help a:hover b { color: #ff8fbc; }
.vp-ko .in-dekujeme .vc-thx-help .vc-i { width: 36px; height: 36px; padding: 8px; border-radius: 12px; background: rgba(255, 255, 255, .08); color: #ff74a8; }
.vp-ko .in-dekujeme .vc-thx-help span { display: grid; gap: 2px; min-width: 0; }
.vp-ko .in-dekujeme .vc-thx-help b { font: 600 14px/1.3 var(--vc-font); overflow-wrap: anywhere; transition: color .2s; }
.vp-ko .in-dekujeme .vc-thx-help small { font: 400 12px/1.3 var(--vc-font); color: rgba(255, 255, 255, .55); }
/* ponechaný blok Shoptetu (např. tlačítko platební brány) */
.vp-ko .in-dekujeme .vc-thx-keep > * { display: block !important; margin: 0 !important; }
/* pokračovat v nákupu */
.vp-ko .in-dekujeme .vc-thx-cats { margin: 30px 0 10px; }
.vp-ko .in-dekujeme .vc-thx-cats h2 { margin: 0 0 14px; padding: 0; border: 0; font: 800 21px/1.2 var(--vc-font); letter-spacing: -.02em; color: var(--vc-ink); text-transform: none; }
.vp-ko .in-dekujeme .vc-thx-cats > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.vp-ko .in-dekujeme .vc-thx-cats a {
  display: grid; grid-template-columns: 44px minmax(0, 1fr) 18px; align-items: center; gap: 12px; padding: 14px 16px 14px 14px; border-radius: 20px; border: 1px solid var(--vc-line); background: #fff;
  font: 600 14.5px/1.25 var(--vc-font); color: var(--vc-ink); text-decoration: none; transition: border-color .2s, transform .25s var(--vc-ease), box-shadow .25s;
}
.vp-ko .in-dekujeme .vc-thx-cats a:hover { border-color: #e2d3f5; transform: translateY(-2px); box-shadow: 0 18px 34px -26px rgba(60, 10, 110, .55); }
.vp-ko .in-dekujeme .vc-thx-cats a .vc-i:first-child { width: 44px; height: 44px; padding: 10px; border-radius: 14px; background: var(--vc-soft); color: var(--vc-pur); }
.vp-ko .in-dekujeme .vc-thx-cats a .vc-i:last-child { width: 16px; height: 16px; color: var(--vc-muted); }
@media (max-width: 1199px) {
  .vp-ko .in-dekujeme .vc-hero--thx { grid-template-columns: minmax(0, 1fr) minmax(0, 400px); padding-left: 36px; }
  .vp-ko .in-dekujeme .vc-thx-vis .vc-visor { --hs: 340px; }
  .vp-ko .in-dekujeme .vc-thx-grid { grid-template-columns: minmax(0, 1fr) 340px; gap: 20px; }
  .vp-ko .in-dekujeme .vc-pay-grid { grid-template-columns: 170px minmax(0, 1fr); gap: 22px; }
  .vp-ko .in-dekujeme .vc-thx-cats > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
  .vp-ko .in-dekujeme .vc-hero--thx { grid-template-columns: minmax(0, 1fr); padding: 0 26px 28px; }
  .vp-ko .in-dekujeme .vc-thx-vis { order: -1; min-height: 200px; margin: 0 -26px; }
  .vp-ko .in-dekujeme .vc-thx-grid { grid-template-columns: minmax(0, 1fr); }
  .vp-ko .in-dekujeme .vc-thx-side { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
}
@media (max-width: 767px) {
  .vp-ko .in-dekujeme .vc-hero--thx { padding: 0 18px 24px; }
  .vp-ko .in-dekujeme .vc-thx-vis { min-height: 168px; margin: 0 -18px; }
  .vp-ko .in-dekujeme .vc-thx-vis .vc-visor { --hs: 270px; }
  .vp-ko .in-dekujeme .vc-hero--thx h1 { font-size: 29px; }
  .vp-ko .in-dekujeme .vc-thx-lead { font-size: 14.5px; }
  .vp-ko .in-dekujeme .vc-thx-num { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; width: 100%; padding: 12px 10px 12px 18px; border-radius: 22px; }
  .vp-ko .in-dekujeme .vc-thx-num .vc-copy { grid-column: 2; grid-row: 1 / span 2; align-self: center; width: 42px; height: 42px; }
  .vp-ko .in-dekujeme .vc-thx-num b { font-size: 19px; }
  .vp-ko .in-dekujeme .vc-thx-side { grid-template-columns: minmax(0, 1fr); }
  .vp-ko .in-dekujeme .vc-card { padding: 22px 18px; border-radius: 24px; }
  .vp-ko .in-dekujeme .vc-card h2 { font-size: 19px; }
  .vp-ko .in-dekujeme .vc-card-i { width: 42px; height: 42px; border-radius: 14px; }
  .vp-ko .in-dekujeme .vc-pay-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .vp-ko .in-dekujeme .vc-pay-qr { justify-self: center; width: 210px; }
  .vp-ko .in-dekujeme .vc-pay-row { grid-template-columns: 104px minmax(0, 1fr) 36px; gap: 10px; }
  .vp-ko .in-dekujeme .vc-pay-row dd { font-size: 14.5px; }
  .vp-ko .in-dekujeme .vc-pay-row.is-sum dd { font-size: 20px; }
  .vp-ko .in-dekujeme .vc-next li { grid-template-columns: 40px minmax(0, 1fr); gap: 14px; }
  .vp-ko .in-dekujeme .vc-next-i { width: 40px; height: 40px; border-radius: 13px; }
  .vp-ko .in-dekujeme .vc-next li:not(:last-child)::before { left: 19px; top: 44px; }
  .vp-ko .in-dekujeme .vc-item { grid-template-columns: 60px minmax(0, 1fr); grid-template-areas: "img t" "img p"; gap: 2px 14px; }
  .vp-ko .in-dekujeme .vc-item-img { grid-area: img; width: 60px; height: 60px; border-radius: 16px; }
  .vp-ko .in-dekujeme .vc-item-t { grid-area: t; }
  .vp-ko .in-dekujeme .vc-item-p { grid-area: p; font-size: 15px; }
  .vp-ko .in-dekujeme .vc-thx-cats h2 { font-size: 19px; }
  .vp-ko .in-dekujeme .vc-thx-cats > div { grid-template-columns: minmax(0, 1fr); gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  html.vp-ko :is(#vc-ao, .vc-thx) *, html.vp-ko #vc-ao { animation: none !important; transition: none !important; }
}
