/* =====================================================================
   ALPENZAUN — Premium Cart & Checkout
   Triggers on shortcodes: [alpenzaun_cart] and [alpenzaun_checkout]
   ===================================================================== */

:root {
    --az-cc-black:    #141414;
    --az-cc-red:      var(--aze-brand);
    --az-cc-red-dark: var(--aze-brand-deep);
    --az-cc-khaki:    #3d403a;
    --az-cc-cream:    #f6f5f2;
    --az-cc-line:     rgba(20, 20, 20, 0.08);
    --az-cc-line-2:   rgba(20, 20, 20, 0.14);
    --az-cc-text:     #1a1a1a;
    --az-cc-muted:    #6b6b6b;
    --az-cc-success:  #2f7d3a;
    --az-cc-shadow:   0 8px 24px rgba(20, 20, 20, 0.06);
    --az-cc-shadow-lg:0 24px 50px rgba(20, 20, 20, 0.10);
}

/* ─── Force ONLY the Elementor wrappers that contain our shortcode ─── */
/* Pozn.: :has() je podporovaný v moderných prehliadačoch (Chrome 105+, Safari 15.4+, FF 121+) */
.elementor-section:has(.aze-newcart),
.elementor-section:has(.aze-newcheckout),
.elementor-container:has(.aze-newcart),
.elementor-container:has(.aze-newcheckout),
.elementor-row:has(.aze-newcart),
.elementor-row:has(.aze-newcheckout),
.elementor-column:has(.aze-newcart),
.elementor-column:has(.aze-newcheckout),
.elementor-column-wrap:has(.aze-newcart),
.elementor-column-wrap:has(.aze-newcheckout),
.elementor-widget-wrap:has(.aze-newcart),
.elementor-widget-wrap:has(.aze-newcheckout),
.elementor-widget-shortcode:has(.aze-newcart),
.elementor-widget-shortcode:has(.aze-newcheckout),
.elementor-widget-shortcode:has(.aze-newcart) > .elementor-widget-container,
.elementor-widget-shortcode:has(.aze-newcheckout) > .elementor-widget-container {
    max-width: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: visible !important;
}
/* WC wrapper okolo nášho shortcodu — kill max-width */
.woocommerce:has(.aze-newcart),
.woocommerce:has(.aze-newcheckout) {
    max-width: none !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
/* Fallback pre prehliadače bez :has() — používame body class
   aze-has-newcart / aze-has-newcheckout, ktorá sa pridáva LEN keď je shortcode
   naozaj v obsahu stránky. Tým zabezpečíme že nehitneme header / iné Elementor
   sekcie mimo nášho shortcodu. */
body.aze-has-newcart .elementor-widget-shortcode:has(.aze-newcart),
body.aze-has-newcheckout .elementor-widget-shortcode:has(.aze-newcheckout) {
    max-width: none !important;
    width: 100% !important;
    padding: 0 !important;
}
body.aze-has-newcart .elementor-widget-shortcode:has(.aze-newcart) .elementor-widget-container,
body.aze-has-newcheckout .elementor-widget-shortcode:has(.aze-newcheckout) .elementor-widget-container {
    padding: 0 !important;
}

/* full-bleed escape — guaranteed full viewport width */
.aze-newcart,
.aze-newcheckout {
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    width: 100vw !important;
    max-width: 100vw !important;
    padding: 0 max(20px, calc((100vw - 1650px) / 2)) 80px !important;
    background: #fafaf8;
    font-family: 'Instrument Sans', system-ui, -apple-system, sans-serif !important;
    color: var(--az-cc-text);
    box-sizing: border-box;
}
.aze-newcart *,
.aze-newcheckout * {
    font-family: 'Instrument Sans', system-ui, -apple-system, sans-serif !important;
    box-sizing: border-box;
}

/* ===================== HERO ===================== */
.aze-newcart-hero {
    position: relative;
    background: linear-gradient(135deg, #1a1a1a 0%, #0f0f0f 50%, #1a1a1a 100%);
    color: #fff;
    border-radius: 20px;
    padding: 56px 56px 44px;
    margin: 28px 0 36px;
    overflow: hidden;
    box-shadow: var(--az-cc-shadow-lg);
}
.aze-newcart-hero-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 1;
    background:
        radial-gradient(ellipse 800px 400px at 85% 0%, rgba(var(--aze-brand-rgb), 0.20), transparent 60%),
        radial-gradient(ellipse 600px 300px at 15% 100%, rgba(var(--aze-brand-rgb), 0.12), transparent 60%),
        radial-gradient(ellipse 300px 200px at 50% 50%, rgba(255, 255, 255, 0.02), transparent 70%);
}
.aze-newcart-hero-inner {
    position: relative;
    z-index: 1;
}
.aze-newcart-hero-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 40px;
    flex-wrap: wrap;
    margin-bottom: 32px;
}

.aze-newcart-eyebrow {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--az-cc-red);
    margin-bottom: 16px;
    padding: 6px 14px;
    border: 1px solid rgba(var(--aze-brand-rgb), 0.35);
    border-radius: 100px;
    background: rgba(var(--aze-brand-rgb), 0.08);
}
.aze-newcart-h1 {
    font-size: 52px !important;
    font-weight: 700 !important;
    letter-spacing: -0.025em !important;
    color: #fff !important;
    margin: 0 0 10px !important;
    line-height: 1.05 !important;
}
.aze-newcart-sub {
    font-size: 17px;
    color: rgba(255, 255, 255, 0.65);
    margin: 0;
}

/* Steps */
.aze-newcart-steps {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(255, 255, 255, 0.04);
    padding: 10px 16px;
    border-radius: 100px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(10px);
}
.aze-newcart-step {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.4);
    letter-spacing: 0.02em;
    white-space: nowrap;
}
.aze-newcart-step span {
    width: 24px; height: 24px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 11px;
    border: 1px solid rgba(255, 255, 255, 0.12);
}
.aze-newcart-step.is-active { color: #fff; }
.aze-newcart-step.is-active span {
    background: var(--az-cc-red);
    border-color: var(--az-cc-red);
    box-shadow: 0 0 0 4px rgba(var(--aze-brand-rgb), 0.18);
    color: #fff;
}
.aze-newcart-step.is-done { color: rgba(255, 255, 255, 0.85); }
.aze-newcart-step.is-done span {
    background: var(--az-cc-red-dark);
    border-color: var(--az-cc-red-dark);
    color: #fff;
}
.aze-newcart-step-line {
    width: 24px;
    height: 1px;
    background: rgba(255, 255, 255, 0.15);
}
.aze-newcart-step-line.is-done { background: var(--az-cc-red-dark); }

/* Free shipping progress */
.aze-newcart-freeship {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 18px 22px;
    backdrop-filter: blur(10px);
}
.aze-newcart-freeship-msg {
    color: rgba(255, 255, 255, 0.88);
    font-size: 14px;
    margin: 0 0 12px;
    font-weight: 500;
}
.aze-newcart-freeship-msg strong {
    color: var(--az-cc-red);
    font-weight: 700;
}
.aze-newcart-freeship-msg--done {
    color: #fff;
}
.aze-newcart-freeship-msg--done strong {
    color: #66e090;
}
.aze-newcart-freeship-bar {
    height: 8px;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 100px;
    overflow: hidden;
}
.aze-newcart-freeship-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--az-cc-red-dark), var(--az-cc-red), #ff8a5c);
    border-radius: 100px;
    transition: width 600ms cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 0 12px rgba(var(--aze-brand-rgb), 0.4);
}

/* ═══════════════════════════════════════════════════════════
   STEPS BAR (centered, light) — nahrádza čierny hero
   ═══════════════════════════════════════════════════════════ */
.aze-steps-bar {
    display: flex;
    justify-content: center;
    padding: 32px 0 36px;
}
.aze-newcart-steps.aze-steps-light {
    background: #fff;
    border: 1px solid var(--az-cc-line);
    box-shadow: var(--az-cc-shadow);
    padding: 12px 24px;
    border-radius: 100px;
    backdrop-filter: none;
}
.aze-steps-light .aze-newcart-step {
    color: var(--az-cc-muted);
}
.aze-steps-light .aze-newcart-step span {
    background: var(--az-cc-cream);
    border: 1px solid var(--az-cc-line);
    color: var(--az-cc-muted);
}
.aze-steps-light .aze-newcart-step.is-active {
    color: var(--az-cc-black);
}
.aze-steps-light .aze-newcart-step.is-active span {
    background: var(--az-cc-red);
    border-color: var(--az-cc-red);
    color: #fff;
    box-shadow: 0 0 0 4px rgba(var(--aze-brand-rgb), 0.15);
}
.aze-steps-light .aze-newcart-step.is-done {
    color: var(--az-cc-black);
}
.aze-steps-light .aze-newcart-step.is-done span {
    background: var(--az-cc-red-dark);
    border-color: var(--az-cc-red-dark);
    color: #fff;
}
.aze-steps-light .aze-newcart-step-line {
    background: var(--az-cc-line-2);
}
.aze-steps-light .aze-newcart-step-line.is-done {
    background: var(--az-cc-red-dark);
}
@media (max-width: 560px) {
    .aze-steps-bar { padding: 20px 0 24px; }
    .aze-newcart-steps.aze-steps-light { padding: 10px 14px; }
}

