/* ============================================================
   SELFMAILER WARENKORB v4.0 – warenkorb.css
   Scoped: .smw-wk   |  !important auf alle Layout-Properties
   ============================================================ */

/* ── RESET ── */
.smw-wk *, .smw-wk *::before, .smw-wk *::after { box-sizing:border-box !important; }
.smw-wk ul, .smw-wk ol { list-style:none !important; margin:0 !important; padding:0 !important; }
.smw-wk li   { list-style:none !important; margin:0 !important; padding:0 !important; }
.smw-wk p    { margin:0 !important; padding:0 !important; }
.smw-wk h1,.smw-wk h2,.smw-wk h3,.smw-wk h4 { margin:0 !important; padding:0 !important; font-family:'DM Sans',system-ui,sans-serif !important; }
.smw-wk button   { cursor:pointer !important; font-family:'DM Sans',system-ui,sans-serif !important; }
.smw-wk a        { color:var(--b) !important; text-decoration:none !important; }
.smw-wk a:hover  { text-decoration:underline !important; }
.smw-wk input,.smw-wk select,.smw-wk textarea { font-family:'DM Sans',system-ui,sans-serif !important; }
.smw-wk fieldset { border:none !important; margin:0 !important; padding:0 !important; }

/* ── TOKENS ── */
.smw-wk {
  --b:    #0c4c81;
  --bh:   #0d5a9a;
  --bl:   #e8f1fa;
  --bt:   #f4f8fd;
  --bb:   #b8d3ed;
  --bm:   #d0e5f5;   /* mid blue for header gradient */
  --ink:  #111827;
  --i2:   #374151;
  --mu:   #6b7280;
  --ml:   #9ca3af;
  --ru:   #e5e7eb;
  --rl:   #f3f4f6;
  --sf:   #ffffff;
  --bg:   #f9fafb;
  --gr:   #16a34a;
  --grb:  #f0fdf4;
  --re:   #dc2626;
  --reb:  #fef2f2;
  --r:    6px;
  --rs:   4px;
  --shm:  0 4px 18px rgba(0,0,0,.09);

  font-family:'DM Sans',system-ui,-apple-system,sans-serif !important;
  font-size:14px !important;
  font-weight:300 !important;
  color:var(--ink) !important;
  line-height:1.6 !important;
  background:transparent !important;
  max-width:1060px !important;
  margin:0 auto !important;
  padding:0 0 60px !important;
}

/* ── Icon helper ── */
.smw-wk .smw-ico { width:15px !important; height:15px !important; flex-shrink:0 !important; vertical-align:middle !important; display:inline-block !important; }
.smw-wk svg.lucide { display:inline-block !important; vertical-align:middle !important; }

/* ══════════════════════════════════════
   HERO
══════════════════════════════════════ */
.smw-wk .smw-hero { padding:32px 0 26px !important; border-bottom:1px solid var(--ru) !important; margin:0 !important; }
.smw-wk .smw-eyebrow {
  display:inline-flex !important; align-items:center !important; gap:6px !important;
  font-size:11px !important; font-weight:500 !important; letter-spacing:.1em !important;
  text-transform:uppercase !important; color:var(--b) !important; margin:0 0 10px !important; padding:0 !important;
}
.smw-wk .smw-hero-title {
  font-size:1.6rem !important; font-weight:400 !important; letter-spacing:-.02em !important;
  color:var(--b) !important; line-height:1.15 !important; margin:0 0 6px !important; padding:0 !important;
}
.smw-wk .smw-hero-sub { font-size:13.5px !important; color:var(--mu) !important; margin:0 0 16px !important; padding:0 !important; }
.smw-wk .smw-badges { display:flex !important; flex-wrap:wrap !important; gap:16px !important; margin:0 !important; padding:0 !important; }
.smw-wk .smw-badges span {
  display:inline-flex !important; align-items:center !important; gap:5px !important;
  font-size:13px !important; color:var(--mu) !important; margin:0 !important; padding:0 !important;
}
.smw-wk .smw-badges .smw-ico { color:var(--b) !important; }

