/* =========================================
   TOKENY (modrý akcent běžného košíku)
========================================= */
body.pdz-kosik-rezim {
    --pdz-accent:        #1A6B9B;
    --pdz-accent-dark:   #14567d;
    --pdz-accent-soft:   rgba(26, 107, 155, 0.08);
    --pdz-accent-border: rgba(26, 107, 155, 0.40);

    --pdz-green:         #007A25;
    --pdz-green-dark:    #005f1d;

    --pdz-ink:        #1a1a1a;
    --pdz-ink-soft:   #4f5559;
    --pdz-muted:      #7e858a;
    --pdz-line:       #e8eaec;
    --pdz-surface:    #ffffff;
    --pdz-surface-2:  #f6f7f8;
    --pdz-danger:     #e11900;

    /* Fluidní škála (shodná s poptávkou, spodní hranice 1.1rem) */
    --pop-fs-micro: clamp(1.1rem, 1.06rem + 0.18vw, 1.2rem);
    --pop-fs-body:  clamp(1.15rem, 1.09rem + 0.28vw, 1.3rem);
    --pop-fs-price: clamp(1.2rem, 1.06rem + 0.6vw, 1.4rem);
    --pop-fs-btn:   clamp(1.15rem, 1.09rem + 0.28vw, 1.25rem);
    --pop-fs-total: clamp(1.55rem, 1.1rem + 1.9vw, 2rem);
    --pop-fs-glyph: clamp(1.25rem, 1.1rem + 0.5vw, 1.45rem);

    --pop-pad-y: clamp(14px, 0.55rem + 0.6vw, 20px);
    --pop-pad-x: clamp(16px, 0.7rem + 0.8vw, 24px);
    --pop-gap:   clamp(12px, 0.5rem + 0.7vw, 18px);
    --pop-img:   clamp(60px, 4rem + 1.6vw, 80px);
    --pop-qty:   clamp(32px, 2rem + 0.6vw, 38px);

    /* Fluidní rozestupy a rozměry ovládacích prvků */
    --pop-sep:       clamp(18px, 1rem + 1vw, 28px);   /* odsazení/oddělovače sekcí */
    --pop-btn-py:    clamp(12px, 0.6rem + 0.5vw, 15px);
    --pop-btn-px:    clamp(20px, 1rem + 1.4vw, 40px);
    --pop-ctrl:      clamp(20px, 1.15rem + 0.4vw, 24px); /* rádia, checkboxy, číslo v záložce */
    --pop-ctrl-dot:  clamp(9px, 0.5rem + 0.2vw, 11px);
    --pop-field-gap: clamp(12px, 0.6rem + 0.5vw, 18px);
    --pop-recap-row: clamp(6px, 0.3rem + 0.2vw, 9px);
}

/* =========================================
   KROKY OBJEDNÁVKY (.cart-header) — ZÁLOŽKY nad bílou kartou
   Aktivní záložka je bílá a splývá s kartou pod ní (margin-bottom 0,
   karta má margin-top 0). Neaktivní jsou nižší, poloprůhledné bílé.
========================================= */
body.pdz-kosik-rezim .cart-header {
    list-style: none !important;
    display: flex !important;
    align-items: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    margin: 0 auto !important;              /* žádná mezera pod záložkami */
    padding: 0 clamp(14px, 2.2vw, 26px) !important; /* odsazení od zaobleného rohu karty */
    counter-reset: pdzstep;
    background: transparent !important;
    border: none !important;
    position: relative !important;
    z-index: 2 !important;
    overflow-x: auto !important;            /* úzké displeje: záložky lze posunout */
    scrollbar-width: none !important;
}
body.pdz-kosik-rezim .cart-header::-webkit-scrollbar { display: none !important; }
body.pdz-kosik-rezim.in-krok-1 .cart-header,
body.pdz-kosik-rezim.in-krok-2 .cart-header { max-width: 880px !important; }

body.pdz-kosik-rezim .cart-header .step {
    counter-increment: pdzstep;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    width: auto !important;
    flex: 0 0 auto !important;
    background: transparent !important;
    border: none !important;
}
body.pdz-kosik-rezim .cart-header .step::before,
body.pdz-kosik-rezim .cart-header .step::after { display: none !important; content: none !important; }

/* Vypnout nativní Shoptet vzhled kroku na <span>: šedý rámeček + vlastní
   číslování „1." (zůstává jen naše kolečko s číslem) */
body.pdz-kosik-rezim .cart-header .step span {
    display: inline !important;
    border: none !important;
    outline: none !important;
    background: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
    height: auto !important;
    position: static !important;
}
body.pdz-kosik-rezim .cart-header .step span::before,
body.pdz-kosik-rezim .cart-header .step span::after,
body.pdz-kosik-rezim .cart-header .step > a > span::before,
body.pdz-kosik-rezim .cart-header .step > strong > span::before {
    display: none !important;
    content: none !important;
}

/* Tělo záložky */
body.pdz-kosik-rezim .cart-header .step > a,
body.pdz-kosik-rezim .cart-header .step > strong {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 9px clamp(14px, 1.8vw, 24px) 11px !important;
    border: none !important;
    border-radius: var(--radius-md, 1rem) var(--radius-md, 1rem) 0 0 !important;
    background: rgba(255, 255, 255, 0.16) !important;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-weight: 600 !important;
    font-size: clamp(0.95rem, 1.6vw, 1.05rem) !important;
    letter-spacing: 0.3px !important;
    line-height: 1.2 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: background 0.25s ease, color 0.25s ease !important;
}
/* Číslo kroku v kolečku / fajfka u dokončeného */
body.pdz-kosik-rezim .cart-header .step > a::before,
body.pdz-kosik-rezim .cart-header .step > strong::before {
    content: counter(pdzstep);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--pop-ctrl);
    height: var(--pop-ctrl);
    flex: 0 0 var(--pop-ctrl);
    border-radius: 50%;
    border: 2px solid currentColor;
    font-size: 0.8em;
    font-weight: 700;
    line-height: 1;
}
body.pdz-kosik-rezim .cart-header .step.completed > a::before { content: "✓"; }

/* Aktivní záložka = bílá, vyšší, splývá s kartou */
body.pdz-kosik-rezim .cart-header .step.active > strong {
    background: #ffffff !important;
    color: var(--pdz-accent) !important;
    font-weight: 700 !important;
    padding-top: 12px !important;
    padding-bottom: 14px !important;
}
body.pdz-kosik-rezim .cart-header .step.active > strong span { color: var(--pdz-accent) !important; }

/* Přebití globálního a{color:#fff;underline !important} — zopakovaný :not() řetězec + prefix */
body.pdz-kosik-rezim .cart-header .step a:not(.btn):not(.poptat-projekt-btn):not(.pdz-scroll-top),
body.pdz-kosik-rezim .cart-header .step a:not(.btn):not(.poptat-projekt-btn):not(.pdz-scroll-top) span {
    color: #ffffff !important;
    text-decoration: none !important;
}
body.pdz-kosik-rezim .cart-header .step a:hover { background: rgba(255, 255, 255, 0.30) !important; }

/* --- Varianta záložek UVNITŘ okna košíku (bílé pozadí) ---
   Neaktivní = šedé s linkou, aktivní = bílá s rámečkem karty; přes
   margin-bottom:-1px překryje horní linku karty a splyne s ní. */
body.pdz-kosik-rezim #cart-widget .cart-header .step > a,
body.pdz-kosik-rezim #cart-widget .cart-header .step > strong {
    background: var(--pdz-surface-2) !important;
    border: 1px solid var(--pdz-line) !important;
    border-bottom: none !important;
    color: var(--pdz-ink-soft) !important;
}
body.pdz-kosik-rezim #cart-widget .cart-header .step a:not(.btn):not(.poptat-projekt-btn):not(.pdz-scroll-top),
body.pdz-kosik-rezim #cart-widget .cart-header .step a:not(.btn):not(.poptat-projekt-btn):not(.pdz-scroll-top) span {
    color: var(--pdz-ink-soft) !important;
    text-decoration: none !important;
}
body.pdz-kosik-rezim #cart-widget .cart-header .step > strong span { color: var(--pdz-ink-soft) !important; }
body.pdz-kosik-rezim #cart-widget .cart-header .step a:hover { background: #ffffff !important; }
body.pdz-kosik-rezim #cart-widget .cart-header .step a:not(.btn):not(.poptat-projekt-btn):not(.pdz-scroll-top):hover,
body.pdz-kosik-rezim #cart-widget .cart-header .step a:not(.btn):not(.poptat-projekt-btn):not(.pdz-scroll-top):hover span {
    color: var(--pdz-accent) !important;
}
body.pdz-kosik-rezim #cart-widget .cart-header .step.active > strong {
    position: relative !important;
    z-index: 3 !important;
    margin-bottom: -1px !important;
    background: #ffffff !important;
    border: 1px solid #e6eaed !important;
    border-bottom: 1px solid #ffffff !important;
    color: var(--pdz-accent) !important;
}
body.pdz-kosik-rezim #cart-widget .cart-header .step.active > strong span { color: var(--pdz-accent) !important; }