/* ═══════════════════════════════════════════════════════════
   STEPS — MOBILE VERTICAL (≤720px) — Uiverse style
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 720px) {
    .aze-steps-bar {
        padding: 20px 16px 24px;
        justify-content: stretch;
    }
    .aze-newcart-steps.aze-steps-light {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0;
        padding: 22px 22px 22px;
        border-radius: 14px;
        background: #fff;
        border: 1px solid var(--az-cc-line, rgba(20, 20, 20, .08));
        box-shadow: 0 4px 16px rgba(20, 20, 20, .05);
        width: 100%;
    }

    /* Riadok: kruh vľavo, obsah vpravo */
    .aze-steps-light .aze-newcart-step {
        display: flex;
        align-items: flex-start;
        gap: 14px;
        font-size: 14px;
        font-weight: 600;
        white-space: normal;
        flex: 0 0 auto;
        position: relative;
        padding: 0;
    }

    /* Kruh */
    .aze-steps-light .aze-newcart-step span {
        width: 36px;
        height: 36px;
        font-size: 13px;
        border-radius: 50%;
        flex-shrink: 0;
        position: relative;
        z-index: 2;
    }

    /* Tituok kroku — vpravo od kruhu, plus status pill pod ním cez ::after */
    .aze-steps-light .aze-newcart-step::after {
        content: 'Ausstehend';
        display: inline-block;
        font-size: 11px;
        font-weight: 600;
        padding: 2px 9px;
        border-radius: 100px;
        background: #f1f5f9;
        color: #6b7280;
        margin-top: 6px;
        letter-spacing: .02em;
        position: absolute;
        left: 50px;  /* za kruhom (36 + 14 gap) */
        top: 22px;   /* pod titulkom */
        white-space: nowrap;
    }
    .aze-steps-light .aze-newcart-step.is-active::after {
        content: 'In Bearbeitung';
        background: rgba(var(--aze-brand-rgb), .12);
        color: var(--az-cc-red, var(--aze-brand));
    }
    .aze-steps-light .aze-newcart-step.is-done::after {
        content: 'Erledigt';
        background: rgba(52, 168, 83, .12);
        color: #166534;
    }

    /* Default (pending) — sivé kolečko, sivý titulok */
    .aze-steps-light .aze-newcart-step {
        color: #94a3b8;
        min-height: 56px;  /* miesto pre titulok + status pill */
    }
    .aze-steps-light .aze-newcart-step span {
        background: #fff;
        border: 2px solid #e2e8f0;
        color: #94a3b8;
    }

    /* Active — terracotta */
    .aze-steps-light .aze-newcart-step.is-active {
        color: var(--az-cc-black, #141414);
    }
    .aze-steps-light .aze-newcart-step.is-active span {
        background: #fff;
        border: 2px solid var(--az-cc-red, var(--aze-brand));
        color: var(--az-cc-red, var(--aze-brand));
        box-shadow: 0 0 0 4px rgba(var(--aze-brand-rgb), 0.12);
    }

    /* Done — vyplnený terracotta kruh */
    .aze-steps-light .aze-newcart-step.is-done {
        color: var(--az-cc-black, #141414);
    }
    .aze-steps-light .aze-newcart-step.is-done span {
        background: var(--az-cc-red-dark, var(--aze-brand-deep));
        border: 2px solid var(--az-cc-red-dark, var(--aze-brand-deep));
        color: #fff;
    }

    /* Spojovacia VERTIKÁLNA čiara medzi krokmi (existujúci step-line element) */
    .aze-steps-light .aze-newcart-step-line {
        width: 2px;
        height: 28px;
        background: #e2e8f0;
        margin-left: 17px;  /* (36px circle / 2) - 1 = 17 — zarovnané so stredom kruhu */
        margin-right: 0;
        align-self: flex-start;
        flex: 0 0 auto;
    }
    .aze-steps-light .aze-newcart-step-line.is-done {
        background: var(--az-cc-red-dark, var(--aze-brand-deep));
    }
}

/* ===================== CART BODY ===================== */
.aze-newcart-body {
    display: grid;
    grid-template-columns: 1fr 440px;
    gap: 32px;
    align-items: start;
}
@media (max-width: 1024px) {
    .aze-newcart-body { grid-template-columns: 1fr; }
}

/* ITEM cards */
.aze-newcart-items {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.aze-newcart-item {
    display: grid;
    grid-template-columns: 140px 1fr auto;
    gap: 24px;
    align-items: center;
    background: #fff;
    border: 1px solid var(--az-cc-line);
    border-radius: 16px;
    padding: 20px;
    box-shadow: var(--az-cc-shadow);
    transition: all 240ms ease;
    position: relative;
}
.aze-newcart-item:hover {
    border-color: var(--az-cc-line-2);
    box-shadow: var(--az-cc-shadow-lg);
    transform: translateY(-2px);
}
.aze-newcart-item.is-removing {
    opacity: 0.4;
    transform: scale(0.98);
    pointer-events: none;
}

.aze-newcart-item-thumb {
    width: 140px;
    height: 140px;
    background: var(--az-cc-cream);
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid var(--az-cc-line);
}
.aze-newcart-item-thumb img,
.aze-newcart-item-thumb a {
    width: 100%;
    height: 100%;
    display: block;
}
.aze-newcart-item-thumb img {
    object-fit: cover;
    transition: transform 500ms ease;
}
.aze-newcart-item:hover .aze-newcart-item-thumb img {
    transform: scale(1.05);
}

.aze-newcart-item-info {
    min-width: 0;
}
.aze-newcart-item-name {
    display: block;
    font-size: 19px;
    font-weight: 700;
    color: var(--az-cc-black);
    text-decoration: none;
    letter-spacing: -0.015em;
    margin-bottom: 6px;
    line-height: 1.25;
}
.aze-newcart-item-name:hover { color: var(--az-cc-red); }

.aze-newcart-item-attrs {
    font-size: 13px;
    color: var(--az-cc-muted);
    margin-bottom: 8px;
    font-weight: 500;
}
.aze-newcart-item-meta {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    font-size: 12px;
    color: var(--az-cc-muted);
    margin-bottom: 12px;
}
.aze-newcart-item-meta strong {
    color: var(--az-cc-text);
    font-weight: 600;
}
.aze-newcart-item-stock {
    color: var(--az-cc-success);
    font-weight: 600;
}
.aze-newcart-item-stock--back {
    color: #b87f1f;
}
.aze-newcart-item-pricerow {
    font-size: 14px;
    color: var(--az-cc-muted);
}
.aze-newcart-item-unitprice {
    font-weight: 500;
}

/* Actions column (right) */
.aze-newcart-item-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
    min-width: 180px;
}
.aze-newcart-qty {
    display: inline-flex;
    align-items: center;
    border: 1.5px solid var(--az-cc-line-2);
    border-radius: 100px;
    overflow: hidden;
    background: #fff;
    transition: border-color 200ms ease;
}
.aze-newcart-qty:focus-within {
    border-color: var(--az-cc-red);
    box-shadow: 0 0 0 3px rgba(var(--aze-brand-rgb), 0.12);
}
.aze-newcart-qty-minus,
.aze-newcart-qty-plus {
    width: 38px;
    height: 40px;
    border: none;
    background: transparent;
    color: var(--az-cc-black);
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
    transition: all 180ms ease;
}
.aze-newcart-qty-minus:hover,
.aze-newcart-qty-plus:hover {
    background: var(--az-cc-cream);
    color: var(--az-cc-red);
}
.aze-newcart-qty-input {
    width: 44px;
    height: 40px;
    border: none;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    background: transparent;
    color: var(--az-cc-black);
    padding: 0;
    -moz-appearance: textfield;
}
.aze-newcart-qty-input::-webkit-inner-spin-button,
.aze-newcart-qty-input::-webkit-outer-spin-button {
    -webkit-appearance: none; margin: 0;
}

.aze-newcart-item-subtotal {
    font-size: 22px;
    font-weight: 700;
    color: var(--az-cc-black);
    letter-spacing: -0.01em;
}
.aze-newcart-item-subtotal bdi {
    font-weight: 700;
}
.aze-newcart-item-remove {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 600;
    color: var(--az-cc-muted);
    text-decoration: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 6px;
    transition: all 180ms ease;
}
.aze-newcart-item-remove svg {
    width: 14px;
    height: 14px;
}
.aze-newcart-item-remove:hover {
    color: var(--az-cc-red);
    background: rgba(var(--aze-brand-rgb), 0.08);
}

@media (max-width: 720px) {
    .aze-newcart-item {
        grid-template-columns: 100px 1fr;
        gap: 16px;
        padding: 16px;
    }
    .aze-newcart-item-thumb { width: 100px; height: 100px; }
    .aze-newcart-item-actions {
        grid-column: 1 / -1;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding-top: 12px;
        border-top: 1px solid var(--az-cc-line);
        min-width: 0;
    }
}

/* Info note below items */
.aze-newcart-note {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    background: var(--az-cc-cream);
    border-left: 3px solid var(--az-cc-red);
    border-radius: 12px;
    padding: 18px 22px;
    margin-top: 8px;
}
.aze-newcart-note svg {
    width: 22px;
    height: 22px;
    color: var(--az-cc-red);
    flex-shrink: 0;
    margin-top: 2px;
}
.aze-newcart-note strong {
    display: block;
    font-size: 14px;
    color: var(--az-cc-black);
    font-weight: 700;
    margin-bottom: 2px;
}
.aze-newcart-note span {
    display: block;
    font-size: 13px;
    color: var(--az-cc-muted);
    line-height: 1.5;
}

/* ===================== SIDEBAR ===================== */
.aze-newcart-sidebar {
    position: sticky;
    top: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.aze-newcart-summary {
    background: #fff;
    border: 1px solid var(--az-cc-line);
    border-radius: 18px;
    padding: 32px;
    box-shadow: var(--az-cc-shadow);
}
.aze-newcart-summary-title {
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.24em !important;
    text-transform: uppercase !important;
    color: var(--az-cc-black) !important;
    margin: 0 0 22px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid var(--az-cc-line) !important;
    position: relative;
}
.aze-newcart-summary-title::before {
    content: '';
    position: absolute;
    bottom: -1px; left: 0;
    width: 40px; height: 2px;
    background: var(--az-cc-red);
}
.aze-newcart-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    font-size: 15px;
    color: var(--az-cc-text);
    border-bottom: 1px solid var(--az-cc-line);
}
.aze-newcart-row:last-of-type {
    border-bottom: none;
}
.aze-newcart-row > span:first-child {
    color: var(--az-cc-muted);
    font-weight: 500;
}
.aze-newcart-row > span:last-child {
    color: var(--az-cc-black);
    font-weight: 600;
}
.aze-newcart-row--discount > span:last-child {
    color: var(--az-cc-success);
}
.aze-newcart-row--muted {
    font-size: 12px;
}
.aze-newcart-row--muted > span {
    color: var(--az-cc-muted) !important;
    font-weight: 500 !important;
}
.aze-newcart-row--total {
    border-bottom: none !important;
    padding: 18px 0 14px !important;
    margin-top: 6px;
    border-top: 1px solid var(--az-cc-line);
}
.aze-newcart-row--total > span:first-child {
    font-size: 14px;
    font-weight: 700;
    color: var(--az-cc-black) !important;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}
.aze-newcart-total-price {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: var(--az-cc-red) !important;
    letter-spacing: -0.02em;
}
.aze-newcart-total-price bdi {
    font-weight: 700 !important;
}

/* Coupon */
.aze-newcart-coupon {
    margin: 18px 0 22px;
    padding-top: 18px;
    border-top: 1px solid var(--az-cc-line);
}
.aze-newcart-coupon-form {
    display: flex;
    gap: 8px;
}
.aze-newcart-coupon input[type="text"] {
    flex: 1;
    height: 44px;
    border: 1px solid var(--az-cc-line-2);
    border-radius: 10px;
    padding: 0 14px;
    font-size: 13px;
    color: var(--az-cc-black);
    background: #fff;
    transition: all 180ms ease;
}
.aze-newcart-coupon input[type="text"]:focus {
    outline: none;
    border-color: var(--az-cc-red);
    box-shadow: 0 0 0 3px rgba(var(--aze-brand-rgb), 0.12);
}
.aze-newcart-coupon button {
    height: 44px;
    padding: 0 18px;
    background: var(--az-cc-black);
    color: #fff;
    border: none;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 180ms ease;
}
.aze-newcart-coupon button:hover {
    background: var(--az-cc-red);
}

/* Main CTA */
.aze-newcart-checkout-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    height: 60px;
    background: var(--az-cc-red);
    color: #fff !important;
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-decoration: none !important;
    border-radius: 12px;
    border: none;
    box-shadow: none;
    transition: background 240ms ease, transform 240ms ease, box-shadow 240ms ease;
    cursor: pointer;
    position: relative;
    overflow: hidden;
}
.aze-newcart-checkout-btn svg {
    width: 18px; height: 18px;
    transition: transform 240ms ease;
    position: relative; z-index: 1;
}
.aze-newcart-checkout-btn:hover {
    background: var(--aze-brand-dark);
    transform: translateY(-2px);
    box-shadow: none;
}
.aze-newcart-checkout-btn:hover svg {
    transform: translateX(4px);
}

