/* ============================================================
   Bogenwerk v2 — Design-System (premium / Hochglanz)
   Eine zurückhaltende, moderne SaaS-Ästhetik: viel Weißraum,
   weiche Schatten, klare Typografie, ein selbstbewusster Akzent.
   Klassennamen bleiben stabil (alle Seiten konsumieren sie).
   ============================================================ */
:root{
  /* Akzent */
  --bw-accent:#1f5fb0; --bw-accent-2:#184f93; --bw-accent-3:#133e75;
  --bw-accent-bg:#eef4fc; --bw-accent-bd:#cadcf3; --bw-accent-glow:rgba(31,95,176,.16);
  /* Tinte / Text */
  --bw-ink:#141d28; --bw-ink-2:#26313f; --bw-muted:#586474; --bw-faint:#8a94a2;
  /* Flächen & Linien */
  --bw-line:#e8ecf2; --bw-line-2:#dde3ec; --bw-card:#ffffff; --bw-bg:#eef1f6;
  /* Status */
  --bw-ok-bg:#e6f6ef; --bw-ok:#0a5c43; --bw-warn-bg:#fdeede; --bw-warn:#7a4a07;
  --bw-err-bg:#fcebec; --bw-err:#8a1f24;
  /* Radius & Schatten (geschichtet = Tiefe) */
  --bw-r:14px; --bw-r-sm:10px; --bw-r-xs:8px;
  --bw-sh-1:0 1px 2px rgba(20,29,40,.04), 0 1px 3px rgba(20,29,40,.06);
  --bw-sh-2:0 1px 2px rgba(20,29,40,.04), 0 6px 16px rgba(20,29,40,.06);
  --bw-sh-3:0 2px 6px rgba(20,29,40,.05), 0 16px 40px rgba(20,29,40,.10);
  --bw-sh-accent:0 6px 20px var(--bw-accent-glow);
}
*{box-sizing:border-box;}
html{position:relative;min-height:100%;font-size:16px;scroll-behavior:smooth;}
body{margin:0;color:var(--bw-ink);font-size:15px;line-height:1.55;
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  background:
    radial-gradient(1100px 460px at 80% -8%, #eaf1fb 0%, rgba(234,241,251,0) 60%),
    radial-gradient(900px 420px at -5% 0%, #f0ecfb 0%, rgba(240,236,251,0) 55%),
    var(--bw-bg);
  background-attachment:fixed;}
::selection{background:var(--bw-accent-bg);color:var(--bw-accent-3);}
a{color:var(--bw-accent);text-decoration:none;transition:color .12s;}
a:hover{color:var(--bw-accent-2);text-decoration:underline;}
h1,h2,h3{letter-spacing:-.012em;}

.bw-container{max-width:1080px;margin:0 auto;padding:0 20px;}

/* ---- Kopfzeile ---- */
.bw-header{position:sticky;top:0;z-index:40;
  background:rgba(255,255,255,.82);backdrop-filter:saturate(180%) blur(12px);
  -webkit-backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--bw-line);}
.bw-header-in{max-width:1080px;margin:0 auto;display:flex;align-items:center;gap:6px;padding:11px 20px;}
.bw-brand{font-size:17px;font-weight:650;display:flex;align-items:center;gap:8px;white-space:nowrap;
  color:var(--bw-ink);letter-spacing:-.02em;margin-right:14px;}
.bw-brand:hover{text-decoration:none;}
.bw-brand::before{content:"";width:22px;height:22px;border-radius:7px;
  background:linear-gradient(140deg,var(--bw-accent),var(--bw-accent-3));
  box-shadow:var(--bw-sh-accent);display:inline-block;}
.bw-brand .v2{color:var(--bw-accent);font-weight:600;}
.bw-search{flex:1;display:flex;align-items:center;gap:8px;border:1px solid var(--bw-line);border-radius:var(--bw-r-xs);
  padding:8px 11px;color:var(--bw-faint);font-size:13px;background:#fbfcfd;max-width:430px;}
.bw-navlink{font-size:13.5px;color:var(--bw-muted);white-space:nowrap;padding:7px 11px;border-radius:8px;
  font-weight:500;transition:background .12s,color .12s;}
.bw-navlink:hover{color:var(--bw-ink);background:var(--bw-accent-bg);text-decoration:none;}
.bw-user{font-size:13px;color:var(--bw-muted);display:flex;align-items:center;gap:8px;white-space:nowrap;margin-left:auto;}

/* ---- Brotkrumen / Titel / Eyebrow ---- */
.bw-crumb{font-size:12.5px;color:var(--bw-muted);margin:22px 0 14px;display:flex;gap:7px;flex-wrap:wrap;align-items:center;}
.bw-crumb .sep{color:var(--bw-faint);}
.bw-h1{font-size:25px;font-weight:680;margin:0 0 4px;letter-spacing:-.022em;color:var(--bw-ink);}
.bw-lbl{font-size:11px;font-weight:650;letter-spacing:.07em;text-transform:uppercase;
  color:var(--bw-faint);margin:10px 0 11px;}

/* ---- Hero (Landing-Kopf) ---- */
.bw-hero{position:relative;overflow:hidden;border:1px solid var(--bw-accent-bd);border-radius:18px;
  padding:26px 28px;margin:6px 0 22px;background:
    radial-gradient(600px 220px at 100% 0%, rgba(31,95,176,.10), rgba(31,95,176,0) 70%),
    linear-gradient(180deg,#ffffff, #f7faff);box-shadow:var(--bw-sh-2);}
.bw-hero h1{font-size:27px;font-weight:700;margin:0 0 6px;letter-spacing:-.025em;}
.bw-hero p{margin:0;color:var(--bw-muted);max-width:65ch;font-size:14.5px;}
.bw-hero .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;}

/* ---- Kacheln / Statistik ---- */
.bw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:14px;}
.bw-statgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;}
.bw-stat{position:relative;display:block;background:var(--bw-card);border:1px solid var(--bw-line);
  border-radius:var(--bw-r);padding:16px 17px;color:var(--bw-ink);box-shadow:var(--bw-sh-1);
  transition:transform .14s, box-shadow .14s, border-color .14s;}
a.bw-stat:hover{transform:translateY(-2px);box-shadow:var(--bw-sh-2);border-color:var(--bw-accent-bd);text-decoration:none;}
.bw-stat .top{display:flex;align-items:baseline;justify-content:space-between;gap:8px;}
.bw-stat .nm{font-size:15px;font-weight:620;color:var(--bw-ink);}
.bw-stat .num{font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--bw-accent);font-variant-numeric:tabular-nums;}
.bw-stat .sb{font-size:12.5px;color:var(--bw-muted);margin:6px 0 12px;line-height:1.45;}
.bw-stat .acts{display:flex;gap:8px;}