/* Kroky VŽDY vodorovně vedle sebe (přebíjí nativní Shoptet stackování na užších šířkách) */
body.pdz-kosik-rezim #cart-wrapper .cart-header,
body.pdz-kosik-rezim #cart-widget .cart-header,
body.pdz-kosik-rezim.in-krok-1 .cart-header,
body.pdz-kosik-rezim.in-krok-2 .cart-header {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-end !important;
}
body.pdz-kosik-rezim #cart-wrapper .cart-header .step,
body.pdz-kosik-rezim #cart-widget .cart-header .step,
body.pdz-kosik-rezim.in-krok-1 .cart-header .step,
body.pdz-kosik-rezim.in-krok-2 .cart-header .step {
    display: block !important;
    float: none !important;
    width: auto !important;
    flex: 0 0 auto !important;
    position: static !important;
    top: auto !important;
    right: auto !important;
}

/* =========================================
   OKNO KOŠÍKU + „Zpět do obchodu" pilulky
========================================= */
/* Okno košíku = BÍLÉ (stejně jako poptávkový popup; karty s akcentovým
   rámečkem leží přímo na bílé) */
body.pdz-kosik-rezim #cart-widget.content-window,
body.pdz-kosik-rezim #cart-widget .content-window-in {
    background: #ffffff !important;
}

/* Hlavička hned pod headerem, ne za ním: --pdz-header-vyska měří JS
   (spodní hrana headeru vč. případné admin lišty), fallback 130px */
body.pdz-kosik-rezim #cart-widget .content-window-in {
    padding-top: calc(var(--pdz-header-vyska, 130px) + 14px) !important;
    margin-top: 0 !important;
}
body.pdz-kosik-rezim #cart-widget .place-cart-here {
    padding-top: 0 !important;
    margin-top: 0 !important;
}
body.pdz-kosik-rezim #cart-wrapper {
    padding-top: 0 !important;
    margin-top: 0 !important;
}
body.pdz-kosik-rezim #cart-widget .toggle-window-arr { margin-top: 0 !important; }

/* /kosik/ i okno košíku: obsah pod záložkami = JEDNA bílá karta
   (položky uvnitř zůstávají akcentové karty — stejně jako poptávkový popup) */
body.pdz-kosik-rezim #cart-wrapper .cart-inner {
    margin-top: 0 !important;
    background: var(--pdz-surface) !important;
    border: 1px solid #e6eaed !important;
    border-radius: var(--radius-lg, 1.5rem) !important;
    box-shadow: 0 18px 50px rgba(17, 24, 28, 0.10) !important;
    padding: clamp(18px, 3vw, 32px) !important;
}

/* „Zpět do obchodu" — bílý outline pill (šipkové toggle-window-arr v okně
   košíku i v levém sidebaru kroků 1/2) */
body.pdz-kosik-rezim .sidebar-left { padding: 0 !important; border: none !important; background: transparent !important; }
/* V okně košíku (bílé pozadí) = modrý outline.
   position:static — Shoptet ho jinak lepí absolutně k hornímu okraji
   okna (tj. pod header); takto ho odsune padding-top okna. */
body.pdz-kosik-rezim #cart-widget .toggle-window-arr {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 clamp(14px, 2vw, 22px) var(--content-padding-x, 24px) !important;
    padding: 9px clamp(18px, 1.4vw, 24px) !important;
    background: transparent !important;
    color: #1A6B9B !important;
    border: 2px solid #1A6B9B !important;
    border-radius: 999px !important;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-weight: 700 !important;
    font-size: clamp(1.05rem, 2vw, 1.2rem) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease !important;
}
body.pdz-kosik-rezim #cart-widget .toggle-window-arr span { color: inherit !important; }
body.pdz-kosik-rezim #cart-widget .toggle-window-arr::before {
    content: "" !important;
    width: clamp(16px, 1.4vw, 20px) !important;
    height: clamp(16px, 1.4vw, 20px) !important;
    background-color: currentColor !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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5'/%3E%3Cpath d='M12 19l-7-7 7-7'/%3E%3C/svg%3E") center / contain no-repeat !important;
            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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5'/%3E%3Cpath d='M12 19l-7-7 7-7'/%3E%3C/svg%3E") center / contain no-repeat !important;
}
body.pdz-kosik-rezim #cart-widget .toggle-window-arr:hover {
    background: #1A6B9B !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
}
body.pdz-kosik-rezim #cart-widget .toggle-window-arr:hover span { color: #ffffff !important; }

/* Na krocích 1/2 (modrý gradient stránky) = bílý outline */
body.pdz-kosik-rezim .sidebar-left .toggle-window-arr {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 clamp(14px, 2vw, 22px) !important;
    padding: 9px clamp(18px, 1.4vw, 24px) !important;
    background: transparent !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
    border-radius: 999px !important;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-weight: 700 !important;
    font-size: clamp(1.05rem, 2vw, 1.2rem) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease !important;
}
body.pdz-kosik-rezim .sidebar-left .toggle-window-arr span { color: #ffffff !important; }
body.pdz-kosik-rezim .sidebar-left .toggle-window-arr::before {
    content: "" !important;
    width: clamp(16px, 1.4vw, 20px) !important;
    height: clamp(16px, 1.4vw, 20px) !important;
    background-color: currentColor !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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5'/%3E%3Cpath d='M12 19l-7-7 7-7'/%3E%3C/svg%3E") center / contain no-repeat !important;
            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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5'/%3E%3Cpath d='M12 19l-7-7 7-7'/%3E%3C/svg%3E") center / contain no-repeat !important;
}
body.pdz-kosik-rezim .sidebar-left .toggle-window-arr:hover {
    background: #ffffff !important;
    color: var(--pdz-accent) !important;
    transform: translateY(-2px) !important;
}
body.pdz-kosik-rezim .sidebar-left .toggle-window-arr:hover span { color: var(--pdz-accent) !important; }

/* Vzduch kolem obsahu kroků */
body.pdz-kosik-rezim.in-krok-1 main#content,
body.pdz-kosik-rezim.in-krok-2 main#content { padding-block: clamp(20px, 4vw, 48px) !important; }

/* Sloupec obsahu kroků 1/2 zúžen a vycentrován (karta je až uvnitř) */
body.pdz-kosik-rezim.in-krok-1 .cart-inner,
body.pdz-kosik-rezim.in-krok-2 .cart-inner {
    max-width: 880px !important;
    margin-inline: auto !important;
    margin-top: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* =========================================
   POLOŽKY KOŠÍKU (.cart-table) — řádky jako bílé karty
========================================= */
body.pdz-kosik-rezim #cart-wrapper .cart-table,
body.pdz-kosik-rezim #cart-wrapper .cart-table tbody {
    display: block !important;
    width: 100% !important;
    border: none !important;
    background: transparent !important;
}
body.pdz-kosik-rezim #cart-wrapper .cart-table tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--pop-gap) !important;
}

body.pdz-kosik-rezim #cart-wrapper .cart-table tr {
    position: relative !important;
    display: grid !important;
    grid-template-columns: var(--pop-img) minmax(0, 1fr) auto auto auto !important;
    grid-template-areas:
        "img name  qty price total"
        "img avail qty price total" !important;
    align-items: center !important;
    column-gap: var(--pop-gap) !important;
    row-gap: 6px !important;
    padding: var(--pop-pad-y) var(--pop-pad-x) !important;
    padding-right: calc(var(--pop-pad-x) + var(--pop-qty) + 12px) !important; /* místo pro × */
    background: var(--pdz-surface) !important;
    border: 1.5px solid var(--pdz-accent-border) !important;
    border-left: 4px solid var(--pdz-accent) !important;
    border-radius: var(--radius-md, 1rem) !important;
    box-shadow: 0 2px 12px rgba(17, 24, 28, 0.05) !important;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease !important;
}
body.pdz-kosik-rezim #cart-wrapper .cart-table tr:hover {
    border-color: var(--pdz-accent) !important;
    box-shadow: 0 16px 36px rgba(17, 24, 28, 0.13) !important;
    transform: translateY(-2px) !important;
}
body.pdz-kosik-rezim #cart-wrapper .cart-table td {
    display: block !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    vertical-align: middle !important;
    text-align: left !important; /* Shoptet .p-cell centruje */
    width: auto !important;
    float: none !important;
}