.aze-newcart-continue {
    display: block;
    text-align: center;
    margin: 12px 0 0;
    padding: 10px;
    font-size: 13px;
    font-weight: 600;
    color: var(--az-cc-muted);
    text-decoration: none;
    transition: color 180ms ease;
}
.aze-newcart-continue:hover {
    color: var(--az-cc-red);
}

/* Trust mini */
.aze-newcart-trust-mini {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--az-cc-line);
}
.aze-newcart-trust-mini > div {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: var(--az-cc-text);
    font-weight: 500;
}
.aze-newcart-trust-mini svg {
    width: 16px; height: 16px;
    color: var(--az-cc-red);
    flex-shrink: 0;
}

/* Support card */
.aze-newcart-support {
    background: var(--az-cc-cream);
    border-radius: 14px;
    padding: 22px;
    display: flex;
    gap: 14px;
    align-items: flex-start;
}
.aze-newcart-support-icon {
    width: 42px; height: 42px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.aze-newcart-support-icon svg {
    width: 20px; height: 20px;
    color: var(--az-cc-red);
}
.aze-newcart-support strong {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: var(--az-cc-black);
    margin-bottom: 4px;
}
.aze-newcart-support p {
    margin: 0 0 6px;
    font-size: 12px;
    color: var(--az-cc-muted);
    line-height: 1.5;
}
.aze-newcart-support a {
    font-size: 13px;
    font-weight: 600;
    color: var(--az-cc-red);
    text-decoration: none;
}
.aze-newcart-support a:hover { color: var(--az-cc-red-dark); }

/* ═══════════════════════════════════════════════════════════
   ORDER RECEIVED / THANK YOU
   ═══════════════════════════════════════════════════════════ */
.aze-thankyou {
    max-width: 980px;
    margin: 0 auto;
    padding: 20px 20px 60px;
    font-family: 'Instrument Sans', system-ui, -apple-system, sans-serif !important;
    color: var(--az-cc-text);
}
.aze-thankyou * {
    font-family: 'Instrument Sans', system-ui, -apple-system, sans-serif !important;
    box-sizing: border-box;
}

/* Success hero */
.aze-ty-hero {
    text-align: center;
    padding: 20px 20px 36px;
}
.aze-ty-icon {
    width: 88px; height: 88px;
    margin: 0 auto 22px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.aze-ty-icon svg { width: 42px; height: 42px; }
.aze-ty-icon--success {
    background: rgba(47, 125, 58, 0.12);
    color: var(--az-cc-success);
    animation: aze-ty-pop 500ms cubic-bezier(0.2, 0.9, 0.3, 1.4);
}
.aze-ty-icon--failed {
    background: rgba(221, 51, 51, 0.12);
    color: #d33;
}
.aze-ty-icon--neutral {
    background: var(--az-cc-cream);
    color: var(--az-cc-muted);
}
@keyframes aze-ty-pop {
    0% { transform: scale(0); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}
.aze-ty-eyebrow {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--az-cc-success);
    margin-bottom: 12px;
}
.aze-ty-hero h1 {
    font-size: 38px !important;
    font-weight: 700 !important;
    letter-spacing: -0.025em !important;
    color: var(--az-cc-black) !important;
    margin: 0 0 12px !important;
    line-height: 1.1 !important;
}
.aze-ty-hero p {
    font-size: 16px;
    color: var(--az-cc-muted);
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.55;
}
.aze-ty-hero p strong { color: var(--az-cc-black); }

/* Meta strip */
.aze-ty-meta {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    background: var(--az-cc-line);
    border: 1px solid var(--az-cc-line);
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 24px;
    box-shadow: var(--az-cc-shadow);
}
.aze-ty-meta-item {
    background: #fff;
    padding: 20px 22px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.aze-ty-meta-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--az-cc-muted);
}
.aze-ty-meta-value {
    font-size: 16px;
    font-weight: 700;
    color: var(--az-cc-black);
}
.aze-ty-meta-value--price { color: var(--az-cc-red); }
@media (max-width: 720px) {
    .aze-ty-meta { grid-template-columns: repeat(2, 1fr); }
}

/* Body */
.aze-ty-body {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}
@media (max-width: 860px) {
    .aze-ty-body { grid-template-columns: 1fr; }
}

.aze-ty-items-card,
.aze-ty-addr-card,
.aze-ty-next-card {
    background: #fff;
    border: 1px solid var(--az-cc-line);
    border-radius: 16px;
    padding: 28px;
    box-shadow: var(--az-cc-shadow);
}
.aze-ty-side {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.aze-ty-section-title {
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
    color: var(--az-cc-black) !important;
    margin: 0 0 20px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid var(--az-cc-line) !important;
    position: relative;
}
.aze-ty-section-title::before {
    content: '';
    position: absolute;
    bottom: -1px; left: 0;
    width: 36px; height: 2px;
    background: var(--az-cc-red);
}

/* Order line */
.aze-ty-line {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 0;
    border-bottom: 1px solid var(--az-cc-line);
}
.aze-ty-line:last-of-type { border-bottom: none; }
.aze-ty-line-thumb {
    width: 56px; height: 56px;
    border-radius: 10px;
    overflow: hidden;
    background: var(--az-cc-cream);
    border: 1px solid var(--az-cc-line);
    flex-shrink: 0;
}
.aze-ty-line-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.aze-ty-line-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.aze-ty-line-name { font-size: 14px; font-weight: 700; color: var(--az-cc-black); line-height: 1.3; }
.aze-ty-line-qty { font-size: 12px; color: var(--az-cc-muted); }
.aze-ty-line-total { font-size: 15px; font-weight: 700; color: var(--az-cc-black); }

/* Totals */
.aze-ty-totals {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--az-cc-line);
}
.aze-ty-total-row {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    font-size: 14px;
    color: var(--az-cc-text);
}
.aze-ty-total-row span:first-child { color: var(--az-cc-muted); }
.aze-ty-total-row span:last-child { font-weight: 600; color: var(--az-cc-black); }
.aze-ty-total-row--grand {
    margin-top: 6px;
    padding-top: 14px;
    border-top: 1px solid var(--az-cc-line);
}
.aze-ty-total-row--grand span { font-size: 20px !important; font-weight: 700 !important; }
.aze-ty-total-row--grand span:last-child { color: var(--az-cc-red) !important; }

/* Addresses */
.aze-ty-addr-card address {
    font-style: normal;
    font-size: 14px;
    line-height: 1.6;
    color: var(--az-cc-text);
}
.aze-ty-addr-extra {
    display: block;
    font-size: 13px;
    color: var(--az-cc-muted);
    margin-top: 6px;
}

/* Next steps */
.aze-ty-steps-list { list-style: none; margin: 0; padding: 0; }
.aze-ty-steps-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 8px 0;
    font-size: 14px;
    color: var(--az-cc-text);
    line-height: 1.4;
}
.aze-ty-steps-list li span {
    flex-shrink: 0;
    width: 24px; height: 24px;
    border-radius: 50%;
    background: var(--az-cc-red);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Footer / buttons */
.aze-ty-footer { text-align: center; margin-top: 32px; }
.aze-ty-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    height: 56px;
    padding: 0 36px;
    background: var(--az-cc-red);
    color: #fff !important;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none !important;
    border-radius: 12px;
    transition: all 220ms ease;
}
.aze-ty-btn svg { width: 18px; height: 18px; transition: transform 220ms ease; }
.aze-ty-btn:hover { background: var(--az-cc-red-dark); transform: translateY(-1px); }
.aze-ty-btn:hover svg { transform: translateX(4px); }
.aze-ty-btn--ghost {
    background: transparent;
    color: var(--az-cc-black) !important;
    border: 1px solid var(--az-cc-line-2);
}
.aze-ty-btn--ghost:hover { background: var(--az-cc-black); color: #fff !important; }

/* Neutral / failed card */
.aze-ty-card {
    background: #fff;
    border: 1px solid var(--az-cc-line);
    border-radius: 20px;
    padding: 56px 40px;
    text-align: center;
    box-shadow: var(--az-cc-shadow);
    max-width: 600px;
    margin: 40px auto;
}
.aze-ty-card h1 {
    font-size: 30px !important;
    font-weight: 700 !important;
    color: var(--az-cc-black) !important;
    margin: 0 0 12px !important;
    letter-spacing: -0.02em !important;
}
.aze-ty-card p {
    font-size: 15px;
    color: var(--az-cc-muted);
    margin: 0 0 28px;
    line-height: 1.55;
}
.aze-ty-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

/* ===================== EMPTY CART ===================== */
.aze-newcart--empty {
    padding-top: 80px;
    padding-bottom: 100px;
    text-align: center;
}
.aze-newcart-empty {
    max-width: 520px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid var(--az-cc-line);
    border-radius: 20px;
    padding: 56px 40px;
    box-shadow: var(--az-cc-shadow);
}
.aze-newcart-empty-icon {
    width: 88px; height: 88px;
    margin: 0 auto 24px;
    background: var(--az-cc-cream);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.aze-newcart-empty-icon svg {
    width: 40px; height: 40px;
    color: var(--az-cc-red);
}
.aze-newcart-empty h1 {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: var(--az-cc-black) !important;
    margin: 0 0 10px !important;
    letter-spacing: -0.02em !important;
}
.aze-newcart-empty p {
    font-size: 15px;
    color: var(--az-cc-muted);
    margin: 0 0 28px;
    line-height: 1.5;
}
.aze-newcart-empty-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 32px;
    background: var(--az-cc-red);
    color: #fff !important;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    border-radius: 100px;
    box-shadow: 0 12px 28px rgba(var(--aze-brand-rgb), 0.32);
    transition: all 220ms ease;
}
.aze-newcart-empty-cta:hover {
    background: var(--az-cc-red-dark);
    transform: translateY(-1px);
    box-shadow: 0 16px 32px rgba(var(--aze-brand-rgb), 0.42);
}
.aze-newcart-empty-cta svg {
    width: 16px; height: 16px;
    transition: transform 220ms ease;
}
.aze-newcart-empty-cta:hover svg { transform: translateX(3px); }

/* ===================================================================
   CHECKOUT
   =================================================================== */
.aze-newcheckout-hero {
    margin-bottom: 36px;
}

.aze-newcheckout-form-wrap {
    margin-bottom: 40px;
    width: 100% !important;
    max-width: 100% !important;
}

/* Brutal full-width force on every wrapper around WC checkout output */
.aze-newcheckout-form-wrap,
.aze-newcheckout-form-wrap > .woocommerce,
.aze-newcheckout-form-wrap > div,
.aze-newcheckout-form-wrap .woocommerce,
.aze-newcheckout-form-wrap .woocommerce-notices-wrapper,
body.aze-has-newcheckout .woocommerce,
body.aze-has-newcheckout form.checkout,
body.aze-has-newcheckout form.woocommerce-checkout,
.aze-newcheckout-form-wrap form.checkout,
.aze-newcheckout-form-wrap form.woocommerce-checkout {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    float: none !important;
}

/* Pozn.: Stripe Express Checkout (Apple Pay / Google Pay / Link) tu ÚMYSELNE
   neskrývame — peňaženky sa majú na checkoute zobrazovať. Apple Pay sa reálne
   ukáže len v Safari, Google Pay v Chrome (obmedzenie Apple/Google). */

/* Poznámka pod poľom „Land / Region" — dodávame len do Rakúska.
   Niektoré témy (X-Store) .description skrývajú → forcneme viditeľnosť. */
.aze-newcheckout-form-wrap #billing_country_field .description,
.aze-newcheckout-form-wrap #shipping_country_field .description,
.aze-newcheckout-form-wrap #billing_country_field span.description,
.aze-newcheckout-form-wrap #shipping_country_field span.description {
    display: flex !important;
    align-items: center;
    gap: 6px;
    margin: 7px 0 0 !important;
    padding: 8px 11px !important;
    background: rgba(var(--aze-brand-rgb), 0.07) !important;
    border-left: 3px solid var(--aze-brand) !important;
    border-radius: 6px !important;
    color: var(--aze-brand-deep) !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    font-style: normal !important;
    opacity: 1 !important;
    visibility: visible !important;
}
.aze-newcheckout-form-wrap #billing_country_field .description::before,
.aze-newcheckout-form-wrap #shipping_country_field .description::before {
    content: "ⓘ";
    font-weight: 700;
    color: var(--aze-brand);
    font-size: 13px;
    line-height: 1;
    flex: 0 0 auto;
}

