:root{
  --sand:#F7F0E4; --sand-2:#EFE4D2; --tinte:#1F2A2E; --tinte-weich:#4A5A5E;
  --petrol:#0E6B6B; --petrol-hell:#12908C; --koralle:#E4536F; --sonne:#F2A93B;
  --weiss:#fff; --rand:#E0D4BE;
  --offen:#2E8B57; --zu:#C2413E; --anfrage:#C97B18;
  --radius:16px; --schatten:0 6px 24px rgba(31,42,46,.10);
  --max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--sand);color:var(--tinte);
  font-family:"Trebuchet MS",Verdana,Segoe UI,system-ui,sans-serif;font-size:17px;line-height:1.6;
  overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--petrol)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 16px}

/* Kopf */
.kopf{position:sticky;top:0;z-index:50;background:rgba(247,240,228,.96);border-bottom:1px solid var(--rand);
  backdrop-filter:blur(6px)}
.kopf .wrap{display:flex;align-items:center;gap:12px;min-height:60px;flex-wrap:wrap;padding-top:6px;padding-bottom:6px}
.marke{font-weight:bold;font-size:20px;letter-spacing:.5px;text-decoration:none;color:var(--tinte);white-space:nowrap}
.marke span{color:var(--koralle)}
.nav{margin-left:auto;display:flex;gap:4px;flex-wrap:nowrap;overflow-x:auto;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;max-width:100%}
.nav::-webkit-scrollbar{display:none}
.nav a{white-space:nowrap}
.nav a{display:inline-block;padding:9px 12px;border-radius:999px;text-decoration:none;color:var(--tinte-weich);
  font-size:15px;min-height:44px;line-height:26px}
