/* Städboxen v2 – modern design + wizard */
:root{
  --surface:#ffffff;
  --text:#0a0f0c;
  --muted:#64748b;
  --brand:#16a34a;
  --brand-2:#10b981;
  --accent:#f59e0b;
  --radius:16px;
  --shadow:0 10px 30px #0001;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:#f6faf7}
.container{max-width:1080px;margin:0 auto;padding:clamp(16px,3vw,24px)}
.site-header{display:flex;gap:16px;align-items:center;justify-content:space-between;background:var(--surface);position:sticky;top:0;border-bottom:1px solid #e2e8f0;z-index:20}
.brand{font-weight:800;font-size:20px;color:var(--brand);text-decoration:none}
.main-nav{display:none;gap:16px}
.main-nav a{color:#0f172a;text-decoration:none;font-weight:700;opacity:.9}
.main-nav a.is-active{color:var(--brand)}
.main-nav a:hover{opacity:1}
.header-cta{display:flex;gap:10px;align-items:center}
@media(min-width:840px){.main-nav{display:flex}}

.hero{display:grid;grid-template-columns:1fr;gap:28px;align-items:center}
@media(min-width:980px){.hero{grid-template-columns:1.1fr .9fr}}
.hero-copy h1{font-size:clamp(28px,4vw,44px);line-height:1.1;margin:0 0 8px}
.hero-copy p{color:#334155;margin:0 0 14px}
.hero-cta{display:flex;gap:12px;margin:12px 0 6px}
.usp-list{display:flex;flex-wrap:wrap;gap:10px;color:#0a7a3f;font-weight:700}
.trust img{height:28px;opacity:.7}
.hero-media .video-frame{border-radius:16px;overflow:hidden;box-shadow:var(--shadow);border:1px solid #e2e8f0;background:#000}
.hint{color:var(--muted)}

.section{padding:32px 0}
.section h2{font-size:clamp(24px,3vw,32px);margin:0 0 10px}
.muted{color:var(--muted)}
.small{font-size:12px}

.cards{display:grid;grid-template-columns:1fr;gap:16px;margin-top:16px}
@media(min-width:860px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--surface);border:1px solid #e2e8f0;border-radius:var(--radius);padding:18px;position:relative;box-shadow:var(--shadow)}
.card-accent{outline:3px solid color-mix(in oklab, var(--brand) 60%, #0000)}
.card-badge{position:absolute;top:12px;right:12px;background:var(--brand);color:#fff;font-size:12px;padding:4px 8px;border-radius:999px}
.card h3{margin:0 0 10px;font-size:22px}
.items{display:grid;gap:6px;margin:10px 0 12px;padding:0 0 0 16px}
.items li{list-style:disc;color:#0f172a}
.addons{display:grid;gap:8px;margin-bottom:12px}
.price{font-weight:800;font-size:22px;margin-bottom:12px}
.price .sub{font-weight:700;color:var(--muted);font-size:14px;margin-left:8px}
.actions{display:flex;gap:10px}

.delivery{margin-top:12px;padding:12px;border-radius:12px;background:#f0fdf4;border:1px solid #dcfce7;color:#166534;font-weight:700}

.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.shop-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px}
@media(min-width:860px){.shop-grid{grid-template-columns:repeat(4,1fr)}}
.product{background:var(--surface);border:1px solid #e2e8f0;border-radius:14px;padding:12px;display:grid;gap:8px;box-shadow:var(--shadow)}
.product h4{margin:0}
.product .price{font-size:18px}
.product .tag{font-size:12px;color:#0f766e;background:#ccfbf1;border:1px solid #99f6e4;border-radius:999px;padding:2px 8px;width:max-content}

/* Wizard */
.wizard{display:grid;gap:14px;background:var(--surface);border:1px solid #e2e8f0;border-radius:16px;padding:16px;box-shadow:var(--shadow);max-width:840px}
.progress{height:6px;background:#eef2ff;border-radius:999px;overflow:hidden}
#progressBar{height:100%;width:0;background:linear-gradient(90deg, var(--brand), var(--brand-2))}
#stepHost{display:grid;gap:12px}
.step-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(min-width:860px){.step-grid{grid-template-columns:repeat(3,1fr)}}
.choice{border:1px solid #e2e8f0;border-radius:14px;padding:14px;font-weight:700;cursor:pointer;text-align:center;background:#fff;}
.choice[aria-pressed="true"]{outline:3px solid #bbf7d0}
.wizard-nav{display:flex;justify-content:space-between;align-items:center}

.cta-card{background:linear-gradient(135deg, #e6fff1, #fff);border:1px solid #dcfce7;padding:20px;border-radius:18px;display:grid;gap:10px}
.site-footer{display:grid;gap:10px;border-top:1px solid #e2e8f0;color:#475569}
.site-footer nav{display:flex;gap:12px}

.btn{appearance:none;border:none;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer}
.btn-primary{background:var(--brand);color:white}
.btn-secondary{background:#e8f7ee;color:#065f46}
.btn-ghost{background:transparent;border:1px solid #d1fae5;color:#065f46}
.btn:focus{outline:none;box-shadow:0 0 0 3px #bbf7d0}
.btn:disabled{opacity:.6;cursor:not-allowed}

.modal{position:fixed;inset:0;display:grid;place-items:center;background:#0006;padding:16px}
.modal[hidden]{display:none !important}
.modal-card{background:#fff;border-radius:16px;padding:18px;display:grid;gap:10px;min-width:min(560px, 92vw);position:relative}
.modal-card label{display:grid;gap:6px}
.modal-card input,.modal-card select{padding:10px;border-radius:10px;border:1px solid #dbeafe}
.modal-close{position:absolute;right:18px;top:16px;border:none;background:#0000;font-size:24px;cursor:pointer}

.video-frame video{display:block;width:100%;height:auto}

.cart-items{display:grid;gap:10px}
.cart-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e2e8f0;padding:6px 0}
.cart-total{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:18px}