/* ═══════════════════════════════════════════════════════════
   XStore theme prepisuje WooCommerce checkout markup —
   uvnitř form.checkout vkládá <div class="row"> s Bootstrap
   stĺpcami .col-md-7 (billing) a .col-md-5 (order review).
   Treba prepísať priamo tento row/col layout, nie form.checkout.
   ═══════════════════════════════════════════════════════════ */
.aze-newcheckout-form-wrap form.checkout {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
}
.aze-newcheckout-form-wrap form.checkout::before,
.aze-newcheckout-form-wrap form.checkout::after { display: none !important; }

/* Default = 2-stĺpcový grid (kým JS nedoplní stredný stĺpec) */
.aze-newcheckout-form-wrap form.checkout > .row,
.aze-newcheckout-form-wrap form.checkout .row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 460px !important;
    grid-template-areas: "billing review" !important;
    gap: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    align-items: start !important;
}
/* 3-stĺpcový mód — JS pridá .aze-co-3col na row keď middle col obsahuje #payment.
   Poradie: Billing | Your Order (review) | Zahlung (middle).
   Rovnomerné rozdelenie 33% / 33% / 33%. */
.aze-newcheckout-form-wrap form.checkout .row.aze-co-3col {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-areas: "billing review middle" !important;
}
@media (max-width: 1280px) {
    .aze-newcheckout-form-wrap form.checkout .row.aze-co-3col {
        grid-template-columns: minmax(0, 1fr) 440px !important;
        grid-template-areas:
            "billing middle"
            "review  middle" !important;
    }
}
@media (max-width: 1024px) {
    .aze-newcheckout-form-wrap form.checkout > .row,
    .aze-newcheckout-form-wrap form.checkout .row,
    .aze-newcheckout-form-wrap form.checkout .row.aze-co-3col {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "billing"
            "review"
            "middle" !important;
    }
}

/* ───── Middle column (Payment) ───── */
.aze-newcheckout-form-wrap form.checkout .aze-co-middle {
    grid-area: middle !important;
    background: #fff;
    border: 1px solid var(--az-cc-line);
    border-radius: 18px;
    padding: 32px;
    box-shadow: 0 8px 24px rgba(20, 20, 20, 0.04);
    position: sticky;
    top: 24px;
}
.aze-newcheckout-form-wrap .aze-co-middle-title {
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.24em !important;
    text-transform: uppercase !important;
    color: var(--az-cc-black) !important;
    margin: 0 0 24px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid var(--az-cc-line) !important;
    position: relative;
}
.aze-newcheckout-form-wrap .aze-co-middle-title::before {
    content: '';
    position: absolute;
    bottom: -1px; left: 0;
    width: 40px; height: 2px;
    background: var(--az-cc-red);
}


/* Override Bootstrap col widths — full width grid items */
.aze-newcheckout-form-wrap form.checkout .col-md-7,
.aze-newcheckout-form-wrap form.checkout .col-md-5,
.aze-newcheckout-form-wrap form.checkout [class*="col-md-"],
.aze-newcheckout-form-wrap form.checkout [class*="col-sm-"],
.aze-newcheckout-form-wrap form.checkout [class*="col-lg-"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
}
.aze-newcheckout-form-wrap form.checkout .col-md-7 { grid-area: billing !important; }
.aze-newcheckout-form-wrap form.checkout .col-md-5 { grid-area: review !important; }

/* XStore wrapping .order-review element around #order_review */
.aze-newcheckout-form-wrap form.checkout .order-review,
.aze-newcheckout-form-wrap form.checkout .woocommerce-checkout-review-order {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* XStore step-title (h3 above order review) */
.aze-newcheckout-form-wrap form.checkout .step-title {
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.24em !important;
    text-transform: uppercase !important;
    color: var(--az-cc-black) !important;
    margin: 0 0 24px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid var(--az-cc-line) !important;
    position: relative;
}
.aze-newcheckout-form-wrap form.checkout .step-title::before {
    content: '';
    position: absolute;
    bottom: -1px; left: 0;
    width: 40px; height: 2px;
    background: var(--az-cc-red);
}

@media (max-width: 1024px) {
    .aze-newcheckout-form-wrap form.checkout > .row,
    .aze-newcheckout-form-wrap form.checkout .row {
        grid-template-columns: 1fr !important;
    }
    .aze-newcheckout-form-wrap form.checkout .col-md-7,
    .aze-newcheckout-form-wrap form.checkout .col-md-5 {
        grid-column: 1 !important;
    }
}

@media (max-width: 1024px) {
    .aze-newcheckout-form-wrap form.checkout {
        grid-template-columns: 1fr !important;
    }
}

/* Customer details card */
.aze-newcheckout-form-wrap #customer_details {
    background: #fff !important;
    border: 1px solid var(--az-cc-line) !important;
    border-radius: 18px !important;
    box-shadow: var(--az-cc-shadow) !important;
    padding: 36px !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}
.aze-newcheckout-form-wrap #customer_details .col-1,
.aze-newcheckout-form-wrap #customer_details .col-2 {
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 0 8px !important;
}

/* Section headings */
.aze-newcheckout-form-wrap h3,
.aze-newcheckout-form-wrap #order_review_heading {
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.24em !important;
    text-transform: uppercase !important;
    color: var(--az-cc-black) !important;
    margin: 0 0 24px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid var(--az-cc-line) !important;
    position: relative;
}
.aze-newcheckout-form-wrap h3::before,
.aze-newcheckout-form-wrap #order_review_heading::before {
    content: '';
    position: absolute;
    bottom: -1px; left: 0;
    width: 40px; height: 2px;
    background: var(--az-cc-red);
}
.aze-newcheckout-form-wrap .woocommerce-shipping-fields,
.aze-newcheckout-form-wrap .woocommerce-additional-fields {
    margin-top: 32px !important;
    padding-top: 28px !important;
    border-top: 1px solid var(--az-cc-line) !important;
}

/* ───── Shipping method výber — moderné klikateľné KARTY s hoverom ───── */
.aze-newcheckout-form-wrap ul#shipping_method,
.aze-newcheckout-form-wrap .woocommerce-shipping-methods {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}
.aze-newcheckout-form-wrap ul#shipping_method li,
.aze-newcheckout-form-wrap .woocommerce-shipping-methods li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1.5px solid var(--az-cc-line) !important;
    border-radius: 12px !important;
    background: #fff !important;
    transition: all 200ms cubic-bezier(0.4,0,0.2,1) !important;
    display: flex !important;
    flex-wrap: wrap !important;
    overflow: hidden !important;
}
.aze-newcheckout-form-wrap ul#shipping_method li:hover {
    border-color: var(--az-cc-line-2) !important;
    box-shadow: 0 4px 14px rgba(20,20,20,0.05) !important;
}
.aze-newcheckout-form-wrap ul#shipping_method li:has(input:checked) {
    border-color: var(--az-cc-red) !important;
    background: rgba(var(--aze-brand-rgb), 0.04) !important;
    box-shadow: 0 0 0 1px var(--az-cc-red) inset !important;
}

/* Skry natívne radio, výber riešime celou kartou + okrúhlym indikátorom */
.aze-newcheckout-form-wrap input.shipping_method,
.aze-newcheckout-form-wrap ul#shipping_method input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    pointer-events: none !important;
}

/* Label = celá klikateľná plocha karty */
.aze-newcheckout-form-wrap ul#shipping_method li label,
.aze-newcheckout-form-wrap .woocommerce-shipping-methods li label {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 18px 22px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--az-cc-black) !important;
    line-height: 1.45 !important;
    cursor: pointer !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
/* Ikonka v zaoblenom chipe (background-image; šedá → terracotta pri výbere) */
.aze-newcheckout-form-wrap ul#shipping_method li label::before {
    content: '' !important;
    flex-shrink: 0;
    width: 44px; height: 44px;
    border-radius: 12px;
    background-color: var(--az-cc-cream);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px 24px;
    transition: background-color 200ms ease;
    /* default: kamión (doručenie) — šedá */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239c9c95' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='3' width='15' height='13'/%3E%3Cpolygon points='16 8 20 8 23 11 23 16 16 16 16 8'/%3E%3Ccircle cx='5.5' cy='18.5' r='2.5'/%3E%3Ccircle cx='18.5' cy='18.5' r='2.5'/%3E%3C/svg%3E");
}
.aze-newcheckout-form-wrap ul#shipping_method li:has(input[value*=":pickup"]) label::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239c9c95' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21V9l9-5 9 5v12'/%3E%3Cpath d='M2 21h20'/%3E%3Cpath d='M7 21v-7h10v7'/%3E%3Cpath d='M7 17h10'/%3E%3Cpath d='M10 14v-3h4v3'/%3E%3C/svg%3E");
}
.aze-newcheckout-form-wrap ul#shipping_method li:has(input[value*=":individual"]) label::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239c9c95' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='16' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'/%3E%3C/svg%3E");
}
/* Vybraná karta → chip terracotta tint + terracotta ikonka */
.aze-newcheckout-form-wrap ul#shipping_method li:has(input:checked) label::before {
    background-color: rgba(var(--aze-brand-rgb), 0.12);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f04e23' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='3' width='15' height='13'/%3E%3Cpolygon points='16 8 20 8 23 11 23 16 16 16 16 8'/%3E%3Ccircle cx='5.5' cy='18.5' r='2.5'/%3E%3Ccircle cx='18.5' cy='18.5' r='2.5'/%3E%3C/svg%3E");
}
.aze-newcheckout-form-wrap ul#shipping_method li:has(input[value*=":pickup"]:checked) label::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f04e23' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21V9l9-5 9 5v12'/%3E%3Cpath d='M2 21h20'/%3E%3Cpath d='M7 21v-7h10v7'/%3E%3Cpath d='M7 17h10'/%3E%3Cpath d='M10 14v-3h4v3'/%3E%3C/svg%3E");
}
.aze-newcheckout-form-wrap ul#shipping_method li:has(input[value*=":individual"]:checked) label::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f04e23' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='16' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'/%3E%3C/svg%3E");
}
.aze-newcheckout-form-wrap ul#shipping_method li label .woocommerce-Price-amount {
    color: var(--az-cc-red) !important;
    font-weight: 700 !important;
    margin-left: auto;
}
/* ───── Order review tabuľka ako FLEX (spoľahlivá plná šírka pre dopravu) ───── */
.aze-newcheckout-form-wrap #order_review table.shop_table {
    display: block !important;
    width: 100% !important;
}
.aze-newcheckout-form-wrap #order_review table.shop_table thead { display: none !important; }
.aze-newcheckout-form-wrap #order_review table.shop_table tbody,
.aze-newcheckout-form-wrap #order_review table.shop_table tfoot {
    display: block !important;
    width: 100% !important;
}
/* Bežné riadky (produkty, subtotal, total) = label vľavo, hodnota vpravo.
   Riadok dopravy (.woocommerce-shipping-totals) je VYLÚČENÝ — ten je blokový full-width. */
