:root{--g:#2f5d3a;--g2:#e8efe6;--t:#1f2a22;--m:#5b665e;--b:#d5ddd3;--bg:#fbfcfa;--e:#a4262c;--ok:#1d6b34}
*{box-sizing:border-box}
body{margin:0;font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--t);background:var(--bg)}
.w{max-width:960px;margin:0 auto;padding:0 16px}
a{color:var(--g)}
header{position:sticky;top:0;z-index:9;box-shadow:0 1px 4px #0002}
header ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap}
header a{text-decoration:none;display:block}
.r1{background:var(--g)}.r1 .w{display:flex;align-items:center;justify-content:space-between;min-height:56px}
.logo{color:#fff;font-weight:700;font-size:1.2rem}
.n1 a{color:#fff;padding:16px 12px}.n1 a:hover,.n1 [aria-current]{background:#ffffff26}
.r2{background:var(--g2);font-size:.85rem}.n2 a{color:var(--t);padding:6px 12px 6px 0;margin-right:12px}
.n2 [aria-current]{font-weight:700}
.tg{display:none;background:none;border:0;color:#fff;font-size:1.6rem;cursor:pointer}
@media(max-width:720px){.tg{display:block}.r1 .w{flex-wrap:wrap}.r1 nav{display:none;width:100%}
 header.open .r1 nav{display:block}.n1{flex-direction:column}.n1 a{padding:10px 4px;border-top:1px solid #ffffff22}}
main{padding:24px 16px 48px}
h1{color:var(--g);line-height:1.2}h2{margin-top:2em}
.hero{background:var(--g2);border-radius:8px;padding:24px;margin-bottom:24px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.cards>div{border:1px solid var(--b);border-radius:8px;padding:16px;background:#fff}
.btn,button[type=submit]{display:inline-block;background:var(--g);color:#fff;border:0;border-radius:6px;padding:10px 20px;font:inherit;cursor:pointer;text-decoration:none}
button:disabled{opacity:.6}
form{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;max-width:720px}
form .f,form button,form output,fieldset{grid-column:1/-1}
fieldset{border:1px solid var(--b);border-radius:8px;display:grid;grid-template-columns:inherit;gap:inherit;padding:12px 16px}
label{display:flex;flex-direction:column;font-size:.9rem;color:var(--m)}
input,select,textarea{font:inherit;color:var(--t);padding:8px;border:1px solid var(--b);border-radius:6px;margin-top:4px;background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid var(--g);border-color:var(--g)}
form .dt{display:flex;gap:6px;position:relative;margin-top:4px}.dt input[type=text]{flex:1;margin:0}
.cal{border:1px solid var(--b);border-radius:6px;background:#fff;cursor:pointer;padding:0 10px;font-size:1.1rem}
.dp{position:absolute;right:0;bottom:0;width:1px;height:1px;padding:0;border:0;opacity:0;pointer-events:none}
form .hint{grid-column:1/-1;margin:0;font-size:.9rem;color:var(--m)}
.hp{position:absolute;left:-9999px}
output{font-weight:600}
pre.dbg{grid-column:1/-1;margin:0;padding:10px 12px;border:1px dashed var(--e);border-radius:6px;background:#fff5f5;color:var(--e);font:12px/1.5 ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-word}.ok{color:var(--ok)}.err{color:var(--e)}
@media(max-width:560px){form,fieldset{grid-template-columns:1fr}}
/* Preisliste */
table.preise{border-collapse:separate;border-spacing:0;width:100%;max-width:420px;background:#fff;border:1px solid var(--b);border-radius:8px;overflow:hidden}
.preise th,.preise td{padding:8px 16px;text-align:left;border-bottom:1px solid var(--b)}
.preise th{background:var(--g2);font-weight:600}.preise tr:last-child td{border-bottom:0}
.preise td:last-child,.preise th:last-child{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
/* Bestätigungsseite */
.danke{border-left:6px solid var(--ok)}.danke .lead{font-size:1.15rem}.danke strong{white-space:nowrap}
footer{background:var(--g);color:#fff;padding:16px 0;font-size:.85rem;box-shadow:0 -1px 4px #0002}
footer a{color:#fff}footer a:hover{color:var(--g2)}