/* ══════════════════════════════════════
   VERSANDKOSTEN POPOVER
══════════════════════════════════════ */
.smw-wk .smw-versand-badge {
  position:relative !important; display:inline-flex !important; align-items:center !important; gap:5px !important;
}
.smw-wk .smw-versand-link {
  color:var(--b) !important; text-decoration:underline !important; text-decoration-style:dotted !important;
  cursor:help !important; font-size:inherit !important;
}
/* Popover – versteckt by default, erscheint nur bei hover/focus */
.smw-wk .smw-popover {
  visibility:hidden !important;         /* visibility statt display – robuster gegen Theme-Resets */
  opacity:0 !important;
  position:absolute !important;
  bottom:calc(100% + 10px) !important;
  left:0 !important;
  width:300px !important;
  background:#1e293b !important;        /* eigene Farbe, nicht var() – sicherer */
  color:#ffffff !important;             /* explizit weiß */
  font-size:12.5px !important;
  line-height:1.6 !important;
  font-weight:300 !important;
  padding:14px 16px !important;         /* mehr Innenabstand */
  border-radius:6px !important;
  box-shadow:0 6px 24px rgba(0,0,0,.25) !important;
  z-index:99999 !important;
  pointer-events:none !important;
  transition:opacity .15s, visibility .15s !important;
  white-space:normal !important;
}
/* Pfeil nach unten */
.smw-wk .smw-popover::after {
  content:'' !important;
  position:absolute !important;
  top:100% !important; left:16px !important;
  border:7px solid transparent !important;
  border-top-color:#1e293b !important;
  width:0 !important; height:0 !important;
}
/* Sichtbar bei hover / focus */
.smw-wk .smw-versand-badge:hover .smw-popover,
.smw-wk .smw-versand-badge:focus-within .smw-popover {
  visibility:visible !important;
  opacity:1 !important;
}
/* Sidebar-Variante: Popover zeigt nach OBEN über dem Karten-Container.
   overflow:hidden auf .smw-cart wird umgangen indem wir position:fixed nutzen – 
   das JS setzt data-popover-fixed="true" und top/left per JS */
.smw-wk .smw-versand-inline .smw-popover {
  bottom:calc(100% + 10px) !important;
  top:auto !important;
  left:0 !important;
}
.smw-wk .smw-versand-inline .smw-popover::after {
  top:100% !important; bottom:auto !important;
  border-top-color:#1e293b !important;
  border-bottom-color:transparent !important;
}