.aze-newcheckout-form-wrap #order_review table.shop_table tbody > tr,
.aze-newcheckout-form-wrap #order_review table.shop_table tfoot > tr:not(.woocommerce-shipping-totals) {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
}
.aze-newcheckout-form-wrap #order_review table.shop_table tbody > tr > td,
.aze-newcheckout-form-wrap #order_review table.shop_table tfoot > tr:not(.woocommerce-shipping-totals) > th,
.aze-newcheckout-form-wrap #order_review table.shop_table tfoot > tr:not(.woocommerce-shipping-totals) > td {
    display: block !important;
}
.aze-newcheckout-form-wrap #order_review table.shop_table tbody > tr > td.product-name,
.aze-newcheckout-form-wrap #order_review table.shop_table tfoot > tr:not(.woocommerce-shipping-totals) > th {
    flex: 1 1 auto !important;
    text-align: left !important;
    min-width: 0;
}
.aze-newcheckout-form-wrap #order_review table.shop_table tbody > tr > td.product-total,
.aze-newcheckout-form-wrap #order_review table.shop_table tfoot > tr:not(.woocommerce-shipping-totals) > td {
    text-align: right !important;
    white-space: nowrap;
    flex: 0 0 auto !important;
}

/* Riadok dopravy = stack na celú šírku („SENDUNG" nadpis + karty) */
.aze-newcheckout-form-wrap #order_review .woocommerce-shipping-totals {
    display: block !important;
    border-bottom: 1px solid var(--az-cc-line) !important;
}
.aze-newcheckout-form-wrap #order_review .woocommerce-shipping-totals th {
    display: none !important;
}
.aze-newcheckout-form-wrap #order_review .woocommerce-shipping-totals td {
    display: block !important;
    width: 100% !important;
    padding: 18px 0 !important;
    margin: 0 !important;
    border: none !important;
    text-align: left !important;
    box-sizing: border-box !important;
}
/* Karty na plnú šírku panela (zarovno s čiarami/subtotal) */
.aze-newcheckout-form-wrap #order_review ul#shipping_method {
    width: 100% !important;
    box-sizing: border-box !important;
}
.aze-newcheckout-form-wrap #order_review ul#shipping_method > li {
    width: 100% !important;
    box-sizing: border-box !important;
}
.aze-newcheckout-form-wrap #order_review table.shop_table {
    width: 100% !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
}

/* Dropdown predajne pod osobným odberom — vnútri karty, pod labelom */
.aze-pickup-store-wrap {
    flex-basis: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 22px 18px 22px !important;
    box-sizing: border-box;
    text-align: left !important;
}
.aze-pickup-store-wrap::before {
    content: 'Filiale wählen:';
    display: block;
    text-align: left !important;
    font-size: 12px;
    font-weight: 600;
    color: var(--az-cc-muted);
    margin-bottom: 6px;
}
.aze-pickup-store-wrap select.aze-pickup-store {
    display: block !important;
    width: 100% !important;
    max-width: 360px !important;
    height: 46px !important;
    padding: 0 40px 0 14px !important;
    border: 1.5px solid var(--az-cc-line-2) !important;
    border-radius: 10px !important;
    background-color: #fff !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23141414' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: var(--az-cc-black) !important;
    cursor: pointer !important;
    line-height: 44px !important;
    box-shadow: none !important;
}
.aze-pickup-store-wrap select.aze-pickup-store:focus {
    border-color: var(--az-cc-red) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(var(--aze-brand-rgb), 0.12) !important;
}

/* Form fields */
.aze-newcheckout-form-wrap .form-row {
    margin: 0 0 16px !important;
    padding: 0 !important;
}
.aze-newcheckout-form-wrap .form-row label {
    display: block !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--az-cc-black) !important;
    margin-bottom: 6px !important;
    letter-spacing: 0.02em !important;
    text-transform: none !important;
}
.aze-newcheckout-form-wrap .required {
    color: var(--az-cc-red) !important;
    text-decoration: none !important;
}
.aze-newcheckout-form-wrap .form-row input.input-text,
.aze-newcheckout-form-wrap .form-row textarea,
.aze-newcheckout-form-wrap .form-row select,
.aze-newcheckout-form-wrap .select2-container .select2-selection {
    width: 100% !important;
    height: 50px !important;
    padding: 0 16px !important;
    border: 1.5px solid var(--az-cc-line-2) !important;
    border-radius: 12px !important;
    background: #fff !important;
    font-size: 14px !important;
    color: var(--az-cc-black) !important;
    box-shadow: none !important;
    transition: all 180ms ease !important;
    line-height: 46px !important;
    font-family: inherit !important;
}
.aze-newcheckout-form-wrap .form-row textarea {
    height: auto !important;
    min-height: 100px !important;
    padding: 14px 16px !important;
    line-height: 1.5 !important;
}
.aze-newcheckout-form-wrap .form-row input.input-text:focus,
.aze-newcheckout-form-wrap .form-row textarea:focus,
.aze-newcheckout-form-wrap .form-row select:focus,
.aze-newcheckout-form-wrap .select2-container--focus .select2-selection,
.aze-newcheckout-form-wrap .select2-container--open .select2-selection {
    border-color: var(--az-cc-red) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(var(--aze-brand-rgb), 0.12) !important;
}

/* Select2 */
.aze-newcheckout-form-wrap .select2-container .select2-selection--single {
    height: 50px !important;
    padding: 0 16px !important;
}
.aze-newcheckout-form-wrap .select2-container .select2-selection__rendered {
    line-height: 46px !important;
    padding: 0 !important;
    color: var(--az-cc-black) !important;
    font-size: 14px !important;
}
.aze-newcheckout-form-wrap .select2-container .select2-selection__arrow {
    height: 48px !important;
    top: 0 !important;
    right: 10px !important;
}

/* First/Last name row */
.aze-newcheckout-form-wrap #billing_first_name_field,
.aze-newcheckout-form-wrap #billing_last_name_field,
.aze-newcheckout-form-wrap #shipping_first_name_field,
.aze-newcheckout-form-wrap #shipping_last_name_field {
    display: inline-block;
    width: calc(50% - 8px) !important;
    vertical-align: top;
}
.aze-newcheckout-form-wrap #billing_first_name_field,
.aze-newcheckout-form-wrap #shipping_first_name_field {
    margin-right: 14px !important;
}

/* Ship to different */
.aze-newcheckout-form-wrap #ship-to-different-address label {
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--az-cc-text) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    cursor: pointer;
    border-bottom: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.aze-newcheckout-form-wrap #ship-to-different-address label::before { display: none !important; }
.aze-newcheckout-form-wrap #ship-to-different-address input[type="checkbox"] {
    width: 20px;
    height: 20px;
    accent-color: var(--az-cc-red);
    margin: 0;
}

/* Order review column (right) — XStore wraps in .col-md-5.cart-order-...
   Remove any borders/backgrounds on the wrapper itself; styling is on
   inner heading + #order_review. */
.aze-newcheckout-form-wrap form.checkout .col-md-5,
.aze-newcheckout-form-wrap form.checkout [class*="cart-order"],
.aze-newcheckout-form-wrap form.checkout .order-review,
.aze-newcheckout-form-wrap form.checkout .woocommerce-checkout-review-order {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.aze-newcheckout-form-wrap #order_review_heading {
    background: #fff !important;
    border: 1px solid var(--az-cc-line) !important;
    border-bottom: none !important;
    border-radius: 18px 18px 0 0 !important;
    padding: 28px 32px 16px !important;
    margin: 0 !important;
    box-shadow: 0 -4px 12px rgba(20, 20, 20, 0.04) !important;
}
.aze-newcheckout-form-wrap #order_review {
    background: #fff !important;
    border: 1px solid var(--az-cc-line) !important;
    border-top: none !important;
    border-radius: 0 0 18px 18px !important;
    padding: 0 32px 32px !important;
    box-shadow: 0 8px 24px rgba(20, 20, 20, 0.04) !important;
    position: sticky;
    top: 24px;
}
.aze-newcheckout-form-wrap #order_review table.shop_table {
    border: none !important;
    margin: 0 !important;
    width: 100% !important;
}
.aze-newcheckout-form-wrap #order_review table thead { display: none !important; }
.aze-newcheckout-form-wrap #order_review table tbody td {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid var(--az-cc-line) !important;
    padding: 18px 0 !important;
    font-size: 14px !important;
    color: var(--az-cc-text) !important;
    vertical-align: middle !important;
}
.aze-newcheckout-form-wrap #order_review table tbody td.product-name {
    font-weight: 700 !important;
    color: var(--az-cc-black) !important;
    font-size: 15px !important;
    padding: 14px 0 !important;
}
.aze-newcheckout-form-wrap #order_review table .product-quantity,
.aze-newcheckout-form-wrap #order_review table .aze-co-prod-qty {
    color: var(--az-cc-muted) !important;
    font-weight: 500 !important;
    margin-left: 8px !important;
    font-size: 13px;
    display: inline-block;
}

/* Skry per-produktový "Subtotal:" v order review (duplicita s celkovým Subtotal) */
.aze-newcheckout-form-wrap #order_review table tbody .product-subtotal,
.aze-newcheckout-form-wrap #order_review table tbody .cart-item-subtotal,
.aze-newcheckout-form-wrap #order_review table tbody .item-subtotal,
.aze-newcheckout-form-wrap #order_review table tbody .et-cart-item-subtotal,
.aze-newcheckout-form-wrap #order_review table tbody dd.subtotal {
    display: none !important;
}