/* Obrázek produktu */
body.pdz-kosik-rezim #cart-wrapper .cart-table .cart-p-image {
    grid-area: img;
    width: var(--pop-img) !important;
    height: var(--pop-img) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    background: var(--pdz-surface-2) !important;
    border: 1px solid var(--pdz-line) !important;
    border-radius: var(--radius-sm, 0.5rem) !important;
}
body.pdz-kosik-rezim #cart-wrapper .cart-table .cart-p-image img {
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
}

/* Název produktu — tmavý, bez podtržení (přebití globálního bílého odkazu) */
body.pdz-kosik-rezim #cart-wrapper .cart-table .p-name { grid-area: name; min-width: 0; }
body.pdz-kosik-rezim #cart-wrapper .cart-table .p-name a.main-link:not(.btn):not(.poptat-projekt-btn):not(.pdz-scroll-top) {
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-size: var(--pop-fs-body) !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    color: var(--pdz-ink) !important;
    text-decoration: none !important;
    overflow-wrap: anywhere;
}
body.pdz-kosik-rezim #cart-wrapper .cart-table .p-name a.main-link:not(.btn):not(.poptat-projekt-btn):not(.pdz-scroll-top):hover {
    color: var(--pdz-accent) !important;
}

/* Dostupnost — jemný čip pod názvem (barvu si nese inline styl Shoptetu) */
body.pdz-kosik-rezim #cart-wrapper .cart-table .p-availability {
    grid-area: avail;
    justify-self: start !important;
    text-align: left !important;
}
body.pdz-kosik-rezim #cart-wrapper .cart-table .p-availability .p-label { display: none !important; }
body.pdz-kosik-rezim #cart-wrapper .cart-table .p-availability .availability-label {
    display: inline-flex !important;
    align-items: center !important;
    padding: 1px 11px !important;
    background: var(--pdz-surface-2) !important;
    border: 1px solid var(--pdz-line) !important;
    border-radius: 999px !important;
    font-size: var(--pop-fs-micro) !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
}

/* Mikropopisky sloupců (Počet / Cena za m. j. / Součet) */
body.pdz-kosik-rezim #cart-wrapper .cart-table .p-label {
    display: block !important;
    float: none !important;
    width: auto !important;
    margin: 0 0 4px !important;
    font-size: var(--pop-fs-micro) !important;
    font-weight: 400 !important;
    color: var(--pdz-muted) !important;
    text-align: inherit !important;
}

/* Množství — pill stepper (− počet +) */
body.pdz-kosik-rezim #cart-wrapper .cart-table .p-quantity { grid-area: qty; }
body.pdz-kosik-rezim #cart-wrapper .cart-table .quantity {
    display: inline-flex !important;
    align-items: center !important;
    padding: 3px !important;
    background: var(--pdz-surface-2) !important;
    border: 1px solid var(--pdz-line) !important;
    border-radius: 999px !important;
}
/* Tvrdý reset Shoptet pozicování uvnitř .quantity (± jinak leží přes číslici) */
body.pdz-kosik-rezim #cart-wrapper .cart-table span.quantity { position: relative !important; width: auto !important; }
body.pdz-kosik-rezim #cart-wrapper .cart-table .quantity label {
    position: static !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    inset: auto !important;
}
body.pdz-kosik-rezim #cart-wrapper .cart-table .quantity .increase-tooltip,
body.pdz-kosik-rezim #cart-wrapper .cart-table .quantity .decrease-tooltip { display: none !important; }

/* Pořadí: − | počet | + (v DOM je increase před decrease) */
body.pdz-kosik-rezim #cart-wrapper .cart-table .quantity .decrease { order: 1 !important; }
body.pdz-kosik-rezim #cart-wrapper .cart-table .quantity label { order: 2 !important; margin: 0 !important; }
body.pdz-kosik-rezim #cart-wrapper .cart-table .quantity .increase { order: 3 !important; }

body.pdz-kosik-rezim #cart-wrapper .cart-table .quantity button.increase,
body.pdz-kosik-rezim #cart-wrapper .cart-table .quantity button.decrease {
    position: static !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 var(--pop-qty) !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: var(--pop-qty) !important;
    height: var(--pop-qty) !important;
    border: none !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: var(--pdz-ink) !important;
    font-size: var(--pop-fs-glyph) !important;
    line-height: 1 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.15s ease, color 0.15s ease !important;
}
body.pdz-kosik-rezim #cart-wrapper .cart-table .quantity .increase:hover,
body.pdz-kosik-rezim #cart-wrapper .cart-table .quantity .decrease:hover {
    background: var(--pdz-accent) !important;
    color: #ffffff !important;
}
/* Shoptet kreslí +/− přes ::before/::after (pruhy s background přes celé
   tlačítko → modré kolečko). Pseudy vypnout, glyfy nechat na textových
   spanech .increase__sign / .decrease__sign. */
body.pdz-kosik-rezim #cart-wrapper .cart-table .quantity button.increase::before,
body.pdz-kosik-rezim #cart-wrapper .cart-table .quantity button.increase::after,
body.pdz-kosik-rezim #cart-wrapper .cart-table .quantity button.decrease::before,
body.pdz-kosik-rezim #cart-wrapper .cart-table .quantity button.decrease::after {
    display: none !important;
    content: none !important;
    background: none !important;
}
body.pdz-kosik-rezim #cart-wrapper .cart-table .quantity .increase__sign,
body.pdz-kosik-rezim #cart-wrapper .cart-table .quantity .decrease__sign {
    display: inline-block !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-indent: 0 !important;
    overflow: visible !important;
    font-size: var(--pop-fs-glyph) !important;
    line-height: 1 !important;
    color: inherit !important;
    background: none !important;
}

body.pdz-kosik-rezim #cart-wrapper .cart-table .quantity input.amount {
    position: static !important;
    inset: auto !important;
    -webkit-appearance: textfield !important;
    appearance: textfield !important;
    -moz-appearance: textfield !important;
    width: clamp(38px, 2.4rem + 0.6vw, 46px) !important;
    height: var(--pop-qty) !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
    text-align: center !important;
    font-size: var(--pop-fs-body) !important;
    font-weight: 700 !important;
    color: var(--pdz-ink) !important;
    box-shadow: none !important;
}
body.pdz-kosik-rezim #cart-wrapper .cart-table .quantity input.amount::-webkit-inner-spin-button,
body.pdz-kosik-rezim #cart-wrapper .cart-table .quantity input.amount::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* Cena za kus */
body.pdz-kosik-rezim #cart-wrapper .cart-table .p-price {
    grid-area: price;
    text-align: right !important;
    white-space: nowrap !important;
}
body.pdz-kosik-rezim #cart-wrapper .cart-table .p-price .price-final {
    font-size: var(--pop-fs-price) !important;
    font-weight: 700 !important;
    color: var(--pdz-accent) !important;
}
body.pdz-kosik-rezim #cart-wrapper .cart-table .p-price .unit-value {
    font-size: var(--pop-fs-micro) !important;
    color: var(--pdz-muted) !important;
}

/* Řádkový součet */
body.pdz-kosik-rezim #cart-wrapper .cart-table .p-total {
    grid-area: total;
    text-align: right !important;
    min-width: clamp(110px, 8vw, 150px);
    white-space: nowrap !important;
}
body.pdz-kosik-rezim #cart-wrapper .cart-table .p-total .price-final {
    font-size: var(--pop-fs-price) !important;
    font-weight: 700 !important;
    color: var(--pdz-ink) !important;
}

/* Odebrat — červené kulaté × v pravém horním rohu karty */
body.pdz-kosik-rezim #cart-wrapper .cart-table .remove-item {
    position: absolute !important;
    top: var(--pop-pad-y) !important;
    right: var(--pop-pad-x) !important;
    width: var(--pop-qty) !important;
    height: var(--pop-qty) !important;
    padding: 0 !important;
    border: 1px solid var(--pdz-line) !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    color: var(--pdz-danger) !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease !important;
}
body.pdz-kosik-rezim #cart-wrapper .cart-table .remove-item::before {
    content: "×" !important;
    font-family: inherit !important;
    font-size: var(--pop-fs-glyph) !important;
    line-height: 1 !important;
}
body.pdz-kosik-rezim #cart-wrapper .cart-table .remove-item:hover {
    background: var(--pdz-danger) !important;
    border-color: var(--pdz-danger) !important;
    color: #ffffff !important;
    transform: rotate(90deg) !important;
}

