@CHARSET "UTF-8";

/* ============================================================
   Warenkorb & Kasse – modernes Design-System
   Schritt 1 (Warenkorb) komplett neu; Schritte 2–4 (Adresse,
   Zahlung, Bestätigung) bauen auf demselben Skin auf.
   ============================================================ */

:root{
    --c-bg:#100d06;
    --c-card:#1c1610;
    --c-card2:#241c11;
    --c-line:rgba(184,145,42,.20);
    --c-line-strong:rgba(184,145,42,.42);
    --c-gold:#b8912a;
    --c-gold-l:#d4a843;
    --c-gold-p:#f2d98a;
    --c-green:#6fd598;
    --c-text:rgba(253,244,224,.88);
    --c-text-dim:rgba(253,244,224,.55);
    --c-text-faint:rgba(253,244,224,.4);
}

/* Checkout durchgehend dunkel (Body ist sonst creme) */
body:has(.cart-wrap){ background:var(--c-bg); }

.cart-wrap{
    max-width:1180px;
    margin:0 auto;
    padding:26px 16px 70px;
    color:var(--c-text);
    font-size:1rem;
    line-height:1.55;
    background:var(--c-bg);
}
/* Zweispaltiges Layout NUR auf der Warenkorb-Seite (Schritt 1) */
.cart-wrap:has(#olCartInnerContainer){
    display:grid;
    grid-template-columns:minmax(0,1fr) 370px;
    grid-template-areas:
        "top     top"
        "items   summary"
        "upsell  upsell";
    column-gap:34px;
}
/* Schritt 2 (Adresse) und 3 (Zahlung): schmaler, zentriert */
.cart-wrap:has(#olCartMainContainer),
.cart-wrap:has(#payementMethode){ max-width:900px; }
.cart-wrap #olCartTopContainer{ grid-area:top; }
.cart-wrap #olCartInnerContainer{ grid-area:items; min-width:0; }
.cart-wrap #olCartTotalCalContainer{ grid-area:summary; min-width:0; }
.cart-wrap .ol-upsell{ grid-area:upsell; }
.cart-wrap #olSpacer20,
.cart-wrap #olCartSpacer{ display:none; }
.cart-wrap table{ border-collapse:collapse; max-width:100%; }
.cart-wrap img{ max-width:100%; height:auto; }
.cart-wrap #olCartTopContainer,
.cart-wrap #olCartInnerContainer{ background:transparent; }

/* ── Fortschritts-Stepper ──────────────────────────────── */
.cart-wrap .ol-stepper{ display:block !important; margin:2px auto 30px; max-width:720px; width:100%; }
.cart-wrap .ol-stepper-list{
    list-style:none; margin:0; padding:0; width:100%; box-sizing:border-box;
    display:flex; justify-content:space-between; position:relative;
}
.cart-wrap .ol-stepper-list::before{
    content:""; position:absolute; top:23px; left:11%; right:11%;
    height:3px; background:var(--c-line); z-index:0; border-radius:2px;
}
.cart-wrap .ol-step{
    position:relative; z-index:1; flex:1;
    display:flex; flex-direction:column; align-items:center; gap:11px;
    text-align:center;
}
.cart-wrap .ol-step-dot{
    width:46px; height:46px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-weight:800; font-size:1.15rem;
    background:#1e1609; border:2px solid var(--c-line-strong);
    color:var(--c-text-dim);
    transition:.2s;
}
.cart-wrap .ol-step-label{
    font-size:.92rem; font-weight:600; color:var(--c-text-dim);
    letter-spacing:.01em; line-height:1.2;
}
.cart-wrap .ol-step--done .ol-step-dot{
    background:linear-gradient(135deg,var(--c-gold-l),#8a6a1c);
    border-color:transparent; color:#100d06;
}
.cart-wrap .ol-step--done .ol-step-label{ color:var(--c-text); }
.cart-wrap .ol-step--current .ol-step-dot{
    background:#2a2010; border-color:var(--c-gold-l); color:var(--c-gold-p);
    box-shadow:0 0 0 5px rgba(212,168,67,.16);
}
.cart-wrap .ol-step--current .ol-step-label{ color:var(--c-gold-p); font-weight:800; }
@media (max-width:560px){
    .cart-wrap .ol-step-dot{ width:38px; height:38px; font-size:1rem; }
    .cart-wrap .ol-step-label{ font-size:.72rem; }
    .cart-wrap .ol-stepper-list::before{ top:19px; }
}

/* ── Premium-Hinweis ───────────────────────────────────── */
.cart-wrap .cart-premium-note{
    background:rgba(255,255,255,.045);
    border:1px solid var(--c-line-strong);
    border-left:4px solid var(--c-line-strong);
    border-radius:12px; padding:16px 20px; margin:0 0 22px;
    font-size:.92rem; color:var(--c-text);
    box-shadow:0 4px 18px rgba(0,0,0,.30);
}
.cart-wrap .cart-premium-note strong{ color:var(--c-gold-p); }
.cart-wrap .cart-premium-note--active{
    border-left-color:var(--c-green);
    background:linear-gradient(135deg,rgba(111,213,152,.10),rgba(111,213,152,.02));
}
.cart-wrap .cart-premium-note--active strong{ color:#8ee0ad; }

/* ── Kopfzeile "Warenkorb" (frueher Spaltenlabels) ─────── */
.cart-wrap #olCartTop{
    display:flex; align-items:center; gap:12px;
    padding:0 4px 10px; margin:0 0 6px;
    border-bottom:1px solid var(--c-line);
}
.cart-wrap #olCartTop .olCartTopCell1{
    font-family:Georgia,serif; font-size:1.15rem; font-weight:700;
    letter-spacing:.02em; color:var(--c-gold-p); flex:1 1 auto;
    text-transform:none;
}
.cart-wrap #olCartTop .olCartTopCell1::before{ content:"🛒 "; }
.cart-wrap #olCartTop .olCartTopCell2,
.cart-wrap #olCartTop .olCartTopCell3,
.cart-wrap #olCartTop .olCartTopCell4{ display:none; }

/* ── Warenkorb-Position (Karte) ────────────────────────── */
.cart-wrap .ol-ci{
    display:grid;
    grid-template-columns:96px 1fr auto;
    gap:4px 18px;
    background:var(--c-card);
    border:1px solid var(--c-line-strong);
    border-radius:16px;
    padding:16px 18px;
    margin:0 0 16px;
    box-shadow:0 4px 18px rgba(0,0,0,.38);
    transition:border-color .2s, box-shadow .2s;
}
.cart-wrap .ol-ci:hover{ border-color:var(--c-gold); box-shadow:0 8px 26px rgba(0,0,0,.45); }
.cart-wrap .ol-ci-thumb{
    grid-row:1 / span 2; width:96px; height:96px;
    display:block; border-radius:12px; overflow:hidden;
    border:1px solid var(--c-line); background:#100d06;
}
.cart-wrap .ol-ci-thumb img{ width:100%; height:100%; object-fit:cover; }
.cart-wrap .ol-ci-info{ min-width:0; align-self:start; }
.cart-wrap .ol-ci-title{
    display:block; font-family:Georgia,serif; font-weight:700;
    font-size:1.06rem; line-height:1.3; color:var(--c-gold-p);
    text-decoration:none; margin-bottom:3px;
}
.cart-wrap .ol-ci-title:hover{ color:#fff; }
.cart-wrap .ol-ci-sub{ font-size:.82rem; color:var(--c-text-dim); margin-bottom:6px; }
.cart-wrap .ol-ci-avail{ font-size:.84rem; line-height:1.4; }
.cart-wrap .ol-ci-avail [id="green"]{ color:var(--c-green); font-weight:700; }
.cart-wrap .ol-ci-avail [id="orange"]{ color:var(--c-gold-l); font-weight:700; }
.cart-wrap .ol-ci-avail [id="red"]{ color:#e0956a; font-weight:700; }

/* rechte Steuerspalte */
.cart-wrap .ol-ci-side{
    grid-column:3; grid-row:1 / span 2;
    display:flex; flex-direction:column; align-items:flex-end; gap:9px;
    justify-content:center; text-align:right;
}
.cart-wrap .ol-ci-badge{
    background:linear-gradient(135deg,rgba(111,213,152,.18),rgba(111,213,152,.06));
    border:1px solid rgba(111,213,152,.45);
    color:var(--c-green); font-weight:700; font-size:.74rem;
    padding:3px 9px; border-radius:20px;
}
.cart-wrap .ol-ci-qty{ display:flex; align-items:center; gap:8px; }
.cart-wrap .ol-ci-qty-label{ font-size:.72rem; color:var(--c-text-faint); text-transform:uppercase; letter-spacing:.06em; }
.cart-wrap .ol-ci-qty-num{ font-weight:700; color:var(--c-gold-l); font-size:1.05rem; min-width:20px; text-align:center; }
.cart-wrap .ol-ci-step{
    width:30px; height:30px; border-radius:8px; cursor:pointer;
    border:1px solid var(--c-line-strong); background:#2a2010;
    color:var(--c-gold-l); font-size:1.2rem; line-height:1;
    display:flex; align-items:center; justify-content:center;
    transition:.15s;
}
.cart-wrap .ol-ci-step:hover{ border-color:var(--c-gold-l); color:var(--c-gold-p); background:#3a2c15; }
.cart-wrap .ol-ci-prices{ display:flex; flex-direction:column; align-items:flex-end; gap:2px; }
.cart-wrap .ol-ci-unit{ font-size:.76rem; color:var(--c-text-faint); }
.cart-wrap .ol-ci-total{ font-family:Georgia,serif; font-size:1.28rem; font-weight:700; color:var(--c-gold-p); }
.cart-wrap .ol-ci-remove{
    display:inline-flex; align-items:center; gap:5px;
    background:none; border:none; cursor:pointer; padding:2px 0;
    color:var(--c-text-faint); font-size:.8rem;
    transition:color .2s;
}
.cart-wrap .ol-ci-remove:hover{ color:#ff8a8a; }
.cart-wrap .btn-aipcl-card{
    display:inline-flex; align-items:center; margin-top:10px;
    background:transparent; border:1px solid rgba(164,108,218,.5);
    color:#c79cf0; border-radius:8px; padding:7px 13px;
    font-size:.82rem; font-weight:700; cursor:pointer; transition:.2s;
}
.cart-wrap .btn-aipcl-card:hover{ background:rgba(164,108,218,.14); border-color:#a46cda; color:#efe0ff; }
.cart-wrap .btn-aipcl-card.is-added{
    background:rgba(111,213,152,.10); border-color:rgba(111,213,152,.5);
    color:#9fe6bd; cursor:default;
}
.cart-wrap .btn-aipcl-card.is-added:hover{ background:rgba(111,213,152,.10); border-color:rgba(111,213,152,.5); color:#9fe6bd; }
.cart-wrap .btn-aipcl-card[disabled]{ opacity:.9; }

@media (max-width:560px){
    .cart-wrap .ol-ci{ grid-template-columns:72px 1fr; }
    .cart-wrap .ol-ci-thumb{ width:72px; height:72px; grid-row:1 / span 2; }
    .cart-wrap .ol-ci-side{ grid-column:1 / -1; grid-row:auto; flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; text-align:left; border-top:1px solid var(--c-line); margin-top:10px; padding-top:10px; }
    .cart-wrap .ol-ci-prices{ align-items:flex-start; }
}

/* ── Bestellhinweise / Kommentar (bei den Produkten) ───── */
.cart-wrap .cart-comments-block{
    background:var(--c-card); border:1px solid var(--c-line-strong);
    border-radius:16px; padding:18px 20px; margin:16px 0 0;
    box-shadow:0 4px 18px rgba(0,0,0,.38);
}
.cart-wrap .cart-comments-block h4{
    margin:0 0 10px; color:var(--c-gold-p); font-family:Georgia,serif;
    font-size:1.05rem; font-weight:700; text-align:left;
}
.cart-wrap .cart-comments-block textarea{ width:100%; min-height:88px; margin:0; }
.cart-wrap .cart-comments-block .cart-carmos-note{ text-align:left; font-size:.86rem; color:var(--c-text-dim); margin:10px 0 0; }
.cart-wrap .cart-comments-block .cart-carmos-note a{ color:var(--c-gold-l); font-weight:700; }

/* ── Zusammenfassung / Bestell-Box (rechte Spalte) ─────── */
.cart-wrap #olCartTotalCalContainer{ margin-top:44px; }
.cart-wrap #olCartTotalCalContainer > div{
    position:sticky; top:20px;
    background:var(--c-card); border:1px solid var(--c-line-strong);
    border-radius:16px; padding:22px 22px 24px;
    box-shadow:0 10px 34px rgba(0,0,0,.5);
}
.cart-wrap #olCartTotalCalContainer::before{
    content:"Zusammenfassung";
    display:block; grid-area:auto;
    font-family:Georgia,serif; font-size:1.15rem; font-weight:700;
    color:var(--c-gold-p); margin:0 0 12px 2px;
}
.cart-wrap .country-select h4,
.cart-wrap .order-comments h4{
    color:var(--c-gold-p); text-align:left; font-weight:600;
    font-size:.98rem; line-height:1.5; margin:0 0 10px;
}
/* Landauswahl ist ein Pflichtschritt vor dem Weiter - deutlich hervorheben.
   Die Auswahl steht auf dem dunklen Zusammenfassungs-Kasten. */
.cart-wrap .country-select{ margin:0 0 6px !important; }
.cart-wrap .country-select select{
    width:100%; font-size:1.05rem; font-weight:600; padding:14px 14px;
    color:var(--c-gold-p); background:#2a2010;
    border:2px solid var(--c-gold-l);
    box-shadow:0 0 0 3px rgba(212,168,67,.16);
}
.cart-wrap .country-select select:focus{ border-color:var(--c-gold-p); }
/* Ausgewaehltes Land bleibt gut lesbar, der Auffordertext hebt sich ab. */
.cart-wrap .country-select select option{ color:#fdf4e0; background:#2a2010; font-weight:500; }
.cart-wrap .country-select select option[value=""]{ color:var(--c-gold-p); font-weight:700; }
.cart-wrap .order-comments{ margin:6px 0 16px; }
.cart-wrap .cart-carmos-note{ text-align:left; font-size:.86rem; color:var(--c-text-dim); margin:8px 0 0; }
.cart-wrap .cart-carmos-note a,
.cart-wrap .order-comments a{ color:var(--c-gold-l); font-weight:700; }
.cart-wrap #olCartTotalCalContainer table{ width:100%; margin:6px 0 4px; }
.cart-wrap #olCartTotalCalContainer table td{
    padding:7px 2px; color:var(--c-text); font-size:.94rem; vertical-align:middle;
}
.cart-wrap #olCartTotalCalContainer table td:first-child{ color:var(--c-text-dim); text-align:left; }
.cart-wrap #olCartTotalCalContainer table td:last-child{ text-align:right; }
.cart-wrap #olCartTotalCalContainer table tr:last-child td{
    border-top:1px solid var(--c-line); padding-top:13px;
    font-size:1.3rem; font-weight:800; color:var(--c-gold-p);
}
.cart-wrap #shipp,.cart-wrap #mwst,.cart-wrap #Gesamtsumm{ display:inline; }
/* Premium-Gold: Versandzeile zeigt den Vorteil statt einer Null */
.cart-wrap .shipp-free{ color:var(--c-green); font-weight:700; white-space:nowrap; }

/* ── Forms (Land, Kommentar) ───────────────────────────── */
.cart-wrap input[type="text"],
.cart-wrap input[type="password"],
.cart-wrap input[type="email"],
.cart-wrap textarea,
.cart-wrap select{
    background:#2a2010; color:var(--c-text);
    border:1px solid var(--c-line-strong); border-radius:8px;
    padding:11px 13px; max-width:100%; font-family:inherit;
    /* 1rem = 16px: ohne diese Angabe erben Formularfelder die kleine
       Browser-Vorgabe (~13px). 16px verhindert zugleich das automatische
       Hineinzoomen von iOS beim Antippen eines Feldes. */
    font-size:1rem; line-height:1.45;
}
.cart-wrap textarea::placeholder,
.cart-wrap input::placeholder{ color:var(--c-text-faint); }
.cart-wrap input:focus,
.cart-wrap textarea:focus,
.cart-wrap select:focus{ outline:none; border-color:var(--c-gold-l); }
.cart-wrap select{ width:100%; }
.cart-wrap textarea{ width:100%; min-height:84px; }

/* ── Weiter-Button ─────────────────────────────────────── */
.cart-wrap #olCartNextStepbtn{
    display:block; margin:18px 0 0; text-align:center; text-decoration:none;
    background:linear-gradient(135deg,var(--c-gold-l),#8a6a1c);
    color:#100d06 !important; border:none; border-radius:11px;
    padding:16px 20px; font-weight:800; font-size:1.05rem; letter-spacing:.02em;
    cursor:pointer; box-shadow:0 6px 20px rgba(184,145,42,.32);
    transition:transform .15s, box-shadow .15s, opacity .15s;
}
.cart-wrap #olCartNextStepbtn:hover{ transform:translateY(-1px); box-shadow:0 9px 26px rgba(184,145,42,.45); opacity:.96; }
.cart-wrap #olCartNextStepbtn a{ color:#100d06 !important; text-decoration:none; font-weight:800; display:block; }
.cart-wrap .cart-summary-trust{
    display:flex; align-items:center; justify-content:center; gap:7px;
    margin-top:14px; font-size:.8rem; color:var(--c-text-dim);
}

/* generische Buttons (Fallback in Formularen) */
.cart-wrap button,
.cart-wrap input[type="submit"]{
    background:linear-gradient(135deg,var(--c-gold),#8a6a1c);
    color:#100d06; border:none; border-radius:9px; padding:12px 24px;
    font-weight:700; font-size:1rem; letter-spacing:.02em; cursor:pointer; transition:opacity .2s;
}
.cart-wrap button:hover,
.cart-wrap input[type="submit"]:hover{ opacity:.9; }
.cart-wrap a{ color:var(--c-gold-l); }
.cart-wrap a:hover{ color:var(--c-gold-p); }

/* ── Empfehlungen (Upsell) ─────────────────────────────── */
.cart-wrap .ol-upsell{ margin-top:46px; padding-top:30px; border-top:1px solid var(--c-line); }
.cart-wrap .ol-upsell-head{
    font-family:Georgia,serif; font-size:1.4rem; font-weight:700;
    color:var(--c-gold-p); margin:0 0 20px; text-transform:none; letter-spacing:0;
}
.cart-wrap .ol-upsell-grid{
    display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:16px;
}
.cart-wrap .ol-upsell-card{
    display:flex; flex-direction:column;
    background:var(--c-card); border:1px solid var(--c-line);
    border-radius:14px; overflow:hidden; transition:border-color .2s, transform .2s;
}
.cart-wrap .ol-upsell-card:hover{ border-color:var(--c-line-strong); transform:translateY(-2px); }
.cart-wrap .ol-upsell-thumb{ display:block; aspect-ratio:16/10; background:#100d06; overflow:hidden; }
.cart-wrap .ol-upsell-thumb img{ width:100%; height:100%; object-fit:cover; }
.cart-wrap .ol-upsell-body{ display:flex; flex-direction:column; gap:6px; padding:13px 15px 15px; flex:1; }
.cart-wrap .ol-upsell-name{
    font-family:Georgia,serif; font-weight:700; font-size:.98rem; line-height:1.3;
    color:var(--c-gold-p); text-decoration:none;
}
.cart-wrap .ol-upsell-name:hover{ color:#fff; }
.cart-wrap .ol-upsell-desc{
    font-size:.82rem; color:var(--c-text-dim); margin:0; line-height:1.45;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.cart-wrap .ol-upsell-foot{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:6px; }
.cart-wrap .ol-upsell-price{ font-family:Georgia,serif; font-weight:700; font-size:1.05rem; color:var(--c-gold-p); white-space:nowrap; }
.cart-wrap .ol-upsell-old{ color:var(--c-text-faint); font-size:.8rem; font-weight:400; margin-right:2px; }
.cart-wrap .ol-upsell-add{
    display:inline-flex; align-items:center; gap:6px; flex:0 0 auto;
    background:linear-gradient(135deg,#2f8a57,#1f6b42);
    color:#fff; border:none; border-radius:9px; padding:9px 13px;
    font-size:.82rem; font-weight:700; cursor:pointer; transition:opacity .2s, transform .1s;
}
.cart-wrap .ol-upsell-add:hover{ opacity:.92; }
.cart-wrap .ol-upsell-add.is-loading{ opacity:.6; pointer-events:none; }
.cart-wrap .ol-upsell-add svg{ flex:0 0 auto; }
@media (max-width:520px){
    .cart-wrap .ol-upsell-add span{ display:none; }
    .cart-wrap .ol-upsell-add{ padding:9px 11px; }
}

/* ── Ein-Spalten-Umbruch (Tablet/Mobil) – nur Schritt 1 ── */
@media (max-width:900px){
    .cart-wrap:has(#olCartInnerContainer){
        grid-template-columns:1fr;
        grid-template-areas:"top" "items" "summary" "upsell";
    }
    .cart-wrap #olCartTotalCalContainer{ margin-top:22px; }
    .cart-wrap #olCartTotalCalContainer > div{ position:static; }
}

/* ════════════════════════════════════════════════════════
   SCHRITT 2 – ADRESSE / LOGIN  (modern)
   ════════════════════════════════════════════════════════ */
.cart-wrap #olCartMainContainer{ margin-top:6px; }
.cart-wrap #bestandskunden,
.cart-wrap #neukunden{
    background:var(--c-card); border:1px solid var(--c-line-strong);
    border-radius:16px; padding:26px 28px; margin:0 0 20px;
    box-shadow:0 8px 30px rgba(0,0,0,.4);
}
.cart-wrap #olCartMainContainer h2{
    font-family:Georgia,serif; color:var(--c-gold-p);
    font-size:1.4rem; margin:0 0 6px; display:flex; align-items:center; gap:9px;
}
.cart-wrap #bestandskunden h2::before{ content:"👤"; font-size:1.1rem; }
.cart-wrap #neukunden h2::before{ content:"📝"; font-size:1.05rem; }
.cart-wrap #olCartMainContainer .intro{
    display:block; color:var(--c-text-dim); margin-bottom:20px;
    font-size:.92rem; line-height:1.55;
}
.cart-wrap #olCartMainContainer .intro a{ color:var(--c-gold-l); }
.cart-wrap div.table{ display:grid; grid-template-columns:190px 1fr; gap:13px 18px; align-items:center; }
.cart-wrap div.table > div.label{ color:var(--c-text); font-size:1rem; text-align:left; font-weight:500; }
.cart-wrap div.table > div.label strong{ color:var(--c-gold-p); }
.cart-wrap div.table > div.value{ display:flex; align-items:center; gap:9px; flex-wrap:wrap; color:var(--c-text); font-size:1rem; }
.cart-wrap div.table > div.value input[type="text"],
.cart-wrap div.table > div.value input[type="password"],
.cart-wrap div.table > div.value input[type="email"],
.cart-wrap div.table > div.value select{ flex:1 1 150px; min-width:0; margin:0; padding:11px 13px; }
.cart-wrap div.table > div.value .required{ border-color:rgba(184,145,42,.5); }
.cart-wrap div.table > div.full{ grid-column:1 / -1; color:#ff9a9a; font-size:.9rem; font-weight:600; }
.cart-wrap div.table > div.full:empty{ display:none; }
/* primäre Buttons in den Formular-Karten (Anmelden / Weiter) */
.cart-wrap #bestandskunden button,
.cart-wrap #neukunden #submitNewUser{
    width:100%; margin-top:6px; padding:14px 22px;
    background:linear-gradient(135deg,var(--c-gold-l),#8a6a1c);
    color:#100d06; border:none; border-radius:11px;
    font-weight:800; font-size:1rem; letter-spacing:.02em; cursor:pointer;
    box-shadow:0 6px 20px rgba(184,145,42,.3);
    transition:transform .15s, box-shadow .15s, opacity .15s;
}
.cart-wrap #bestandskunden button:hover,
.cart-wrap #neukunden #submitNewUser:hover{ transform:translateY(-1px); box-shadow:0 9px 26px rgba(184,145,42,.42); opacity:.97; }
.cart-wrap #labelForgotPW a{ color:var(--c-gold-l); font-size:.86rem; }
.cart-wrap #neukunden .birthday,
.cart-wrap #neukunden .needPhone{ font-size:.82rem; color:var(--c-text-dim); }
.cart-wrap #olLandSchweiz{ display:contents; }
.cart-wrap #olLandSchweiz p{ background:rgba(220,80,80,.08); border:1px solid rgba(220,80,80,.3); border-radius:10px; padding:12px 14px; margin:0; }
.cart-wrap #olLandSchweiz strong{ color:#f0a; }

/* ════════════════════════════════════════════════════════
   SCHRITT 3 – ZAHLUNG  (auswählbare Zahlart-Karten)
   ════════════════════════════════════════════════════════ */
/* Legacy-Beigeflaechen (#edd0aa) und bgcolor-Attribute neutralisieren,
   damit der dunkle Hintergrund durchkommt (sonst hell auf hell). */
.cart-wrap [style*="edd0aa"],
.cart-wrap [style*="#EDD0AA"],
.cart-wrap [bgcolor]{ background:transparent !important; background-color:transparent !important; }

.cart-wrap #payementMethode{ width:100%; border-collapse:collapse; }
.cart-wrap #payementMethode > tbody > tr > td{ padding:0; }
.cart-wrap .menuTitleTbl,
.cart-wrap .menuTitleTbl strong{ color:var(--c-text-dim) !important; background:transparent !important; }
.cart-wrap .menuTitleTbl{ font-weight:600; font-size:.7rem !important; letter-spacing:.12em; text-transform:uppercase; padding:22px 4px 4px !important; }
.cart-wrap .menuTitleTbl strong{ font-weight:600; }
.cart-wrap #payementMethode #roundBorder{
    background:var(--c-card); border:1.5px solid var(--c-line);
    border-radius:14px; padding:0 !important; margin:0 0 12px !important;
    overflow:hidden; box-shadow:none; transition:border-color .2s, background .2s;
}
.cart-wrap #payementMethode #roundBorder:hover{ border-color:var(--c-line-strong); }
.cart-wrap #payementMethode #roundBorder:has(input:checked){
    border-color:var(--c-gold-l);
    background:linear-gradient(135deg,rgba(184,145,42,.16),rgba(184,145,42,.05)), var(--c-card);
    box-shadow:0 0 0 1px var(--c-gold-l);
}
/* Zahlart-Boxen außerhalb der Zahlungsauswahl (Info) */
.cart-wrap #roundBorder{
    background-color:var(--c-card); border:1px solid var(--c-line-strong);
    border-radius:12px; padding:18px 20px; margin:12px 0; box-shadow:0 6px 24px rgba(0,0,0,.45);
}
.cart-wrap #roundBorder .row{ display:flex; gap:14px; padding:15px 20px; }
.cart-wrap #roundBorder .row.header{ align-items:center; }
.cart-wrap #roundBorder .row.header .left{ flex:1 1 auto; color:var(--c-gold-p); font-weight:700; font-size:1.05rem; }
.cart-wrap #roundBorder .row.header .right{ flex:0 0 auto; }
.cart-wrap #roundBorder .row.info{ border-top:1px solid var(--c-line); padding-top:12px; }
.cart-wrap #roundBorder .row.info .left{ flex:0 0 110px; color:var(--c-text-faint); font-size:.78rem; text-transform:uppercase; letter-spacing:.05em; }
.cart-wrap #roundBorder .row.info .right{ flex:1 1 auto; color:var(--c-text); font-size:.88rem; line-height:1.6; }
.cart-wrap #roundBorder .row.info .right a{ color:var(--c-gold-l) !important; }
.cart-wrap .olClear{ clear:both; }
.cart-wrap .label,.cart-wrap .left{ color:var(--c-text-dim); }
.cart-wrap .value,.cart-wrap .right{ color:#fdf4e0; }
.cart-wrap input[type="radio"],
.cart-wrap input[type="checkbox"]{ accent-color:var(--c-gold-l); width:22px; height:22px; cursor:pointer; }
.cart-wrap .row.check{ display:flex; gap:12px; align-items:flex-start; padding:11px 4px; flex-wrap:wrap; }
.cart-wrap .row.check .left{ flex:0 0 auto; padding-top:2px; }
.cart-wrap .row.check .left a{ color:var(--c-gold-l); font-size:.85rem; }
.cart-wrap .row.check .right{ flex:1 1 260px; color:var(--c-text); font-size:.9rem; display:flex; align-items:flex-start; gap:11px; line-height:1.5; }
.cart-wrap .row.check .right input{ flex:0 0 auto; margin-top:1px; }
.cart-wrap .row-newsletter{ background:rgba(184,145,42,.07); border:1px solid var(--c-line-strong); border-radius:10px; padding:14px 16px; margin-top:12px; }
.cart-wrap .row-newsletter .right{ color:var(--c-gold-p); }

@media (max-width:620px){
    .cart-wrap div.table{ grid-template-columns:1fr; gap:5px 0; }
    .cart-wrap div.table > div.label{ margin-top:9px; font-weight:600; color:var(--c-gold-p); }
    .cart-wrap #bestandskunden,
    .cart-wrap #neukunden{ padding:20px 18px; }
    .cart-wrap #roundBorder .row.info .left{ flex-basis:80px; }
}

.cart-wrap .cart-success{ max-width:720px; margin:10px auto 40px; text-align:center; grid-column:1 / -1; }
.cart-wrap .cart-success-icon{ width:74px; height:74px; margin:6px auto 16px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#100d06; background:linear-gradient(135deg,#7fe0a4,#3f9c62); box-shadow:0 0 0 8px rgba(111,213,152,.12); }
.cart-wrap .cart-success-h1{ font-family:Georgia,'Times New Roman',serif; font-size:clamp(1.5rem,4vw,2.1rem); color:var(--c-gold-p); margin:0 0 6px; }
.cart-wrap .cart-success-order{ color:var(--c-text); margin:0 0 22px; font-size:1rem; }
.cart-wrap .cart-success-order strong{ color:var(--c-gold-l); letter-spacing:.03em; }
.cart-wrap .cart-success-info{ background:var(--c-card); border:1px solid var(--c-line-strong); border-radius:14px; padding:22px 26px; text-align:left; box-shadow:0 6px 24px rgba(0,0,0,.4); }
.cart-wrap .cart-success-info h2{ color:var(--c-gold-l); font-size:.82rem; letter-spacing:.1em; text-transform:uppercase; margin:0 0 12px; }
.cart-wrap .cart-success-info p{ color:var(--c-text); line-height:1.65; margin:0 0 12px; font-size:.95rem; }
.cart-wrap .cart-success-info a{ color:var(--c-gold-l); }
.cart-wrap .cart-success-btn{ display:inline-block; margin-top:6px; background:linear-gradient(135deg,var(--c-gold-l),#8a6a1c); color:#100d06 !important; font-weight:700; border-radius:8px; padding:12px 22px; text-decoration:none; }
.cart-wrap .cart-success-btn:hover{ opacity:.9; }
.cart-wrap .cart-success-hint{ color:var(--c-text-dim); font-size:.88rem; line-height:1.6; margin:22px 0 14px; }
.cart-wrap .cart-success-img{ width:100%; max-width:900px; border-radius:12px; border:1px solid var(--c-line); }

/* ── jQuery-UI Datepicker (Geburtstag im Adressformular) ─────────────────────
   Der Datepicker wird per JS initialisiert (ol.cart.customer.php), es wurde aber
   NIE ein jQuery-UI-Stylesheet geladen - dadurch erschien der Kalender als roher,
   ueberlappender Text. Hier ein schlankes, zum dunklen Design passendes Styling.
   Bewusst OHNE .cart-wrap-Prefix: der Datepicker haengt am <body>, nicht im Formular. */
.ui-datepicker{
    background:var(--c-card2,#241c11); border:1px solid var(--c-line-strong,rgba(184,145,42,.42));
    border-radius:10px; padding:10px; box-shadow:0 12px 34px rgba(0,0,0,.55);
    font-family:'Segoe UI',Arial,sans-serif; width:17em; display:none; z-index:9999;
}
.ui-datepicker .ui-datepicker-header{ position:relative; display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.ui-datepicker .ui-datepicker-title{ display:flex; gap:6px; flex:1; justify-content:center; }
.ui-datepicker .ui-datepicker-title select{
    background:#2a2010; color:var(--c-text,#fdf4e0); border:1px solid var(--c-line-strong,rgba(184,145,42,.42));
    border-radius:6px; padding:5px 7px; font-size:.92rem;
}
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next{
    cursor:pointer; color:var(--c-gold-p,#f2d98a); width:1.8em; height:1.8em;
    display:flex; align-items:center; justify-content:center; border-radius:6px; user-select:none;
}
.ui-datepicker .ui-datepicker-prev:hover,
.ui-datepicker .ui-datepicker-next:hover{ background:rgba(184,145,42,.18); }
.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span{ display:none; }
.ui-datepicker .ui-datepicker-prev::before{ content:"\2039"; font-size:1.5rem; line-height:1; }
.ui-datepicker .ui-datepicker-next::before{ content:"\203A"; font-size:1.5rem; line-height:1; }
.ui-datepicker table.ui-datepicker-calendar{ border-collapse:collapse; width:100%; margin:0; }
.ui-datepicker .ui-datepicker-calendar th{
    color:var(--c-gold-l,#d4a843); font-size:.7rem; font-weight:700; padding:6px 0;
    text-transform:uppercase; letter-spacing:.03em;
}
.ui-datepicker .ui-datepicker-calendar td{ padding:1px; text-align:center; }
.ui-datepicker .ui-datepicker-calendar td a,
.ui-datepicker .ui-datepicker-calendar td span{
    display:block; padding:7px 0; border-radius:6px; font-size:.9rem;
    color:var(--c-text,#fdf4e0); text-decoration:none;
}
.ui-datepicker .ui-datepicker-calendar td span{ color:var(--c-text-faint,rgba(253,244,224,.4)); }
.ui-datepicker .ui-datepicker-calendar td a:hover{ background:var(--c-gold,#b8912a); color:#100d06; }
.ui-datepicker .ui-datepicker-calendar td a.ui-state-active,
.ui-datepicker .ui-datepicker-calendar td a.ui-state-highlight{ background:var(--c-gold-l,#d4a843); color:#100d06; font-weight:700; }