.bw-tile{position:relative;display:block;background:var(--bw-card);border:1px solid var(--bw-line);border-radius:var(--bw-r);
  padding:16px;color:var(--bw-ink);box-shadow:var(--bw-sh-1);transition:transform .14s, box-shadow .14s, border-color .14s;}
.bw-tile:hover{transform:translateY(-2px);border-color:var(--bw-accent-bd);box-shadow:var(--bw-sh-2);text-decoration:none;}
.bw-tile .ic{color:var(--bw-accent);display:inline-flex;}
.bw-tile .nm{font-size:15px;font-weight:600;margin:10px 0 3px;}
.bw-tile .sb{font-size:13px;color:var(--bw-muted);}
.bw-tile .fr{font-size:12px;color:var(--bw-faint);margin-top:10px;}

/* ---- Badges & Pills ---- */
.bw-badge{position:absolute;top:12px;right:12px;font-size:10.5px;padding:3px 9px;border-radius:999px;font-weight:600;
  letter-spacing:.02em;}
.bw-badge.static{position:static;display:inline-block;}
.bw-badge.bestseller{background:var(--bw-warn-bg);color:var(--bw-warn);}
.bw-badge.neu{background:var(--bw-ok-bg);color:var(--bw-ok);}
.bw-badge.express{background:var(--bw-accent-bg);color:var(--bw-accent-3);}
.bw-pillrow{display:flex;gap:8px;flex-wrap:wrap;}
.bw-pill{font-size:12.5px;padding:5px 11px;border:1px solid var(--bw-line);border-radius:999px;color:var(--bw-muted);background:#fbfcfd;}

/* ---- Listenzeilen ---- */
.bw-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--bw-line);
  border-radius:var(--bw-r-sm);padding:13px 15px;margin-bottom:9px;box-shadow:var(--bw-sh-1);
  transition:transform .12s, box-shadow .12s, border-color .12s;}