/* =========================================
   /kosik/ — BONUSY + SOUHRN CEN + TLAČÍTKA
========================================= */
/* Řádek souhrnu: flex — Bonusy vlevo (pruží), souhrn cen vpravo (pevná šířka).
   Bootstrap floaty/paddingy sloupců vypnuty, dlaždice mají stejnou výšku. */
body.pdz-kosik-rezim #cart-wrapper .summary {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: var(--pop-gap) !important;
    margin: var(--pop-gap) 0 0 !important;
}
body.pdz-kosik-rezim #cart-wrapper .summary::before,
body.pdz-kosik-rezim #cart-wrapper .summary::after { display: none !important; content: none !important; }
body.pdz-kosik-rezim #cart-wrapper .summary > .col-md-8 {
    flex: 1 1 320px !important;
    width: auto !important;
    max-width: none !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}
body.pdz-kosik-rezim #cart-wrapper .summary > .col-md-4 {
    flex: 0 1 clamp(280px, 34%, 380px) !important;
    width: auto !important;
    max-width: none !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
    margin-left: auto !important;
}

/* Bonusy (doprava zdarma apod.) — kompaktní dlaždice: výška dle souhrnu cen,
   menší padding, obsah svisle vycentrovaný */
body.pdz-kosik-rezim #cart-wrapper .summary .box {
    flex: 1 1 auto !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 8px !important;
    background: var(--pdz-surface-2) !important;
    border: 1px solid var(--pdz-line) !important;
    border-radius: var(--radius-md, 1rem) !important;
    box-shadow: none !important;
    padding: clamp(12px, 1.4vw, 18px) var(--pop-pad-x) !important;
    margin: 0 !important;
}
body.pdz-kosik-rezim #cart-wrapper .summary .box h2 {
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-size: clamp(1.05rem, 1.6vw, 1.2rem) !important;
    font-weight: 700 !important;
    color: var(--pdz-accent) !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: none !important;
}
body.pdz-kosik-rezim #cart-wrapper .summary .extra.delivery {
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}
/* Ikona kamionu (font shoptet přes ::before) — zeleně, ne bíle */
body.pdz-kosik-rezim #cart-wrapper .summary .extra.delivery::before {
    color: var(--pdz-green) !important;
    font-size: 1.3em !important;
    line-height: 1 !important;
    position: static !important;
    margin: 0 !important;
}
body.pdz-kosik-rezim #cart-wrapper .summary .extra.delivery span,
body.pdz-kosik-rezim #cart-wrapper .summary .extra.delivery strong {
    color: var(--pdz-green) !important;
    font-size: var(--pop-fs-micro) !important;
    font-weight: 700 !important;
}

/* Souhrn cen — bílá karta s akcentovým rámečkem (jako patička poptávky) */
body.pdz-kosik-rezim #cart-wrapper .summary .price-wrapper {
    height: 100% !important;
    align-content: center !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: baseline !important;
    row-gap: 4px !important;
    column-gap: 16px !important;
    padding: var(--pop-pad-y) var(--pop-pad-x) !important;
    background: var(--pdz-surface) !important;
    border: 1.5px solid var(--pdz-accent-border) !important;
    border-radius: var(--radius-md, 1rem) !important;
    box-shadow: 0 12px 32px rgba(17, 24, 28, 0.09) !important;
    text-align: right !important;
}
body.pdz-kosik-rezim #cart-wrapper .summary .price-label {
    text-align: left !important;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-size: var(--pop-fs-body) !important;
    font-weight: 700 !important;
    letter-spacing: 0.2px !important;
    color: var(--pdz-ink-soft) !important;
    padding: 0 !important;
}
body.pdz-kosik-rezim #cart-wrapper .summary .price.price-primary,
body.pdz-kosik-rezim #cart-wrapper .summary .price.price-primary span {
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-size: var(--pop-fs-total) !important;
    font-weight: 800 !important;
    color: var(--pdz-accent) !important;
    white-space: nowrap !important;
}
body.pdz-kosik-rezim #cart-wrapper .summary .price-label.price-secondary {
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-size: var(--pop-fs-micro) !important;
    font-weight: 500 !important;
    color: var(--pdz-muted) !important;
}
body.pdz-kosik-rezim #cart-wrapper .summary .price.price-secondary,
body.pdz-kosik-rezim #cart-wrapper .summary .price.price-secondary span {
    font-size: var(--pop-fs-body) !important;
    font-weight: 600 !important;
    color: var(--pdz-ink-soft) !important;
    white-space: nowrap !important;
}

/* =========================================
   NAVIGAČNÍ TLAČÍTKA — uvnitř bílých karet (všechny kroky)
   Zpět = modrý outline pill se šipkou ←, Pokračovat/Objednat = zelený filled
========================================= */
body.pdz-kosik-rezim .next-step--cart,
body.pdz-kosik-rezim .next-step--step-1,
body.pdz-kosik-rezim.in-krok-2 .next-step--step-2 {
    display: flex !important;
    gap: 16px !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    margin-top: var(--pop-sep) !important;
    padding-top: var(--pop-sep) !important;
    border-top: 1px solid #edf0f2 !important;
}

/* Zpět — modrý outline pill se šipkou */
body.pdz-kosik-rezim .next-step .next-step-back {
    min-width: clamp(120px, 10vw, 170px) !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    background: transparent !important;
    color: #1A6B9B !important;
    border: 2px solid #1A6B9B !important;
    border-radius: 999px !important;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-weight: 700 !important;
    font-size: clamp(1.05rem, 2vw, 1.2rem) !important;
    text-transform: uppercase !important;
    padding: var(--pop-btn-py) var(--pop-btn-px) !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}
body.pdz-kosik-rezim .next-step .next-step-back::before {
    content: "←" !important;
    font-size: 1.1rem !important;
    line-height: 1 !important;
}
body.pdz-kosik-rezim .next-step .next-step-back span { color: inherit !important; }
body.pdz-kosik-rezim .next-step .next-step-back:hover {
    background: #1A6B9B !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
}

/* Text uvnitř tlačítek převezme velikost/řez z tlačítka (přebíjí nativní zmenšení .continue-shopping) */
body.pdz-kosik-rezim .next-step .next-step-back .continue-shopping,
body.pdz-kosik-rezim .next-step--cart .next-step-forward .order-button-text,
body.pdz-kosik-rezim .next-step--step-1 .next-step-forward .order-button-text {
    font-size: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
    text-transform: inherit !important;
    line-height: inherit !important;
}

body.pdz-kosik-rezim .next-step .next-step-back:hover span { color: #ffffff !important; }

/* Pokračovat (kosik + krok-1) — zelený filled pill */
body.pdz-kosik-rezim .next-step--cart .next-step-forward,
body.pdz-kosik-rezim .next-step--step-1 .next-step-forward {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--pdz-green) !important;
    border: 2px solid var(--pdz-green) !important;
    color: #ffffff !important;
    border-radius: 999px !important;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-weight: 700 !important;
    font-size: clamp(1.05rem, 2vw, 1.2rem) !important;
    padding: calc(var(--pop-btn-py) + 1px) var(--pop-btn-px) !important;
    text-decoration: none !important;
    box-shadow: 0 10px 25px rgba(0, 122, 37, 0.28) !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}
