/* ===== HolzAs – Ökologisches, klares Design ===== */
:root{
  --gruen:#3d5a45;
  --gruen-dunkel:#2c4434;
  --gruen-hell:#eef3ee;
  --braun:#8a5a3b;
  --braun-hell:#f4ede6;
  --text:#2b2b26;
  --grau:#6b6b62;
  --linie:#e2e2da;
  --weiss:#ffffff;
  --akzent:#c17f45;
  --radius:10px;
  --schatten:0 2px 14px rgba(44,68,52,.09);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--text);
  background:#faf9f6;
  line-height:1.6;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--gruen);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{line-height:1.25;color:var(--gruen-dunkel);margin:0 0 .5em}
h1{font-size:clamp(1.7rem,4vw,2.5rem)}
h2{font-size:clamp(1.3rem,3vw,1.8rem)}
h3{font-size:1.2rem}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-9999px;top:0;background:var(--gruen);color:#fff;padding:8px 14px;z-index:200}
.skip:focus{left:8px;top:8px}

/* --- Kopf --- */
.kopf{background:var(--weiss);border-bottom:1px solid var(--linie);position:sticky;top:0;z-index:100;box-shadow:0 1px 8px rgba(0,0,0,.04)}
.kopf-innen{display:flex;align-items:center;gap:18px;padding-top:10px;padding-bottom:10px}
.logo{display:flex;flex-direction:column;line-height:1.1;text-decoration:none}
.logo-name{font-size:1.5rem;font-weight:800;color:var(--gruen-dunkel);letter-spacing:-.5px}
.logo-name span{color:var(--braun)}
.logo-sub{font-size:.7rem;color:var(--grau);letter-spacing:.5px;text-transform:uppercase}
.hauptnav{margin-left:auto}
.hauptnav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.hauptnav a{display:block;padding:8px 12px;border-radius:8px;color:var(--text);font-weight:500;font-size:.95rem}
.hauptnav a:hover{background:var(--gruen-hell);color:var(--gruen-dunkel);text-decoration:none}
.warenkorb-link{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--gruen-hell);color:var(--gruen-dunkel)}
.warenkorb-count{position:absolute;top:-4px;right:-4px;background:var(--braun);color:#fff;font-size:.7rem;font-weight:700;min-width:19px;height:19px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 4px}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:10px}
.nav-toggle span{width:24px;height:2px;background:var(--gruen-dunkel);border-radius:2px}

/* --- Hero --- */
.hero{position:relative;border-radius:var(--radius);overflow:hidden;margin:22px 0;background:var(--gruen-dunkel)}
.hero img{width:100%;height:clamp(280px,45vw,460px);object-fit:cover;opacity:.85}
.hero-text{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(20px,5vw,60px);color:#fff;background:linear-gradient(90deg,rgba(28,42,33,.72),rgba(28,42,33,.15))}
.hero-text h1{color:#fff;max-width:16ch}
.hero-text p{max-width:52ch;font-size:1.05rem}

/* --- Buttons --- */
.btn{display:inline-block;background:var(--gruen);color:#fff;border:0;padding:11px 22px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s}
.btn:hover{background:var(--gruen-dunkel);text-decoration:none;color:#fff}
.btn-braun{background:var(--braun)}
.btn-braun:hover{background:#6f4630}
.btn-hell{background:var(--gruen-hell);color:var(--gruen-dunkel)}
.btn-hell:hover{background:#dde8dd;color:var(--gruen-dunkel)}
.btn-block{display:block;width:100%;text-align:center}
.btn:disabled{opacity:.6;cursor:not-allowed}

/* --- Karten / Kategorien --- */
.kat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin:26px 0}
.kat-karte{background:var(--weiss);border-radius:var(--radius);overflow:hidden;box-shadow:var(--schatten);display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s;border:1px solid var(--linie)}
.kat-karte:hover{transform:translateY(-3px);box-shadow:0 6px 22px rgba(44,68,52,.14)}
.kat-karte img{height:150px;width:100%;object-fit:cover}
.kat-karte .kk-body{padding:16px;display:flex;flex-direction:column;flex:1}
.kat-karte h3{margin-bottom:6px}
.kat-karte p{color:var(--grau);font-size:.92rem;flex:1}
.kat-link{font-weight:600;color:var(--gruen)}

/* --- Produktkarten --- */
.produkt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;margin:26px 0}
.produkt-karte{background:var(--weiss);border:1px solid var(--linie);border-radius:var(--radius);overflow:hidden;box-shadow:var(--schatten);display:flex;flex-direction:column}
.produkt-bild{background:var(--gruen-hell);padding:18px;display:flex;align-items:center;justify-content:center;min-height:190px}
.produkt-bild img{max-height:180px;width:auto;object-fit:contain}
.produkt-body{padding:18px;display:flex;flex-direction:column;flex:1}
.produkt-body h3{margin-bottom:8px}
.badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.badge{display:inline-block;background:var(--gruen-hell);color:var(--gruen-dunkel);font-size:.72rem;font-weight:600;padding:3px 9px;border-radius:20px;border:1px solid #d5e2d5}
.badge-braun{background:var(--braun-hell);color:var(--braun);border-color:#eadfd4}
.produkt-features{list-style:none;margin:0 0 14px;padding:0;font-size:.9rem;color:var(--grau)}
.produkt-features li{padding-left:18px;position:relative;margin-bottom:3px}
.produkt-features li::before{content:"✓";position:absolute;left:0;color:var(--gruen);font-weight:700}

/* --- Preistabelle --- */
.preis-tabelle{width:100%;border-collapse:collapse;font-size:.9rem;margin-bottom:14px}
.preis-tabelle th{background:var(--gruen-hell);color:var(--gruen-dunkel);text-align:left;padding:7px 10px;font-weight:600}
.preis-tabelle td{padding:7px 10px;border-bottom:1px solid var(--linie)}
.preis-tabelle tr:last-child td{border-bottom:0}
.preis-aktuell{font-weight:700;color:var(--gruen-dunkel)}
.mwst-hinweis{font-size:.78rem;color:var(--grau);margin:4px 0 12px}

/* --- Bestellformular / Mengen --- */
.bestell-zeile{display:flex;gap:10px;align-items:center;margin-top:auto;flex-wrap:wrap}
.menge-input{width:70px;padding:9px;border:1px solid var(--linie);border-radius:8px;font-size:1rem;text-align:center}
select.option-select{padding:9px;border:1px solid var(--linie);border-radius:8px;font-size:.9rem}

/* --- Flash --- */
.flash{padding:12px 16px;border-radius:8px;margin:16px 0;font-weight:500}
.flash-ok{background:#e7f2e7;color:#2c5a34;border:1px solid #cbe3cb}
.flash-fehler{background:#fbe9e7;color:#8a2f23;border:1px solid #f3cbc4}

/* --- Warenkorb --- */
.warenkorb-tabelle{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--schatten)}
.warenkorb-tabelle th{background:var(--gruen-hell);color:var(--gruen-dunkel);padding:10px 12px;text-align:left;font-size:.88rem}
.warenkorb-tabelle td{padding:10px 12px;border-bottom:1px solid var(--linie);vertical-align:middle}
.warenkorb-tabelle .wk-menge{width:64px}
.warenkorb-summen{margin-top:18px;background:#fff;border-radius:var(--radius);padding:18px;box-shadow:var(--schatten);max-width:420px;margin-left:auto}
.summen-zeile{display:flex;justify-content:space-between;padding:5px 0}
.summen-zeile.gesamt{border-top:2px solid var(--gruen);margin-top:8px;padding-top:10px;font-size:1.15rem;font-weight:700;color:var(--gruen-dunkel)}
.text-rechts{text-align:right}

/* --- Formulare --- */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-grid .voll{grid-column:1/-1}
label.feld{display:block;font-weight:600;font-size:.9rem;margin-bottom:4px;color:var(--gruen-dunkel)}
.feld input,.feld select,.feld textarea{width:100%;padding:10px;border:1px solid var(--linie);border-radius:8px;font-size:1rem;font-family:inherit;background:#fff}
.feld input:focus,.feld select:focus,.feld textarea:focus{outline:2px solid var(--gruen);outline-offset:1px}
.checkbox-zeile{display:flex;gap:10px;align-items:flex-start;margin:6px 0}
.checkbox-zeile input{margin-top:5px}

/* --- Inhaltsseiten --- */
.inhalt{background:#fff;border-radius:var(--radius);padding:clamp(20px,4vw,44px);box-shadow:var(--schatten);margin:26px 0}
.inhalt h2{margin-top:1.2em}
.inhalt h2:first-child{margin-top:0}
.inhalt ul{padding-left:22px}
.inhalt li{margin-bottom:4px}

/* --- Accordion (FAQ) --- */
details.faq{background:#fff;border:1px solid var(--linie);border-radius:var(--radius);padding:16px 20px;margin-bottom:12px}
details.faq summary{cursor:pointer;font-weight:600;color:var(--gruen-dunkel);font-size:1.02rem}
details.faq p{color:var(--text);margin-bottom:0}

/* --- Schritte / Sektionen --- */
.sektion{margin:40px 0}
.sektion-titel{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.sektion-titel::after{content:"";flex:1;height:1px;background:var(--linie)}

/* --- Fuß --- */
.fuss{background:var(--gruen-dunkel);color:#d8e2d8;margin-top:56px}
.fuss-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:30px;padding:44px 20px}
.fuss h2{color:#fff;font-size:1.05rem;margin-bottom:12px}
.fuss a{color:#cfe0cf}
.fuss ul{list-style:none;padding:0;margin:0}
.fuss li{margin-bottom:6px}
.fuss-basis{background:#22352a;padding:14px 0;font-size:.85rem}
.fuss-basis p{margin:0}

/* --- Admin --- */
.admin-nav{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0;background:#fff;padding:12px;border-radius:var(--radius);box-shadow:var(--schatten)}
.admin-nav a{padding:7px 14px;border-radius:8px;background:var(--gruen-hell);color:var(--gruen-dunkel);font-weight:600;font-size:.9rem}
.admin-nav a.aktiv{background:var(--gruen);color:#fff}
.admin-tabelle{width:100%;border-collapse:collapse;background:#fff;box-shadow:var(--schatten);border-radius:var(--radius);overflow:hidden;font-size:.92rem}
.admin-tabelle th{background:var(--gruen-dunkel);color:#fff;padding:11px 12px;text-align:left}
.admin-tabelle td{padding:10px 12px;border-bottom:1px solid var(--linie)}
.admin-tabelle tr:hover td{background:var(--gruen-hell)}
.status{display:inline-block;padding:3px 10px;border-radius:20px;font-size:.78rem;font-weight:600}
.status-neu{background:#fff3cd;color:#856404}
.status-bestaetigt{background:#d1ecf1;color:#0c5460}
.status-geliefert{background:#d4edda;color:#155724}
.status-storniert{background:#f8d7da;color:#721c24}

/* --- Responsive --- */
@media(max-width:820px){
  .hauptnav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:2px solid var(--gruen);box-shadow:0 10px 24px rgba(0,0,0,.12)}
  .hauptnav.offen{display:block}
  .hauptnav ul{flex-direction:column;padding:12px 20px}
  .hauptnav a{padding:12px 8px;font-size:1.05rem}
  .nav-toggle{display:flex}
  .form-grid{grid-template-columns:1fr}
  .warenkorb-tabelle{display:block;overflow-x:auto}
}
