/* Design-System „Wauzenberg" — Relaunch 07/2026, v2 nach Feedback-Runde.
   Farben aus dem Bestand (Waldgrün + Gold auf Creme/Weiß), Playfair + Lato lokal.
   ACHTUNG: /assets/ ist immutable gecached — Änderungen an dieser Datei brauchen
   einen neuen Hash-Ordner samt angepasster <link>-Referenzen. */
@font-face{font-family:'Playfair';src:url(/assets/d41baaeec676/playfairdisplay-regular.ttf);font-weight:400;font-display:swap}
@font-face{font-family:'Playfair';src:url(/assets/dd1e129e61c5/playfairdisplay-semibold.ttf);font-weight:600;font-display:swap}
@font-face{font-family:'Playfair';src:url(/assets/41340d7c4df0/playfairdisplay-bold.ttf);font-weight:700;font-display:swap}
@font-face{font-family:'Playfair';src:url(/assets/5541fa9ea540/playfairdisplay-extrabold.ttf);font-weight:800;font-display:swap}
@font-face{font-family:'LatoV';src:url(/assets/e82542aed829/lato-regular.ttf);font-weight:400;font-display:swap}
@font-face{font-family:'LatoV';src:url(/assets/d7f0b7f2570f/lato-bold.ttf);font-weight:700;font-display:swap}

:root{
  --wald:#068466; --wald-hover:#05705a; --wald-tief:#0b3a30;
  --gold:#d99a26; --gold-tief:#8a6410; --gold-hell:#f6e7c6;
  --creme:#fdfaf2; --sand:#f4eee0; --weiss:#fff;
  --ink:#202422; --ink-soft:#5a615c; --linie:#e9e2cf; --rot:#c02a1e;
  --r:18px; --r-s:12px; --schatten:0 18px 50px -22px rgba(11,58,48,.28);
  --serif:'Playfair',Georgia,serif; --sans:'LatoV','Lato',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{font-family:var(--sans);color:var(--ink);background:var(--creme);line-height:1.7;font-size:17px;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--wald)}