body.pdz-kosik-rezim .next-step--cart .next-step-forward .order-button-text,
body.pdz-kosik-rezim .next-step--step-1 .next-step-forward .order-button-text { color: #ffffff !important; }
body.pdz-kosik-rezim .next-step--cart .next-step-forward:hover,
body.pdz-kosik-rezim .next-step--step-1 .next-step-forward:hover {
    background: var(--pdz-green-dark) !important;
    border-color: var(--pdz-green-dark) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 15px 35px rgba(0, 122, 37, 0.38) !important;
}

/* =========================================
   KROK 1 — DOPRAVA & PLATBA (bílé karty, custom rádia)
========================================= */
/* Skrytí poptávkových metod pro běžnou objednávku
   (.pdz-poptavka-only přidává JS jako pojistku bez :has) */
body.pdz-kosik-rezim .radio-wrapper:has(> input#shippingId-29),
body.pdz-kosik-rezim .radio-wrapper:has(> input#billingId-58),
body.pdz-kosik-rezim .radio-wrapper.pdz-poptavka-only { display: none !important; }

/* JEDNA bílá karta = celý krok 1 (doprava + platba + rekapitulace + tlačítka) */
body.pdz-kosik-rezim.in-krok-1 #checkoutContent {
    margin-top: 0 !important;
    background: var(--pdz-surface) !important;
    border: 1px solid #e6eaed !important;
    border-radius: var(--radius-lg, 1.5rem) !important;
    box-shadow: 0 18px 50px rgba(17, 24, 28, 0.10) !important;
    padding: clamp(22px, 4vw, 44px) !important;
}
/* Sekce uvnitř = ploché (žádné vlastní karty) a POD SEBOU na plnou šířku
   (Shoptet je jinak plave do dvou sloupců → „ujíždějící" nadpis platby) */
body.pdz-kosik-rezim.in-krok-1 #order-form {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
body.pdz-kosik-rezim.in-krok-1 #checkoutContent .co-box {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}
body.pdz-kosik-rezim.in-krok-1 #checkoutContent .co-box::before,
body.pdz-kosik-rezim.in-krok-1 #checkoutContent .co-box::after { display: none !important; content: none !important; }
/* Vypnout Shoptet vnitřní linky/rámečky */
body.pdz-kosik-rezim.in-krok-1 #checkoutContent .shipping-billing-table,
body.pdz-kosik-rezim.in-krok-1 #order-shipping-methods,
body.pdz-kosik-rezim.in-krok-1 #order-billing-methods {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
body.pdz-kosik-rezim .order-summary-inner,
body.pdz-kosik-rezim #shipping-billing-summary,
body.pdz-kosik-rezim .order-recapitulation {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
/* Oddělovač mezi dopravou a platbou */
body.pdz-kosik-rezim.in-krok-1 #checkoutContent .co-payment-method {
    border-top: 1px solid #edf0f2 !important;
    padding-top: var(--pop-sep) !important;
    margin-top: var(--pop-sep) !important;
}
body.pdz-kosik-rezim.in-krok-1 #checkoutContent h4 {
    border-top: none !important;
    background: none !important;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    color: var(--pdz-accent) !important;
    font-size: clamp(1.15rem, 2vw, 1.35rem) !important;
    font-weight: 700 !important;
    margin: 0 0 18px !important;
    padding: 0 0 12px !important;
    border-bottom: 1px solid var(--pdz-accent-soft) !important;
    text-transform: none !important;
    background: none !important;
}
body.pdz-kosik-rezim.in-krok-1 #checkoutContent h4.order-icon::before { display: none !important; content: none !important; }

/* Rekapitulace uvnitř karty = jemně orámovaný blok */
body.pdz-kosik-rezim.in-krok-1 #checkoutContent .order-summary {
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: clamp(20px, 2.5vw, 28px) 0 0 !important;
}

/* Řádek metody */
body.pdz-kosik-rezim .shipping-billing-table .radio-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: clamp(12px, 1.4vw, 16px) clamp(12px, 1.6vw, 18px) !important;
    margin: 0 0 10px !important;
    border: 1.5px solid var(--pdz-line) !important;
    border-radius: var(--radius-sm, 0.5rem) !important;
    background: var(--pdz-surface) !important;
    transition: border-color 0.18s ease, background-color 0.18s ease !important;
}
body.pdz-kosik-rezim .shipping-billing-table .radio-wrapper:hover { border-color: var(--pdz-accent-border) !important; }
body.pdz-kosik-rezim .shipping-billing-table .radio-wrapper:has(input:checked) {
    border-color: var(--pdz-accent) !important;
    background: var(--pdz-accent-soft) !important;
}

/* Custom rádio (kolečko s akcentovým bodem — jako checkboxy v poptávce) */
body.pdz-kosik-rezim .shipping-billing-table input[type="radio"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    position: static !important;
    opacity: 1 !important;
    flex: 0 0 var(--pop-ctrl) !important;
    width: var(--pop-ctrl) !important;
    height: var(--pop-ctrl) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 2px solid #b9c4cc !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    cursor: pointer !important;
    display: inline-block !important;
    transition: border-color 0.2s ease !important;
}
body.pdz-kosik-rezim .shipping-billing-table input[type="radio"]:checked { border-color: var(--pdz-accent) !important; }
body.pdz-kosik-rezim .shipping-billing-table input[type="radio"]:checked::after {
    content: "" !important;
    display: block !important;
    width: var(--pop-ctrl-dot) !important;
    height: var(--pop-ctrl-dot) !important;
    margin: calc((var(--pop-ctrl) - var(--pop-ctrl-dot)) / 2 - 2px) auto 0 !important;
    border-radius: 50% !important;
    background: var(--pdz-accent) !important;
}
body.pdz-kosik-rezim .shipping-billing-table input[type="radio"]:focus-visible {
    outline: 2px solid var(--pdz-accent) !important;
    outline-offset: 2px !important;
}

/* Label = zbytek řádku, název vlevo / cena vpravo; vypnout nativní fake-rádio */
body.pdz-kosik-rezim .shipping-billing-table .radio-wrapper label {
    flex: 1 1 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: pointer !important;
    background: none !important;
    min-height: 0 !important;
}
body.pdz-kosik-rezim .shipping-billing-table .radio-wrapper label::before,
body.pdz-kosik-rezim .shipping-billing-table .radio-wrapper label::after {
    display: none !important;
    content: none !important;
}
body.pdz-kosik-rezim .shipping-billing-table .payment-info {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 4px 10px !important;
    min-width: 0 !important;
}
body.pdz-kosik-rezim .shipping-billing-table .shipping-billing-name {
    text-transform: none !important;
    letter-spacing: normal !important;
    font-family: var(--template-font, 'Be Vietnam Pro', sans-serif) !important;
    font-size: var(--pop-fs-body) !important;
    font-weight: 600 !important;
    color: var(--pdz-ink) !important;
}
body.pdz-kosik-rezim .shipping-billing-table .not-possible-info {
    font-size: var(--pop-fs-micro) !important;
    font-style: italic !important;
    color: var(--pdz-muted) !important;
}
body.pdz-kosik-rezim .shipping-billing-table .payment-shipping-price {
    flex: 0 0 auto !important;
    font-size: var(--pop-fs-price) !important;
    font-weight: 700 !important;
    color: var(--pdz-ink) !important;
    white-space: nowrap !important;
}
body.pdz-kosik-rezim .shipping-billing-table .payment-shipping-price.for-free { color: var(--pdz-green) !important; }

/* Tooltip otazníček */
body.pdz-kosik-rezim .shipping-billing-table .question-tooltip {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    border-radius: 50% !important;
    border: 1.5px solid var(--pdz-accent-border) !important;
    color: var(--pdz-accent) !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    cursor: help !important;
}

/* =========================================
   REKAPITULACE OBJEDNÁVKY (.order-summary) — krok-1 i krok-2
========================================= */
body.pdz-kosik-rezim .order-summary {
    background: var(--pdz-surface) !important;
    border: 1.5px solid var(--pdz-accent-border) !important;
    border-radius: var(--radius-md, 1rem) !important;
    box-shadow: 0 12px 32px rgba(17, 24, 28, 0.09) !important;
    padding: var(--pop-pad-y) var(--pop-pad-x) !important;
    margin: 0 0 var(--pop-gap) !important;
}
/* Plošné vypnutí Shoptet solid borderů uvnitř rekapitulace — jediné
   oddělovače jsou naše tečkované níže */
body.pdz-kosik-rezim .order-summary .order-summary-item,
body.pdz-kosik-rezim .order-summary .order-summary-item.helper,
body.pdz-kosik-rezim .order-summary .order-summary-item > div,
body.pdz-kosik-rezim .order-summary .recapitulation-single,
body.pdz-kosik-rezim .order-summary #shipping-billing-summary,
body.pdz-kosik-rezim .order-summary .order-recapitulation,
body.pdz-kosik-rezim .order-summary .price-wrapper,
body.pdz-kosik-rezim .order-summary hr {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    box-shadow: none !important;
    background-image: none !important;
}
body.pdz-kosik-rezim .order-summary hr { display: none !important; }
body.pdz-kosik-rezim .order-summary .order-summary-item > div { border-bottom: none !important; }

body.pdz-kosik-rezim .order-summary h2 {
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-size: clamp(1.15rem, 2vw, 1.35rem) !important;
    font-weight: 700 !important;
    color: var(--pdz-accent) !important;
    margin: 0 0 14px !important;
    padding-bottom: 10px !important;
    border: none !important;
    border-bottom: 1px dashed var(--pdz-line) !important;
}
body.pdz-kosik-rezim .order-summary-item {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 16px !important;
    padding: var(--pop-recap-row) 0 !important;
    border: none !important;
    border-bottom: 1px dashed var(--pdz-line) !important;
    background: transparent !important;
    font-size: var(--pop-fs-micro) !important;
    color: var(--pdz-ink-soft) !important;
}
body.pdz-kosik-rezim .order-summary-item:last-child { border-bottom: none !important; }
body.pdz-kosik-rezim .order-summary-item > div:first-child { min-width: 0 !important; }
body.pdz-kosik-rezim .order-summary-item > div:last-child,
body.pdz-kosik-rezim .order-summary-item > div:last-child span { white-space: nowrap !important; font-weight: 600 !important; color: var(--pdz-ink) !important; }
/* Vnitřní spany řádků (množství × název) — přebití globálního span{#fff} */
body.pdz-kosik-rezim .order-summary-item span { color: inherit !important; }