/* Product row with thumbnail (added by PHP filter prepend_thumbnail) */
.aze-co-prod-row {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100%;
}
.aze-co-prod-thumb {
    flex-shrink: 0;
    width: 56px !important;
    height: 56px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background: var(--az-cc-cream);
    border: 1px solid var(--az-cc-line);
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
}
.aze-co-prod-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
.aze-co-prod-name {
    flex: 1;
    min-width: 0;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--az-cc-black) !important;
    line-height: 1.35 !important;
    word-wrap: break-word;
}
.aze-newcheckout-form-wrap #order_review table tbody td.product-total {
    text-align: right !important;
    font-weight: 700 !important;
    color: var(--az-cc-black) !important;
    font-size: 15px !important;
}
.aze-newcheckout-form-wrap #order_review table tfoot th,
.aze-newcheckout-form-wrap #order_review table tfoot td {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid var(--az-cc-line) !important;
    padding: 14px 0 !important;
    font-size: 14px !important;
}
.aze-newcheckout-form-wrap #order_review table tfoot th {
    font-weight: 500 !important;
    color: var(--az-cc-muted) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-align: left !important;
}
.aze-newcheckout-form-wrap #order_review table tfoot td {
    text-align: right !important;
    font-weight: 700 !important;
    color: var(--az-cc-black) !important;
}
.aze-newcheckout-form-wrap #order_review .order-total th,
.aze-newcheckout-form-wrap #order_review .order-total td {
    font-size: 14px !important;
    padding-top: 20px !important;
    border-bottom: none !important;
}
.aze-newcheckout-form-wrap #order_review .order-total th {
    font-weight: 700 !important;
    color: var(--az-cc-black) !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
}
.aze-newcheckout-form-wrap #order_review .order-total td {
    font-size: 26px !important;
    color: var(--az-cc-red) !important;
}
.aze-newcheckout-form-wrap #order_review .order-total td bdi {
    color: var(--az-cc-red) !important;
    font-weight: 700 !important;
}

/* Payment methods */
.aze-newcheckout-form-wrap #payment {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    margin-top: 20px;
}
.aze-newcheckout-form-wrap #payment ul.payment_methods {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 0 20px !important;
    list-style: none !important;
}
.aze-newcheckout-form-wrap #payment ul.payment_methods li {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid var(--az-cc-line) !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 16px 0 !important;
    transition: all 200ms ease !important;
    list-style: none !important;
}
.aze-newcheckout-form-wrap #payment ul.payment_methods li:last-child {
    border-bottom: none !important;
}
.aze-newcheckout-form-wrap #payment ul.payment_methods li:has(input[type="radio"]:checked) {
    border-color: var(--az-cc-line-2) !important;
    box-shadow: none !important;
    background: #fff !important;
}
.aze-newcheckout-form-wrap #payment ul.payment_methods li:hover {
    border-color: var(--az-cc-line-2) !important;
}
.aze-newcheckout-form-wrap #payment ul.payment_methods li label {
    font-weight: 700 !important;
    color: var(--az-cc-black) !important;
    font-size: 14px !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}
.aze-newcheckout-form-wrap #payment ul.payment_methods li label img {
    max-height: 24px !important;
    margin-left: 8px !important;
}
/* Modern square radio (replaces default round radio) */
.aze-newcheckout-form-wrap #payment ul.payment_methods li input[type="radio"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    width: 22px !important;
    height: 22px !important;
    border: 2px solid var(--az-cc-line-2) !important;
    border-radius: 6px !important;
    background: #fff !important;
    cursor: pointer !important;
    position: relative !important;
    transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1) !important;
    margin: 0 10px 0 0 !important;
    flex-shrink: 0 !important;
    vertical-align: middle !important;
    box-shadow: none !important;
}
.aze-newcheckout-form-wrap #payment ul.payment_methods li input[type="radio"]:hover {
    border-color: var(--az-cc-red) !important;
}
.aze-newcheckout-form-wrap #payment ul.payment_methods li input[type="radio"]:checked {
    background: var(--az-cc-red) !important;
    border-color: var(--az-cc-red) !important;
    box-shadow: 0 0 0 3px rgba(var(--aze-brand-rgb), 0.18) !important;
}
.aze-newcheckout-form-wrap #payment ul.payment_methods li input[type="radio"]:checked::after {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 10px !important;
    height: 5px !important;
    border-left: 2px solid #fff !important;
    border-bottom: 2px solid #fff !important;
    transform: translate(-50%, -70%) rotate(-45deg) !important;
    background: transparent !important;
    border-radius: 0 !important;
}
/* Modernize checkbox too (e.g. "Save card", "Terms") */
.aze-newcheckout-form-wrap input[type="checkbox"],
.aze-newcart input[type="checkbox"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 20px !important;
    height: 20px !important;
    border: 2px solid var(--az-cc-line-2) !important;
    border-radius: 6px !important;
    background: #fff !important;
    cursor: pointer !important;
    position: relative !important;
    transition: all 200ms ease !important;
    flex-shrink: 0;
    vertical-align: middle;
    margin: 0 8px 0 0;
}
.aze-newcheckout-form-wrap input[type="checkbox"]:hover,
.aze-newcart input[type="checkbox"]:hover {
    border-color: var(--az-cc-red) !important;
}
.aze-newcheckout-form-wrap input[type="checkbox"]:checked,
.aze-newcart input[type="checkbox"]:checked {
    background: var(--az-cc-red) !important;
    border-color: var(--az-cc-red) !important;
}
.aze-newcheckout-form-wrap input[type="checkbox"]:checked::after,
.aze-newcart input[type="checkbox"]:checked::after {
    content: '' !important;
    position: absolute;
    top: 50%; left: 50%;
    width: 9px;
    height: 5px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: translate(-50%, -70%) rotate(-45deg);
}
.aze-newcheckout-form-wrap #payment div.payment_box {
    background: var(--az-cc-cream) !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 18px !important;
    margin: 14px 0 0 !important;
    font-size: 13px !important;
    color: var(--az-cc-text) !important;
    line-height: 1.5 !important;
}
.aze-newcheckout-form-wrap #payment div.payment_box::before { display: none !important; }

/* Fallback: skry payment_box pre nezvolené metódy (JS to ešte forsuje inline) */
.aze-newcheckout-form-wrap #payment ul.payment_methods > li .payment_box { display: none; }
.aze-newcheckout-form-wrap #payment ul.payment_methods > li:has(input[name="payment_method"]:checked) .payment_box { display: block; }

/* Stripe specifics */
.aze-newcheckout-form-wrap .wc-stripe-elements-field,
.aze-newcheckout-form-wrap .StripeElement {
    background: #fff !important;
    border: 1.5px solid var(--az-cc-line-2) !important;
    border-radius: 10px !important;
    padding: 14px 16px !important;
    transition: all 180ms ease !important;
}
.aze-newcheckout-form-wrap .StripeElement--focus {
    border-color: var(--az-cc-red) !important;
    box-shadow: 0 0 0 3px rgba(var(--aze-brand-rgb), 0.12) !important;
}

/* Terms */
.aze-newcheckout-form-wrap .woocommerce-terms-and-conditions-wrapper {
    margin-bottom: 18px;
    font-size: 13px;
    color: var(--az-cc-muted);
    line-height: 1.5;
}
.aze-newcheckout-form-wrap .woocommerce-form__label-for-checkbox {
    display: flex !important;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    font-size: 13px;
    color: var(--az-cc-text);
}
.aze-newcheckout-form-wrap input[type="checkbox"] {
    accent-color: var(--az-cc-red);
    width: 18px;
    height: 18px;
    margin-top: 2px;
    flex-shrink: 0;
}

/* ═══════════════════════════════════════════════════════════
   Right column: Order review + CTA tvoria JEDNU vizuálnu kartu
   ═══════════════════════════════════════════════════════════ */

/* V 3-col móde: #order_review_heading + #order_review + .aze-co-order-cta
   tvoria ONE seamless karta. Removeneme sticky aby CTA nezostalo dole oddelene. */
.aze-newcheckout-form-wrap form.checkout .row.aze-co-3col .col-md-5 {
    /* Sticky aplikujeme na celý stĺpec, nie na jednotlivé children */
    position: sticky;
    top: 24px;
}
.aze-newcheckout-form-wrap form.checkout .row.aze-co-3col .col-md-5 #order_review_heading {
    border-radius: 18px 18px 0 0 !important;
    border-bottom: none !important;
    box-shadow: none !important;
    margin: 0 !important;
}
.aze-newcheckout-form-wrap form.checkout .row.aze-co-3col .col-md-5 #order_review {
    border-radius: 0 !important;
    border-top: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
    padding: 0 32px 18px !important;
    position: static !important;
}

/* Order CTA section — joins seamlessly under #order_review */
.aze-newcheckout-form-wrap .aze-co-order-cta {
    background: #fff;
    border: 1px solid var(--az-cc-line);
    border-top: none;
    border-radius: 0 0 18px 18px;
    padding: 18px 32px 28px;
    margin: 0;
}

/* Combined shadow on the unified card (heading + order_review + cta) */
.aze-newcheckout-form-wrap form.checkout .row.aze-co-3col .col-md-5 {
    box-shadow: 0 8px 24px rgba(20, 20, 20, 0.04);
    border-radius: 18px;
    background: transparent;
}

/* Privacy text — VYPNUTÝ (per request) */
.aze-newcheckout-form-wrap .aze-co-order-cta .woocommerce-privacy-policy-text,
.aze-newcheckout-form-wrap .woocommerce-privacy-policy-text {
    display: none !important;
}

/* Poradie v CTA boxe: TOTAL hore, button, AGB checkbox dole */
.aze-newcheckout-form-wrap .aze-co-order-cta {
    display: flex;
    flex-direction: column;
}
.aze-newcheckout-form-wrap .aze-co-order-cta .aze-co-cta-total { order: 0; }
.aze-newcheckout-form-wrap .aze-co-order-cta #place_order {
    order: 1;
    margin-top: 4px !important;
}
.aze-newcheckout-form-wrap .aze-co-order-cta .woocommerce-terms-and-conditions-wrapper,
.aze-newcheckout-form-wrap .aze-co-order-cta .aze-agb-terms-box {
    order: 2;
    margin: 16px 0 0;
}

/* Stripe express wrappery (Apple Pay / GPay) — rovnaký slot ako place_order (pod TOTAL).
   .aze-co-express-moved pridáva JS všetkým presunutým express containerom. */
.aze-newcheckout-form-wrap .aze-co-order-cta #wc-stripe-payment-request-wrapper,
.aze-newcheckout-form-wrap .aze-co-order-cta #wc-stripe-express-checkout-element,
.aze-newcheckout-form-wrap .aze-co-order-cta .aze-co-express-moved {
    order: 1;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    width: 100% !important;
}
/* "— OR —" separator je v CTA zbytočný (metóda už je zvolená vyššie) */
.aze-newcheckout-form-wrap #wc-stripe-payment-request-button-separator {
    display: none !important;
}

/* CTA žije teraz VNÚTRI payment karty (.aze-co-middle) — bez vlastného boxu */
.aze-newcheckout-form-wrap .aze-co-middle .aze-co-order-cta {
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 22px 0 0;
    margin: 22px 0 0;
    border-top: 1px solid var(--az-cc-line);
    box-shadow: none;
}