a.bw-row:hover, .bw-row.link:hover{transform:translateY(-1px);border-color:var(--bw-accent-bd);box-shadow:var(--bw-sh-2);text-decoration:none;}
.bw-row .nm{font-weight:600;font-size:14px;color:var(--bw-ink);}
.bw-row .sb{font-size:13px;color:var(--bw-muted);}

/* ---- Karten ---- */
.bw-card{background:var(--bw-card);border:1px solid var(--bw-line);border-radius:var(--bw-r);padding:18px 20px;
  box-shadow:var(--bw-sh-1);}
.bw-card.flush{padding:0;overflow:hidden;}
.bw-cfg{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start;}
.bw-sticky{position:sticky;top:78px;}

/* ---- Konfigurator-Reste (Optionsgruppen/Chips) ---- */
.bw-optgrp{margin-bottom:16px;}
.bw-optgrp .head{display:flex;align-items:center;gap:6px;margin-bottom:8px;}
.bw-optgrp .head .lbl{font-size:14px;font-weight:600;}
.bw-help{color:var(--bw-faint);cursor:help;font-size:12px;border:1px solid var(--bw-line);border-radius:50%;
  width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;}
.bw-chips{display:flex;flex-wrap:wrap;gap:8px;}
.bw-chip{font-size:13px;padding:8px 13px;border:1px solid var(--bw-line);border-radius:var(--bw-r-xs);cursor:pointer;
  background:#fff;color:var(--bw-ink);user-select:none;transition:border-color .12s, background .12s;}
.bw-chip:hover{border-color:var(--bw-accent-bd);}
.bw-chip.sel{border:1.5px solid var(--bw-accent);background:var(--bw-accent-bg);color:var(--bw-accent);}
.bw-chip .s{opacity:.6;font-size:11px;}

/* ---- Schlüssel/Wert, Trenner ---- */
.bw-kv{display:flex;justify-content:space-between;font-size:13.5px;padding:4px 0;gap:10px;}
.bw-kv .k{color:var(--bw-muted);}
.bw-hr{border:none;border-top:1px solid var(--bw-line);margin:13px 0;}

/* ---- Preis-Zusammenfassung (Schaustück) ---- */
.bw-sum{background:linear-gradient(180deg,#ffffff,#f7faff);border:1px solid var(--bw-accent-bd);
  border-radius:var(--bw-r);padding:18px 20px;box-shadow:var(--bw-sh-2);}
.bw-sum .price{font-size:34px;font-weight:760;letter-spacing:-.03em;color:var(--bw-ink);
  font-variant-numeric:tabular-nums;line-height:1.05;}

/* ---- Kostenbaum ---- */
.bw-tree-row{display:flex;justify-content:space-between;gap:10px;padding:6px 0;font-size:13px;}
.bw-tree-row.comp{border-top:1px solid var(--bw-line);font-weight:600;color:var(--bw-ink);margin-top:2px;padding-top:8px;}
.bw-tree-row .v{white-space:nowrap;font-variant-numeric:tabular-nums;}

/* ---- Buttons ---- */
.bw-cta{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;
  background:linear-gradient(180deg,var(--bw-accent),var(--bw-accent-2));
  border:1px solid var(--bw-accent-2);color:#fff;font-weight:600;border-radius:var(--bw-r-xs);
  padding:11px 14px;cursor:pointer;font-size:14px;letter-spacing:.01em;
  box-shadow:0 1px 1px rgba(20,29,40,.06), var(--bw-sh-accent);
  transition:transform .12s, box-shadow .12s, filter .12s;}
.bw-cta:hover{filter:brightness(1.04);transform:translateY(-1px);text-decoration:none;color:#fff;
  box-shadow:0 1px 1px rgba(20,29,40,.06), 0 10px 26px var(--bw-accent-glow);}
.bw-cta:active{transform:translateY(0);}
.bw-cta.auto{width:auto;}
.bw-btn{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--bw-line-2);border-radius:var(--bw-r-xs);
  padding:8px 13px;font-size:13px;color:var(--bw-ink-2);cursor:pointer;font-weight:500;box-shadow:var(--bw-sh-1);
  transition:border-color .12s, background .12s, transform .12s;}
.bw-btn:hover{border-color:var(--bw-accent-bd);background:#fbfcff;text-decoration:none;transform:translateY(-1px);}
.bw-btn+.bw-btn,.bw-cta+.bw-btn,.bw-btn+.bw-cta{margin-left:7px;}

/* ---- Formularfelder ---- */
.bw-input{width:100%;border:1px solid var(--bw-line-2);border-radius:var(--bw-r-xs);padding:9px 11px;font-size:14px;background:#fff;
  color:var(--bw-ink);box-sizing:border-box;transition:border-color .12s, box-shadow .12s;}
.bw-input:hover{border-color:var(--bw-accent-bd);}
.bw-input:focus{outline:none;border-color:var(--bw-accent);box-shadow:0 0 0 3.5px var(--bw-accent-bg);}
select.bw-input{appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23586474' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;padding-right:32px;}
label{color:var(--bw-ink-2);}

/* ---- Meldung / Hinweise ---- */
.bw-note{border-radius:var(--bw-r-sm);padding:11px 14px;font-size:13.5px;}
.bw-note.ok{background:var(--bw-ok-bg);color:var(--bw-ok);}
.bw-note.warn{background:var(--bw-warn-bg);color:var(--bw-warn);}
.bw-note.err{background:var(--bw-err-bg);color:var(--bw-err);}
.bw-muted{color:var(--bw-muted);}

/* ---- Tabellen ---- */
table.bw-table{width:100%;border-collapse:collapse;font-size:14px;}
table.bw-table td{padding:10px 0;border-bottom:1px solid var(--bw-line);vertical-align:top;}
table.bw-table th{padding:8px 0;border-bottom:1px solid var(--bw-line-2);text-align:left;font-weight:600;font-size:12.5px;color:var(--bw-muted);}
table.bw-table tr:last-child td{border-bottom:none;}

/* ---- Hilfe / Handbuch ---- */
code{font-family:ui-monospace,"Cascadia Code",Consolas,monospace;font-size:.86em;background:#eef2f7;border:1px solid var(--bw-line);border-radius:6px;padding:1px 6px;color:var(--bw-accent-3);}
.bw-prose h2{font-size:18px;font-weight:650;letter-spacing:-.012em;margin:28px 0 10px;padding-top:14px;border-top:1px solid var(--bw-line);scroll-margin-top:74px;}
.bw-prose h3{font-size:15px;font-weight:650;margin:18px 0 8px;}
.bw-prose p{margin:8px 0;}
.bw-prose ul{margin:8px 0;padding-left:20px;}
.bw-prose li{margin:4px 0;}
.bw-callout{background:var(--bw-accent-bg);border:1px solid var(--bw-accent-bd);border-radius:var(--bw-r-sm);padding:11px 14px;margin:12px 0;font-size:13.5px;}
.bw-callout.warn{background:var(--bw-warn-bg);border-color:#f0d8a8;color:var(--bw-warn);}
.bw-toc{display:flex;flex-wrap:wrap;gap:6px 18px;}
.bw-toc a{font-size:13px;}

@media(max-width:820px){.bw-cfg{grid-template-columns:1fr;}.bw-sticky{position:static;}}