/* Odkazy na produkty — tmavé (přebití globálního bílého odkazu) */
body.pdz-kosik-rezim .order-summary-item a:not(.btn):not(.poptat-projekt-btn):not(.pdz-scroll-top),
body.pdz-kosik-rezim .order-summary-item a:not(.btn):not(.poptat-projekt-btn):not(.pdz-scroll-top) span {
    color: var(--pdz-ink-soft) !important;
    text-decoration: none !important;
}
body.pdz-kosik-rezim .order-summary-item a:not(.btn):not(.poptat-projekt-btn):not(.pdz-scroll-top):hover,
body.pdz-kosik-rezim .order-summary-item a:not(.btn):not(.poptat-projekt-btn):not(.pdz-scroll-top):hover span {
    color: var(--pdz-accent) !important;
}

/* Řádky „Způsob dopravy / Platba" v rekapitulaci (krok 1): název vpravo
   za cenou v DOM → row-reverse ukáže „Osobní odběr — ZDARMA". Texty byly
   bílé na bílé (globální span{#fff}). */
body.pdz-kosik-rezim .recapitulation-single {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 16px !important;
    padding: var(--pop-recap-row) 0 !important;
    margin: 0 !important;
    border: none !important;
    border-bottom: 1px dashed var(--pdz-line) !important;
    background: transparent !important;
    font-size: var(--pop-fs-micro) !important;
}
body.pdz-kosik-rezim .recapitulation-single .recapitulation-shipping-billing-label {
    color: var(--pdz-ink-soft) !important;
    font-size: var(--pop-fs-micro) !important;
    font-weight: 400 !important;
}
body.pdz-kosik-rezim .recapitulation-single .recapitulation-shipping-billing-info {
    display: flex !important;
    flex-direction: row-reverse !important;
    align-items: baseline !important;
    gap: 10px !important;
    color: var(--pdz-ink) !important;
    font-weight: 600 !important;
    font-size: var(--pop-fs-micro) !important;
    white-space: nowrap !important;
}
body.pdz-kosik-rezim .recapitulation-single .recapitulation-shipping-billing-info span {
    color: var(--pdz-green) !important;
    font-weight: 700 !important;
}

/* Mezisoučet „Celkem za zboží" */
body.pdz-kosik-rezim .order-summary-item.helper {
    flex-wrap: wrap !important;
    border: none !important;
    border-bottom: 1px dashed var(--pdz-line) !important;
    padding: 10px 0 !important;
}
body.pdz-kosik-rezim .order-summary-item.helper strong { color: var(--pdz-ink) !important; font-weight: 600 !important; }
body.pdz-kosik-rezim .order-summary-item .recapitulation-shipping-billing-info--withVat {
    font-size: var(--pop-fs-micro) !important;
    color: var(--pdz-muted) !important;
    font-weight: 400 !important;
    white-space: nowrap !important;
}

/* Celkové ceny v rekapitulaci */
body.pdz-kosik-rezim .order-summary-item.price {
    display: block !important;
    border: none !important;
    border-top: 1px dashed var(--pdz-line) !important;
    padding: 12px 0 0 !important;
    margin-top: 6px !important;
}
body.pdz-kosik-rezim .order-summary-item.price .price-wrapper {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: baseline !important;
    row-gap: 4px !important;
    column-gap: 16px !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    text-align: right !important;
}
body.pdz-kosik-rezim .order-summary-item.price .price-label {
    text-align: left !important;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-size: var(--pop-fs-body) !important;
    font-weight: 700 !important;
    letter-spacing: 0.2px !important;
    color: var(--pdz-ink-soft) !important;
}
body.pdz-kosik-rezim .order-summary-item.price .price.price-primary,
body.pdz-kosik-rezim .order-summary-item.price .price.price-primary span {
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-size: var(--pop-fs-total) !important;
    font-weight: 800 !important;
    color: var(--pdz-accent) !important;
    white-space: nowrap !important;
}
body.pdz-kosik-rezim .order-summary-item.price .price-label.price-secondary {
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-size: var(--pop-fs-micro) !important;
    font-weight: 500 !important;
    color: var(--pdz-muted) !important;
}
body.pdz-kosik-rezim .order-summary-item.price .price.price-secondary,
body.pdz-kosik-rezim .order-summary-item.price .price.price-secondary span {
    font-size: var(--pop-fs-body) !important;
    font-weight: 600 !important;
    color: var(--pdz-ink-soft) !important;
    white-space: nowrap !important;
}

/* =========================================
   KROK 2 — FORMULÁŘ JAKO JEDNA BÍLÁ KARTA (modrá varianta poptávkového stylu)
   Kroky i rekapitulace ZŮSTÁVAJÍ viditelné.
========================================= */
body.pdz-kosik-rezim.in-krok-2 #order-form {
    max-width: 880px !important;
    margin: 0 auto !important;
    background: #ffffff !important;
    border: 1px solid #e6eaed !important;
    border-radius: var(--radius-lg, 1.5rem) !important;
    box-shadow: 0 18px 50px rgba(17, 24, 28, 0.10) !important;
    padding: clamp(22px, 4vw, 44px) !important;
}

/* Sekce uvnitř = ploché */
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .box-bg-default,
body.pdz-kosik-rezim.in-krok-2 #note .box-bg-default {
    background: transparent !important;
    border: none !important;
    border-left: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .co-box {
    border-top: 1px solid #edf0f2 !important;
    padding-top: var(--pop-sep) !important;
    margin-top: var(--pop-sep) !important;
}
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .co-contact-information {
    border-top: none !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Rámeček kolem fakturace a doplňkového bloku; rekapitulace uvnitř karty
   dostává stejný jemný rámeček (dědí styly .order-summary výše) */
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .co-billing-address,
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .co-box-additional {
    border: 1px solid #e2e8ec !important;
    border-radius: var(--radius-md, 1rem) !important;
    padding: clamp(18px, 2.5vw, 26px) !important;
    margin-top: clamp(20px, 2.5vw, 28px) !important;
}
body.pdz-kosik-rezim.in-krok-2 #order-form .order-summary {
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: clamp(20px, 2.5vw, 28px) 0 0 !important;
}
body.pdz-kosik-rezim.in-krok-2 .stay-in-touch {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

/* Nadpisy sekcí */
body.pdz-kosik-rezim.in-krok-2 #checkoutContent h4 {
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    color: var(--pdz-accent) !important;
    font-size: clamp(1.15rem, 2vw, 1.35rem) !important;
    font-weight: 700 !important;
    margin: 0 0 var(--pop-field-gap) !important;
    padding-bottom: clamp(9px, 0.5rem + 0.3vw, 12px) !important;
    border-bottom: 1px solid var(--pdz-accent-soft) !important;
    text-transform: none !important;
}

/* Pole na plnou šířku, štítek nad polem */
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .form-group:not(:has(> #add-note)) {
    display: block !important;
    width: 100% !important;
    margin: 0 0 var(--pop-field-gap) !important;
    text-align: left !important;
}
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .form-group > label {
    display: block !important;
    width: auto !important;
    float: none !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    position: static !important;
}

/* Kontakt: přihlášení vpravo nahoře → nadpis → pole */
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .co-contact-information {
    display: flex !important;
    flex-direction: column !important;
}
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .co-contact-information > h4 { order: -1 !important; }
body.pdz-kosik-rezim.in-krok-2 #order-form #checkoutContent .co-contact-information .form-group:has(> label[for="login"]) {
    order: -2 !important;
    text-align: right !important;
    margin: 0 0 clamp(10px, 1.4vw, 16px) !important;
}
body.pdz-kosik-rezim.in-krok-2 #order-form #checkoutContent .form-group:has(> label[for="login"]) > label {
    display: none !important;
}
body.pdz-kosik-rezim.in-krok-2 #order-form #checkoutContent .form-group:has(> label[for="login"]) > div {
    display: flex !important;
    justify-content: flex-end !important;
}

/* Štítky + povinné */
body.pdz-kosik-rezim.in-krok-2 #checkoutContent label,
body.pdz-kosik-rezim.in-krok-2 #checkoutContent label .required-asterisk {
    color: #2b3640 !important;
    font-family: var(--template-font, 'Be Vietnam Pro', sans-serif) !important;
    font-size: clamp(1.1rem, 1.05rem + 0.25vw, 1.2rem) !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
}
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .required-asterisk::after { color: var(--pdz-accent) !important; }