/* TOTAL mirror — riadok ako v review tabuľke (label čierny, suma terracotta) */
.aze-newcheckout-form-wrap .aze-co-cta-total {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 14px;
    margin: 0 0 18px;
}
.aze-newcheckout-form-wrap .aze-co-cta-total-label {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--az-cc-black);
}
.aze-newcheckout-form-wrap .aze-co-cta-total-value {
    font-size: 24px;
    font-weight: 800;
    color: var(--az-cc-red);
    letter-spacing: -.02em;
    text-align: right;
}
.aze-newcheckout-form-wrap .aze-co-cta-total-value .woocommerce-Price-amount {
    color: var(--az-cc-red) !important;
    font-weight: 800 !important;
}
.aze-newcheckout-form-wrap .aze-co-cta-total-value small,
.aze-newcheckout-form-wrap .aze-co-cta-total-value .tax_label,
.aze-newcheckout-form-wrap .aze-co-cta-total-value .includes_tax {
    font-size: 11px;
    font-weight: 600;
    color: var(--az-cc-muted);
    letter-spacing: .04em;
}

/* ═══════════════════════════════════════════════════════════
   WC NOTICES (error / message / info) — platba zlyhala, validačné
   chyby, kupóny. Globálne pre checkout + cart (WC ich vkladá do
   rôznych wrapperov, nielen do nášho form-wrapu).
   ═══════════════════════════════════════════════════════════ */
.woocommerce-checkout .woocommerce-NoticeGroup,
.woocommerce-cart .woocommerce-NoticeGroup,
.aze-newcheckout-form-wrap .woocommerce-NoticeGroup {
    display: block !important;
    width: 100% !important;
    margin: 0 0 22px !important;
}
.woocommerce-checkout ul.woocommerce-error,
.woocommerce-cart ul.woocommerce-error,
.aze-newcheckout-form-wrap ul.woocommerce-error,
.woocommerce-checkout .woocommerce-error,
.woocommerce-cart .woocommerce-error,
.aze-newcheckout-form-wrap .woocommerce-error {
    display: block !important;
    list-style: none !important;
    margin: 0 0 22px !important;
    padding: 18px 22px 18px 56px !important;
    background: #fff5f3 !important;
    border: 1px solid rgba(var(--aze-brand-dark-rgb), .35) !important;
    border-left: 4px solid var(--aze-brand-dark) !important;
    border-radius: 12px !important;
    position: relative !important;
    box-shadow: 0 8px 24px -10px rgba(var(--aze-brand-dark-rgb), .18) !important;
    animation: aze-co-error-flash .35s ease;
    overflow: visible !important;
}
/* Vlastná ikonka (kruh s !) — Woo default ::before prepíšeme úplne */
.woocommerce-checkout .woocommerce-error::before,
.woocommerce-cart .woocommerce-error::before,
.aze-newcheckout-form-wrap .woocommerce-error::before {
    content: '!' !important;
    position: absolute !important;
    left: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    background: var(--aze-brand-dark) !important;
    color: #fff !important;
    border-radius: 50% !important;
    font-family: 'Instrument Sans', system-ui, sans-serif !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 24px !important;
    text-align: center !important;
}
.woocommerce-checkout .woocommerce-error li,
.woocommerce-cart .woocommerce-error li,
.aze-newcheckout-form-wrap .woocommerce-error li {
    margin: 0 0 6px !important;
    padding: 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #7a2510 !important;
    line-height: 1.55 !important;
    list-style: none !important;
    background: none !important;
}
.woocommerce-checkout .woocommerce-error li:last-child,
.woocommerce-cart .woocommerce-error li:last-child,
.aze-newcheckout-form-wrap .woocommerce-error li:last-child { margin-bottom: 0 !important; }
.woocommerce-checkout .woocommerce-error li::before,
.woocommerce-cart .woocommerce-error li::before,
.aze-newcheckout-form-wrap .woocommerce-error li::before { content: none !important; display: none !important; }
.woocommerce-checkout .woocommerce-error a,
.woocommerce-cart .woocommerce-error a,
.aze-newcheckout-form-wrap .woocommerce-error a {
    color: var(--aze-brand-dark) !important;
    font-weight: 700 !important;
}
@keyframes aze-co-error-flash {
    0%   { transform: translateY(-6px); opacity: 0; }
    100% { transform: translateY(0); opacity: 1; }
}

/* Originálny TOTAL riadok v review tabuľke skrytý — žije už len v payment karte.
   Prvý selektor MUSÍ prebiť flex pravidlo
   `...table.shop_table tfoot > tr:not(.woocommerce-shipping-totals) { display:flex !important }`
   (špecificita 1id/3cls/3el) — preto plná cesta + .order-total navyše. */
.aze-newcheckout-form-wrap #order_review table.shop_table tfoot > tr.order-total:not(.woocommerce-shipping-totals),
.aze-newcheckout-form-wrap #order_review table.shop_table tfoot > tr.order-total,
.aze-newcheckout-form-wrap #order_review tr.order-total,
.aze-newcheckout-form-wrap #order_review .order-total,
.aze-newcheckout-form-wrap .woocommerce-checkout-review-order-table .order-total,
.aze-newcheckout-form-wrap form.checkout tr.order-total {
    display: none !important;
}
/* Mirror v payment karte ale skrytý NIKDY nie je */
.aze-newcheckout-form-wrap .aze-co-cta-total { display: flex !important; }

/* "Uložiť kartu" (Stripe save card) — medzera medzi checkboxom a labelom */
.aze-newcheckout-form-wrap .woocommerce-SavedPaymentMethods-saveNew,
.aze-newcheckout-form-wrap .wc-stripe-save-payment-method,
.aze-newcheckout-form-wrap p.form-row.woocommerce-SavedPaymentMethods-saveNew,
.aze-newcheckout-form-wrap .payment_box p:last-child:has(input[type="checkbox"]) {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 14px 0 0 !important;
}
.aze-newcheckout-form-wrap .woocommerce-SavedPaymentMethods-saveNew label,
.aze-newcheckout-form-wrap .wc-stripe-save-payment-method label {
    margin: 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--az-cc-text) !important;
    cursor: pointer;
}
.aze-newcheckout-form-wrap .woocommerce-SavedPaymentMethods-saveNew input[type="checkbox"],
.aze-newcheckout-form-wrap .wc-stripe-save-payment-method input[type="checkbox"] {
    margin: 0 12px 0 0 !important;
}

/* Väčšia medzera medzi checkboxom a textom (napr. „Karte speichern") v platobnom boxe */
.aze-newcheckout-form-wrap #payment .payment_box input[type="checkbox"] {
    margin-right: 12px !important;
}
.aze-newcheckout-form-wrap #payment .payment_box p:has(> input[type="checkbox"]) {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
}
.aze-newcheckout-form-wrap #payment .payment_box p:has(> input[type="checkbox"]) input[type="checkbox"] {
    margin: 0 !important;
}

/* Stripe „Karte speichern" — checkbox v label.checkbox, text v label.save-source-label */
.aze-newcheckout-form-wrap #payment .wc-stripe-save-source {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}
.aze-newcheckout-form-wrap #payment .wc-stripe-save-source label.checkbox {
    margin: 0 12px 0 0 !important;
    display: inline-flex !important;
    align-items: center !important;
}
.aze-newcheckout-form-wrap #payment .wc-stripe-save-source label.save-source-label {
    margin: 0 !important;
}

/* Place Order — bez drop shadow (klient nechce glow) */
.aze-newcheckout-form-wrap .aze-co-order-cta #place_order,
.aze-newcheckout-form-wrap .aze-co-order-cta #place_order:hover,
.aze-newcheckout-form-wrap #place_order {
    box-shadow: none !important;
}

/* Privacy text — posunúť nižšie (väčšia medzera od buttonu) */
.aze-newcheckout-form-wrap .aze-co-order-cta .woocommerce-privacy-policy-text {
    margin: 22px 0 0 !important;
}

/* PLACE ORDER */
.aze-newcheckout-form-wrap #place_order,
.aze-newcheckout-form-wrap button#place_order {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100% !important;
    min-height: 64px !important;
    height: auto !important;       /* nech rastie ak text wrapne */
    padding: 14px 24px !important; /* vertikálny padding namiesto rigid heightu */
    background: var(--az-cc-red) !important;
    color: #fff !important;
    text-align: center !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    border-radius: 14px !important;
    border: none !important;
    box-shadow: 0 16px 36px rgba(var(--aze-brand-rgb), 0.36) !important;
    transition: all 240ms ease !important;
    margin: 20px 0 0 !important;
    cursor: pointer !important;
    line-height: 1.25 !important;  /* normálna výška riadku — wrap funguje */
    word-break: normal !important;
    white-space: normal !important;
    position: relative;
    overflow: hidden;
}

/* Mobile — menší font + menší letter-spacing, aby sa text "JETZT KOSTENPFLICHTIG BESTELLEN" zmestil */
@media (max-width: 720px) {
    .aze-newcheckout-form-wrap #place_order,
    .aze-newcheckout-form-wrap button#place_order {
        font-size: 13px !important;
        letter-spacing: 0.08em !important;
        padding: 16px 18px !important;
        min-height: 56px !important;
        border-radius: 12px !important;
        box-shadow: 0 10px 22px rgba(var(--aze-brand-rgb), 0.28) !important;
    }
}
@media (max-width: 420px) {
    .aze-newcheckout-form-wrap #place_order,
    .aze-newcheckout-form-wrap button#place_order {
        font-size: 12px !important;
        letter-spacing: 0.05em !important;
        padding: 14px 14px !important;
    }
}
.aze-newcheckout-form-wrap #place_order:hover {
    background: var(--aze-brand-dark) !important;
    transform: translateY(-2px);
    box-shadow: 0 20px 44px rgba(var(--aze-brand-rgb), 0.48) !important;
}
.aze-newcheckout-form-wrap #place_order:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    box-shadow: none !important;
    transform: none !important;
}

/* ───── Coupon toggle — kompaktný, nenápadný (nie veľký banner) ───── */
.aze-newcheckout-form-wrap .woocommerce-form-coupon-toggle {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 0 18px !important;
    grid-column: 1 / -1;
}
.aze-newcheckout-form-wrap .woocommerce-form-coupon-toggle .woocommerce-info {
    background: var(--az-cc-cream) !important;
    border: none !important;
    border-left: none !important;
    border-radius: 10px !important;
    padding: 12px 16px !important;
    box-shadow: none !important;
    margin: 0 !important;
    font-size: 13px !important;
    color: var(--az-cc-text) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    width: auto !important;
}
.aze-newcheckout-form-wrap .woocommerce-form-coupon-toggle .woocommerce-info::before {
    display: none !important;
}

