/* ════════════════════════════════════════════════════════════════════
   EUROBOX LADESCHRÄNKE KONFIGURATOR 2026 — Liquid Glass Design System
   Shared stylesheet for all pages
   ════════════════════════════════════════════════════════════════════ */

/* ──────────────────── INDEX + SHARED CORE ──────────────────── */
/* ──────────────────────────────────────────────────────────
   LIQUID GLASS DESIGN TOKENS
   ────────────────────────────────────────────────────────── */
:root{
  /* Palette */
  --bg-1:#eef3ff;
  --bg-2:#f6f8fc;
  --bg-3:#eaf3ff;
  --orb-blue:#9ec5ff;
  --orb-cyan:#a8e6f0;
  --orb-violet:#c9b8ff;
  --orb-pink:#ffd0e6;

  --text-1:#000;
  --text-2:#445069;
  --text-3:#000;
  --line:rgba(15,30,60,0.08);

  --accent-blue:#021320;
  --accent-cyan:#0891b2;
  --accent-violet:#2581c4;

  /* Glass */
  --glass-bg: rgba(255,255,255,0.55);
  --glass-bg-strong: rgba(255,255,255,0.72);
  --glass-bg-soft: rgba(255,255,255,0.38);
  --glass-border: rgba(255,255,255,0.85);
  --glass-border-bottom: rgba(15,30,60,0.06);
  --glass-shadow:
      0 1px 0 rgba(255,255,255,0.9) inset,
      0 -1px 0 rgba(15,30,60,0.04) inset,
      0 10px 30px -12px rgba(20,40,90,0.18),
      0 30px 60px -30px rgba(20,40,90,0.22);
  --glass-shadow-soft:
      0 1px 0 rgba(255,255,255,0.8) inset,
      0 8px 24px -10px rgba(20,40,90,0.12);

  --radius-sm:14px;
  --radius:20px;
  --radius-lg:28px;
  --radius-xl:36px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--text-1);
  font-size:15px;
  line-height:1.55;
  letter-spacing:-0.005em;
  -webkit-font-smoothing:antialiased;
  background:
    radial-gradient(1100px 700px at 85% -10%, rgba(168,230,240,0.55), transparent 60%),
    radial-gradient(900px 600px at -10% 20%, rgba(201,184,255,0.45), transparent 60%),
    radial-gradient(800px 500px at 40% 80%, rgba(158,197,255,0.45), transparent 60%),
    linear-gradient(180deg, var(--bg-1) 0%, var(--bg-2) 50%, var(--bg-3) 100%);
  background-attachment: fixed;
  min-height:100vh;
}

/* Floating decorative orbs */
.orb{position:fixed;border-radius:50%;filter:blur(80px);opacity:.55;pointer-events:none;z-index:0}
.orb-1{width:520px;height:520px;background:var(--orb-cyan);top:-120px;right:-80px}
.orb-2{width:460px;height:460px;background:var(--orb-violet);top:30%;left:-180px}
.orb-3{width:380px;height:380px;background:var(--orb-blue);bottom:-100px;right:20%}

.container{max-width:1400px;margin:0 auto;padding:0 28px;position:relative;z-index:1}

/* ──────────────────────────────────────────────────────────
   TOP INFO BAR — slim glass strip
   ────────────────────────────────────────────────────────── */
.top-info-bar{
  position:sticky;top:0;z-index:50;
  backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  background:rgba(255,255,255,0.55);
  border-bottom:1px solid var(--glass-border-bottom);
  box-shadow:0 1px 0 rgba(255,255,255,0.7) inset;
}
.tib-inner{
  display:flex;align-items:center;justify-content:center;gap:22px;
  padding:9px 0;
  font-size:15px;
  color:var(--text-2);
}
.tib-title{
  font-weight:600;color:var(--text-1);
  background:linear-gradient(90deg,var(--accent-blue),var(--accent-violet));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.tib-item{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.tib-icon{width:14px;height:14px;stroke:var(--accent-blue);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.tib-item strong{color:var(--text-1);font-weight:600}
@media (max-width:900px){.tib-inner{flex-wrap:wrap;gap:14px;font-size:12px}}

/* ──────────────────────────────────────────────────────────
   HEADER — full-width dark dock with logo + phones (no top gap)
   ────────────────────────────────────────────────────────── */
header.glass-header{
  position:sticky;top:43px;z-index:40;
  margin-top:0;
  padding:0;
}
header.glass-header > .container{
  max-width:none;padding:0;
}
.header-shell{
  background:#021320;
  backdrop-filter:saturate(180%) blur(28px);
  -webkit-backdrop-filter:saturate(180%) blur(28px);
  border:0;border-top:1px solid rgba(255,255,255,0.08);border-bottom:1px solid rgba(255,255,255,0.08);
  border-radius:0;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.08) inset,
    0 -1px 0 rgba(0,0,0,0.2) inset,
    0 14px 36px -16px rgba(10,18,40,0.45);
  padding:14px max(28px, calc((100% - 1400px) / 2 + 28px));
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  position:relative;overflow:hidden;
}
.header-shell::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(800px 240px at 15% -40%, rgba(125,211,252,0.16), transparent 60%),
    radial-gradient(700px 240px at 95% 120%, rgba(196,181,253,0.14), transparent 60%),
    linear-gradient(180deg,rgba(255,255,255,0.06),transparent 60%);
  pointer-events:none;
}
.brand{display:flex;align-items:center;gap:14px;position:relative}
.brand img{height:44px;width:auto;display:block}
.topNumber{display:flex;list-style:none;margin:0;padding:0;gap:14px;align-items:center;position:relative}
.topNumber li{
  display:flex;align-items:center;gap:8px;
  padding:8px 16px;border-radius:999px;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.14);
  box-shadow:0 1px 0 rgba(255,255,255,0.08) inset, 0 4px 14px -8px rgba(0,0,0,0.4);
  font-size:13.5px;
  transition:transform .25s ease, background .25s ease, border-color .25s ease;
}
.topNumber li:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,0.14);
  border-color:rgba(255,255,255,0.22);
}
.topNumber span{color:rgba(255,255,255,0.6);font-weight:500}
.topNumber a{color:#fff;font-weight:600;text-decoration:none;letter-spacing:-0.01em}
@media (max-width:900px){
  .topNumber li:nth-child(n+2){display:none}
}

/* ──────────────────────────────────────────────────────────
   HERO — title + welcome row
   ────────────────────────────────────────────────────────── */
.hero{
  padding:72px 0 40px;
  text-align:left;
  position:relative;
}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 18px;border-radius:999px;
  background:rgba(255,255,255,0.55);
  border:1px solid rgba(255,255,255,0.85);
  box-shadow:0 1px 0 rgba(255,255,255,0.95) inset, 0 6px 18px -10px rgba(20,40,90,0.18);
  backdrop-filter:blur(12px);
  font-size:15px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;
  color:#2581c4;
}
.hero-eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent-cyan);box-shadow:0 0 0 4px rgba(8,145,178,0.18)}
.hero h1{
  margin:22px 0 0;
  max-width:1200px;
  font-size:clamp(32px,2.8vw,52px);
  font-weight:700;
  line-height:1.2;
  letter-spacing:-0.025em;
  color:#021320;
}
.hero h1 .accent{
  background:linear-gradient(120deg,var(--accent-blue),var(--accent-violet) 55%,var(--accent-cyan));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-sub{
  margin:18px 0 0;
  max-width:700px;
  color:var(--text-2);
  font-size:18px;
  line-height:1.5;
  font-weight:500;
}

.hero-welcome{
  margin:36px 0 0;max-width:1400px;
  display:flex;align-items:center;gap:18px;
  background:var(--glass-bg);
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  border:1px solid var(--glass-border);
  border-radius:var(--radius-lg);
  padding:18px 22px;
  box-shadow:var(--glass-shadow-soft);
  text-align:left;position:relative;overflow:hidden;
}
.hero-welcome::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,0.6),transparent 50%);
  pointer-events:none;border-radius:inherit;
}
.hero-welcome-icon{
  flex-shrink:0;width:70px;height:70px;border-radius:18px;
  background:linear-gradient(135deg,rgba(37,99,235,0.12),rgba(124,58,237,0.12));
  border:1px solid rgba(255,255,255,0.9);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 1px 0 rgba(255,255,255,0.95) inset, 0 6px 16px -8px rgba(20,40,90,0.18);
}
.hero-welcome-icon svg{width:50px;height:50px;stroke:var(--accent-blue);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.hero-welcome p{margin:0;color:#021320;font-size:25px;font-weight:800;line-height:1.5}
.hero-welcome p small{display:block;color:var(--text-3);font-weight:500;font-size:18px;margin-top:4px;letter-spacing:-0.005em}

/* ──────────────────────────────────────────────────────────
   SCHRITT 1 — Devices grid
   ────────────────────────────────────────────────────────── */
.step-section{padding:56px 0 100px;position:relative}
.step-heading{
  display:flex;align-items:center;gap:18px;
  margin-bottom:34px;flex-wrap:wrap;
}
.step-pill{
  display:inline-flex;align-items:center;gap:12px;
  padding:10px 18px 10px 10px;border-radius:999px;
  background:rgba(255,255,255,0.6);backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,0.9);
  box-shadow:0 1px 0 rgba(255,255,255,0.9) inset, 0 6px 18px -10px rgba(20,40,90,0.18);
}
.step-pill-num{
  width:32px;height:32px;border-radius:50%;
  background:linear-gradient(135deg,var(--accent-blue),var(--accent-violet));
  color:#fff;display:inline-flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:700;
  box-shadow:0 4px 12px -3px rgba(37,99,235,0.5);
}
.step-pill-text{
  font-size:12.5px;font-weight:700;color:var(--accent-blue);
  letter-spacing:0.1em;text-transform:uppercase;
}
.step-title{
  margin:0;flex:1;min-width:280px;
  font-size:clamp(22px,2.2vw,30px);
  font-weight:600;color:var(--text-1);letter-spacing:-0.02em;line-height:1.25;
}

.grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
@media (max-width:980px){.grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.grid{grid-template-columns:1fr}}

/* ─── Stil 2 — Full Photo cards ─── */
.card{
  position:relative;display:block;text-decoration:none;color:inherit;
  aspect-ratio:4/4.4;
  border-radius:var(--radius-lg);
  overflow:hidden;
  border:1px solid var(--glass-border);
  box-shadow:var(--glass-shadow);
  isolation:isolate;
  transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease;
  background:#e2e8f0;
}
.card:hover{
  transform:translateY(-6px);
  box-shadow:
    0 22px 50px -20px rgba(20,40,90,0.32),
    0 44px 80px -44px rgba(20,40,90,0.35);
}
.card-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  transition:transform .8s cubic-bezier(.2,.7,.2,1);
}
.card:hover .card-bg{transform:scale(1.06)}
.card-tint{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg, transparent 50%, rgba(2,19,32,0.35) 100%);
}

/* Top-left category pill */
.card-cat{
  position:absolute;top:18px;left:18px;z-index:2;
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 13px;border-radius:999px;
  background:rgba(255,255,255,0.85);backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,0.95);
  font-size:11px;font-weight:700;color:var(--accent-blue);
  letter-spacing:0.1em;text-transform:uppercase;
  box-shadow:0 6px 16px -8px rgba(20,40,90,0.25);
}
.card-cat .dot{width:6px;height:6px;border-radius:50%;background:var(--accent-blue)}