/* Vstupní pole — PDZ pill/bevel styl */
body.pdz-kosik-rezim.in-krok-2 #checkoutContent input.form-control,
body.pdz-kosik-rezim.in-krok-2 #checkoutContent textarea.form-control,
body.pdz-kosik-rezim.in-krok-2 #checkoutContent select.form-control {
    --pdz-bc: #c3ced6;
    width: 100% !important;
    max-width: 100% !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    background-clip: padding-box !important;
    background-color: #ffffff !important;
    border: 1.5px solid var(--pdz-bc) !important;
    color: var(--pdz-ink) !important;
    font-family: var(--template-font, 'Be Vietnam Pro', sans-serif) !important;
    font-size: clamp(1.1rem, 1.05rem + 0.3vw, 1.2rem) !important;
    padding: clamp(12px, 1.4vw, 15px) clamp(14px, 1.8vw, 18px) !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    transition: border-color 0.2s ease, background-color 0.2s ease !important;
}
body.pdz-kosik-rezim.in-krok-2 #checkoutContent input.form-control {
    border-radius: var(--radius-sm, 0.5rem) var(--radius-sm, 0.5rem) 0 var(--radius-sm, 0.5rem) !important;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%) !important;
    background-image: linear-gradient(135deg,
        transparent calc(50% - 1.5px),
        var(--pdz-bc) calc(50% - 1.5px),
        var(--pdz-bc) calc(50% + 1.5px),
        transparent calc(50% + 1.5px)) !important;
    background-position: 100% 100% !important;
    background-size: 14px 14px !important;
    background-repeat: no-repeat !important;
}
body.pdz-kosik-rezim.in-krok-2 #checkoutContent textarea.form-control {
    border-radius: var(--radius-sm, 0.5rem) !important;
    min-height: clamp(110px, 6rem + 4vw, 160px) !important;
    resize: vertical !important;
}
body.pdz-kosik-rezim.in-krok-2 #checkoutContent select.form-control {
    border-radius: var(--radius-sm, 0.5rem) !important;
    padding-right: clamp(34px, 2rem + 1vw, 44px) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%231A6B9B' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
}
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .form-control::placeholder { color: #98a4ad !important; }
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .form-control:focus,
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .form-control:focus-visible {
    --pdz-bc: var(--pdz-accent) !important;
    border-color: var(--pdz-accent) !important;
    background-color: #fbfdff !important;
    outline: none !important;
}
body.pdz-kosik-rezim.in-krok-2 #pdz-datovka-wrap label { font-weight: 600 !important; }

/* Validační hlášky doleva */
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .js-validator-msg,
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .validator-msg {
    display: block !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    text-align: left !important;
    width: 100% !important;
}

/* Telefon: vlajka + pole */
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .phone-combined-input {
    display: flex !important;
    gap: 10px !important;
    align-items: stretch !important;
}
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .phone-combined-input .country-flags {
    flex: 0 0 auto !important;
    align-self: stretch !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 12px !important;
    background: #ffffff !important;
    border: 1.5px solid #c3ced6 !important;
    border-radius: var(--radius-sm, 0.5rem) !important;
}
body.pdz-kosik-rezim.in-krok-2 #checkoutContent #phone { flex: 1 1 auto !important; }

/* Rozbalovací výběr předvolby telefonu (.country-flags) — Shoptet vykresluje
   názvy států v <span>, které přebíjí globální span{color:#fff !important} */
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .country-flags {
    position: relative !important;
    cursor: pointer !important;
}
/* ZAVŘENÝ stav (.initialized bez .active): jen vybraná vlajka jako trigger,
   seznam skrytý — jinak panel překrýval pole pod sebou */
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .country-flags.initialized .country-flags-inner {
    position: static !important;
    display: block !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
    min-width: 0 !important;
}
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .country-flags.initialized .country-flag {
    display: none !important;
}
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .country-flags.initialized .country-flag.selected {
    display: flex !important;
    position: static !important;   /* Shoptet ji jinak pozicuje absolutně */
    inset: auto !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}
/* v zavřeném stavu jen vlajka, bez názvu a předvolby */
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .country-flags.initialized:not(.active) .country-flag.selected .shp-flag-label {
    display: none !important;
}

/* OTEVŘENÝ stav (.initialized.active): rozbalený panel nad ostatními poli */
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .country-flags.initialized.active .country-flags-inner {
    position: absolute !important;
    top: calc(100% + 6px) !important;
    left: 0 !important;
    display: block !important;
    min-width: clamp(240px, 22vw, 320px) !important;
    background: #ffffff !important;
    border: 1.5px solid #c3ced6 !important;
    border-radius: var(--radius-sm, 0.5rem) !important;
    box-shadow: 0 18px 40px rgba(17, 24, 28, 0.16) !important;
    max-height: clamp(220px, 40vh, 320px) !important;
    overflow-y: auto !important;
    z-index: 50 !important;
}
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .country-flags.initialized.active .country-flag {
    display: flex !important;
    padding: 8px 12px !important;
}
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .country-flags.initialized.active .country-flag.selected {
    position: static !important;   /* zpět do toku — jinak leží přes první položku */
    inset: auto !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    width: auto !important;
    justify-content: flex-start !important;
    padding: 8px 12px !important;
    margin: 0 !important;
}
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .country-flags.initialized.active .country-flag.selected .shp-flag-label {
    display: flex !important;
}

/* Fallback pro neinicializovaný stav (JS ještě neproběhl) */
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .country-flags:not(.initialized) .country-flags-inner {
    background: #ffffff !important;
    border: 1.5px solid #c3ced6 !important;
    border-radius: var(--radius-sm, 0.5rem) !important;
    max-height: clamp(220px, 40vh, 320px) !important;
    overflow-y: auto !important;
    z-index: 20 !important;
}
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .country-flag {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 8px 12px !important;
    background: #ffffff !important;
    cursor: pointer !important;
}
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .country-flag,
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .country-flag .shp-flag-label,
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .country-flag .shp-flag-name,
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .country-flag span {
    color: var(--pdz-ink) !important;
    font-family: var(--template-font, 'Be Vietnam Pro', sans-serif) !important;
    font-size: var(--pop-fs-micro) !important;
    text-align: left !important;
    text-shadow: none !important;
}
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .country-flag .shp-flag-label {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex: 1 1 auto !important;
    justify-content: flex-start !important;
}
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .country-flag .shp-flag-name {
    flex: 1 1 auto !important;
    font-weight: 500 !important;
}
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .country-flag:hover {
    background: var(--pdz-accent-soft) !important;
}
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .country-flag.selected,
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .country-flag.selected .shp-flag-label,
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .country-flag.selected .shp-flag-name,
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .country-flag.selected span {
    background: var(--pdz-accent-soft) !important;
    color: var(--pdz-accent) !important;
    font-weight: 700 !important;
}
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .country-flag .shp-flag {
    flex: 0 0 auto !important;
    width: 22px !important;
    height: 16px !important;
}

/* Země (fakturace) — Shoptet ji renderuje jako <select disabled> s jedinou
   možností (v adminu je povolena jen ČR). Ať to nevypadá rozbitě: */
body.pdz-kosik-rezim.in-krok-2 #checkoutContent select#billCountryId[disabled] {
    background-color: var(--pdz-surface-2) !important;
    background-image: none !important;
    color: var(--pdz-ink-soft) !important;
    cursor: not-allowed !important;
    opacity: 1 !important;
}