.antwort a,.aktivitaet a,.split .text a,.rechtsseite a,.preise-hinweis a{text-decoration:none;font-weight:700}
.antwort a:hover,.aktivitaet a:hover,.split .text a:hover,.rechtsseite a:hover,.preise-hinweis a:hover{text-decoration:underline;text-underline-offset:2px}
h1,h2,h3{font-family:var(--serif);line-height:1.15;font-weight:700}
.container{max-width:1320px;margin:0 auto;padding:0 5%}
.kicker{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-tief);margin-bottom:14px}
.section{padding:96px 0}
.bg-sand{background:var(--sand)}
.bg-weiss{background:var(--weiss)}
.btn{display:inline-block;font-family:var(--sans);font-weight:700;font-size:15px;padding:12px 24px;border-radius:100px;text-decoration:none;transition:all .2s;border:2px solid transparent;cursor:pointer;white-space:nowrap}
.btn-primary{background:var(--wald);color:#fff}
.btn-primary:hover{background:var(--wald-hover);transform:translateY(-1px)}
.btn-outline{border-color:var(--wald);color:var(--wald);background:transparent}
.btn-outline:hover{background:#fff;color:var(--wald);transform:translateY(-1px);box-shadow:0 8px 20px -10px rgba(11,58,48,.3)}
.btn-gold{background:var(--gold);color:#241a05}
.btn-gold:hover{background:#c98d1e;transform:translateY(-1px)}
.btn-ghost{border-color:rgba(255,255,255,.6);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.14)}

/* Navbar — groß, ruhig, nur Logo + Links */
.nav{position:sticky;top:0;z-index:99;background:rgba(253,250,242,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--linie)}
.nav-inner{max-width:1320px;margin:0 auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between;min-height:100px;gap:24px}
.logo-link{display:flex;align-items:center;text-decoration:none}
.logo-link img{height:68px;width:auto}
.nav-links{display:flex;align-items:center;gap:8px;list-style:none}
.nav-links a{text-decoration:none;color:var(--ink);font-weight:700;font-size:16.5px;padding:12px 16px;border-radius:100px;transition:background .15s}
.nav-links a:hover{background:var(--sand);text-decoration:none}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.burger span{display:block;width:24px;height:2.5px;background:var(--ink);border-radius:2px}

/* Hero */
.hero{padding:64px 0 96px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:24px 64px;align-items:start;margin-bottom:64px}
.hero h1{font-size:clamp(30px,3.6vw,46px);font-weight:800;letter-spacing:-.01em;margin-bottom:30px}
.hero h1 .neu{color:var(--wald)}
.hero-text .hinweis-fett{font-weight:700;color:var(--rot);font-size:19px;margin-bottom:16px}
@media(min-width:992px){.hero-text .hinweis-fett{white-space:nowrap}}
.hero-text p{font-size:17.5px;color:var(--ink-soft)}
.hero-text p+p{margin-top:14px}
.hero-text .hero-ctas{margin-top:22px}
.hero-text p b{color:var(--ink)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px}
.hero-bilder{position:relative;padding-bottom:10px}
.bild-buehne{position:relative}
.hero-bilder .haupt{width:78%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r);box-shadow:var(--schatten)}
.hero-bilder .detail{position:absolute;object-fit:cover;border-radius:var(--r-s);border:6px solid var(--creme);box-shadow:var(--schatten)}
.hero-bilder .detail.oben{top:4%;right:0;width:30%;aspect-ratio:1}
.hero-bilder .detail.unten{bottom:0;right:7%;width:34%;aspect-ratio:4/3}
.fakten-karte{position:absolute;left:-16px;bottom:34px;background:#fff;border-radius:16px;padding:22px 26px;display:grid;gap:12px;box-shadow:var(--schatten)}
.fakten-karte span{display:flex;align-items:center;gap:11px;font-weight:700;font-size:15px;color:var(--wald-tief);white-space:nowrap}
.fakten-karte svg{width:19px;height:19px;stroke:var(--wald);flex:none}

/* Wohnung */
.split{display:grid;grid-template-columns:5fr 7fr;gap:28px 72px;align-items:start}
.split h2{font-size:clamp(27px,3vw,38px)}
.split .text p{color:var(--ink-soft)}
.wohnung-bilder{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:72px 0}
.wohnung-bilder img{width:100%;height:280px;object-fit:cover;border-radius:var(--r)}

/* Freizeit — aufgeklappte Karten im Versatz-Grid, mobil als Slider */
.section-kopf{max-width:640px;margin:0 auto 60px;text-align:center}
.section-kopf h2{font-size:clamp(30px,3.4vw,42px);margin-bottom:16px}
.section-kopf p{color:var(--ink-soft)}
.aktivitaeten{columns:2;column-gap:24px}
.aktivitaet{display:inline-block;width:100%;background:#fff;border-radius:var(--r);padding:28px 30px;margin-bottom:24px;break-inside:avoid;box-shadow:0 10px 34px -20px rgba(11,58,48,.22)}
.aktivitaet h3{font-family:var(--sans);font-size:18.5px;margin-bottom:8px}
.aktivitaet p{color:var(--ink-soft);font-size:15.5px}
.hauzenberg-karte{margin-top:56px;background:var(--wald-tief);border-radius:var(--r);box-shadow:var(--schatten);display:grid;grid-template-columns:.9fr 1.1fr;overflow:hidden}
.hauzenberg-karte img{width:100%;height:100%;max-height:320px;object-fit:cover;object-position:top}
.hauzenberg-karte .inhalt{padding:36px 44px;align-self:center}
.hauzenberg-karte h3{font-size:26px;margin-bottom:10px;color:#fff}
.hauzenberg-karte .kicker{color:var(--gold)}
.hauzenberg-karte p{color:#c8ddd6;margin-bottom:20px}

/* Galerie — Desktop: 3×2-Grid, Mobil: Slider; Klick öffnet Lightbox */
.galerie{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.galerie img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r-s);cursor:zoom-in;transition:transform .2s}
.galerie img:hover{transform:scale(1.015)}
.slider-pfeile{display:none;gap:10px;justify-content:center;margin-top:22px}
.slider-pfeile button{width:46px;height:46px;border-radius:50%;border:2px solid var(--wald);background:#fff;cursor:pointer;display:grid;place-items:center;transition:all .2s}
.slider-pfeile button:hover{background:var(--wald)}
.slider-pfeile button:hover svg{stroke:#fff}
.slider-pfeile svg{width:18px;height:18px;stroke:var(--wald)}
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(9,25,21,.93);display:none;align-items:center;justify-content:center}
.lightbox.offen{display:flex}
.lightbox img{max-width:92vw;max-height:88vh;border-radius:10px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.lightbox button{position:absolute;background:rgba(255,255,255,.12);border:0;color:#fff;cursor:pointer;border-radius:50%;width:52px;height:52px;font-size:26px;line-height:1;display:grid;place-items:center;transition:background .15s}
.lightbox button:hover{background:rgba(255,255,255,.28)}
.lightbox .lb-zu{top:22px;right:22px}
.lightbox .lb-prev{left:18px;top:50%;transform:translateY(-50%)}
.lightbox .lb-next{right:18px;top:50%;transform:translateY(-50%)}

/* Gästestimmen */
.stimmen{columns:3;gap:24px}
.stimme{display:inline-block;width:100%;background:#fff;border:1px solid var(--linie);border-radius:var(--r);padding:30px;margin-bottom:24px;break-inside:avoid;box-shadow:0 8px 30px -18px rgba(11,58,48,.18)}
.sterne{display:flex;gap:3px;margin-bottom:16px}
.sterne svg{width:18px;height:18px;fill:var(--gold)}
.stimme blockquote{font-family:var(--serif);font-size:17.5px;line-height:1.6;margin-bottom:18px}
.stimme .wer b{display:block;font-size:15.5px}
.stimme .wer small{color:var(--ink-soft)}
.stimme.einladung{background:var(--wald-tief);border-color:var(--wald-tief);color:#fff}
.stimme.einladung h3{font-size:22px;color:#fff;margin-bottom:10px}
.stimme.einladung p{color:#c8ddd6;margin-bottom:20px;font-size:15.5px}

/* Preise */
.preise-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.preis-karte{background:#fff;border:1px solid var(--linie);border-radius:var(--r);padding:30px 24px;display:flex;flex-direction:column;box-shadow:0 8px 30px -20px rgba(11,58,48,.16)}
.preis-karte h3{font-size:19px;font-family:var(--sans);font-weight:700;margin-bottom:4px}
.preis-karte .saison-zeit{font-size:14px;color:var(--ink-soft);min-height:44px}
.preis-karte .betrag{font-family:var(--serif);font-weight:800;font-size:44px;margin:16px 0 2px;color:var(--wald-tief)}
.preis-karte .betrag small{font-size:17px;font-family:var(--sans);font-weight:400;color:var(--ink-soft)}
.preis-karte .einheit{font-size:14px;color:var(--ink-soft);border-bottom:1px solid var(--linie);padding-bottom:18px;margin-bottom:18px}
.preis-karte ul{list-style:none;font-size:14px;color:var(--ink-soft);display:grid;gap:9px}
.preis-karte li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.preis-karte ul svg{width:15px;height:15px;stroke:var(--wald);margin-right:7px;vertical-align:-2px}
.preise-hinweis{text-align:center;color:var(--ink-soft);font-size:15px;margin-top:36px}

/* Buchungs-CTA */
.cta{position:relative;padding:110px 0;overflow:hidden}
.cta .bg{position:absolute;inset:0}
.cta .bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.85)}
.cta .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,42,35,.55),rgba(9,42,35,.4))}
.cta .inhalt{position:relative;z-index:1;max-width:680px;margin:0 auto;text-align:center;color:#fff;padding:0 5%}
.cta .kicker{color:var(--gold)}
.cta h2{font-size:clamp(28px,3.4vw,42px);margin-bottom:18px;color:#fff}
.cta p{color:#d4e4de;font-size:18px}
.cta .hero-ctas{justify-content:center;margin-top:28px}

/* Kontakt */
.kontakt-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.kontakt-info h2{font-size:clamp(28px,3.2vw,40px);margin-bottom:16px}
.kontakt-info>p{color:var(--ink-soft);margin-bottom:28px}
.kontakt-zeile{display:flex;align-items:center;gap:14px;padding:10px 0;font-weight:700}
.kontakt-zeile svg{width:21px;height:21px;stroke:var(--wald);flex:none}
.kontakt-zeile a{text-decoration:none;color:var(--ink)}
.kontakt-zeile a:hover{color:var(--wald)}
.form-karte{background:#fff;border:1px solid var(--linie);border-radius:var(--r);box-shadow:var(--schatten);padding:38px}
.form-karte label{display:block;font-weight:700;font-size:14.5px;margin:0 0 7px}
.form-karte input,.form-karte textarea{width:100%;font-family:var(--sans);font-size:16px;padding:13px 16px;border:1.5px solid var(--linie);border-radius:10px;background:var(--creme);margin-bottom:20px;transition:border-color .15s}
.form-karte input:focus,.form-karte textarea:focus{outline:none;border-color:var(--wald)}
.form-karte textarea{min-height:130px;resize:vertical}
.form-reihe{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.stepper{display:flex;align-items:center;border:1.5px solid var(--linie);border-radius:10px;background:var(--creme);margin-bottom:8px;overflow:hidden}
.stepper button{width:52px;height:50px;border:0;background:transparent;font-size:22px;font-weight:700;color:var(--wald);cursor:pointer;flex:none}
.stepper button:hover{background:var(--sand)}
.stepper input{border:0!important;background:transparent!important;text-align:center;font-weight:700;margin:0!important;padding:12px 0!important}
.stepper-hinweis{font-size:13px;color:var(--gold-tief);font-weight:700;min-height:20px;margin-bottom:12px;visibility:hidden}
.stepper-hinweis.zeigen{visibility:visible}
.form-meldung{display:none;border-radius:12px;padding:16px 20px;font-weight:700;line-height:1.55;margin-top:16px;border-left:5px solid}
.form-meldung.ok{background:#e5f3ee;color:var(--wald-tief);border-color:var(--wald)}
.form-meldung.fehler{background:#fbe9e4;color:#8a2f18;border-color:var(--rot)}
.form-meldung a{color:inherit;text-decoration:underline}
.grecaptcha-badge{visibility:hidden!important}
.recaptcha-hinweis{font-size:12.5px;color:var(--ink-soft);line-height:1.5;margin:14px 0 0}
.recaptcha-hinweis a{color:var(--ink-soft);text-decoration:underline}

/* Rechtsseiten */
.rechtsseite{max-width:840px;margin:0 auto;padding:64px 5% 96px}
.rechtsseite h1{font-size:clamp(32px,4vw,46px);margin-bottom:10px}
.rechtsseite .untertitel{color:var(--ink-soft);margin-bottom:44px}
.rechtsseite h2{font-size:24px;margin:40px 0 12px}
.rechtsseite h3{font-size:19px;font-family:var(--sans);margin:26px 0 8px}
.rechtsseite p,.rechtsseite li{color:var(--ink-soft)}
.rechtsseite ul{padding-left:22px;margin:10px 0}
.adresse-karte{background:#fff;border:1px solid var(--linie);border-left:5px solid var(--gold);border-radius:var(--r-s);padding:26px 30px;margin:18px 0 8px;box-shadow:0 8px 30px -18px rgba(11,58,48,.18)}
.adresse-karte p{color:var(--ink)}

/* Panorama-Übergang + Footer (nach dem Vorbild der alten Seite) */
.footer-panorama.ueberlappt{margin-top:-150px}
.kontakt-grid{position:relative;z-index:2}
.footer-panorama{height:clamp(240px,34vw,440px);background:linear-gradient(180deg,var(--creme) 0%,rgba(253,250,242,0) 45%),url(/assets/fae93dba9b32/passau.jpg) center/cover no-repeat}
.footer{background:var(--wald-tief);color:#c8ddd6;padding:56px 0 32px}
.footer .oben{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding-bottom:36px}
.footer .marke{font-family:var(--serif);font-weight:800;font-size:22px;color:#fff;text-decoration:none}
.footer ul{display:flex;flex-wrap:wrap;gap:4px 26px;list-style:none}
.footer ul a{color:#c8ddd6;text-decoration:none;font-weight:700;font-size:15px}
.footer ul a:hover{color:#fff;text-decoration:none}
.footer .linie{height:1px;background:rgba(255,255,255,.14)}
.footer .unten{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;padding-top:26px;font-size:14px}
.footer .unten a{color:#c8ddd6}

/* Responsive */
@media(max-width:991px){
  html{scroll-padding-top:92px}
  .section{padding:72px 0}
  .nav-inner{min-height:84px}
  .logo-link img{height:52px}
  .nav-links{position:fixed;inset:84px 0 auto 0;background:var(--creme);flex-direction:column;align-items:stretch;padding:18px 5% 30px;gap:6px;border-bottom:1px solid var(--linie);display:flex;visibility:hidden;opacity:0;transform:translateY(-10px);pointer-events:none;transition:opacity .28s ease,transform .28s ease,visibility .28s}
  .nav-links.offen{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}
  .nav-links a{padding:16px 14px;font-size:19px}
  .burger{display:flex}
  .hero{padding:44px 0 0}
  .hero-grid{grid-template-columns:1fr;gap:20px;margin-bottom:48px}
  .split{grid-template-columns:1fr;gap:16px}
  .stimmen{columns:2}
  .preise-grid{grid-template-columns:1fr 1fr}
  .kontakt-grid{grid-template-columns:1fr;gap:44px}
  .hauzenberg-karte{grid-template-columns:1fr}
  .hauzenberg-karte img{max-height:260px}
  .wohnung-bilder{grid-template-columns:repeat(3,1fr);margin:56px 0}
  .wohnung-bilder img{height:200px}
}
@media(max-width:767px){
  /* Freizeit-Karten werden zum Slider mit einheitlicher Höhe */
  .aktivitaeten{columns:auto;display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;align-items:stretch;scrollbar-width:thin;scrollbar-color:var(--wald) var(--sand);margin-left:-5.3vw;margin-right:-5.3vw;padding:0 5.3vw 14px}
  .aktivitaet{flex:none;width:82vw;max-width:340px;margin-bottom:0;scroll-snap-align:start}
  /* Galerie wird zum Slider */
  .galerie{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--wald) var(--sand);margin-left:-5.3vw;margin-right:-5.3vw;padding:0 5.3vw 14px}
  .galerie img{width:78vw;max-width:340px;flex:none;scroll-snap-align:start}
  .slider-pfeile{display:flex}
}
@media(max-width:600px){
  body{font-size:16px}
  .stimmen{columns:1}
  .preise-grid{grid-template-columns:1fr}
  .hero-bilder .haupt{width:100%}
  .hero-bilder .detail.oben{width:36%;top:-16px;right:-4px}
  .hero-bilder .detail.unten{width:42%;bottom:-10px;right:auto;left:-4px}
  .bild-buehne{margin:16px 0 30px}
  .fakten-karte{position:static;width:100%}
  .fakten-karte span{white-space:normal}
  .hero-ctas{flex-wrap:nowrap;gap:10px}
  .hero-ctas .btn{padding:11px 16px;font-size:14px}
  .wohnung-bilder{grid-template-columns:1fr}
  .wohnung-bilder img{height:230px}
  .form-reihe{grid-template-columns:1fr}
  .form-karte{padding:26px}
  .hauzenberg-karte .inhalt{padding:28px}
}