/* ───── Ostatné info notice (napr. "Versand nach...") ───── */
.aze-newcheckout-form-wrap .woocommerce-info {
    background: #fff !important;
    border: 1px solid var(--az-cc-line) !important;
    border-left: 3px solid var(--az-cc-red) !important;
    border-radius: 12px !important;
    padding: 16px 20px !important;
    color: var(--az-cc-text) !important;
    font-size: 14px !important;
    margin: 0 0 20px !important;
    box-shadow: var(--az-cc-shadow) !important;
    grid-column: 1 / -1;
}
/* WooCommerce kreslí do notice ikonu cez ::before, absolútne pozicovanú vľavo,
   a počíta s padding-left: 3.5em. My máme padding 20px + oranžový ľavý okraj,
   takže ten glyf skončil presne na prvom slove textu. Skrývame ho a notice
   dostane vlastnú SVG ikonu (nižšie). */
.aze-newcheckout-form-wrap .woocommerce-info::before,
.aze-newcheckout-form-wrap .woocommerce-message::before,
.aze-newcheckout-form-wrap .woocommerce-error::before,
.aze-newcart .woocommerce-info::before,
.aze-newcart .woocommerce-message::before,
.aze-newcart .woocommerce-error::before {
    display: none !important;
    content: none !important;
}

/* Vlastná ikona pre notice — SVG v pozadí, text má na ňu miesto.
   Selektor musí byť špecifickejší než `.aze-newcheckout-form-wrap
   .woocommerce-info { background: #fff !important }`, inak by shorthand
   background obrázok zhodil. */
.aze-newcheckout-form-wrap .woocommerce-info,
.aze-newcart .woocommerce-info {
    padding-left: 52px !important;
    background-color: #fff !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F04E23' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='16' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: 20px 17px !important;
    background-size: 19px 19px !important;
}
/* Coupon toggle je inline chip — ten ikonu ani odsadenie nechce */
.aze-newcheckout-form-wrap .woocommerce-form-coupon-toggle .woocommerce-info {
    padding-left: 16px !important;
    background-image: none !important;
}
.aze-newcheckout-form-wrap .woocommerce-info a,
.aze-newcheckout-form-wrap .woocommerce-form-coupon-toggle a {
    color: var(--az-cc-red) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}
.aze-newcheckout-form-wrap .woocommerce-form-coupon,
.aze-newcheckout-form-wrap .woocommerce-form-login {
    background: #fff !important;
    border: 1px solid var(--az-cc-line) !important;
    border-radius: 14px !important;
    padding: 24px !important;
    margin: 0 0 20px !important;
    box-shadow: var(--az-cc-shadow) !important;
    grid-column: 1 / -1;
}
.aze-newcheckout-form-wrap .woocommerce-form-coupon button,
.aze-newcheckout-form-wrap .woocommerce-form-login button {
    height: 48px !important;
    padding: 0 24px !important;
    background: var(--az-cc-black) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
}
.aze-newcheckout-form-wrap .woocommerce-form-coupon button:hover,
.aze-newcheckout-form-wrap .woocommerce-form-login button:hover {
    background: var(--az-cc-red) !important;
}

/* Notices */
.aze-newcheckout-form-wrap .woocommerce-error,
.aze-newcheckout-form-wrap .woocommerce-message,
.aze-newcart .woocommerce-error,
.aze-newcart .woocommerce-message {
    background: #fff !important;
    border-radius: 12px !important;
    padding: 16px 20px !important;
    font-size: 14px !important;
    margin: 0 0 18px !important;
    box-shadow: var(--az-cc-shadow) !important;
    list-style: none !important;
    grid-column: 1 / -1;
}
.aze-newcheckout-form-wrap .woocommerce-message,
.aze-newcart .woocommerce-message {
    border-left: 3px solid var(--az-cc-success) !important;
}
.aze-newcheckout-form-wrap .woocommerce-error,
.aze-newcart .woocommerce-error {
    border-left: 3px solid #d33 !important;
}

/* Čitateľná tmavá farba textu vo všetkých notice / error boxoch
   (Stripe/WC niekedy renderuje biely text na svetlom pozadí) */
.aze-newcheckout-form-wrap .woocommerce-error,
.aze-newcheckout-form-wrap .woocommerce-error li,
.aze-newcheckout-form-wrap .woocommerce-error p,
.aze-newcheckout-form-wrap .woocommerce-error span,
.aze-newcheckout-form-wrap .woocommerce-message,
.aze-newcheckout-form-wrap .woocommerce-message li,
.aze-newcheckout-form-wrap .woocommerce-info,
.aze-newcheckout-form-wrap .woocommerce-info li,
.aze-newcheckout-form-wrap .woocommerce-NoticeGroup,
.aze-newcheckout-form-wrap .woocommerce-NoticeGroup li,
.aze-newcheckout-form-wrap .woocommerce-NoticeGroup p,
.aze-newcart .woocommerce-error,
.aze-newcart .woocommerce-error li,
.aze-newcart .woocommerce-message,
.aze-newcart .woocommerce-message li {
    color: var(--az-cc-text) !important;
}
/* Stripe inline field errors (pod inputmi) — červené, čitateľné */
.aze-newcheckout-form-wrap .wc-stripe-error,
.aze-newcheckout-form-wrap .wc-stripe-error *,
.aze-newcheckout-form-wrap .woocommerce-error .stripe-error,
.aze-newcheckout-form-wrap [id*="stripe"][class*="error"] {
    color: #d33 !important;
}

/* Skry redundantný horný error banner v platobnej sekcii — Stripe už zobrazuje
   chyby priamo pod jednotlivými poľami (card number / dátum / CVC). */
.aze-newcheckout-form-wrap #payment .woocommerce-NoticeGroup,
.aze-newcheckout-form-wrap #payment .woocommerce-error,
.aze-newcheckout-form-wrap .payment_box .woocommerce-NoticeGroup,
.aze-newcheckout-form-wrap .payment_box .woocommerce-error,
.aze-newcheckout-form-wrap .wc-stripe-elements-field > .stripe-source-errors,
.aze-newcheckout-form-wrap .payment_box > .stripe-source-errors {
    display: none !important;
}

/* ===================== GUARANTEE STRIP ===================== */
.aze-newcheckout-guarantee {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-top: 36px;
}
@media (max-width: 900px) {
    .aze-newcheckout-guarantee { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
    .aze-newcheckout-guarantee { grid-template-columns: 1fr; }
}
.aze-newcheckout-guarantee-card {
    background: #fff;
    border: 1px solid var(--az-cc-line);
    border-radius: 16px;
    padding: 26px 22px;
    text-align: center;
    box-shadow: var(--az-cc-shadow);
    transition: all 240ms ease;
}
.aze-newcheckout-guarantee-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--az-cc-shadow-lg);
    border-color: var(--az-cc-line-2);
}
.aze-newcheckout-guarantee-icon {
    width: 56px; height: 56px;
    margin: 0 auto 14px;
    background: var(--az-cc-cream);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.aze-newcheckout-guarantee-icon svg {
    width: 26px; height: 26px;
    color: var(--az-cc-red);
}
.aze-newcheckout-guarantee-card h3 {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--az-cc-black) !important;
    margin: 0 0 6px !important;
    text-transform: none !important;
    letter-spacing: -0.005em !important;
    padding: 0 !important;
    border: none !important;
}
.aze-newcheckout-guarantee-card h3::before { display: none !important; }
.aze-newcheckout-guarantee-card p {
    margin: 0;
    font-size: 13px;
    color: var(--az-cc-muted);
    line-height: 1.5;
}

/* ===================== Mobile tweaks ===================== */
@media (max-width: 900px) {
    .aze-newcart-hero,
    .aze-newcheckout-hero {
        padding: 36px 28px 30px;
        border-radius: 16px;
    }
    .aze-newcart-h1 { font-size: 36px !important; }
    .aze-newcart-hero-top { flex-direction: column; align-items: flex-start; gap: 24px; }
    .aze-newcart-sidebar { position: static !important; }
}
@media (max-width: 600px) {
    .aze-newcart-summary { padding: 24px; }
    .aze-newcart-checkout-btn { font-size: 13px; }
}

/* Hide WC entry titles inserted by theme */
body:has(.aze-newcart) h1.entry-title,
body:has(.aze-newcheckout) h1.entry-title,
body:has(.aze-newcart) .page-title,
body:has(.aze-newcheckout) .page-title { display: none !important; }

/* ══════════════════════════════════════════════════════════
   CROSS-SELL — „Kunden kauften dazu auch" (pod košíkom)
   ══════════════════════════════════════════════════════════ */
.aze-cs {
    margin: 32px 0 8px;
    padding-top: 28px;
    border-top: 1px solid var(--az-cc-line, rgba(20,20,20,.1));
}
.aze-cs-title {
    display: flex; align-items: center; gap: 10px;
    margin: 0 0 18px; padding: 0;
    font-size: 19px; font-weight: 700; letter-spacing: -.01em;
    color: var(--az-cc-text, #141414);
}
.aze-cs-title svg { width: 20px; height: 20px; color: var(--aze-brand); flex: 0 0 auto; }

/* horizontálny carousel (CSS-only scroll-snap) */
.aze-cs-track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(190px, 1fr);
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x proximity;   /* proximity = doscrolluje na koniec + netrhá */
    padding-bottom: 8px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}
.aze-cs-track::-webkit-scrollbar { height: 6px; }
.aze-cs-track::-webkit-scrollbar-thumb { background: rgba(20,20,20,.18); border-radius: 99px; }

.aze-cs-card {
    scroll-snap-align: start;
    display: flex; flex-direction: column;
    background: #fff;
    border: 1px solid var(--az-cc-line, rgba(20,20,20,.1));
    border-radius: 14px;
    padding: 12px;
    transition: border-color .2s, box-shadow .2s;
}
.aze-cs-card:hover { border-color: rgba(var(--aze-brand-rgb), .5); box-shadow: 0 6px 20px -12px rgba(20,20,20,.25); }
.aze-cs-imgwrap {
    display: block; aspect-ratio: 1 / 1; overflow: hidden;
    border-radius: 10px; background: #fafaf8; margin-bottom: 10px;
}
.aze-cs-imgwrap img { width: 100%; height: 100%; object-fit: cover; display: block; }
.aze-cs-name {
    font-size: 13.5px; font-weight: 600; line-height: 1.35;
    color: var(--az-cc-text, #141414); text-decoration: none;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    min-height: 2.7em; margin-bottom: 6px;
}
.aze-cs-name:hover { color: var(--aze-brand); }
.aze-cs-price {
    font-size: 15px; font-weight: 700; color: var(--az-cc-text, #141414);
    margin: 0 0 12px;
}
.aze-cs-price small { display: block; font-size: 11px; font-weight: 400; color: #a8a8a0; margin-top: 1px; }
.aze-cs-btn {
    margin-top: auto;
    display: inline-flex; align-items: center; justify-content: center;
    height: 40px; padding: 0 12px;
    background: var(--az-cc-text, #141414); color: #fff !important;
    border-radius: 9px; text-decoration: none !important;
    font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
    transition: background .2s;
}
.aze-cs-btn:hover { background: var(--aze-brand); color: #fff !important; }
.aze-cs-btn--add { background: var(--aze-brand); }
.aze-cs-btn--add:hover { background: var(--aze-brand-dark); }

@media (max-width: 560px) {
    .aze-cs-track { grid-auto-columns: minmax(150px, 70%); }
    .aze-cs-title { font-size: 17px; }
}