/* Default bottom strip — name + arrow */
.card-strip{
  position:absolute;left:14px;right:14px;bottom:14px;z-index:2;
  padding:14px 16px;border-radius:18px;
  background:rgba(255,255,255,0.82);backdrop-filter:blur(20px) saturate(180%);
  border:1px solid rgba(255,255,255,0.95);
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  box-shadow:0 1px 0 rgba(255,255,255,1) inset, 0 10px 28px -14px rgba(20,40,90,0.3);
  transition:opacity .35s ease, transform .45s cubic-bezier(.2,.7,.2,1);
}
.card-strip .card-name{margin:0;font-size:20px;font-weight:600;color:var(--text-1);letter-spacing:-0.02em}
.card-strip .card-arrow{
  width:36px;height:36px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--accent-blue),var(--accent-violet));
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 14px -4px rgba(37,99,235,0.5);
}
.card-strip .card-arrow svg{width:13px;height:13px;stroke:#fff;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}

.card:hover .card-strip{opacity:0;transform:translateY(20px)}

/* Hover overlay panel */
.card-overlay{
  position:absolute;left:14px;right:14px;bottom:14px;z-index:3;
  padding:22px;border-radius:20px;
  background:rgba(2,19,32,0.85);
  backdrop-filter:blur(28px) saturate(160%);
  border:1px solid rgba(255,255,255,0.1);
  box-shadow:0 18px 40px -16px rgba(0,0,0,0.5);
  opacity:0;transform:translateY(30px);
  transition:opacity .4s ease, transform .5s cubic-bezier(.2,.7,.2,1);
}
.card:hover .card-overlay{opacity:1;transform:translateY(0)}
.card-overlay-title{margin:0 0 8px;font-size:18px;font-weight:700;color:#fff;letter-spacing:-0.015em}
.card-overlay-desc{margin:0 0 16px;font-size:13px;line-height:1.55;color:rgba(255,255,255,0.85);font-weight:400}
.card-overlay-cta{
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 16px;border-radius:999px;
  background:#fff;color:var(--text-1);
  font-size:12.5px;font-weight:700;letter-spacing:-0.005em;
  box-shadow:0 8px 20px -6px rgba(0,0,0,0.4);
}
.card-overlay-cta svg{width:12px;height:12px;stroke:var(--text-1);stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* ──────────────────────────────────────────────────────────
   SECTION — "Schon gewusst?"  (Variante A3 — Magazine Quote)
   ────────────────────────────────────────────────────────── */
.sg-section{padding:0 0 40px;position:relative}
.sg-mag{
  position:relative;
  border-radius:32px;overflow:hidden;
  background:rgba(255,255,255,0.55);
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  border:1px solid rgba(255,255,255,0.9);
  box-shadow:var(--glass-shadow);
  isolation:isolate;
  display:grid;grid-template-columns:1.1fr 1fr;align-items:stretch;
  min-height:420px;
}
@media (max-width:980px){.sg-mag{grid-template-columns:1fr}}
.sg-mag::before{
  content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,0.5) 0%, transparent 30%);z-index:0;
}
.sg-media{position:relative;z-index:1;background:#e2e8f0}
.sg-media img{width:100%;height:100%;object-fit:cover;display:block;min-height:320px}
.sg-media-tag{
  position:absolute;top:24px;left:24px;z-index:2;
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 14px;border-radius:999px;
  background:rgba(255,255,255,0.92);backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,1);
  font-size:11px;font-weight:700;color:var(--accent-violet);
  letter-spacing:0.1em;text-transform:uppercase;
  box-shadow:0 8px 20px -8px rgba(20,40,90,0.25);
}
.sg-media-tag .dot{width:6px;height:6px;border-radius:50%;background:var(--accent-violet)}

.sg-content{
  position:relative;z-index:1;
  padding:60px 56px;display:flex;flex-direction:column;justify-content:center;
}
.sg-quote{
  font-family:'Inter';font-weight:800;font-size:80px;line-height:0.6;
  color:var(--accent-violet);opacity:0.18;
  margin-bottom:10px;
}
.sg-mag-title{
  margin:0 0 18px;
  font-size:clamp(26px,2.8vw,36px);font-weight:700;
  color:#021320;letter-spacing:-0.025em;line-height:1.2;
}
.sg-mag-lead{margin:0 0 28px;font-size:16px;line-height:1.6;color:var(--text-2);font-weight:500;max-width:440px}

.sg-mag-list{list-style:none;margin:0 0 32px;padding:0 0 0 22px;display:grid;gap:14px;border-left:2px solid rgba(37,129,196,0.18)}
.sg-mag-list li{position:relative;font-size:14.5px;color:#021320;font-weight:500;line-height:1.5}
.sg-mag-list li::before{
  content:'';position:absolute;left:-29px;top:8px;
  width:10px;height:10px;border-radius:50%;
  background:var(--accent-violet);box-shadow:0 0 0 4px rgba(37,129,196,0.15);
}
.sg-mag-list li b{color:var(--accent-violet);font-weight:700}

.sg-mag-cta{
  display:inline-flex;align-items:center;gap:10px;
  padding:13px 22px;border-radius:999px;
  background:linear-gradient(135deg,var(--accent-blue),var(--accent-violet));
  color:#fff;text-decoration:none;
  font-size:14px;font-weight:700;letter-spacing:-0.005em;
  width:fit-content;
  box-shadow:0 10px 24px -8px rgba(37,129,196,0.4);
  transition:transform .3s ease;
}
.sg-mag-cta:hover{transform:translateY(-2px)}
.sg-mag-cta svg{width:13px;height:13px;stroke:#fff;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* ──────────────────────────────────────────────────────────
   SECTION — "Individuell konfigurierbar" (Variante B3 — Rows)
   ────────────────────────────────────────────────────────── */
.ic-section{padding:60px 0 60px;position:relative}
.ic-head{
  margin-bottom:46px;
  display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap;
}
.ic-head-l{flex:1;min-width:300px}
.ic-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;font-weight:700;color:var(--accent-violet);
  letter-spacing:0.14em;text-transform:uppercase;
  margin-bottom:14px;
}
.ic-eyebrow::before{content:'';width:36px;height:1px;background:var(--accent-violet)}
.ic-head h2{
  margin:0;font-size:clamp(26px,2.8vw,38px);font-weight:700;
  color:#021320;letter-spacing:-0.025em;line-height:1.15;
}
.ic-list{display:grid;gap:14px}
.ic-row{
  display:grid;grid-template-columns:120px 1fr;gap:32px;align-items:center;
  padding:26px 30px;border-radius:24px;
  background:rgba(255,255,255,0.55);
  backdrop-filter:blur(22px) saturate(180%);
  -webkit-backdrop-filter:blur(22px) saturate(180%);
  border:1px solid rgba(255,255,255,0.9);
  box-shadow:var(--glass-shadow);
  position:relative;overflow:hidden;isolation:isolate;
  transition:transform .35s ease, box-shadow .35s ease;
}
.ic-row::before{
  content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,0.55) 0%, transparent 30%);z-index:0;
}
.ic-row:hover{transform:translateX(4px)}
@media (max-width:780px){
  .ic-row{grid-template-columns:80px 1fr;gap:16px;padding:22px}
}

.ic-num-block{
  position:relative;z-index:1;
  font-size:72px;font-weight:200;color:#021320;
  line-height:1;letter-spacing:-0.04em;
  display:flex;align-items:baseline;
}
.ic-num-block::after{
  content:'';margin-left:8px;width:6px;height:6px;border-radius:50%;
  background:var(--accent-violet);align-self:flex-end;margin-bottom:14px;
}