/* ══════════════════════════════════════
   STEP RAIL
══════════════════════════════════════ */
.smw-wk .smw-rail {
  display:flex !important; align-items:center !important;
  padding:18px 0 !important; margin:0 0 28px !important;
  border-bottom:1px solid var(--ru) !important; overflow-x:auto !important; gap:0 !important;
}
.smw-wk .smw-ri { display:flex !important; align-items:center !important; gap:7px !important; flex-shrink:0 !important; opacity:.32 !important; transition:opacity .2s !important; margin:0 !important; padding:0 !important; }
.smw-wk .smw-ri.active,.smw-wk .smw-ri.done { opacity:1 !important; }
.smw-wk .smw-rd {
  width:30px !important; height:30px !important; border-radius:50% !important;
  border:1.5px solid var(--ru) !important; display:flex !important; align-items:center !important; justify-content:center !important;
  background:var(--sf) !important; color:var(--mu) !important; flex-shrink:0 !important; margin:0 !important; padding:0 !important;
  transition:background .2s, border-color .2s !important;
}
.smw-wk .smw-ri.active .smw-rd { background:var(--b) !important; border-color:var(--b) !important; color:#fff !important; }
.smw-wk .smw-ri.done .smw-rd   { background:var(--gr) !important; border-color:var(--gr) !important; color:#fff !important; }
.smw-wk .smw-rl { font-size:12.5px !important; font-weight:400 !important; white-space:nowrap !important; color:var(--i2) !important; margin:0 !important; padding:0 !important; }
.smw-wk .smw-ri.active .smw-rl { font-weight:500 !important; color:var(--b) !important; }
.smw-wk .smw-rsep { flex:1 !important; min-width:20px !important; height:1px !important; background:var(--ru) !important; margin:0 10px !important; padding:0 !important; }

/* ══════════════════════════════════════
   LAYOUT
══════════════════════════════════════ */
.smw-wk .smw-layout { display:grid !important; grid-template-columns:1fr 300px !important; gap:24px !important; align-items:start !important; margin:0 !important; padding:0 !important; }
@media (max-width:800px) { .smw-wk .smw-layout { grid-template-columns:1fr !important; } .smw-wk .smw-aside { order:-1 !important; } }

/* ══════════════════════════════════════
   PANELS  – aktiver Step immer oben via JS-Umordnung
══════════════════════════════════════ */
.smw-wk .smw-steps { display:flex !important; flex-direction:column !important; gap:10px !important; margin:0 !important; padding:0 !important; }

.smw-wk .smw-panel {
  background:var(--sf) !important; border:1.5px solid var(--ru) !important;
  border-radius:var(--r) !important; overflow:hidden !important; margin:0 !important; padding:0 !important;
  transition:box-shadow .2s, border-color .2s !important;
}
.smw-wk .smw-panel.active { border-color:transparent !important; box-shadow:var(--shm) !important; }

/* Panel header – neutral (inaktiv) */
.smw-wk .smw-ph {
  display:flex !important; align-items:center !important; gap:10px !important;
  padding:14px 20px !important; margin:0 !important;
  border-bottom:1.5px solid var(--rl) !important; background:var(--sf) !important;
}
.smw-wk .smw-panel:not(.active) .smw-ph { border-bottom:none !important; opacity:.5 !important; }

/* Panel header – AKTIV: blauer Verlauf */
.smw-wk .smw-panel.active .smw-ph {
  background:linear-gradient(135deg, var(--b) 0%, var(--bh) 100%) !important;
  border-bottom:none !important;
  opacity:1 !important;
}
.smw-wk .smw-panel.active .smw-pnum { background:rgba(255,255,255,.18) !important; border-color:rgba(255,255,255,.3) !important; color:#fff !important; }
.smw-wk .smw-panel.active .smw-pt   { color:#fff !important; }

.smw-wk .smw-pnum {
  font-size:10.5px !important; font-weight:600 !important; letter-spacing:.1em !important;
  color:var(--b) !important; background:var(--bt) !important; border:1px solid var(--bb) !important;
  border-radius:20px !important; padding:2px 9px !important; margin:0 !important; flex-shrink:0 !important;
}
.smw-wk .smw-pt { font-size:14.5px !important; font-weight:500 !important; flex:1 !important; color:var(--ink) !important; letter-spacing:-.01em !important; margin:0 !important; padding:0 !important; }

.smw-wk .smw-pedit {
  display:inline-flex !important; align-items:center !important; gap:4px !important;
  font-size:12px !important; color:var(--b) !important; background:rgba(255,255,255,.9) !important;
  border:1px solid var(--bb) !important; border-radius:var(--rs) !important;
  padding:4px 10px !important; margin:0 !important; line-height:1 !important; box-shadow:none !important;
  transition:background .15s !important;
}
.smw-wk .smw-pedit:hover { background:#fff !important; }

/* Panel body */
.smw-wk .smw-pb { padding:20px 20px !important; margin:0 !important; display:none !important; }
.smw-wk .smw-panel.active .smw-pb { display:block !important; }

/* Collapsed summary */
.smw-wk .smw-ps { padding:10px 20px !important; margin:0 !important; font-size:13px !important; color:var(--mu) !important; border-top:1px solid var(--rl) !important; line-height:1.4 !important; }

/* ══════════════════════════════════════
   FIELDS
══════════════════════════════════════ */
.smw-wk .smw-field { margin:0 0 18px !important; padding:0 !important; }
.smw-wk .smw-field:last-child { margin-bottom:0 !important; }
.smw-wk .smw-lbl { display:block !important; font-size:12.5px !important; font-weight:500 !important; color:var(--i2) !important; margin:0 0 6px !important; padding:0 !important; letter-spacing:.01em !important; }
.smw-wk .smw-req { color:var(--b) !important; }

.smw-wk .smw-sw { position:relative !important; margin:0 !important; padding:0 !important; }
.smw-wk .smw-sel {
  width:100% !important; height:42px !important; padding:0 38px 0 12px !important; margin:0 !important;
  border:1.5px solid var(--ru) !important; border-radius:var(--rs) !important; background:var(--sf) !important;
  appearance:none !important; -webkit-appearance:none !important;
  font-family:'DM Sans',system-ui,sans-serif !important; font-size:14px !important; font-weight:400 !important;
  color:var(--ink) !important; line-height:normal !important; box-shadow:none !important; outline:none !important;
}
.smw-wk .smw-sel:focus { border-color:var(--b) !important; box-shadow:0 0 0 3px rgba(12,76,129,.1) !important; outline:none !important; }
.smw-wk .smw-sc { position:absolute !important; right:11px !important; top:50% !important; transform:translateY(-50%) !important; width:16px !important; height:16px !important; color:var(--mu) !important; pointer-events:none !important; margin:0 !important; }

.smw-wk .smw-inp {
  width:100% !important; height:42px !important; padding:0 12px !important; margin:0 !important;
  border:1.5px solid var(--ru) !important; border-radius:var(--rs) !important; background:var(--sf) !important;
  font-family:'DM Sans',system-ui,sans-serif !important; font-size:14px !important; font-weight:400 !important;
  color:var(--ink) !important; line-height:normal !important; box-shadow:none !important; outline:none !important;
  -webkit-appearance:none !important; appearance:none !important;
}
.smw-wk .smw-inp::placeholder { color:var(--ml) !important; }
.smw-wk .smw-inp:focus { border-color:var(--b) !important; box-shadow:0 0 0 3px rgba(12,76,129,.1) !important; outline:none !important; }
.smw-wk .smw-inp.smw-err-f { border-color:var(--re) !important; }

/* ══════════════════════════════════════
   SHIPPING CARDS
══════════════════════════════════════ */
.smw-wk .smw-sg { display:grid !important; grid-template-columns:1fr 1fr !important; gap:10px !important; margin:0 !important; padding:0 !important; }
@media (max-width:480px) { .smw-wk .smw-sg { grid-template-columns:1fr !important; } }
.smw-wk .smw-ship { display:block !important; cursor:pointer !important; margin:0 !important; padding:0 !important; }
.smw-wk .smw-ship input[type="radio"] { position:absolute !important; opacity:0 !important; pointer-events:none !important; width:0 !important; height:0 !important; }
.smw-wk .smw-si {
  display:flex !important; align-items:center !important; gap:12px !important;
  padding:14px 16px !important; margin:0 !important;
  border:1.5px solid var(--ru) !important; border-radius:var(--rs) !important; background:var(--sf) !important;
  box-shadow:none !important; transition:border-color .15s, background .15s !important;
}
.smw-wk .smw-ship:hover .smw-si { border-color:var(--bb) !important; background:var(--bt) !important; }
.smw-wk .smw-ship input:checked + .smw-si { border-color:var(--b) !important; background:var(--bl) !important; box-shadow:0 0 0 2px rgba(12,76,129,.1) !important; }
.smw-wk .smw-sico { width:20px !important; height:20px !important; color:var(--mu) !important; flex-shrink:0 !important; }
.smw-wk .smw-ship input:checked + .smw-si .smw-sico { color:var(--b) !important; }
.smw-wk .smw-sinf { flex:1 !important; margin:0 !important; padding:0 !important; }
.smw-wk .smw-sinf strong { display:block !important; font-size:13.5px !important; font-weight:500 !important; color:var(--ink) !important; margin:0 0 2px !important; padding:0 !important; }
.smw-wk .smw-sinf small  { font-size:12px !important; color:var(--mu) !important; margin:0 !important; padding:0 !important; }
.smw-wk .smw-schk { color:var(--b) !important; opacity:0 !important; transition:opacity .15s !important; margin:0 !important; padding:0 !important; }
.smw-wk .smw-ship input:checked + .smw-si .smw-schk { opacity:1 !important; }

/* ══════════════════════════════════════
   UPLOAD
══════════════════════════════════════ */
.smw-wk .smw-mbar { display:flex !important; border:1.5px solid var(--ru) !important; border-radius:var(--rs) !important; overflow:hidden !important; margin:0 0 16px !important; padding:0 !important; gap:0 !important; }
.smw-wk .smw-mode { flex:1 !important; display:flex !important; align-items:center !important; justify-content:center !important; gap:6px !important; height:42px !important; font-size:13.5px !important; font-weight:400 !important; background:var(--sf) !important; border:none !important; border-right:1.5px solid var(--ru) !important; color:var(--mu) !important; padding:0 12px !important; margin:0 !important; line-height:1 !important; box-shadow:none !important; }
.smw-wk .smw-mode:last-child { border-right:none !important; }
.smw-wk .smw-mode:hover { background:var(--bg) !important; color:var(--ink) !important; }
.smw-wk .smw-mode.active { background:var(--b) !important; color:#fff !important; }

.smw-wk .smw-drop { border:1.5px dashed var(--ru) !important; border-radius:var(--rs) !important; background:var(--bg) !important; cursor:pointer !important; margin:0 0 10px !important; padding:0 !important; }
.smw-wk .smw-drop:hover,.smw-wk .smw-drop.drag-over { border-color:var(--b) !important; background:var(--bt) !important; }
.smw-wk .smw-db { padding:32px 20px !important; text-align:center !important; display:flex !important; flex-direction:column !important; align-items:center !important; gap:6px !important; margin:0 !important; }
.smw-wk .smw-dico { width:48px !important; height:48px !important; border-radius:50% !important; background:var(--bt) !important; border:1.5px solid var(--bb) !important; display:flex !important; align-items:center !important; justify-content:center !important; margin:0 0 6px !important; padding:0 !important; flex-shrink:0 !important; }
.smw-wk .smw-dico svg { width:22px !important; height:22px !important; color:var(--b) !important; }
.smw-wk .smw-dh { font-size:14.5px !important; font-weight:500 !important; color:var(--ink) !important; margin:0 !important; padding:0 !important; }
.smw-wk .smw-ds { font-size:13px !important; color:var(--mu) !important; margin:0 !important; padding:0 !important; }
.smw-wk .smw-df { font-size:12px !important; color:var(--ml) !important; margin:4px 0 0 !important; padding:0 !important; }
.smw-wk .smw-lnk { background:none !important; border:none !important; padding:0 !important; margin:0 !important; color:var(--b) !important; text-decoration:underline !important; font-size:inherit !important; cursor:pointer !important; box-shadow:none !important; font-family:inherit !important; }
.smw-wk .smw-dok { flex-direction:row !important; padding:14px 18px !important; gap:10px !important; justify-content:flex-start !important; text-align:left !important; }
.smw-wk .smw-doico { width:26px !important; height:26px !important; color:var(--gr) !important; flex-shrink:0 !important; }
.smw-wk .smw-doi { flex:1 !important; margin:0 !important; padding:0 !important; }
.smw-wk .smw-fn { display:block !important; font-size:13.5px !important; font-weight:500 !important; color:var(--ink) !important; margin:0 !important; }
.smw-wk .smw-fs { font-size:12px !important; color:var(--mu) !important; margin:0 !important; }
.smw-wk .smw-rm { background:none !important; border:1.5px solid var(--ru) !important; border-radius:var(--rs) !important; padding:5px 8px !important; margin:0 !important; color:var(--mu) !important; display:flex !important; align-items:center !important; box-shadow:none !important; line-height:1 !important; }
.smw-wk .smw-rm:hover { border-color:var(--re) !important; color:var(--re) !important; }
.smw-wk .smw-enote { display:flex !important; gap:10px !important; align-items:flex-start !important; background:#eff6ff !important; border:1.5px solid #bfdbfe !important; border-radius:var(--rs) !important; padding:14px 16px !important; margin:0 0 14px !important; font-size:13px !important; color:var(--i2) !important; line-height:1.55 !important; }
.smw-wk .smw-enote .smw-ico { color:var(--b) !important; margin-top:2px !important; }

.smw-wk .smw-specs { border:1.5px solid var(--ru) !important; border-radius:var(--rs) !important; overflow:hidden !important; margin:14px 0 0 !important; padding:0 !important; }
.smw-wk .smw-specs summary { display:flex !important; align-items:center !important; gap:7px !important; padding:11px 14px !important; margin:0 !important; font-size:13px !important; font-weight:500 !important; color:var(--i2) !important; cursor:pointer !important; background:var(--bg) !important; list-style:none !important; user-select:none !important; }
.smw-wk .smw-specs summary::-webkit-details-marker { display:none !important; }
.smw-wk .smw-specs[open] summary { border-bottom:1px solid var(--ru) !important; }
.smw-wk .smw-specsv { margin-left:auto !important; transition:transform .2s !important; }
.smw-wk .smw-specs[open] .smw-specsv { transform:rotate(180deg) !important; }
.smw-wk .smw-specs ul { padding:12px 16px !important; margin:0 !important; display:flex !important; flex-direction:column !important; gap:7px !important; }
.smw-wk .smw-specs li { font-size:13px !important; color:var(--mu) !important; padding:0 0 0 12px !important; margin:0 !important; position:relative !important; list-style:none !important; }
.smw-wk .smw-specs li::before { content:'–' !important; position:absolute !important; left:0 !important; color:var(--b) !important; }

/* ══════════════════════════════════════
   FORM GRID
══════════════════════════════════════ */
.smw-wk .smw-fg { display:grid !important; grid-template-columns:1fr 1fr !important; gap:14px !important; margin:0 !important; padding:0 !important; }
.smw-wk .smw-cf  { grid-column:1 / -1 !important; }
.smw-wk .smw-c3  { max-width:110px !important; }
@media (max-width:520px) { .smw-wk .smw-fg { grid-template-columns:1fr !important; } .smw-wk .smw-c3 { max-width:100% !important; } }

/* ══════════════════════════════════════
   PAYMENT
══════════════════════════════════════ */
.smw-wk .smw-pg { display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:10px !important; margin:0 !important; padding:0 !important; }
@media (max-width:500px) { .smw-wk .smw-pg { grid-template-columns:1fr !important; } }
.smw-wk .smw-pay { display:block !important; cursor:pointer !important; margin:0 !important; padding:0 !important; }
.smw-wk .smw-pay input[type="radio"] { position:absolute !important; opacity:0 !important; pointer-events:none !important; width:0 !important; height:0 !important; }
.smw-wk .smw-pi { display:flex !important; flex-direction:column !important; align-items:center !important; gap:7px !important; padding:16px 10px !important; margin:0 !important; border:1.5px solid var(--ru) !important; border-radius:var(--rs) !important; background:var(--sf) !important; text-align:center !important; min-height:88px !important; justify-content:center !important; box-shadow:none !important; transition:border-color .15s, background .15s !important; }
.smw-wk .smw-pay:hover .smw-pi { border-color:var(--bb) !important; background:var(--bt) !important; }
.smw-wk .smw-pay input:checked + .smw-pi { border-color:var(--b) !important; background:var(--bl) !important; box-shadow:0 0 0 2px rgba(12,76,129,.1) !important; }
.smw-wk .smw-ppsvg { height:22px !important; width:auto !important; display:block !important; }
.smw-wk .smw-pico { width:22px !important; height:22px !important; color:var(--mu) !important; }
.smw-wk .smw-pay input:checked + .smw-pi .smw-pico { color:var(--b) !important; }
.smw-wk .smw-ptxt { display:flex !important; flex-direction:column !important; gap:2px !important; margin:0 !important; padding:0 !important; }
.smw-wk .smw-ptxt strong { font-size:13px !important; font-weight:500 !important; color:var(--ink) !important; margin:0 !important; padding:0 !important; }
.smw-wk .smw-ps2 { font-size:11.5px !important; color:var(--mu) !important; margin:0 !important; padding:0 !important; }

/* ══════════════════════════════════════
   REVIEW
══════════════════════════════════════ */
.smw-wk .smw-review { border:1.5px solid var(--ru) !important; border-radius:var(--rs) !important; overflow:hidden !important; margin:0 0 18px !important; padding:0 !important; }
.smw-wk .smw-rr { display:flex !important; justify-content:space-between !important; align-items:center !important; padding:10px 16px !important; margin:0 !important; border-bottom:1px solid var(--rl) !important; font-size:13.5px !important; gap:12px !important; }
.smw-wk .smw-rr:last-child { border-bottom:none !important; }
.smw-wk .smw-rk { color:var(--mu) !important; flex-shrink:0 !important; margin:0 !important; padding:0 !important; }
.smw-wk .smw-rv { font-weight:500 !important; color:var(--ink) !important; text-align:right !important; margin:0 !important; padding:0 !important; }

.smw-wk .smw-agb { display:flex !important; align-items:flex-start !important; gap:10px !important; font-size:13px !important; color:var(--mu) !important; cursor:pointer !important; margin:0 0 20px !important; padding:0 !important; line-height:1.55 !important; }
.smw-wk .smw-agb input[type="checkbox"] { width:16px !important; height:16px !important; margin:2px 0 0 !important; padding:0 !important; accent-color:var(--b) !important; flex-shrink:0 !important; }

/* ══════════════════════════════════════
   STEP FOOTER
══════════════════════════════════════ */
.smw-wk .smw-pfoot { display:flex !important; gap:10px !important; align-items:center !important; justify-content:space-between !important; padding:18px 0 0 !important; margin:20px 0 0 !important; border-top:1px solid var(--rl) !important; }
.smw-wk .smw-pfoot > *:only-child { margin-left:auto !important; }

.smw-wk .smw-btnp,
.smw-wk .smw-btng,
.smw-wk .smw-btno {
  display:inline-flex !important; align-items:center !important; gap:6px !important;
  border-radius:var(--rs) !important; font-family:'DM Sans',system-ui,sans-serif !important;
  font-weight:400 !important; letter-spacing:.01em !important; line-height:1 !important;
  white-space:nowrap !important; text-decoration:none !important; cursor:pointer !important;
  transition:background .15s, box-shadow .15s, transform .1s !important;
}
.smw-wk .smw-btnp { background:var(--b) !important; color:#fff !important; border:none !important; padding:0 20px !important; height:42px !important; font-size:13.5px !important; box-shadow:0 2px 6px rgba(12,76,129,.2) !important; }
.smw-wk .smw-btnp:hover { background:var(--bh) !important; transform:translateY(-1px) !important; color:#fff !important; }
.smw-wk .smw-btng { background:transparent !important; border:1.5px solid var(--ru) !important; color:var(--mu) !important; padding:0 16px !important; height:42px !important; font-size:13.5px !important; box-shadow:none !important; }
.smw-wk .smw-btng:hover { background:var(--bg) !important; border-color:#d1d5db !important; color:var(--ink) !important; }
.smw-wk .smw-btno { background:var(--b) !important; color:#fff !important; border:none !important; padding:0 24px !important; height:46px !important; font-size:14px !important; font-weight:500 !important; box-shadow:0 2px 10px rgba(12,76,129,.25) !important; }
.smw-wk .smw-btno:hover { background:var(--bh) !important; transform:translateY(-1px) !important; color:#fff !important; }
.smw-wk .smw-btno:disabled { opacity:.6 !important; cursor:not-allowed !important; transform:none !important; }

.smw-wk .smw-err { background:var(--reb) !important; border:1.5px solid #fecaca !important; border-radius:var(--rs) !important; color:var(--re) !important; font-size:13px !important; padding:10px 14px !important; margin:10px 0 0 !important; }

/* ══════════════════════════════════════
   SIDEBAR
══════════════════════════════════════ */
.smw-wk .smw-aside { position:sticky !important; top:24px !important; display:flex !important; flex-direction:column !important; gap:14px !important; margin:0 !important; padding:0 !important; }
.smw-wk .smw-cart { background:var(--sf) !important; border:1.5px solid var(--ru) !important; border-radius:var(--r) !important; overflow:visible !important; box-shadow:0 1px 8px rgba(0,0,0,.07) !important; margin:0 !important; padding:0 !important; }
.smw-wk .smw-ch { border-radius:var(--r) var(--r) 0 0 !important; }
.smw-wk .smw-cpr { border-radius:0 0 var(--r) var(--r) !important; }
.smw-wk .smw-ch { display:flex !important; align-items:center !important; gap:8px !important; padding:12px 18px !important; margin:0 !important; font-size:11px !important; font-weight:600 !important; letter-spacing:.08em !important; text-transform:uppercase !important; color:var(--mu) !important; border-bottom:1px solid var(--ru) !important; background:var(--bg) !important; }
.smw-wk .smw-cprod { display:flex !important; align-items:center !important; gap:12px !important; padding:16px 18px !important; margin:0 !important; border-bottom:1px solid var(--rl) !important; }
.smw-wk .smw-cthumb { width:42px !important; height:42px !important; border-radius:var(--rs) !important; background:var(--bt) !important; border:1.5px solid var(--bb) !important; display:flex !important; align-items:center !important; justify-content:center !important; flex-shrink:0 !important; color:var(--b) !important; margin:0 !important; padding:0 !important; }
.smw-wk .smw-cthumb svg { width:20px !important; height:20px !important; }
.smw-wk .smw-cpn { font-size:13.5px !important; font-weight:500 !important; color:var(--ink) !important; margin:0 0 2px !important; padding:0 !important; }
.smw-wk .smw-cpm { font-size:11.5px !important; color:var(--mu) !important; margin:0 !important; padding:0 !important; }
.smw-wk .smw-cl { padding:12px 18px !important; margin:0 !important; min-height:44px !important; }
.smw-wk #smw-cprice[hidden] ~ * { display:none !important; }
/* Wenn Preisbox versteckt ist, bekommt smw-cl die untere Rundung */
.smw-wk .smw-cpr[hidden] { display:none !important; }
.smw-wk .smw-cl:last-child { border-radius:0 0 var(--r) var(--r) !important; }
.smw-wk .smw-ce { display:flex !important; align-items:center !important; gap:6px !important; font-size:12.5px !important; color:var(--ml) !important; margin:0 !important; padding:0 !important; }
.smw-wk .smw-cline { display:flex !important; justify-content:space-between !important; font-size:13px !important; padding:5px 0 !important; margin:0 !important; color:var(--i2) !important; border-bottom:1px solid var(--rl) !important; }
.smw-wk .smw-cline:last-child { border-bottom:none !important; }
.smw-wk .smw-clk { color:var(--mu) !important; }
.smw-wk .smw-cpr { border-top:1.5px solid var(--ru) !important; padding:14px 18px 16px !important; margin:0 !important; background:var(--bg) !important; }
.smw-wk .smw-cpl { display:flex !important; justify-content:space-between !important; font-size:13px !important; padding:4px 0 !important; margin:0 !important; color:var(--mu) !important; }
.smw-wk .smw-cpb { display:flex !important; justify-content:space-between !important; font-size:18px !important; font-weight:600 !important; color:var(--b) !important; padding:10px 0 0 !important; margin:8px 0 0 !important; border-top:1.5px solid var(--ru) !important; }
.smw-wk .smw-cpb span:first-child { color:var(--ink) !important; font-weight:500 !important; font-size:14px !important; align-self:flex-end !important; }
.smw-wk .smw-cpn2 { font-size:11px !important; color:var(--ml) !important; margin:8px 0 0 !important; padding:0 !important; }
.smw-wk .smw-trust { background:var(--sf) !important; border:1.5px solid var(--ru) !important; border-radius:var(--r) !important; padding:14px 18px !important; margin:0 !important; display:flex !important; flex-direction:column !important; gap:10px !important; }
.smw-wk .smw-ti { display:flex !important; align-items:center !important; gap:8px !important; font-size:13px !important; color:var(--mu) !important; margin:0 !important; padding:0 !important; }
.smw-wk .smw-ti .smw-ico { color:var(--b) !important; }

/* ══════════════════════════════════════
   SUCCESS
══════════════════════════════════════ */
.smw-wk .smw-success { text-align:center !important; padding:56px 32px !important; margin:10px 0 0 !important; background:var(--grb) !important; border:1.5px solid #bbf7d0 !important; border-radius:var(--r) !important; }
.smw-wk .smw-okico { margin:0 0 16px !important; color:var(--gr) !important; }
.smw-wk .smw-okico svg { width:52px !important; height:52px !important; }
.smw-wk .smw-success h2 { font-size:1.5rem !important; font-weight:300 !important; letter-spacing:-.02em !important; color:var(--ink) !important; margin:0 0 10px !important; padding:0 !important; }
.smw-wk .smw-success p  { font-size:14.5px !important; color:var(--mu) !important; margin:0 0 24px !important; padding:0 !important; line-height:1.65 !important; }
.smw-wk .smw-oktel { display:inline-flex !important; align-items:center !important; gap:8px !important; background:var(--b) !important; color:#fff !important; border-radius:var(--rs) !important; padding:11px 22px !important; font-size:14.5px !important; font-weight:500 !important; text-decoration:none !important; }
.smw-wk .smw-oktel:hover { background:var(--bh) !important; color:#fff !important; }

/* ══════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════ */
@media (max-width:600px) {
  .smw-wk .smw-hero { padding:22px 0 18px !important; }
  .smw-wk .smw-rail { padding:14px 0 !important; margin-bottom:20px !important; }
  .smw-wk .smw-rl { display:none !important; }
  .smw-wk .smw-ph { padding:12px 16px !important; }
  .smw-wk .smw-pb { padding:16px !important; }
  .smw-wk .smw-ps { padding:8px 16px !important; }
  .smw-wk .smw-pfoot { padding-top:14px !important; margin-top:16px !important; }
}