.nav a:hover,.nav a.aktiv{background:var(--sand-2);color:var(--tinte)}
.nav .ruf{background:var(--petrol);color:#fff}
.nav .ruf:hover{background:var(--petrol-hell);color:#fff}

/* Statusband */
.statusband{background:var(--weiss);border-bottom:1px solid var(--rand)}
.statuskarten{display:grid;gap:12px;padding:16px 0;grid-template-columns:1fr}
.skarte{border:1px solid var(--rand);border-radius:var(--radius);padding:14px 16px;background:var(--sand)}
.skarte h3{margin:0 0 2px;font-size:16px;letter-spacing:.3px}
.skarte .ort{margin:0 0 10px;font-size:14px;color:var(--tinte-weich)}
.lampe{display:flex;align-items:center;gap:10px;font-weight:bold;font-size:19px}
.punkt{width:14px;height:14px;border-radius:50%;flex:0 0 14px;background:#bbb}
.ist-offen .punkt{background:var(--offen);box-shadow:0 0 0 5px rgba(46,139,87,.16)}
.ist-zu .punkt{background:var(--zu);box-shadow:0 0 0 5px rgba(194,65,62,.16)}
.ist-anfrage .punkt{background:var(--anfrage);box-shadow:0 0 0 5px rgba(201,123,24,.16)}
.ist-offen .lampe{color:var(--offen)} .ist-zu .lampe{color:var(--zu)} .ist-anfrage .lampe{color:var(--anfrage)}
.zusatz{margin:6px 0 0;font-size:15px;color:var(--tinte-weich)}
.wetter{display:flex;gap:4px;margin-top:12px;border-top:1px dashed var(--rand);padding-top:10px}
.tag{flex:1 1 0;min-width:0;text-align:center;font-size:13px;color:var(--tinte-weich);line-height:1.4}
.tag b{display:block;color:var(--tinte);font-size:13px;text-transform:none}
.tag .ikon{display:block;font-size:24px;line-height:1.3}
.tag .grad{display:block;color:var(--tinte);font-size:15px;font-weight:bold}
.tag .regen{display:block;color:var(--petrol);font-size:12px;white-space:nowrap}
.stand{font-size:12.5px;color:var(--tinte-weich);padding:0 0 14px}

/* Bühne */
.buehne{position:relative;min-height:62vh;display:flex;align-items:flex-end;
  background:#294;background-size:cover;background-position:center}
.buehne::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(31,42,46,.15) 0%,rgba(31,42,46,.72) 100%)}
.buehne .wrap{position:relative;z-index:2;padding-top:48px;padding-bottom:40px;color:#fff}
.buehne h1{margin:0 0 10px;font-size:34px;line-height:1.15;text-shadow:0 2px 14px rgba(0,0,0,.35)}
.buehne p{margin:0 0 20px;font-size:18px;max-width:34em;text-shadow:0 1px 8px rgba(0,0,0,.4)}

.knopf{display:inline-block;padding:13px 22px;border-radius:999px;background:var(--koralle);color:#fff;
  text-decoration:none;font-weight:bold;min-height:44px;border:0;cursor:pointer;font-size:16px}
.knopf:hover{background:#cf3f5c;color:#fff}
.knopf.stumm{background:transparent;border:2px solid #fff;color:#fff}
.knopf.stumm:hover{background:rgba(255,255,255,.14)}
.knopf.petrol{background:var(--petrol)} .knopf.petrol:hover{background:var(--petrol-hell)}
.knoepfe{display:flex;gap:10px;flex-wrap:wrap}

/* Abschnitte */
section{padding:44px 0}
section.hell{background:var(--weiss)}
h2{font-size:26px;margin:0 0 6px;line-height:1.2}
.unter{margin:0 0 24px;color:var(--tinte-weich);max-width:36em}
.raster{display:grid;gap:18px;grid-template-columns:1fr}
.karte{background:var(--weiss);border:1px solid var(--rand);border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--schatten);display:flex;flex-direction:column}
.karte img{height:190px;object-fit:cover;width:100%}
.karte .inhalt{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1}
.karte h3{margin:0;font-size:20px}
.karte p{margin:0;color:var(--tinte-weich)}
.karte .fuss{margin-top:auto;padding-top:6px}
.marker{display:inline-block;background:var(--sand-2);border-radius:999px;padding:3px 10px;font-size:13px;
  color:var(--tinte-weich)}

.zeiten{background:var(--weiss);border:1px solid var(--rand);border-radius:var(--radius);padding:18px}
.zeiten dl{margin:0;display:grid;grid-template-columns:1fr;gap:4px}
.zeiten dt{font-weight:bold;margin-top:10px}
.zeiten dd{margin:0;color:var(--tinte-weich)}

.preise{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.preise li{background:var(--weiss);border:1px solid var(--rand);border-radius:var(--radius);padding:14px 16px}
.preise b{display:block;font-size:18px}
.preise .euro{color:var(--koralle);font-weight:bold}

.galerie{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.galerie img{aspect-ratio:1/1;object-fit:cover;border-radius:10px}

form.anfrage{display:grid;gap:12px;background:var(--weiss);border:1px solid var(--rand);
  border-radius:var(--radius);padding:18px}
label{font-size:14px;font-weight:bold;display:block;margin-bottom:4px}
input,select,textarea{width:100%;padding:12px;border:1px solid var(--rand);border-radius:10px;
  font:inherit;font-size:16px;background:var(--sand);color:var(--tinte);min-height:44px}
textarea{min-height:110px;resize:vertical}
.zwei{display:grid;gap:12px;grid-template-columns:1fr}
.klein{font-size:13.5px;color:var(--tinte-weich)}
.hinweis{padding:12px 14px;border-radius:10px;font-size:15px}
.hinweis.gut{background:#E8F4EC;color:#1d5c39;border:1px solid #bfe0cd}
.hinweis.schlecht{background:#FBEAEA;color:#8d2b29;border:1px solid #efc4c3}

footer{background:var(--tinte);color:#D8DEDF;padding:36px 0 28px;font-size:15px}
footer a{color:#fff}
footer .spalten{display:grid;gap:22px;grid-template-columns:1fr}
footer h4{margin:0 0 6px;color:#fff;font-size:16px}
footer p{margin:0 0 4px}
.fussleiste{border-top:1px solid #33454a;margin-top:24px;padding-top:14px;font-size:13.5px;
  display:flex;gap:14px;flex-wrap:wrap}
.fussleiste a{display:inline-block;padding:10px 0}

@media (min-width:700px){
  .statuskarten{grid-template-columns:1fr 1fr}
  .raster{grid-template-columns:repeat(2,1fr)}
  .galerie{grid-template-columns:repeat(4,1fr)}
  .zwei{grid-template-columns:1fr 1fr}
  .buehne h1{font-size:46px}
  footer .spalten{grid-template-columns:repeat(3,1fr)}
  .preise{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:980px){ .raster.drei{grid-template-columns:repeat(3,1fr)} }