.ic-body{position:relative;z-index:1;display:flex;align-items:center;gap:20px}
.ic-icon-wrap{
  flex-shrink:0;
  width:54px;height:54px;border-radius:16px;
  background:rgba(255,255,255,0.7);border:1px solid rgba(255,255,255,0.95);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 1px 0 rgba(255,255,255,1) inset, 0 6px 16px -8px rgba(20,40,90,0.2);
}
.ic-icon-wrap svg{width:26px;height:26px;stroke:var(--accent-violet);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ic-text h3{margin:0 0 4px;font-size:18px;font-weight:700;color:#021320;letter-spacing:-0.015em}
.ic-text p{margin:0;font-size:14.5px;line-height:1.55;color:var(--text-2);font-weight:400}

/* per-row accent (dot + icon stroke) */
.ic-row[data-c="1"] .ic-num-block::after{background:#2581c4}
.ic-row[data-c="2"] .ic-num-block::after{background:#0891b2}
.ic-row[data-c="3"] .ic-num-block::after{background:#7c3aed}
.ic-row[data-c="4"] .ic-num-block::after{background:#059669}
.ic-row[data-c="1"] .ic-icon-wrap svg{stroke:#2581c4}
.ic-row[data-c="2"] .ic-icon-wrap svg{stroke:#0891b2}
.ic-row[data-c="3"] .ic-icon-wrap svg{stroke:#7c3aed}
.ic-row[data-c="4"] .ic-icon-wrap svg{stroke:#059669}

/* Hinweis card */
.ic-notice{
  margin-top:28px;
  display:flex;align-items:flex-start;gap:18px;
  padding:22px 28px;border-radius:24px;
  background:#D5EFED;
  border:1px solid #005B26;
  box-shadow:var(--glass-shadow);
  position:relative;overflow:hidden;isolation:isolate;
}
.ic-notice::before{
  content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,0.6) 0%, transparent 35%);z-index:0;
}
.ic-notice-ico{
  position:relative;z-index:1;flex-shrink:0;
  width:48px;height:48px;border-radius:14px;
  background:#D5EFED;
  border:1px solid rgba(0,91,38,0.25);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 1px 0 rgba(255,255,255,0.6) inset;
}
.ic-notice-ico svg{width:24px;height:24px;stroke:#059669;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ic-notice-body{position:relative;z-index:1}
.ic-notice-text{margin:0;font-size:14.5px;line-height:1.6;color:#1e6b4f;font-weight:500}
.ic-notice-text b{color:#1e6b4f;font-weight:700}

/* ──────────────────────────────────────────────────────────
   SECTION — VORTEILE (Sektion C)
   ────────────────────────────────────────────────────────── */
.v-section{padding:60px 0 40px;position:relative}
.v-head{text-align:left;margin-bottom:46px}
.v-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;font-weight:700;color:var(--accent-violet);
  letter-spacing:0.14em;text-transform:uppercase;
  margin-bottom:14px;
}
.v-eyebrow::before{content:'';width:36px;height:1px;background:var(--accent-violet)}
.v-head h2{
  margin:0;max-width:840px;
  font-size:clamp(26px,2.8vw,38px);font-weight:700;
  color:#021320;letter-spacing:-0.025em;line-height:1.15;
}

.v-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media (max-width:1100px){.v-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.v-grid{grid-template-columns:1fr}}

.v-card{
  position:relative;
  background:rgba(255,255,255,0.55);
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  border:1px solid rgba(255,255,255,0.9);
  border-radius:26px;
  padding:30px 26px;
  box-shadow:var(--glass-shadow);
  overflow:hidden;isolation:isolate;
  transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease;
}
.v-card::before{
  content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,0.6) 0%, transparent 35%);z-index:0;
}
.v-card:hover{
  transform:translateY(-6px);
  box-shadow:
    0 1px 0 rgba(255,255,255,1) inset,
    0 22px 50px -20px rgba(20,40,90,0.28),
    0 44px 80px -44px rgba(20,40,90,0.32);
}
.v-spot{
  position:absolute;width:260px;height:260px;border-radius:50%;
  top:-90px;right:-90px;filter:blur(70px);opacity:.55;z-index:0;
  transition:opacity .4s ease;
}
.v-card:hover .v-spot{opacity:.85}

.v-icon-tile{
  position:relative;z-index:1;
  width:64px;height:64px;border-radius:20px;
  background:linear-gradient(135deg,var(--accent-blue),var(--accent-violet));
  display:flex;align-items:center;justify-content:center;
  margin-bottom:20px;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.2) inset,
    0 14px 30px -8px rgba(37,129,196,0.4),
    0 2px 4px rgba(2,19,32,0.18);
}
.v-icon-tile svg{width:30px;height:30px;stroke:#fff;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}

.v-title{
  position:relative;z-index:1;
  margin:0 0 10px;font-size:18px;font-weight:700;color:#021320;
  letter-spacing:-0.015em;line-height:1.25;
}
.v-desc{
  position:relative;z-index:1;
  margin:0;font-size:14px;line-height:1.55;color:var(--text-2);font-weight:400;
}

.v-card[data-c="1"] .v-spot{background:rgba(158,197,255,0.65)}
.v-card[data-c="1"] .v-icon-tile{background:linear-gradient(135deg,#1d4ed8,#3b82f6)}
.v-card[data-c="2"] .v-spot{background:rgba(168,230,240,0.65)}
.v-card[data-c="2"] .v-icon-tile{background:linear-gradient(135deg,#0e7490,#06b6d4)}
.v-card[data-c="3"] .v-spot{background:rgba(201,184,255,0.6)}
.v-card[data-c="3"] .v-icon-tile{background:linear-gradient(135deg,#6d28d9,#8b5cf6)}
.v-card[data-c="4"] .v-spot{background:rgba(180,255,210,0.55)}
.v-card[data-c="4"] .v-icon-tile{background:linear-gradient(135deg,#047857,#10b981)}

/* ──────────────────────────────────────────────────────────
   SECTION — SPINDE UND SCHRÄNKE (Sektion D)
   ────────────────────────────────────────────────────────── */
.sp-section{padding:60px 0 40px;position:relative}
.sp-head{margin-bottom:40px;text-align:left}
.sp-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;font-weight:700;color:#7c3aed;
  letter-spacing:0.14em;text-transform:uppercase;
  margin-bottom:14px;
}
.sp-eyebrow::before{content:'';width:36px;height:1px;background:#7c3aed}
.sp-head h2{
  margin:0 0 14px;max-width:880px;
  font-size:clamp(26px,2.8vw,38px);font-weight:700;
  color:#021320;letter-spacing:-0.025em;line-height:1.15;
}
.sp-head p{
  margin:0;max-width:720px;
  color:var(--text-2);font-size:16px;line-height:1.6;font-weight:500;
}

.sp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media (max-width:980px){.sp-grid{grid-template-columns:1fr}}

.sp-card{
  position:relative;display:block;text-decoration:none;color:inherit;
  border-radius:28px;overflow:hidden;
  border:1px solid rgba(255,255,255,0.9);
  box-shadow:var(--glass-shadow);
  isolation:isolate;
  transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease;
  background:#e2e8f0;
  aspect-ratio:4/4.3;
}
.sp-card:hover{
  transform:translateY(-6px);
  box-shadow:
    0 22px 50px -20px rgba(20,40,90,0.32),
    0 44px 80px -44px rgba(20,40,90,0.35);
}
.sp-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  transition:transform .8s cubic-bezier(.2,.7,.2,1);
}
.sp-card:hover .sp-bg{transform:scale(1.06)}
.sp-tint{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg, transparent 45%, rgba(2,19,32,0.55) 100%);
}
.sp-ext{
  position:absolute;top:18px;right:18px;z-index:2;
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 12px;border-radius:999px;
  background:rgba(255,255,255,0.92);backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,1);
  font-size:10.5px;font-weight:700;color:#7c3aed;
  letter-spacing:0.1em;text-transform:uppercase;
  box-shadow:0 6px 16px -8px rgba(20,40,90,0.25);
}
.sp-ext svg{width:11px;height:11px;stroke:#7c3aed;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}

.sp-panel{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:24px 24px 22px;
  color:#fff;
}
.sp-title{margin:0 0 6px;font-size:22px;font-weight:700;color:#fff;letter-spacing:-0.02em;line-height:1.2}
.sp-desc{margin:0 0 16px;font-size:13.5px;line-height:1.5;color:rgba(255,255,255,0.85);font-weight:400}
.sp-cta{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 18px;border-radius:999px;
  background:rgba(255,255,255,0.95);
  border:1px solid rgba(255,255,255,1);
  color:#021320;
  font-size:13px;font-weight:700;letter-spacing:-0.005em;
  box-shadow:0 8px 20px -6px rgba(0,0,0,0.3);
  transition:transform .3s ease;
}
.sp-card:hover .sp-cta{transform:translateX(2px)}
.sp-cta svg{width:13px;height:13px;stroke:#021320;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* ──────────────────────────────────────────────────────────
   SECTION — FAQ (left-aligned, single column)
   ────────────────────────────────────────────────────────── */
.faq-section{padding:60px 0 40px;position:relative}
.faq-head{margin-bottom:32px;text-align:left}
.faq-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;font-weight:700;color:var(--accent-violet);
  letter-spacing:0.14em;text-transform:uppercase;
  margin-bottom:14px;
}
.faq-eyebrow::before{content:'';width:36px;height:1px;background:var(--accent-violet)}
.faq-head h2{
  margin:0 0 12px;font-size:clamp(26px,2.8vw,38px);font-weight:700;
  color:#021320;letter-spacing:-0.025em;line-height:1.15;
}
.faq-head p{margin:0;font-size:16px;line-height:1.6;color:var(--text-2);font-weight:500;max-width:720px}

.faq-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.faq-item{
  background:rgba(255,255,255,0.55);
  backdrop-filter:blur(20px) saturate(180%);
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  border:1px solid rgba(255,255,255,0.9);
  border-radius:20px;
  box-shadow:var(--glass-shadow);
  overflow:hidden;
  transition:border-color .35s ease, box-shadow .35s ease;
}
.faq-item.open{border-color:rgba(37,129,196,0.25)}
.faq-trigger{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  width:100%;padding:20px 24px;
  background:transparent;border:0;cursor:pointer;
  font-family:inherit;text-align:left;
}
.faq-q{margin:0;font-size:15.5px;font-weight:600;color:#021320;letter-spacing:-0.01em;line-height:1.4}
.faq-chev{
  flex-shrink:0;width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,0.7);border:1px solid rgba(255,255,255,0.9);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 1px 0 rgba(255,255,255,1) inset, 0 4px 12px -8px rgba(20,40,90,0.2);
  transition:background .3s ease;
}
.faq-chev svg{width:14px;height:14px;stroke:var(--accent-violet);stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.faq-item.open .faq-chev{background:linear-gradient(135deg,var(--accent-blue),var(--accent-violet));border-color:transparent}
.faq-item.open .faq-chev svg{stroke:#fff;transform:rotate(180deg)}
.faq-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.2,.7,.2,1)}
.faq-item.open .faq-body{grid-template-rows:1fr}
.faq-body-in{overflow:hidden}
.faq-a{margin:0;padding:0 24px 22px;font-size:14.5px;line-height:1.7;color:var(--text-2);font-weight:400}

/* ──────────────────────────────────────────────────────────
   FOOTER — Runway Editorial (dark #000 · mega heading · 5 cols)
   ────────────────────────────────────────────────────────── */
.ft{
  position:relative;z-index:1;
  width:100%;margin-top:0;
  background:#000;color:#fff;
  padding:80px 0 0;overflow:hidden;
}
@media (max-width:980px){.ft{padding:48px 0 0;margin-top:0}}

.ft-inner{
  position:relative;z-index:1;
  max-width:1400px;margin:0 auto;padding:0 32px;
}

.ft-mega{
  margin:0 0 60px;
  font-size:clamp(34px,4.6vw,68px);font-weight:600;
  letter-spacing:-0.04em;line-height:0.98;color:#fff;
  max-width:1100px;
}
.ft-mega .muted{color:rgba(255,255,255,0.35)}

.ft-grid{
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:40px;
  padding-bottom:48px;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
@media (max-width:980px){.ft-grid{grid-template-columns:1fr 1fr;gap:32px}}
@media (max-width:560px){.ft-grid{grid-template-columns:1fr}}

.ft-brand img.logo{height:40px;width:auto;display:block;margin-bottom:18px}
.ft-addr{
  margin:0 0 18px;font-style:normal;
  font-size:13.5px;line-height:1.6;color:rgba(255,255,255,0.65);font-weight:400;
}
.ft-hours-label{
  margin:0 0 6px;font-size:11px;font-weight:700;color:rgba(255,255,255,0.5);
  letter-spacing:0.14em;text-transform:uppercase;
}
.ft-hours-text{margin:0 0 20px;font-size:13.5px;color:rgba(255,255,255,0.78);font-weight:500}
.ft-iso{
  display:inline-flex;align-items:center;gap:10px;text-decoration:none;margin-top:4px;
}
.ft-iso img{display:block;height:42px;width:auto;transition:transform .35s ease}
.ft-iso:hover img{transform:translateY(-2px)}
.ft-iso small{
  font-size:10.5px;font-weight:700;color:rgba(255,255,255,0.55);
  letter-spacing:0.14em;text-transform:uppercase;line-height:1.3;
}

.ft-col h4{
  margin:0 0 14px;font-size:11px;font-weight:700;
  color:rgba(255,255,255,0.5);letter-spacing:0.14em;text-transform:uppercase;
}
.ft-col a, .ft-col span.r{
  display:block;padding:5px 0;
  font-size:14px;color:rgba(255,255,255,0.75);font-weight:400;
  text-decoration:none;letter-spacing:-0.005em;
  transition:color .2s ease;
}
.ft-col a:hover{color:#fff}
.ft-col span.lbl{
  display:block;font-size:10.5px;color:rgba(255,255,255,0.4);
  letter-spacing:0.1em;text-transform:uppercase;margin-bottom:2px;font-weight:600;
}

.ft-bottom{
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  padding:24px 0;
  font-size:13px;color:rgba(255,255,255,0.4);font-weight:400;
}
.ft-bottom-l{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.ft-bottom-l a{color:rgba(255,255,255,0.65);text-decoration:none;transition:color .2s ease}
.ft-bottom-l a:hover{color:#fff}
.ft-social{display:flex;gap:14px;align-items:center}
.ft-social a{
  display:inline-flex;align-items:center;justify-content:center;
  width:20px;height:20px;color:rgba(255,255,255,0.5);
  transition:color .2s ease;text-decoration:none;
}
.ft-social a:hover{color:#fff}
.ft-social a svg{width:18px;height:18px;fill:currentColor;stroke:none}


/* ──────────────────── CONFIGURATOR PAGES (cfg-* + s2/s3 + modell) ──────────────────── */

/* ══════════════════════════════════════════════════════════
   CFG HERO — page-specific opening
   ══════════════════════════════════════════════════════════ */
.cfg-hero{padding:60px 0 56px;position:relative}
.cfg-back{
  display:flex;width:fit-content;
  align-items:center;gap:8px;
  padding:8px 16px 8px 12px;border-radius:999px;
  background:rgba(255,255,255,0.6);backdrop-filter:blur(14px);
  border:1px solid var(--glass-border);
  box-shadow:0 1px 0 rgba(255,255,255,0.95) inset, 0 6px 18px -10px rgba(20,40,90,0.18);
  font-size:13px;font-weight:600;color:#021320;text-decoration:none;letter-spacing:-0.005em;
  margin-bottom:0;
  transition:transform .25s ease;
}
.cfg-back:hover{transform:translateX(-2px)}
.cfg-back svg{width:14px;height:14px;stroke:#021320;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}

.cfg-eyebrow{
  display:flex;width:fit-content;
  align-items:center;gap:8px;
  margin-top:24px;
  padding:8px 18px;border-radius:999px;
  background:rgba(255,255,255,0.55);
  border:1px solid rgba(255,255,255,0.85);
  box-shadow:0 1px 0 rgba(255,255,255,0.95) inset, 0 6px 18px -10px rgba(20,40,90,0.18);
  backdrop-filter:blur(12px);
  font-size:13px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;
  color:#2581c4;
}
.cfg-hero h1{
  margin:18px 0 0;max-width:1100px;
  font-size:clamp(32px,2.8vw,52px);
  font-weight:700;line-height:1.2;letter-spacing:-0.025em;color:#021320;
}
.cfg-hero h1 .accent{
  background:linear-gradient(120deg,#021320,#2581c4 60%,#0891b2);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.cfg-hero-sub{margin:14px 0 0;max-width:760px;font-size:17px;line-height:1.55;color:var(--text-2);font-weight:500}

.cfg-progress{
  margin-top:44px;
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  padding:14px 20px;border-radius:18px;
  background:rgba(255,255,255,0.55);
  border:1px solid var(--glass-border);
  backdrop-filter:blur(16px);
  box-shadow:var(--glass-shadow);
}
.cfg-progress-step{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-2);letter-spacing:-0.005em}
.cfg-progress-step.done .num{background:#10b981;color:#fff;border-color:transparent}
.cfg-progress-step.done .num svg{display:block}
.cfg-progress-step.active{color:#021320}
.cfg-progress-step.active .num{background:linear-gradient(135deg,#021320,#2581c4);color:#fff;border-color:transparent;box-shadow:0 4px 12px -3px rgba(37,129,196,0.45)}
.cfg-progress-step .num{
  width:26px;height:26px;border-radius:50%;
  background:rgba(255,255,255,0.7);border:1px solid var(--glass-border);
  display:inline-flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;color:#021320;
}
.cfg-progress-step .num svg{display:none;width:14px;height:14px;stroke:#fff;stroke-width:2.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.cfg-progress-bar{flex:1;height:2px;background:rgba(15,30,60,0.07);border-radius:999px;min-width:20px;position:relative;overflow:hidden}
.cfg-progress-bar::before{content:'';position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#10b981,#2581c4);border-radius:999px;width:var(--p,0%)}

/* ══════════════════════════════════════════════════════════
   CFG FORM — Schritt cards
   ══════════════════════════════════════════════════════════ */
.cfg-page{padding:0 0 80px;position:relative}
.cfg-page form{display:flex;flex-direction:column;gap:24px}

.cfg-card{
  position:relative;
  background:rgba(255,255,255,0.55);
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  border:1px solid var(--glass-border);
  border-radius:28px;
  padding:36px 36px 32px;
  box-shadow:var(--glass-shadow);
  isolation:isolate;overflow:hidden;
  opacity:0;transform:translateY(20px);
  transition:opacity .6s ease, transform .6s ease;
}
.cfg-card.cfg-in{opacity:1;transform:translateY(0)}
.cfg-card::before{
  content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,0.55) 0%, transparent 35%);z-index:0;
}
@media (max-width:780px){.cfg-card{padding:28px 22px 26px;border-radius:22px}}

.section-divider{
  display:flex;align-items:center;gap:14px;
  margin-bottom:22px;position:relative;z-index:1;
}
.step-badge{
  display:inline-flex;align-items:center;gap:10px;
  padding:8px 14px 8px 10px;border-radius:999px;
  background:rgba(255,255,255,0.7);backdrop-filter:blur(14px);
  border:1px solid var(--glass-border);
  box-shadow:0 1px 0 rgba(255,255,255,0.95) inset, 0 4px 12px -8px rgba(20,40,90,0.2);
  font-size:12px;font-weight:700;color:#2581c4;
  letter-spacing:0.12em;text-transform:uppercase;
}
.step-badge::before{
  content:attr(data-num);
  width:24px;height:24px;border-radius:50%;
  background:linear-gradient(135deg,#021320,#2581c4);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;letter-spacing:0;
  box-shadow:0 4px 10px -3px rgba(37,129,196,0.45);
}
.divider-line{flex:1;height:1px;background:rgba(15,30,60,0.07)}

.cfg-card-title{
  margin:0 0 22px;position:relative;z-index:1;
  font-size:clamp(20px,2vw,26px);font-weight:700;color:#021320;letter-spacing:-0.02em;line-height:1.25;
}

/* ─── Schritt 2 (Montage) ─── */
.cfg-s2-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;position:relative;z-index:1}
@media (max-width:620px){.cfg-s2-options{grid-template-columns:1fr}}
.cfg-s2-label{cursor:pointer;position:relative}
.cfg-s2-label input{position:absolute;opacity:0;pointer-events:none}
.cfg-s2-box{
  display:flex;align-items:center;gap:14px;
  padding:20px 22px;border-radius:18px;
  background:rgba(255,255,255,0.5);
  border:1.5px solid rgba(255,255,255,0.85);
  box-shadow:0 1px 0 rgba(255,255,255,0.95) inset, 0 6px 16px -10px rgba(20,40,90,0.15);
  transition:all .3s ease;
}
.cfg-s2-label:hover .cfg-s2-box{transform:translateY(-2px);border-color:rgba(37,129,196,0.3)}
.cfg-s2-dot{
  width:22px;height:22px;border-radius:50%;flex-shrink:0;
  border:2px solid rgba(15,30,60,0.2);background:#fff;position:relative;
  transition:all .3s ease;
}
.cfg-s2-dot::after{
  content:'';position:absolute;inset:4px;border-radius:50%;
  background:linear-gradient(135deg,#021320,#2581c4);
  transform:scale(0);transition:transform .3s ease;
}
.cfg-s2-text{font-size:15.5px;font-weight:600;color:#021320;letter-spacing:-0.005em}
.cfg-s2-label input:checked + .cfg-s2-box{
  background:linear-gradient(135deg,rgba(2,19,32,0.04),rgba(37,129,196,0.06));
  border-color:#2581c4;
  box-shadow:0 1px 0 rgba(255,255,255,1) inset, 0 10px 24px -10px rgba(37,129,196,0.35);
}
.cfg-s2-label input:checked + .cfg-s2-box .cfg-s2-dot{border-color:#2581c4}
.cfg-s2-label input:checked + .cfg-s2-box .cfg-s2-dot::after{transform:scale(1)}

/* ─── Schritt 3 (Fachanzahl) ─── */
.cfg-fach-panels{position:relative;z-index:1}
.cfg-fach-panel-title{
  margin:0 0 14px;font-size:11px;font-weight:700;color:#2581c4;
  letter-spacing:0.14em;text-transform:uppercase;
}
.cfg-fach-radio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cfg-fach-radio-grid--2col{grid-template-columns:repeat(5,1fr)}
@media (max-width:780px){.cfg-fach-radio-grid,.cfg-fach-radio-grid--2col{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.cfg-fach-radio-grid,.cfg-fach-radio-grid--2col{grid-template-columns:1fr}}

.cfg-fach-radio-label{cursor:pointer;position:relative}
.cfg-fach-radio-label input{position:absolute;opacity:0;pointer-events:none}
.cfg-fach-radio-box{
  display:flex;align-items:center;gap:10px;justify-content:center;
  padding:18px 14px;border-radius:16px;
  background:rgba(255,255,255,0.5);
  border:1.5px solid rgba(255,255,255,0.85);
  box-shadow:0 1px 0 rgba(255,255,255,0.95) inset, 0 4px 12px -8px rgba(20,40,90,0.12);
  transition:all .3s ease;
}
.cfg-fach-radio-label:hover .cfg-fach-radio-box{transform:translateY(-2px);border-color:rgba(37,129,196,0.3)}
.cfg-fach-radio-dot{
  width:18px;height:18px;border-radius:50%;
  border:2px solid rgba(15,30,60,0.2);background:#fff;position:relative;flex-shrink:0;
  transition:all .3s ease;
}
.cfg-fach-radio-dot::after{
  content:'';position:absolute;inset:3px;border-radius:50%;
  background:linear-gradient(135deg,#021320,#2581c4);
  transform:scale(0);transition:transform .3s ease;
}
.cfg-fach-radio-text{font-size:15px;font-weight:600;color:#021320;letter-spacing:-0.005em}
.cfg-fach-radio-label input:checked + .cfg-fach-radio-box{
  background:linear-gradient(135deg,rgba(2,19,32,0.04),rgba(37,129,196,0.06));
  border-color:#2581c4;
  box-shadow:0 1px 0 rgba(255,255,255,1) inset, 0 8px 20px -10px rgba(37,129,196,0.35);
}
.cfg-fach-radio-label input:checked + .cfg-fach-radio-box .cfg-fach-radio-dot{border-color:#2581c4}
.cfg-fach-radio-label input:checked + .cfg-fach-radio-box .cfg-fach-radio-dot::after{transform:scale(1)}

/* ─── Schritt 4 (Farben) ─── */
.cfg-farbe-panel{position:relative;z-index:1}
.cfg-farbe-subtitle{
  margin:0 0 14px;font-size:11px;font-weight:700;color:#2581c4;
  letter-spacing:0.14em;text-transform:uppercase;
}
.cfg-farbe-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
@media (max-width:980px){.cfg-farbe-grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:620px){.cfg-farbe-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:420px){.cfg-farbe-grid{grid-template-columns:repeat(2,1fr)}}

.cfg-farbe-label{cursor:pointer;position:relative}
.cfg-farbe-label input{position:absolute;opacity:0;pointer-events:none}
.cfg-farbe-box{
  display:flex;flex-direction:column;align-items:center;gap:8px;
  padding:16px 12px 12px;border-radius:16px;
  background:rgba(255,255,255,0.5);
  border:1.5px solid rgba(255,255,255,0.85);
  box-shadow:0 1px 0 rgba(255,255,255,0.95) inset, 0 4px 12px -8px rgba(20,40,90,0.12);
  transition:all .3s ease;
}
.cfg-farbe-label:hover .cfg-farbe-box{transform:translateY(-3px);border-color:rgba(37,129,196,0.3)}
.cfg-farbe-circle{
  width:46px;height:46px;border-radius:50%;
  box-shadow:0 1px 0 rgba(255,255,255,0.6) inset, 0 4px 10px -3px rgba(0,0,0,0.2);
  transition:transform .3s ease;
}
.cfg-farbe-label:hover .cfg-farbe-circle{transform:scale(1.05)}
.cfg-farbe-ral{font-size:11px;font-weight:700;color:#2581c4;letter-spacing:0.04em;margin-top:2px}
.cfg-farbe-name{font-size:12px;font-weight:600;color:#445069;text-align:center;line-height:1.3}
.cfg-farbe-label input:checked + .cfg-farbe-box{
  background:linear-gradient(135deg,rgba(2,19,32,0.04),rgba(37,129,196,0.06));
  border-color:#2581c4;
  box-shadow:0 1px 0 rgba(255,255,255,1) inset, 0 8px 20px -10px rgba(37,129,196,0.35);
}
.cfg-farbe-label input:checked + .cfg-farbe-box .cfg-farbe-circle{
  box-shadow:0 1px 0 rgba(255,255,255,0.6) inset, 0 0 0 3px #fff, 0 0 0 5px #2581c4;
}

/* ─── Schritt 5 (Schloss) ─── */
.cfg-schloss-panel{position:relative;z-index:1}
.cfg-schloss-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:780px){.cfg-schloss-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:420px){.cfg-schloss-grid{grid-template-columns:1fr}}

.cfg-schloss-label{cursor:pointer;position:relative}
.cfg-schloss-label input{position:absolute;opacity:0;pointer-events:none}
.cfg-schloss-box{
  display:flex;flex-direction:column;align-items:center;gap:14px;
  padding:18px;border-radius:18px;
  background:rgba(255,255,255,0.5);
  border:1.5px solid rgba(255,255,255,0.85);
  box-shadow:0 1px 0 rgba(255,255,255,0.95) inset, 0 6px 16px -10px rgba(20,40,90,0.15);
  transition:all .3s ease;
}
.cfg-schloss-label:hover .cfg-schloss-box{transform:translateY(-3px);border-color:rgba(37,129,196,0.3)}
.cfg-schloss-imgwrap{
  width:100%;aspect-ratio:5/4;border-radius:14px;overflow:hidden;
  background:linear-gradient(160deg,#f8fafc,#eef2ff);
  border:1px solid rgba(255,255,255,0.9);
  display:flex;align-items:center;justify-content:center;
}
.cfg-schloss-imgwrap img{width:90%;height:90%;object-fit:contain}
.cfg-schloss-name{margin:0;font-size:13.5px;font-weight:600;color:#021320;text-align:center;letter-spacing:-0.005em;line-height:1.3}
.cfg-schloss-label input:checked + .cfg-schloss-box{
  background:linear-gradient(135deg,rgba(2,19,32,0.04),rgba(37,129,196,0.06));
  border-color:#2581c4;
  box-shadow:0 1px 0 rgba(255,255,255,1) inset, 0 10px 24px -10px rgba(37,129,196,0.4);
}

/* ─── Schritt 6 (Textarea + Upload) ─── */
.cfg-textarea{
  position:relative;z-index:1;
  width:100%;min-height:140px;
  padding:16px 18px;border-radius:16px;
  background:rgba(255,255,255,0.6);
  border:1.5px solid rgba(255,255,255,0.9);
  box-shadow:0 1px 0 rgba(255,255,255,0.95) inset, 0 4px 12px -8px rgba(20,40,90,0.12);
  font-family:inherit;font-size:15px;color:#021320;letter-spacing:-0.005em;
  resize:vertical;outline:none;
  transition:border-color .25s ease, box-shadow .25s ease;
}
.cfg-textarea::placeholder{color:#7a8499;font-weight:400}
.cfg-textarea:focus{border-color:#2581c4;box-shadow:0 1px 0 rgba(255,255,255,1) inset, 0 0 0 4px rgba(37,129,196,0.12)}

.cfg-step-tag{
  display:inline-block;margin-bottom:12px;
  font-size:11px;font-weight:700;color:#2581c4;letter-spacing:0.14em;text-transform:uppercase;
  position:relative;z-index:1;
}
.cfg-upload-area{
  position:relative;z-index:1;
  border:2px dashed rgba(37,129,196,0.55);
  border-radius:20px;
  padding:42px 24px;text-align:center;
  background:
    radial-gradient(circle at 50% 0%, rgba(168,230,240,0.55), transparent 70%),
    radial-gradient(circle at 50% 100%, rgba(201,184,255,0.40), transparent 70%),
    rgba(255,255,255,0.55);
  cursor:pointer;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.9) inset,
    0 0 0 6px rgba(37,129,196,0.06),
    0 14px 36px -16px rgba(37,129,196,0.25);
  transition:all .3s ease;
  isolation:isolate;overflow:hidden;
}
.cfg-upload-area:hover{
  border-color:#2581c4;transform:translateY(-2px);
  box-shadow:
    0 1px 0 rgba(255,255,255,1) inset,
    0 0 0 8px rgba(37,129,196,0.1),
    0 20px 44px -18px rgba(37,129,196,0.35);
}
.cfg-upload-icon-wrap{
  display:inline-flex;align-items:center;justify-content:center;
  width:60px;height:60px;border-radius:18px;margin:0 auto 14px;
  background:linear-gradient(135deg,#021320,#2581c4);
  box-shadow:0 1px 0 rgba(255,255,255,0.25) inset, 0 12px 28px -8px rgba(37,129,196,0.5);
}
.cfg-upload-icon-wrap svg{width:28px;height:28px;stroke:#fff;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.cfg-upload-text{margin:0;font-size:15.5px;color:#021320;font-weight:500;letter-spacing:-0.005em}
.cfg-upload-text strong{color:#021320;font-weight:700}
.cfg-upload-hint{margin:8px 0 0;font-size:12.5px;color:#7a8499;font-weight:500}
.cfg-upload-hint b{color:#2581c4;font-weight:600}

/* File list */
#fileList .file-item{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:12px 16px;border-radius:14px;
  background:rgba(255,255,255,0.7);
  border:1px solid rgba(255,255,255,0.9);
  box-shadow:0 1px 0 rgba(255,255,255,0.95) inset, 0 4px 10px -6px rgba(20,40,90,0.12);
  margin-top:10px;
  font-size:14px;color:#021320;font-weight:500;
}
#fileList .delete-file{
  border:0;background:rgba(220,38,38,0.1);color:#dc2626;
  padding:6px 12px;border-radius:8px;cursor:pointer;
  font-family:inherit;font-size:12px;font-weight:600;
  transition:background .2s ease;
}
#fileList .delete-file:hover{background:rgba(220,38,38,0.18)}

/* ─── Schritt 7 (Contact) ─── */
.cfg-card-kontakt{
  margin:0 0 22px;position:relative;z-index:1;
  font-size:clamp(20px,2vw,26px);font-weight:700;color:#021320;letter-spacing:-0.02em;
}
.bgBlue{position:relative;z-index:1}
.cfg-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:620px){.cfg-form-grid{grid-template-columns:1fr}}
.cfg-form-group{display:flex;flex-direction:column;gap:8px}
.cfg-full{grid-column:1 / -1}
.cfg-label{font-size:13px;font-weight:600;color:#021320;letter-spacing:-0.005em}
.cfg-req{color:#dc2626;font-weight:700}
.cfg-input{
  padding:13px 16px;border-radius:14px;
  background:rgba(255,255,255,0.7);
  border:1.5px solid rgba(255,255,255,0.9);
  box-shadow:0 1px 0 rgba(255,255,255,0.95) inset, 0 4px 12px -8px rgba(20,40,90,0.12);
  font-family:inherit;font-size:14.5px;color:#021320;letter-spacing:-0.005em;
  outline:none;
  transition:border-color .25s ease, box-shadow .25s ease;
}
.cfg-input::placeholder{color:#7a8499;font-weight:400}
.cfg-input:focus{border-color:#2581c4;box-shadow:0 1px 0 rgba(255,255,255,1) inset, 0 0 0 4px rgba(37,129,196,0.12)}

.cfg-privacy-note{
  margin:28px 0 24px;
  display:flex;align-items:flex-start;gap:12px;
  padding:16px 20px;border-radius:16px;
  background:linear-gradient(135deg, rgba(37,129,196,0.10), rgba(8,145,178,0.08));
  border:1.5px solid rgba(37,129,196,0.28);
  box-shadow:0 1px 0 rgba(255,255,255,0.6) inset, 0 8px 20px -12px rgba(37,129,196,0.25);
  font-size:13.5px;color:#021320;line-height:1.6;font-weight:500;
  cursor:pointer;
  transition:border-color .25s ease, background .25s ease;
}
.cfg-privacy-note:hover{
  border-color:rgba(37,129,196,0.4);
  background:linear-gradient(135deg, rgba(37,129,196,0.14), rgba(8,145,178,0.10));
}
.cfg-privacy-note input[type=checkbox]{margin-top:3px;width:18px;height:18px;accent-color:#2581c4;flex-shrink:0;cursor:pointer}
.cfg-privacy-note a{color:#2581c4;text-decoration:none;font-weight:700;border-bottom:1px solid rgba(37,129,196,0.4)}
.cfg-privacy-note a:hover{border-bottom-color:#2581c4}

.cfg-submit{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:16px 32px;border-radius:999px;
  background:linear-gradient(135deg,#021320,#2581c4);
  color:#fff;font-family:inherit;font-size:15px;font-weight:700;letter-spacing:-0.005em;
  border:0;cursor:pointer;
  box-shadow:0 14px 32px -8px rgba(37,129,196,0.45), 0 1px 0 rgba(255,255,255,0.2) inset;
  transition:transform .3s ease, box-shadow .3s ease;
}
.cfg-submit:hover{transform:translateY(-2px);box-shadow:0 18px 38px -8px rgba(37,129,196,0.55), 0 1px 0 rgba(255,255,255,0.2) inset}
.cfg-submit svg{width:14px;height:14px;stroke:#fff;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* ──────────────────────────────────────────────────────────
   PAGE-SPECIFIC EXTRAS (Bootstrap utils, s2-counter, s3-cards,
   cfg-modell, stepMontage toggles)
   ────────────────────────────────────────────────────────── */

/* Bootstrap-ish utilities used inline */
.mb-0{margin-bottom:0 !important}
.pt-4{padding-top:1.5rem}
.pt-md-3{padding-top:1rem}
.pt-lg-5{padding-top:3rem}
@media (max-width:991px){.pt-lg-5{padding-top:1.5rem}}

/* stepMontage toggle wrappers (JS controls visibility) */
.stepMontage1,.stepMontage2{display:inline-flex;align-items:center}

/* ─── S2 Number-stepper card (smartphone, e-bike) ─── */
.s2-wrapper{padding:0;position:relative;z-index:1;}
.s2-container{
  position:relative;
  background:rgba(255,255,255,0.55);
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  border:1px solid rgba(255,255,255,0.85);
  border-radius:28px;
  padding:36px 36px 32px;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.9) inset,
    0 -1px 0 rgba(15,30,60,0.04) inset,
    0 10px 30px -12px rgba(20,40,90,0.18),
    0 30px 60px -30px rgba(20,40,90,0.22);
  isolation:isolate;overflow:hidden;
  opacity:0;transform:translateY(20px);
  transition:opacity .6s ease, transform .6s ease;
}
.s2-container.cfg-in{opacity:1;transform:translateY(0)}
.s2-container::before{
  content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,0.55) 0%, transparent 35%);z-index:0;
}
@media (max-width:780px){.s2-container{padding:28px 22px 26px;border-radius:22px}}

.s2-card{
  position:relative;z-index:1;margin-top:22px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:18px 22px;border-radius:18px;
  background:rgba(255,255,255,0.5);
  border:1.5px solid rgba(255,255,255,0.85);
  box-shadow:0 1px 0 rgba(255,255,255,0.95) inset, 0 6px 16px -10px rgba(20,40,90,0.15);
  max-width:520px;flex-wrap:wrap;
}
.s2-card-text{font-size:15px;font-weight:600;color:#021320;letter-spacing:-0.005em}
.s2-counter{
  display:flex;align-items:stretch;
  background:#fff;
  border:1.5px solid rgba(37,129,196,0.25);
  border-radius:12px;
  box-shadow:0 4px 14px -6px rgba(37,129,196,0.15);
  overflow:hidden;flex-shrink:0;
}
.s2-counter-input{
  width:80px;height:52px;text-align:center;
  font-size:18px;font-weight:700;color:#021320;
  font-family:inherit;border:0;outline:none;background:transparent;
  padding:0 8px;-moz-appearance:textfield;letter-spacing:-0.01em;
}
.s2-counter-input::-webkit-outer-spin-button,.s2-counter-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.s2-counter-input:focus{background:rgba(37,129,196,0.06)}
.s2-counter-vdivider{width:1px;background:rgba(37,129,196,0.2);align-self:stretch}
.s2-counter-arrows{display:flex;flex-direction:column;width:36px}
.s2-counter-btn{
  flex:1;display:flex;align-items:center;justify-content:center;
  background:transparent;border:0;cursor:pointer;color:#2581c4;
  padding:6px 8px;transition:color .2s ease, background .2s ease;
}
.s2-counter-btn:hover{background:rgba(37,129,196,0.08);color:#021320}
.s2-counter-btn:active{background:rgba(37,129,196,0.14)}
.s2-counter-btn:disabled{color:#cbd5e1;cursor:not-allowed}
.s2-counter-btn svg{width:14px;height:14px;pointer-events:none}
.s2-counter-hdivider{height:1px;background:rgba(37,129,196,0.2)}

/* ─── S3 Image cards w/ checkmark badge (smartphone) ─── */
.s3-container{
  position:relative;z-index:1;
  background:rgba(255,255,255,0.55);
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  border:1px solid rgba(255,255,255,0.85);
  border-radius:28px;
  padding:36px 36px 32px;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.9) inset,
    0 -1px 0 rgba(15,30,60,0.04) inset,
    0 10px 30px -12px rgba(20,40,90,0.18),
    0 30px 60px -30px rgba(20,40,90,0.22);
  isolation:isolate;overflow:hidden;
  opacity:0;transform:translateY(20px);
  transition:opacity .6s ease, transform .6s ease;
}
.s3-container.cfg-in{opacity:1;transform:translateY(0)}
.s3-container::before{
  content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,0.55) 0%, transparent 35%);z-index:0;
}
@media (max-width:780px){.s3-container{padding:28px 22px 26px;border-radius:22px}}
.s3-cards-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:980px){.s3-cards-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.s3-cards-grid{grid-template-columns:1fr}}

.s3-card{
  position:relative;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;gap:14px;
  padding:22px 18px 18px;border-radius:18px;
  background:rgba(255,255,255,0.5);
  border:1.5px solid rgba(255,255,255,0.85);
  box-shadow:0 1px 0 rgba(255,255,255,0.95) inset, 0 6px 16px -10px rgba(20,40,90,0.15);
  transition:all .3s ease;
  user-select:none;
}
.s3-card input{position:absolute;opacity:0;pointer-events:none}
.s3-card:hover{transform:translateY(-3px);border-color:rgba(37,129,196,0.3)}
.s3-card.s3-selected{
  background:linear-gradient(135deg,rgba(2,19,32,0.04),rgba(37,129,196,0.06));
  border-color:#2581c4;
  box-shadow:0 1px 0 rgba(255,255,255,1) inset, 0 10px 24px -10px rgba(37,129,196,0.4);
}
.s3-check-badge{
  position:absolute;top:14px;right:14px;
  width:26px;height:26px;border-radius:50%;
  background:linear-gradient(135deg,#021320,#2581c4);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transform:scale(0.6);
  transition:opacity .25s ease, transform .25s ease;
  box-shadow:0 4px 10px -3px rgba(37,129,196,0.45);
}
.s3-card.s3-selected .s3-check-badge{opacity:1;transform:scale(1)}
.s3-check-badge svg{width:14px;height:14px;stroke:#fff;stroke-width:2.5;fill:none}
.s3-card-image-wrap{
  width:100%;aspect-ratio:5/4;border-radius:14px;overflow:hidden;
  background:linear-gradient(160deg,#f8fafc,#eef2ff);
  border:1px solid rgba(255,255,255,0.9);
  display:flex;align-items:center;justify-content:center;
}
.s3-card-image-wrap img{width:90%;height:90%;object-fit:contain}
.s3-card-label{font-size:13.5px;font-weight:600;color:#021320;text-align:center;letter-spacing:-0.005em;line-height:1.3}

/* ─── Werkzeug-akkus-neu — Model selector cards ─── */
.cfg-modell-grid{
  position:relative;z-index:1;
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
}
@media (max-width:991px){.cfg-modell-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:575px){.cfg-modell-grid{grid-template-columns:1fr}}
.cfg-modell-label{display:block;cursor:pointer;position:relative;margin:0;height:100%}
.cfg-modell-label input{position:absolute;opacity:0;pointer-events:none}
.cfg-modell-box{
  border:1.5px solid rgba(255,255,255,0.85);
  border-radius:18px;
  padding:18px;height:100%;
  background:rgba(255,255,255,0.5);
  box-shadow:0 1px 0 rgba(255,255,255,0.95) inset, 0 6px 16px -10px rgba(20,40,90,0.15);
  display:flex;flex-direction:column;
  transition:all .3s ease;
}
.cfg-modell-label:hover .cfg-modell-box{transform:translateY(-3px);border-color:rgba(37,129,196,0.3)}
.cfg-modell-label input:checked + .cfg-modell-box{
  background:linear-gradient(135deg,rgba(2,19,32,0.04),rgba(37,129,196,0.06));
  border-color:#2581c4;
  box-shadow:0 1px 0 rgba(255,255,255,1) inset, 0 10px 24px -10px rgba(37,129,196,0.4);
}
.cfg-modell-imgwrap{
  width:100%;aspect-ratio:5/4;border-radius:14px;overflow:hidden;
  background:linear-gradient(160deg,#f8fafc,#eef2ff);
  border:1px solid rgba(255,255,255,0.9);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:14px;
}
.cfg-modell-imgwrap img{max-width:90%;max-height:90%;width:auto;height:auto;object-fit:contain}
.cfg-modell-list{list-style:none;margin:0;padding:0;font-size:13px;line-height:1.55;color:#445069}
.cfg-modell-list li{padding:3px 0}
.cfg-modell-list li.cfg-modell-mass{margin-top:6px;font-weight:600;color:#021320}

/* cfg-card-sub (subtitle used on some pages) */
.cfg-card-sub{margin:-12px 0 22px;font-size:14.5px;color:#445069;line-height:1.55;position:relative;z-index:1}

/* Bare SVG upload icon (when not inside .cfg-upload-icon-wrap) — match the laptops gradient-tile look */
.cfg-upload-icon{
  box-sizing:content-box;
  width:32px;height:32px;padding:14px;
  display:block;margin:0 auto 14px;
  stroke:#fff;stroke-width:2;fill:none;
  stroke-linecap:round;stroke-linejoin:round;
  border-radius:18px;
  background:linear-gradient(135deg,#021320,#2581c4);
  box-shadow:0 1px 0 rgba(255,255,255,0.25) inset, 0 12px 28px -8px rgba(37,129,196,0.5);
}

/* cfg-fach-panel — wrapper for fest/mobil grids */
.cfg-fach-panel{position:relative;z-index:1}

/* Extra fach-radio label variant (additive class) — same behaviour */
.cfg-fach-hal{}

/* misSc spacing tweak (tablets) — no-op safe default */
.misSc{margin-top:18px}

/* form-horizontal (Bootstrap legacy class) — no-op */
.form-horizontal{}

/* Bare .r helper class — small inline text */
.r{display:block}

/* bgBlue wrapper (contact form section) — keep transparent, only contain children */
.bgBlue{position:relative;z-index:1}

/* ──────────────────── STATIC PAGES (kontakt · danke · impressum · datenschutz) ──────────────────── */

/* ──────────────────────────────────────────────────────────
   STATIC PAGE EXTRAS (kontakt · danke · impressum · datenschutz)
   ────────────────────────────────────────────────────────── */

/* Shared section header */
.static-hero{padding:60px 0 40px}
.static-back{
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 14px 7px 12px;border-radius:999px;
  background:rgba(255,255,255,0.6);backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,0.85);
  box-shadow:0 1px 0 rgba(255,255,255,0.95) inset, 0 6px 18px -10px rgba(20,40,90,0.18);
  font-size:13px;font-weight:600;color:#021320;text-decoration:none;letter-spacing:-0.005em;
  margin-bottom:22px;
  transition:transform .25s ease;
}
.static-back:hover{transform:translateX(-2px)}
.static-back svg{width:14px;height:14px;stroke:#021320;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* ═══════════ KONTAKT page (.ct-*) ═══════════ */
.ct-wrapper{position:relative;z-index:1;padding:0 0 80px}
.ct-container{max-width:1400px;margin:0 auto;padding:0 28px;display:flex;flex-direction:column;gap:24px}

.ct-section{
  position:relative;
  background:rgba(255,255,255,0.55);
  backdrop-filter:blur(24px) saturate(180%);
  border:1px solid rgba(255,255,255,0.85);
  border-radius:28px;
  padding:40px 40px 36px;
  box-shadow:0 1px 0 rgba(255,255,255,0.9) inset,
             0 -1px 0 rgba(15,30,60,0.04) inset,
             0 10px 30px -12px rgba(20,40,90,0.18),
             0 30px 60px -30px rgba(20,40,90,0.22);
  overflow:hidden;isolation:isolate;
}
.ct-section::before{
  content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,0.55) 0%, transparent 35%);z-index:0;
}
@media (max-width:780px){.ct-section{padding:30px 24px 28px;border-radius:22px}}

.ct-info-title{
  position:relative;z-index:1;
  margin:0 0 14px;font-size:clamp(28px,3vw,42px);font-weight:700;
  color:#021320;letter-spacing:-0.025em;line-height:1.15;
}
.ct-info-subtitle{
  position:relative;z-index:1;margin:0 0 32px;
  font-size:17px;color:#445069;line-height:1.6;font-weight:500;
}
.ct-info-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:780px){.ct-info-grid{grid-template-columns:1fr}}
.ct-info-block{
  display:flex;flex-direction:column;align-items:flex-start;gap:10px;
  padding:24px 26px;border-radius:20px;
  background:rgba(255,255,255,0.5);
  border:1.5px solid rgba(255,255,255,0.85);
  box-shadow:0 1px 0 rgba(255,255,255,0.95) inset, 0 6px 16px -10px rgba(20,40,90,0.15);
}
.ct-info-icon{
  width:48px;height:48px;border-radius:14px;padding:10px;
  background:linear-gradient(135deg,#021320,#2581c4);
  margin-bottom:6px;box-sizing:content-box;
}
.ct-info-icon path,.ct-info-icon rect,.ct-info-icon circle{fill:none;stroke:#fff;stroke-width:2.2}
.ct-info-icon path[opacity],.ct-info-icon rect[opacity]{fill:rgba(255,255,255,0.18);stroke:none}
.ct-info-block-title{font-size:18px;font-weight:700;color:#021320;letter-spacing:-0.015em}
.ct-info-block-text{font-size:14.5px;line-height:1.8;color:#445069;font-weight:500}
.ct-info-block-text a{color:#021320;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(37,129,196,0.3);transition:color .2s ease, border-color .2s ease}
.ct-info-block-text a:hover{color:#2581c4;border-bottom-color:#2581c4}

.ct-form-title{position:relative;z-index:1;margin:0 0 22px;font-size:clamp(20px,2vw,26px);font-weight:700;color:#021320;letter-spacing:-0.02em}
.ct-form-row{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
@media (max-width:620px){.ct-form-row{grid-template-columns:1fr}}
.ct-form-group{display:flex;flex-direction:column;gap:8px}
.ct-full{grid-column:1 / -1}
.ct-form-label{font-size:13px;font-weight:600;color:#021320;letter-spacing:-0.005em}
.ct-form-input,.ct-form-textarea{
  padding:13px 16px;border-radius:14px;
  background:rgba(255,255,255,0.7);
  border:1.5px solid rgba(255,255,255,0.9);
  box-shadow:0 1px 0 rgba(255,255,255,0.95) inset, 0 4px 12px -8px rgba(20,40,90,0.12);
  font-family:inherit;font-size:14.5px;color:#021320;letter-spacing:-0.005em;
  outline:none;transition:border-color .25s ease, box-shadow .25s ease;
}
.ct-form-textarea{min-height:130px;resize:vertical}
.ct-form-input::placeholder,.ct-form-textarea::placeholder{color:#7a8499;font-weight:400}
.ct-form-input:focus,.ct-form-textarea:focus{border-color:#2581c4;box-shadow:0 1px 0 rgba(255,255,255,1) inset, 0 0 0 4px rgba(37,129,196,0.12)}

.ct-form-checkbox-row{
  position:relative;z-index:1;margin:28px 0;
  display:flex;align-items:flex-start;gap:12px;
  padding:16px 20px;border-radius:16px;
  background:linear-gradient(135deg, rgba(37,129,196,0.10), rgba(8,145,178,0.08));
  border:1.5px solid rgba(37,129,196,0.28);
  box-shadow:0 1px 0 rgba(255,255,255,0.6) inset, 0 8px 20px -12px rgba(37,129,196,0.25);
  cursor:pointer;
  transition:border-color .25s ease, background .25s ease;
}
.ct-form-checkbox-row:hover{
  border-color:rgba(37,129,196,0.4);
  background:linear-gradient(135deg, rgba(37,129,196,0.14), rgba(8,145,178,0.10));
}
.ct-form-checkbox{margin-top:3px;width:18px;height:18px;accent-color:#2581c4;flex-shrink:0;cursor:pointer}
.ct-form-checkbox-label{font-size:13.5px;color:#021320;line-height:1.6;font-weight:500;cursor:pointer}
.ct-form-checkbox-label a{color:#2581c4;text-decoration:none;font-weight:700;border-bottom:1px solid rgba(37,129,196,0.4)}
.ct-form-checkbox-label a:hover{border-bottom-color:#2581c4}

.ct-form-btn{
  position:relative;z-index:1;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:16px 32px;border-radius:999px;
  background:linear-gradient(135deg,#021320,#2581c4);
  color:#fff;font-family:inherit;font-size:15px;font-weight:700;letter-spacing:-0.005em;
  border:0;cursor:pointer;
  box-shadow:0 14px 32px -8px rgba(37,129,196,0.45), 0 1px 0 rgba(255,255,255,0.2) inset;
  transition:transform .3s ease, box-shadow .3s ease;
}
.ct-form-btn:hover{transform:translateY(-2px);box-shadow:0 18px 38px -8px rgba(37,129,196,0.55), 0 1px 0 rgba(255,255,255,0.2) inset}

/* ═══════════ DANKE page (.ty-*) ═══════════ */
.ty-wrapper{position:relative;z-index:1;padding:10px 0 40px}
.ty-container{max-width:1400px;margin:0 auto;padding:0 28px}
.ty-card{
  position:relative;
  background:rgba(255,255,255,0.55);
  backdrop-filter:blur(24px) saturate(180%);
  border:1px solid rgba(255,255,255,0.85);
  border-radius:32px;
  padding:60px 56px;text-align:center;
  box-shadow:0 1px 0 rgba(255,255,255,0.9) inset, 0 -1px 0 rgba(15,30,60,0.04) inset, 0 14px 36px -14px rgba(20,40,90,0.22), 0 40px 80px -40px rgba(20,40,90,0.25);
  overflow:hidden;isolation:isolate;
}
.ty-card::before{
  content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(600px 300px at 50% -10%, rgba(16,185,129,0.12), transparent 60%),
             linear-gradient(180deg, rgba(255,255,255,0.55) 0%, transparent 35%);z-index:0;
}
@media (max-width:780px){.ty-card{padding:44px 28px;border-radius:24px}}
.ty-card::after{
  content:'';position:relative;z-index:1;
  display:block;margin:0 auto 24px;
  width:84px;height:84px;border-radius:50%;
  background:linear-gradient(135deg,#10b981,#34d399);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='5,12 10,17 19,7'/></svg>");
  background-repeat:no-repeat;background-position:center;background-size:46px;
  box-shadow:0 1px 0 rgba(255,255,255,0.3) inset, 0 16px 36px -8px rgba(16,185,129,0.5);
}
.ty-title{position:relative;z-index:1;margin:0 0 14px;font-size:clamp(28px,3vw,42px);font-weight:700;color:#021320;letter-spacing:-0.025em;line-height:1.15}
.ty-subtitle{position:relative;z-index:1;margin:0 0 36px;font-size:17px;color:#445069;line-height:1.6;font-weight:500}

.ty-steps{position:relative;z-index:1;display:flex;flex-direction:column;gap:14px;text-align:left;margin:0 0 36px}
.ty-step{
  margin:0;padding:18px 22px;border-radius:18px;
  background:rgba(255,255,255,0.5);
  border:1px solid rgba(255,255,255,0.85);
  box-shadow:0 1px 0 rgba(255,255,255,0.95) inset, 0 4px 12px -8px rgba(20,40,90,0.12);
  font-size:14.5px;line-height:1.6;color:#445069;font-weight:500;
}
.ty-step strong{color:#021320;font-weight:700}

.ty-divider{position:relative;z-index:1;height:1px;background:rgba(15,30,60,0.08);margin:0 0 32px}
.ty-sub-title{position:relative;z-index:1;margin:0 0 10px;font-size:20px;font-weight:700;color:#021320;letter-spacing:-0.015em}
.ty-sub-text{position:relative;z-index:1;margin:0 0 28px;font-size:15px;color:#445069;line-height:1.6;font-weight:500}

.ty-btn{
  position:relative;z-index:1;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:14px 28px;border-radius:999px;
  background:linear-gradient(135deg,#021320,#2581c4);
  color:#fff;font-size:15px;font-weight:700;letter-spacing:-0.005em;text-decoration:none;
  box-shadow:0 14px 32px -8px rgba(37,129,196,0.45), 0 1px 0 rgba(255,255,255,0.2) inset;
  transition:transform .3s ease;
}
.ty-btn:hover{transform:translateY(-2px)}

/* ═══════════ IMPRESSUM / DATENSCHUTZ pages (.imp-*) ═══════════ */
.imp-wrapper{position:relative;z-index:1;padding:0 0 80px}
.imp-container{max-width:1000px;margin:0 auto;padding:0 28px}
.imp-card{
  position:relative;
  background:rgba(255,255,255,0.55);
  backdrop-filter:blur(24px) saturate(180%);
  border:1px solid rgba(255,255,255,0.85);
  border-radius:28px;
  padding:56px 56px 48px;
  box-shadow:0 1px 0 rgba(255,255,255,0.9) inset, 0 -1px 0 rgba(15,30,60,0.04) inset, 0 10px 30px -12px rgba(20,40,90,0.18), 0 30px 60px -30px rgba(20,40,90,0.22);
  overflow:hidden;isolation:isolate;
}
.imp-card::before{
  content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,0.55) 0%, transparent 30%);z-index:0;
}
@media (max-width:780px){.imp-card{padding:36px 24px 32px;border-radius:22px}}

.imp-page-title{position:relative;z-index:1;margin:0 0 10px;font-size:clamp(32px,3.4vw,48px);font-weight:700;color:#021320;letter-spacing:-0.025em;line-height:1.15}
.imp-intro{position:relative;z-index:1;margin:0 0 32px;font-size:16px;color:#445069;font-weight:500;letter-spacing:-0.005em}

.imp-block{position:relative;z-index:1;margin:0 0 26px;padding:0}
.imp-block-title{margin:0 0 8px;font-size:16px;font-weight:700;color:#021320;letter-spacing:-0.01em}
.imp-block-text{margin:0;font-size:14.5px;line-height:1.7;color:#445069;font-weight:400}
.imp-block-text a{color:#2581c4;text-decoration:none;font-weight:500;word-break:break-word}
.imp-block-text a:hover{text-decoration:underline}
.imp-block-text-bold{margin:14px 0 6px;font-size:15px;font-weight:700;color:#021320;letter-spacing:-0.005em}
.imp-block-text-med{margin:8px 0;font-size:14.5px;line-height:1.7;color:#021320;font-weight:600}

.imp-list{margin:8px 0 0;padding:0 0 0 22px;font-size:14.5px;line-height:1.75;color:#445069}
.imp-list li{padding:3px 0;list-style:disc}


/* ════════════════════════════════════════════════════════════════════
   RESPONSIVE FINAL TOUCHES — desktop / tablet / mobile alignment
   ════════════════════════════════════════════════════════════════════ */

/* ─── ≥1200px (desktop) — keep tidy with viewport edges ─── */
@media (min-width:1200px){
  .container{padding-left:32px;padding-right:32px}
}

/* ─── ≤1100px (small desktop / large tablet) ─── */
@media (max-width:1100px){
  .header-shell{padding-left:max(24px, calc((100% - 1100px) / 2 + 24px));padding-right:max(24px, calc((100% - 1100px) / 2 + 24px))}
  .hero h1{font-size:clamp(28px,3.6vw,44px)}
  .cfg-hero h1{font-size:clamp(28px,3.6vw,44px)}
  .imp-page-title{font-size:clamp(28px,3.4vw,40px)}
}

/* ─── ≤980px (tablet) ─── */
@media (max-width:980px){
  .container{padding-left:24px;padding-right:24px}
  .ft-inner{padding:0 24px}
  .header-shell{padding:12px 24px;gap:14px}
  .brand img{height:38px}
  .topNumber{gap:8px}
  .topNumber li{padding:6px 12px;font-size:12.5px}

  .hero{padding:48px 0 28px}
  .hero h1{font-size:clamp(26px,4.4vw,38px);line-height:1.18}
  .hero-sub{font-size:16px}
  .hero-welcome{padding:14px 18px;gap:14px}
  .hero-welcome-icon{width:54px;height:54px;border-radius:14px}
  .hero-welcome-icon svg{width:36px;height:36px}
  .hero-welcome p{font-size:19px}
  .hero-welcome p small{font-size:15px}

  .step-section{padding:36px 0 60px}
  .step-pill{padding:8px 14px 8px 8px}
  .step-pill-num{width:28px;height:28px;font-size:13px}
  .step-pill-text{font-size:11.5px}
  .step-title{font-size:clamp(18px,2.4vw,22px);min-width:0;flex:1 1 100%}

  .cfg-hero{padding:60px 0 40px}
  .cfg-hero h1{font-size:clamp(26px,4.4vw,38px);line-height:1.2}
  .cfg-hero-sub{font-size:15.5px}
  .cfg-progress{padding:12px 14px;gap:8px}
  .cfg-progress-step{font-size:12px}
  .cfg-progress-step .num{width:22px;height:22px;font-size:11px}
  .cfg-progress-bar{min-width:10px}

  .sg-quote{font-size:60px}
  .sg-content{padding:40px 32px}

  .ic-row{padding:22px 24px;gap:18px;grid-template-columns:90px 1fr}
  .ic-num-block{font-size:54px}

  .v-card{padding:24px 22px}
  .v-icon-tile{width:54px;height:54px;border-radius:16px}
  .v-icon-tile svg{width:26px;height:26px}

  .ft-inner{padding:0 24px}
  .ft-mega{font-size:clamp(28px,5vw,52px);margin:0 0 40px}

  .imp-card{padding:36px 28px 32px}
}

/* ─── ≤780px (small tablet / phone landscape) ─── */
@media (max-width:780px){
  .tib-inner{padding:8px 0;gap:10px}
  .tib-title{flex:1 1 100%;text-align:center}
  .tib-item{font-size:11.5px}

  .header-shell{padding:11px 20px;flex-wrap:wrap;justify-content:center;gap:10px}
  .brand img{height:36px}
  .topNumber{justify-content:center;flex-wrap:wrap}

  .hero{padding:36px 0 22px}
  .hero-welcome{flex-direction:column;align-items:flex-start;text-align:left}

  .cfg-hero{padding:48px 0 36px}
  .cfg-progress{padding:10px 12px;justify-content:center}
  .cfg-progress-bar{display:none}
  .cfg-progress-step{padding:4px 8px;border-radius:999px;background:rgba(255,255,255,0.5);border:1px solid rgba(255,255,255,0.85)}
  .cfg-progress-step.done,.cfg-progress-step.active{border-color:transparent}

  .sg-content{padding:32px 24px}
  .sg-quote{font-size:48px}
  .sg-mag-title{font-size:clamp(22px,4.4vw,28px)}

  .ic-row{padding:18px 18px;grid-template-columns:1fr;gap:10px}
  .ic-num-block{font-size:42px;margin-bottom:-4px}
  .ic-body{gap:14px}

  .ic-notice{padding:18px 20px;gap:14px}
  .ic-notice-ico{width:42px;height:42px}

  .vorteil-section h2,.v-head h2{font-size:clamp(24px,4.6vw,32px)}
  .sp-card{aspect-ratio:4/4}
  .sp-title{font-size:18px}

  .faq-head h2{font-size:clamp(24px,4.6vw,32px)}
  .faq-q{font-size:14.5px}

  .ft-mega{font-size:clamp(26px,5vw,44px);margin:0 0 32px}
  .ft-bottom{flex-direction:column;align-items:flex-start;gap:12px;padding:28px 0}

  .ct-section{padding:28px 22px 24px}
  .ct-info-title{font-size:clamp(24px,5vw,32px)}
  .ty-card{padding:36px 22px}
  .ty-title{font-size:clamp(24px,5.5vw,32px)}
}

/* ─── ≤620px (phone portrait) ─── */
@media (max-width:620px){
  .container{padding-left:18px;padding-right:18px}
  .ft-inner{padding:0 18px}
  .header-shell{padding:11px 18px}
  .brand img{height:34px}
  .topNumber li{padding:5px 10px;font-size:12px}

  .hero h1{font-size:clamp(24px,6.6vw,32px)}
  .hero-sub{font-size:15px}
  .hero-welcome p{font-size:17px}
  .hero-welcome p small{font-size:14px}

  .cfg-hero h1{font-size:clamp(24px,6.6vw,32px)}
  .cfg-back{font-size:12.5px}

  .cfg-card{padding:24px 18px 22px;border-radius:18px}
  .cfg-card-title{font-size:18px}
  .cfg-card-kontakt{font-size:18px}

  .step-badge{font-size:11px;padding:7px 12px 7px 8px}
  .step-badge::before{width:22px;height:22px;font-size:11px}

  .s2-card{padding:14px 16px;gap:16px}
  .s2-counter-input{width:64px;height:46px;font-size:16px}

  .v-card{padding:22px 18px}
  .v-title{font-size:16.5px}

  .ic-row{padding:16px}

  .ft{margin-top:24px}
  .ft-iso img{height:42px}
}

/* ─── ≤480px (small phones) ─── */
@media (max-width:480px){
  .tib-title{font-size:11px}
  .tib-item{flex:1 1 auto;justify-content:center;font-size:11px}

  .cfg-back svg{width:12px;height:12px}

  .cfg-progress-step{font-size:11px}
  .cfg-progress-step .num{width:20px;height:20px;font-size:10.5px}

  .cfg-farbe-circle{width:38px;height:38px}
  .cfg-farbe-ral{font-size:10.5px}
  .cfg-farbe-name{font-size:11px}

  .cfg-submit,.ct-form-btn,.ty-btn,.sg-mag-cta{padding:13px 22px;font-size:14px}
}

/* ─── Image overflow safety net (all viewports) ─── */
img{max-width:100%;height:auto}

/* ─── Smooth scroll for anchor links ─── */
html{scroll-behavior:smooth}

/* ─── Long words / URLs in legal text wrap properly on mobile ─── */
.imp-block-text,.imp-block-text-bold,.imp-block-text-med{overflow-wrap:break-word;word-break:break-word}

/* ────────────────────────────────────────────────────────
   DANKE PAGE — Variant A (centered hero + steps + FAQ)
   ──────────────────────────────────────────────────────── */
.dnk-a-hero{padding:60px 0 32px;position:relative}
.dnk-a-card{
  position:relative;
  max-width:1100px;margin:0 auto;
  background:rgba(255,255,255,0.55);
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  border:1px solid rgba(255,255,255,0.85);
  border-radius:32px;
  padding:56px 56px 48px;text-align:center;
  box-shadow:0 1px 0 rgba(255,255,255,0.9) inset, 0 -1px 0 rgba(15,30,60,0.04) inset, 0 14px 36px -14px rgba(20,40,90,0.22), 0 40px 80px -40px rgba(20,40,90,0.25);
  overflow:hidden;isolation:isolate;
}
.dnk-a-card::before{
  content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(700px 350px at 50% -10%, rgba(16,185,129,0.14), transparent 60%),
             linear-gradient(180deg, rgba(255,255,255,0.55) 0%, transparent 35%);z-index:0;
}
@media (max-width:780px){.dnk-a-card{padding:44px 24px;border-radius:24px}}

.dnk-a-check{
  position:relative;z-index:1;
  margin:0 auto 22px;width:92px;height:92px;border-radius:50%;
  background:linear-gradient(135deg,#10b981,#34d399);
  display:inline-flex;align-items:center;justify-content:center;
  box-shadow:0 1px 0 rgba(255,255,255,0.4) inset, 0 18px 40px -8px rgba(16,185,129,0.55);
  animation:dnkPop .6s cubic-bezier(.34,1.56,.64,1);
}
.dnk-a-check::after{content:'';position:absolute;inset:-8px;border-radius:50%;border:1.5px solid rgba(16,185,129,0.2);animation:dnkRing 1.4s ease-out infinite}
@keyframes dnkPop{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes dnkRing{0%{transform:scale(.85);opacity:.8}100%{transform:scale(1.4);opacity:0}}
.dnk-a-check svg{width:48px;height:48px;stroke:#fff;stroke-width:3.2;fill:none;stroke-linecap:round;stroke-linejoin:round}

.dnk-a-title{position:relative;z-index:1;margin:0 0 14px;font-size:clamp(32px,3.4vw,46px);font-weight:700;color:#021320;letter-spacing:-0.025em;line-height:1.12}
.dnk-a-sub{position:relative;z-index:1;margin:0 auto 44px;max-width:620px;font-size:17px;color:#445069;line-height:1.6;font-weight:500}

.dnk-a-tag{
  position:relative;z-index:1;
  display:inline-flex;align-items:center;gap:8px;
  margin:0 0 18px;padding:7px 14px;border-radius:999px;
  background:rgba(37,129,196,0.1);border:1px solid rgba(37,129,196,0.2);
  font-size:12px;font-weight:700;color:#2581c4;
  letter-spacing:0.12em;text-transform:uppercase;
}
.dnk-a-tag::before{content:'';width:6px;height:6px;border-radius:50%;background:#2581c4;box-shadow:0 0 0 4px rgba(37,129,196,0.18)}

.dnk-a-steps{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;text-align:left;margin:0 0 44px}
@media (max-width:780px){.dnk-a-steps{grid-template-columns:1fr}}
.dnk-a-step{
  position:relative;padding:24px 22px 22px;border-radius:20px;
  background:rgba(255,255,255,0.6);
  border:1.5px solid rgba(255,255,255,0.9);
  box-shadow:0 1px 0 rgba(255,255,255,0.95) inset, 0 6px 16px -10px rgba(20,40,90,0.15);
  transition:transform .3s ease;
}
.dnk-a-step:hover{transform:translateY(-3px)}
.dnk-a-step-num{
  width:34px;height:34px;border-radius:50%;
  background:linear-gradient(135deg,#021320,#2581c4);
  color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:700;margin-bottom:14px;
  box-shadow:0 6px 14px -3px rgba(37,129,196,0.45);
}
.dnk-a-step-title{margin:0 0 8px;font-size:15.5px;font-weight:700;color:#021320;letter-spacing:-0.01em;line-height:1.3}
.dnk-a-step-text{margin:0;font-size:13.5px;line-height:1.6;color:#445069;font-weight:400}

.dnk-a-divider{position:relative;z-index:1;height:1px;background:rgba(15,30,60,0.08);margin:0 auto 36px;max-width:600px}

.dnk-a-help{position:relative;z-index:1;margin:0 auto 28px;max-width:540px}
.dnk-a-help h3{margin:0 0 10px;font-size:22px;font-weight:700;color:#021320;letter-spacing:-0.015em}
.dnk-a-help p{margin:0;font-size:15px;color:#445069;line-height:1.6;font-weight:500}

.dnk-a-actions{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}
.dnk-a-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:14px 28px;border-radius:999px;
  font-size:14.5px;font-weight:700;letter-spacing:-0.005em;text-decoration:none;
  transition:transform .3s ease, box-shadow .3s ease;
}
.dnk-a-btn-primary{background:linear-gradient(135deg,#021320,#2581c4);color:#fff;box-shadow:0 14px 32px -8px rgba(37,129,196,0.45), 0 1px 0 rgba(255,255,255,0.2) inset}
.dnk-a-btn-primary:hover{transform:translateY(-2px)}
.dnk-a-btn-ghost{background:rgba(255,255,255,0.7);color:#021320;border:1px solid rgba(255,255,255,0.95);box-shadow:0 1px 0 rgba(255,255,255,1) inset, 0 6px 16px -10px rgba(20,40,90,0.2)}
.dnk-a-btn-ghost:hover{transform:translateY(-2px)}
.dnk-a-btn svg{width:14px;height:14px;stroke:currentColor;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* FAQ block on danke page (uses .dnk-faq-* prefix to avoid conflicts) */
.dnk-faq-wrap{padding:60px 0 80px;position:relative}
.dnk-faq-head{text-align:center;margin-bottom:36px;max-width:1100px;margin-left:auto;margin-right:auto;padding:0 28px}
.dnk-faq-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;color:#2581c4;letter-spacing:0.14em;text-transform:uppercase;margin-bottom:12px}
.dnk-faq-eyebrow::before,.dnk-faq-eyebrow::after{content:'';width:24px;height:1px;background:linear-gradient(90deg,transparent,#2581c4,transparent)}
.dnk-faq-title{margin:0 auto;max-width:760px;font-size:clamp(26px,2.8vw,38px);font-weight:700;color:#021320;letter-spacing:-0.025em;line-height:1.15}

.dnk-faq-list{max-width:880px;margin:0 auto;padding:0 28px;list-style:none;display:flex;flex-direction:column;gap:12px}
.dnk-faq-item{
  background:rgba(255,255,255,0.55);
  backdrop-filter:blur(20px) saturate(180%);
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  border:1px solid rgba(255,255,255,0.9);
  border-radius:20px;
  box-shadow:0 1px 0 rgba(255,255,255,0.9) inset, 0 10px 30px -12px rgba(20,40,90,0.18);
  overflow:hidden;transition:border-color .35s ease;
}
.dnk-faq-item.open{border-color:rgba(37,129,196,0.25)}
.dnk-faq-trigger{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  width:100%;padding:20px 24px;background:transparent;border:0;cursor:pointer;font-family:inherit;text-align:left;
}
.dnk-faq-q{margin:0;font-size:15.5px;font-weight:600;color:#021320;letter-spacing:-0.01em;line-height:1.4}
.dnk-faq-chev{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,0.7);border:1px solid rgba(255,255,255,0.9);display:flex;align-items:center;justify-content:center;transition:background .3s ease}
.dnk-faq-chev svg{width:14px;height:14px;stroke:#2581c4;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.dnk-faq-item.open .dnk-faq-chev{background:linear-gradient(135deg,#021320,#2581c4);border-color:transparent}
.dnk-faq-item.open .dnk-faq-chev svg{stroke:#fff;transform:rotate(180deg)}
.dnk-faq-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.2,.7,.2,1)}
.dnk-faq-item.open .dnk-faq-body{grid-template-rows:1fr}
.dnk-faq-body-in{overflow:hidden}
.dnk-faq-a{margin:0;padding:0 24px 22px;font-size:14.5px;line-height:1.7;color:#445069;font-weight:400}