/* Checkboxy = kolečko s akcentem */
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .form-group:has(> input[type="checkbox"]):not(:has(> #add-note)) {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .form-group > label.whole-width {
    margin: 0 !important;
    flex: 1 1 auto !important;
    cursor: pointer !important;
}
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .form-group:has(> input[type="checkbox"]):not(:has(> #add-note)) > label::before,
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .form-group:has(> input[type="checkbox"]):not(:has(> #add-note)) > label::after {
    display: none !important;
    content: none !important;
}
body.pdz-kosik-rezim.in-krok-2 #checkoutContent input[type="checkbox"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    opacity: 1 !important;
    flex: 0 0 var(--pop-ctrl) !important;
    width: var(--pop-ctrl) !important;
    height: var(--pop-ctrl) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 2px solid #b9c4cc !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    cursor: pointer !important;
    position: relative !important;
    transition: border-color 0.2s ease !important;
}
body.pdz-kosik-rezim.in-krok-2 #checkoutContent input[type="checkbox"]:checked { border-color: var(--pdz-accent) !important; }
body.pdz-kosik-rezim.in-krok-2 #checkoutContent input[type="checkbox"]:checked::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    margin: auto !important;
    width: var(--pop-ctrl-dot) !important;
    height: var(--pop-ctrl-dot) !important;
    border-radius: 50% !important;
    background: var(--pdz-accent) !important;
}
body.pdz-kosik-rezim.in-krok-2 #checkoutContent input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--pdz-accent) !important;
    outline-offset: 2px !important;
}

/* Nadpis poznámky (injektuje PDZ1_checkout JS) */
body.pdz-kosik-rezim.in-krok-2 .pdz-note-heading {
    display: block !important;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    color: var(--pdz-accent) !important;
    font-weight: 700 !important;
    font-size: var(--pop-fs-body) !important;
    margin-bottom: 10px !important;
}

/* Souhlasy */
body.pdz-kosik-rezim.in-krok-2 #order-form .consents,
body.pdz-kosik-rezim.in-krok-2 #checkoutContent .consents {
    display: block !important;
    background: var(--pdz-accent-soft) !important;
    border: 1px solid var(--pdz-accent-border) !important;
    border-radius: var(--radius-sm, 0.5rem) !important;
    padding: var(--pop-field-gap) var(--pop-pad-x) !important;
    margin-top: calc(var(--pop-sep) * 1.8) !important; /* odsazení od celkové ceny */
    margin-bottom: 0 !important;
    clear: both !important;
}
/* pojistka, kdyby marginy kolabovaly do rekapitulace */
body.pdz-kosik-rezim.in-krok-2 #order-form .order-summary {
    padding-bottom: var(--pop-sep) !important;
}
body.pdz-kosik-rezim.in-krok-2 .consents label,
body.pdz-kosik-rezim.in-krok-2 .consents label .required-asterisk,
body.pdz-kosik-rezim.in-krok-2 .consents label span {
    color: #2b3640 !important;
    font-size: clamp(1.05rem, 1rem + 0.25vw, 1.15rem) !important;
    line-height: 1.5 !important;
}
body.pdz-kosik-rezim.in-krok-2 #order-form .consents a,
body.pdz-kosik-rezim.in-krok-2 #order-form .consents a span {
    color: #1A6B9B !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    transition: color 0.2s ease !important;
}
body.pdz-kosik-rezim.in-krok-2 #order-form .consents a:hover,
body.pdz-kosik-rezim.in-krok-2 #order-form .consents a:hover span { color: #14567d !important; }

/* Tlačítko Objednat (krok 2) — zelený filled pill; kontejner a tlačítko
   Zpět řeší společný blok NAVIGAČNÍ TLAČÍTKA výše */
body.pdz-kosik-rezim.in-krok-2 .next-step-finish {
    flex: 0 1 auto !important;
    min-width: clamp(220px, 22vw, 340px) !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 0 !important;
    padding-left: calc(var(--pop-btn-px) * 1.25) !important;
    padding-right: calc(var(--pop-btn-px) * 1.25) !important;
    background: var(--pdz-green) !important;
    border: 2px solid var(--pdz-green) !important;
    color: #fff !important;
    border-radius: 999px !important;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-weight: 700 !important;
    font-size: clamp(1.05rem, 2vw, 1.2rem) !important;
    padding: calc(var(--pop-btn-py) + 1px) var(--pop-btn-px) !important;
    box-shadow: 0 10px 25px rgba(0, 122, 37, 0.28) !important;
    transition: all 0.2s ease !important;
}
body.pdz-kosik-rezim.in-krok-2 .next-step-finish:hover {
    background: var(--pdz-green-dark) !important;
    border-color: var(--pdz-green-dark) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 15px 35px rgba(0, 122, 37, 0.38) !important;
}
body.pdz-kosik-rezim.in-krok-2 .next-step-finish .order-button-text {
    color: #fff !important;
    display: block !important;
    width: 100% !important;
    text-align: center !important;
}
/* Podnadpis „s povinností platby" skryt — tlačítko je jednořádkové a nižší.
   POZOR: povinnost platby musí zůstat vyjádřena v popisku tlačítka (admin). */
body.pdz-kosik-rezim.in-krok-2 .next-step-finish .order-button-suffix {
    display: none !important;
}
/* Krok 2: výška tlačítek Zpět i Objednat na globální hodnotu (a shodná mezi sebou) */
body.pdz-kosik-rezim.in-krok-2 .next-step--step-2 .next-step-back,
body.pdz-kosik-rezim.in-krok-2 .next-step-finish {
    padding-top: clamp(10px, 0.5rem + 0.35vw, 13px) !important;
    padding-bottom: clamp(10px, 0.5rem + 0.35vw, 13px) !important;
}
/* =========================================
   RESPONZIVITA
========================================= */
/* ---- do 990 px (mobil + tablet) ---- */
@media (max-width: 990px) {
    /* Karta položky: foto + název nahoře, akční řádek (počet | ceny) dole */
    body.pdz-kosik-rezim #cart-wrapper .cart-table tr {
        grid-template-columns: var(--pop-img) minmax(0, 1fr) !important;
        grid-template-areas:
            "img   name"
            "img   avail"
            "qty   qty"
            "price total" !important;
        row-gap: 10px !important;
        padding-right: var(--pop-pad-x) !important;
    }
    body.pdz-kosik-rezim #cart-wrapper .cart-table .p-name { padding-right: calc(var(--pop-qty) + 10px) !important; }
    body.pdz-kosik-rezim #cart-wrapper .cart-table .p-quantity {
        padding-top: 12px !important;
        border-top: 1px dashed var(--pdz-line) !important;
    }
    body.pdz-kosik-rezim #cart-wrapper .cart-table .p-price { text-align: left !important; }

    /* Souhrn Bonusy | ceny pod sebe */
    body.pdz-kosik-rezim #cart-wrapper .summary > .col-md-8,
    body.pdz-kosik-rezim #cart-wrapper .summary > .col-md-4 {
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
    }

    /* Navigační tlačítka na plnou šířku pod sebe */
    body.pdz-kosik-rezim.in-krok-2 #order-form { padding: 18px !important; }
    body.pdz-kosik-rezim .next-step--cart,
    body.pdz-kosik-rezim .next-step--step-1,
    body.pdz-kosik-rezim.in-krok-2 .next-step--step-2 { flex-direction: column-reverse !important; }
    body.pdz-kosik-rezim .next-step .next-step-back,
    body.pdz-kosik-rezim .next-step .next-step-forward,
    body.pdz-kosik-rezim.in-krok-2 .next-step-finish { width: 100% !important; flex: none !important; }
    body.pdz-kosik-rezim #cart-wrapper .cart-inner { padding: 14px !important; }
    body.pdz-kosik-rezim.in-krok-1 #checkoutContent { padding: 18px !important; }

    /* Jen aktivní záložka s textem, ostatní číslované */
    body.pdz-kosik-rezim .cart-header .step:not(.active) > a span { display: none !important; }
    body.pdz-kosik-rezim .cart-header .step:not(.active) > a { padding: 9px 12px 11px !important; }
	
	/* Telefony pod 990px: bílá karta kroků na ~95 % šířky okna */
    body.pdz-kosik-rezim.in-krok-1 #content-wrapper,
    body.pdz-kosik-rezim.in-krok-2 #content-wrapper {
        padding-left: 2.5vw !important;
        padding-right: 2.5vw !important;
    }
    body.pdz-kosik-rezim.in-krok-1 .cart-inner,
    body.pdz-kosik-rezim.in-krok-2 .cart-inner { max-width: 100% !important; }
}

/* ---- 991–1250 px (úzký desktop) ---- */
@media (min-width: 991px) and (max-width: 1250px) {
    /* Souhrn Bonusy | ceny pod sebe (jako na mobilu) */
    body.pdz-kosik-rezim #cart-wrapper .summary > .col-md-8,
    body.pdz-kosik-rezim #cart-wrapper .summary > .col-md-4 {
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
    }
}

/* Ohleduplnost k vypnutým animacím */
@media (prefers-reduced-motion: reduce) {
    body.pdz-kosik-rezim .cart-table tr,
    body.pdz-kosik-rezim .remove-item,
    body.pdz-kosik-rezim .quantity .increase,
    body.pdz-kosik-rezim .quantity .decrease,
    body.pdz-kosik-rezim .next-step-back,
    body.pdz-kosik-rezim .next-step-forward,
    body.pdz-kosik-rezim .next-step-finish,
    body.pdz-kosik-rezim .toggle-window-arr { transition: none !important; }
    body.pdz-kosik-rezim .cart-table tr:hover,
    body.pdz-kosik-rezim .remove-item:hover,
    body.pdz-kosik-rezim .next-step-back:hover,
    body.pdz-kosik-rezim .next-step-forward:hover,
    body.pdz-kosik-rezim .next-step-finish:hover,
    body.pdz-kosik-rezim .toggle-window-arr:hover { transform: none !important; }
}
