/* ============================================================
   DESIGN (bitte NICHT ändern – hier liegt das Layout).
   Eure Inhalte stehen in inhalte.js.
   CI angelehnt an burg-guttenberg.de / Eventscheune.
   ============================================================ */
:root{
  --balken:#33281E;
  --balken-tief:#241C15;
  --kalk:#F7F2E7;
  --kalk-karte:#FFFDF8;
  --stroh:#C98F2D;
  --stroh-hell:#E7B85C;
  --wiese:#55684B;
  --wiese-tief:#3E4E37;
  --wiese-hell:#E4EADF;
  --rose:#9C5A6B;
  --rose-tief:#7E4455;
  --rose-hell:#F0DEE3;
  --russ:#2B241C;
  --russ-60:rgba(43,36,28,.62);
  --linie:rgba(51,40,30,.16);
  --font-display:'Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif;
  --font-body:system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --font-data:ui-monospace,'SF Mono','Cascadia Mono','Segoe UI Mono',Menlo,Consolas,monospace;
  --radius:12px;
  --schatten:0 12px 34px rgba(36,28,21,.14);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
body{font-family:var(--font-body);background:var(--kalk);color:var(--russ);line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
a{color:inherit;text-decoration:none}
:focus-visible{outline:3px solid var(--stroh);outline-offset:2px;border-radius:4px}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}
.topband{background:var(--balken);color:var(--kalk);position:sticky;top:0;z-index:50}
.topband .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 22px}
.marke{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:1.2rem;letter-spacing:.01em;line-height:1.15}
.marke-logo{width:102px;height:102px;object-fit:contain;flex-shrink:0}
.marke small{display:block;font-family:var(--font-body);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;opacity:.72;margin-top:2px}
.topnav{display:flex;align-items:center;gap:20px;font-size:.85rem}
.nav-instagram{display:flex;align-items:center;opacity:.85;transition:opacity .15s}
.nav-instagram:hover{opacity:1}
.nav-instagram svg{width:19px;height:19px}
.atem-foto{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:21/9;margin:36px 0}
.atem-foto img{width:100%;height:100%;object-fit:cover}
.atem-foto span{
  position:absolute;left:24px;bottom:20px;color:#fff;font-family:var(--font-display);
  font-size:1.15rem;font-style:italic;text-shadow:0 2px 10px rgba(0,0,0,.5);
}
@media(max-width:640px){.atem-foto{aspect-ratio:4/3}}
.topnav a{opacity:.85;border-bottom:1px solid transparent;padding-bottom:3px}
.topnav a:hover{opacity:1;border-bottom-color:var(--stroh)}
.nav-verfuegbarkeit{
  background:var(--stroh);color:var(--balken-tief)!important;font-weight:700;
  padding:6px 14px;border-radius:6px;opacity:1!important;border-bottom:none!important;
  cursor:pointer;border:none;font:inherit;
}
.nav-verfuegbarkeit:hover{background:var(--stroh-hell)}
.nav-anfrage{
  background:var(--rose);color:#fff!important;font-weight:700;
  padding:6px 14px;border-radius:6px;opacity:1!important;border-bottom:none!important;
  cursor:pointer;border:none;font:inherit;
  box-shadow:0 0 0 3px rgba(156,90,107,.22);
}
.nav-anfrage:hover{background:#83495a}
.nav-ferienhaus{
  background:var(--wiese);color:#fff!important;font-weight:700;
  padding:6px 14px;border-radius:6px;opacity:1!important;border-bottom:none!important;
  cursor:pointer;border:none;font:inherit;
}
.nav-ferienhaus:hover{background:#445338}
.verfuegbarkeit-modal.buchung-modal{width:min(760px,100%)}
.smoobu-buchung{min-height:400px}
.verfuegbarkeit-overlay{
  position:fixed;inset:0;background:rgba(36,28,21,.62);
  display:flex;align-items:center;justify-content:center;
  z-index:200;padding:20px;
}
.verfuegbarkeit-modal{
  background:var(--kalk-karte);border-radius:var(--radius);
  width:min(440px,100%);max-height:85vh;overflow-y:auto;
  padding:22px;box-shadow:0 24px 60px rgba(36,28,21,.35);
}
.verfuegbarkeit-modal .kopf{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.verfuegbarkeit-modal.anfrage-modal{width:min(600px,100%)}
.verfuegbarkeit-modal .kopf b{font-family:var(--font-display);font-size:1.2rem;color:var(--russ)}
.verfuegbarkeit-modal .schliessen{font-size:1.6rem;line-height:1;color:var(--russ-60);padding:2px 8px;cursor:pointer;border:none;background:none}
.verfuegbarkeit-modal .schliessen:hover{color:var(--russ)}
.menu-toggle{display:none;background:none;border:none;color:var(--kalk);font-size:1.7rem;cursor:pointer;padding:2px 6px;line-height:1}
@media(max-width:720px){
  .topband .wrap{position:relative;flex-wrap:wrap}
  .menu-toggle{display:block}
  .topnav{
    display:none;width:100%;flex-direction:column;gap:0;
    background:var(--balken-tief);margin-top:10px;border-radius:8px;overflow:hidden;
  }
  .topnav.offen{display:flex}
  .topnav a{padding:13px 16px;border-bottom:1px solid rgba(247,242,231,.08);opacity:1}
  .topnav a:last-child{border-bottom:none}
  .nav-verfuegbarkeit,.nav-anfrage,.nav-ferienhaus{width:100%;border-radius:0;text-align:left;padding:13px 16px!important;box-shadow:none}
}
.tor{position:relative}
.tor-bild-wrap{position:relative;width:100%;line-height:0;background:var(--balken)}
.tor-bild-wrap img{width:100%;height:auto;display:block}
.tor-intro-versteckt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tor-tuer-klick{
  position:absolute;border:0;background:rgba(255,255,255,0);cursor:pointer;
  border-radius:6px;transition:background .2s;
}
.tor-tuer-klick:hover,.tor-tuer-klick:focus-visible{background:rgba(255,255,255,.10)}
.tor-tuer-klick:focus-visible{outline:3px solid var(--stroh-hell);outline-offset:3px}
/* Position der Klick-Felder – an die Türflügel im Foto angepasst */
.tor-tuer-ferien{left:9.1%;top:21%;width:22.1%;height:71.3%}
.tor-tuer-events{left:68.4%;top:21%;width:22.1%;height:71.3%}
.tor-vorstellung{padding:44px 22px 56px;max-width:860px}
.tor-vorstellung h2{font-family:var(--font-display);font-weight:400;font-size:clamp(1.4rem,3vw,1.9rem);margin-bottom:14px;text-align:center}
.tor-vorstellung>p{color:var(--russ-60);font-size:.98rem;line-height:1.75;text-align:center;margin-bottom:32px}
.tor-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.tor-links a{
  display:flex;flex-direction:column;gap:3px;background:var(--kalk-karte);border:1px solid var(--linie);
  border-radius:10px;padding:14px 16px;text-align:center;transition:border-color .15s,box-shadow .15s;
}
.tor-links a:hover{border-color:var(--stroh);box-shadow:0 3px 12px rgba(36,28,21,.08)}
.tor-links a b{font-family:var(--font-display);font-weight:500;font-size:1rem}
.tor-links a span{font-size:.76rem;color:var(--russ-60)}
.bereich{display:none}
.bereich.aktiv{display:block}
.zurueck-leiste{background:var(--balken-tief);color:var(--kalk);position:sticky;top:52px;z-index:40}
.zurueck-leiste .wrap{display:flex;align-items:center;gap:18px;padding:10px 22px;flex-wrap:wrap}
.zurueck-btn{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;opacity:.85}
.zurueck-btn:hover{opacity:1}
.bereich-nav{display:flex;gap:16px;font-size:.82rem;flex-wrap:wrap;margin-left:auto}
.bereich-nav a{opacity:.8;border-bottom:1px solid transparent;padding-bottom:2px}
.bereich-nav a:hover{opacity:1}
.b-events .bereich-nav a:hover{border-bottom-color:var(--rose-hell)}
.b-ferien .bereich-nav a:hover{border-bottom-color:var(--wiese-hell)}
.b-hero{color:#fff;padding:64px 0;position:relative;overflow:hidden;display:flex;align-items:center;min-height:540px}
@media(max-width:640px){.b-hero{min-height:0;padding:64px 0 76px}}
.b-hero::before{content:"";position:absolute;inset:0;z-index:0}
.b-events .b-hero::before,.b-hero.b-events::before{background:linear-gradient(rgba(40,20,28,.62),rgba(40,20,28,.82)),var(--foto-hero,none) center 30%/cover no-repeat,repeating-linear-gradient(115deg,#6E4453 0 80px,#653d4b 80px 82px)}
.b-ferien .b-hero::before{background:linear-gradient(rgba(36,28,21,.6),rgba(36,28,21,.82)),var(--foto-hero,none) center 68%/cover no-repeat,repeating-linear-gradient(65deg,#4A5A40 0 80px,#445338 80px 82px)}
.b-hero .wrap{position:relative;z-index:1;width:100%}
.b-hero.ohne-filter::before{background:var(--foto-hero,none) center 30%/cover no-repeat!important}
.b-hero.b-ferien.ohne-filter::before{background:var(--foto-hero,none) center 68%/cover no-repeat!important}
.b-hero.ohne-filter .augenmerk,.b-hero.ohne-filter h1,.b-hero.ohne-filter h2,.b-hero.ohne-filter p{text-shadow:0 2px 14px rgba(0,0,0,.65),0 1px 3px rgba(0,0,0,.8)}
.b-hero .augenmerk{font-family:var(--font-data);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;opacity:.85;margin-bottom:10px}
.b-hero h2{font-family:var(--font-display);font-weight:400;font-size:clamp(2.2rem,5.2vw,3.6rem);line-height:1.1;max-width:20ch}
.b-hero p{max-width:54ch;margin-top:20px;opacity:.94;font-size:1.05rem;line-height:1.7}
.b-hero .knoepfe{margin-top:34px;display:flex;gap:12px;flex-wrap:wrap}
.knopf{display:inline-flex;align-items:center;gap:9px;font-weight:700;padding:13px 26px;border-radius:8px;transition:transform .12s,background .15s}
.knopf:hover{transform:translateY(-2px)}
.knopf-primaer{background:var(--stroh);color:var(--balken-tief)}
.knopf-primaer:hover{background:var(--stroh-hell)}
.knopf-hell{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.3)}
.knopf-hell:hover{background:rgba(255,255,255,.24)}
.abschnitt{padding:92px 0 10px}
@media(max-width:640px){.abschnitt{padding:64px 0 8px}}
.abschnitt .eyebrow{font-family:var(--font-data);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px}
.b-events .eyebrow,.eyebrow.b-events{color:var(--rose)}
.b-ferien .eyebrow,.eyebrow.b-ferien{color:var(--wiese)}
.abschnitt h3{font-family:var(--font-display);font-weight:400;font-size:clamp(1.7rem,3.8vw,2.5rem);margin-bottom:14px}
.abschnitt .lead{color:var(--russ-60);max-width:60ch;margin-bottom:38px;font-size:1.02rem;line-height:1.7}
.karten{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:26px}
.karte{background:var(--kalk-karte);border:1px solid var(--linie);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 3px 14px rgba(36,28,21,.06)}
.karte .bild{aspect-ratio:16/10;position:relative;background:var(--balken)}
.karte .bild svg,.karte .bild img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.karte .txt{padding:16px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.karte h4{font-family:var(--font-display);font-weight:500;font-size:1.15rem}
.karte p{font-size:.88rem;color:var(--russ-60)}
.karte .fakten{list-style:none;font-family:var(--font-data);font-size:.78rem;color:var(--russ-60);display:flex;flex-direction:column;gap:3px;margin-top:auto;border-top:1px dashed var(--linie);padding-top:10px}
.karte .fakten b{color:var(--russ)}
.faktband{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:2px;background:var(--linie);border-radius:var(--radius);overflow:hidden;margin-top:10px}
.faktband div{background:var(--kalk-karte);padding:20px 18px;text-align:center}
.faktband b{display:block;font-family:var(--font-display);font-size:1.8rem;color:var(--russ)}
.faktband span{font-size:.78rem;color:var(--russ-60)}
.freizeit{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px}
.freizeit .item{background:var(--kalk-karte);border:1px solid var(--linie);border-radius:10px;padding:18px 14px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}
.freizeit .item svg{width:44px;height:44px}
.freizeit .item span{font-size:.9rem;font-weight:600}
.ablauf{border-left:2px solid var(--linie);margin-left:8px;padding-left:0}
.ablauf .schritt{position:relative;padding:0 0 22px 26px}
.ablauf .schritt::before{content:"";position:absolute;left:-7px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--rose)}
.ablauf .zeit{font-family:var(--font-data);font-size:.8rem;color:var(--rose-tief);font-weight:700}
.ablauf h4{font-family:var(--font-display);font-weight:500;font-size:1.05rem;margin:2px 0 3px}
.ablauf p{font-size:.88rem;color:var(--russ-60);max-width:60ch}
.trauungen{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.trauung{background:var(--kalk-karte);border:1px solid var(--linie);border-top:4px solid var(--rose);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;gap:8px}
.trauung h4{font-family:var(--font-display);font-weight:500;font-size:1.2rem}
.trauung .kap{font-family:var(--font-data);font-size:.78rem;color:var(--rose-tief)}
.trauung p{font-size:.87rem;color:var(--russ-60)}
.trauung .via{font-size:.78rem;color:var(--russ-60);margin-top:auto;border-top:1px dashed var(--linie);padding-top:9px}
.pakete{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.paket{background:var(--kalk-karte);border:1px solid var(--linie);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:10px}
.paket.hervor{border:2px solid var(--stroh);box-shadow:var(--schatten)}
.paket h4{font-family:var(--font-display);font-weight:500;font-size:1.25rem}
.paket .von{font-family:var(--font-data);font-size:.8rem;color:var(--russ-60)}
.paket .preis{font-family:var(--font-data);font-size:1.5rem;font-weight:600}
.paket ul{list-style:none;font-size:.86rem;color:var(--russ-60);display:flex;flex-direction:column;gap:6px}
.paket ul li::before{content:"✓ ";color:var(--wiese);font-weight:700}
.paket .hinweis{font-size:.74rem;color:var(--russ-60);margin-top:auto}
.faq-liste{max-width:760px;display:flex;flex-direction:column;gap:2px}
.faq-liste details{
  background:var(--kalk-karte);border:1px solid var(--linie);border-radius:8px;
  padding:2px 18px;transition:background .15s;
}
.faq-liste details[open]{background:#fff;border-color:var(--stroh)}
.faq-liste summary{
  padding:14px 0;cursor:pointer;font-weight:600;font-size:.92rem;
  list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;
}
.faq-liste summary::-webkit-details-marker{display:none}
.faq-liste summary::after{content:"+";font-size:1.2rem;color:var(--stroh);flex-shrink:0;transition:transform .2s}
.faq-liste details[open] summary::after{content:"–"}
.faq-liste details p{font-size:.87rem;color:var(--russ-60);padding-bottom:16px;margin:0}
.rittermahl{background:var(--balken);color:var(--kalk);border-radius:var(--radius);overflow:hidden;display:grid;grid-template-columns:1.1fr 1fr;align-items:start}
@media(max-width:780px){.rittermahl{grid-template-columns:1fr}}
.rittermahl .bild{background:var(--balken-tief);aspect-ratio:1.5;position:relative}
.rittermahl .bild svg,.rittermahl .bild img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.rittermahl .txt{padding:30px}
.rittermahl .eyebrow{color:var(--stroh-hell);font-family:var(--font-data);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px}
.rittermahl h3{color:#fff;font-family:var(--font-display);font-weight:400;font-size:1.6rem;margin-bottom:10px}
.rittermahl p{color:rgba(247,242,231,.82);font-size:.92rem;margin-bottom:16px}
.rittermahl .preise{display:flex;gap:22px;flex-wrap:wrap;font-family:var(--font-data);font-size:.85rem;margin-bottom:18px}
.rittermahl .preise b{display:block;font-size:1.3rem;color:var(--stroh-hell)}
.rittermahl .menue{font-size:.85rem;color:rgba(247,242,231,.75);border-left:3px solid var(--stroh);padding-left:14px;margin-bottom:18px;line-height:1.7}
.rittermahl .ab16{display:block;font-size:.85rem;color:var(--stroh-hell);font-weight:600;margin-bottom:14px}
.rittermahl .fuss{font-size:.82rem;color:rgba(247,242,231,.6);margin:0}
.horneck-hinweis{
  margin-top:20px;padding:16px 18px;border-radius:8px;
  background:rgba(201,143,45,.13);border:1px solid rgba(201,143,45,.4);
}
.horneck-hinweis b{display:block;font-size:.9rem;color:var(--stroh-hell);margin-bottom:4px}
.horneck-hinweis p{font-size:.85rem;color:rgba(247,242,231,.8);margin-bottom:8px}
.horneck-hinweis a{font-size:.83rem;color:var(--stroh-hell);text-decoration:underline;text-underline-offset:3px}
.besonderer-tipp{
  background:var(--balken);color:var(--kalk);border-radius:var(--radius);
  padding:32px 34px;margin:26px 0;position:relative;overflow:hidden;
  border:1px solid rgba(201,143,45,.4);
}
.besonderer-tipp::before{
  content:"✦ Besonderer Tipp";font-family:var(--font-data);font-size:.7rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--stroh-hell);display:block;margin-bottom:10px;
}
.besonderer-tipp h2,.besonderer-tipp h3{
  font-family:var(--font-display);font-weight:400;color:#fff;font-size:1.5rem;margin-bottom:12px;
}
.besonderer-tipp p{color:rgba(247,242,231,.85);font-size:.95rem;max-width:62ch;line-height:1.65}
.rittermahl-galerie{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:2px;border-radius:var(--radius);overflow:hidden}
@media(max-width:640px){.rittermahl-galerie{grid-template-columns:1fr}}
.rittermahl-galerie .bild{position:relative;aspect-ratio:3/2;background:var(--balken)}
.rittermahl-galerie .bild img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.rittermahl-galerie .bild span{
  position:absolute;left:0;right:0;bottom:0;padding:20px 14px 10px;
  background:linear-gradient(transparent,rgba(36,28,21,.82));
  color:var(--kalk);font-size:.8rem;
}
.foto-galerie{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:14px;border-radius:var(--radius);overflow:hidden}
@media(max-width:640px){.foto-galerie{grid-template-columns:1fr 1fr}}
.foto-galerie .bild{position:relative;aspect-ratio:4/3;background:var(--balken)}
.foto-galerie .bild img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.foto-galerie .bild span{
  position:absolute;left:0;right:0;bottom:0;padding:16px 10px 8px;
  background:linear-gradient(transparent,rgba(36,28,21,.82));
  color:var(--kalk);font-size:.72rem;
}
.party-foto{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:21/8;margin-bottom:22px;background:var(--balken)}
.party-foto img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.party-foto span{
  position:absolute;left:0;right:0;bottom:0;padding:26px 18px 12px;
  background:linear-gradient(transparent,rgba(36,28,21,.85));color:var(--kalk);font-size:.85rem;
}
.video-box{border-radius:var(--radius);overflow:hidden;background:var(--balken);box-shadow:0 3px 14px rgba(36,28,21,.1)}
.video-box video{width:100%;aspect-ratio:16/9;display:block;background:var(--balken-tief)}
.video-box .u{padding:14px 18px}
.video-box h4{font-family:var(--font-display);font-weight:500;font-size:1.1rem}
.video-box p{font-size:.84rem;color:var(--russ-60);margin-top:3px}
.medien{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.rundgang-gross{
  aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;
  box-shadow:0 10px 30px rgba(36,28,21,.14);margin-top:8px;background:var(--balken);
}
.rundgang-gross iframe{width:100%;height:100%;border:0;display:block}
.rundgang-gross .flaeche{width:100%;height:100%}
.warmer-abschluss{text-align:center;padding:48px 22px 8px;max-width:640px;margin:0 auto}
.warmer-abschluss p{font-family:var(--font-display);font-style:italic;font-size:1.2rem;color:var(--russ);line-height:1.5}
.liste-editorial{border-top:1px solid var(--linie)}
.liste-editorial .eintrag{
  display:grid;grid-template-columns:1.3fr 2.7fr;gap:24px;
  padding:22px 0;border-bottom:1px solid var(--linie);
}
.liste-editorial .eintrag h3{font-family:var(--font-display);font-weight:500;font-size:1.15rem}
.liste-editorial .eintrag .rolle{font-family:var(--font-data);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--rose);display:block;margin-top:3px}
.liste-editorial .eintrag p{font-size:.9rem;color:var(--russ-60);line-height:1.6}
.liste-editorial .eintrag .kontakt{font-size:.78rem;color:var(--russ-60);margin-top:8px}
@media(max-width:640px){.liste-editorial .eintrag{grid-template-columns:1fr;gap:6px}}
@media(max-width:700px){.medien{grid-template-columns:1fr}}
.medienbox{background:var(--kalk-karte);border:1px solid var(--linie);border-radius:var(--radius);overflow:hidden}
.medienbox .flaeche{aspect-ratio:16/10;background:var(--balken);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--kalk);text-align:center;padding:20px}
.medienbox .flaeche svg{width:52px;height:52px;opacity:.9}
.medienbox .flaeche span{font-size:.85rem;opacity:.85;max-width:34ch}
.medienbox iframe{width:100%;aspect-ratio:16/10;border:0;display:block}
.medienbox .u{padding:14px 18px}
.medienbox h4{font-family:var(--font-display);font-weight:500;font-size:1.1rem}
.medienbox p{font-size:.84rem;color:var(--russ-60);margin-top:3px}
.downloads{display:flex;flex-wrap:wrap;gap:14px}
.download-link{
  display:flex;align-items:center;gap:12px;background:var(--kalk-karte);border:1px solid var(--linie);
  border-radius:10px;padding:14px 18px;min-width:220px;transition:border-color .15s,box-shadow .15s;
}
.download-link:hover{border-color:var(--stroh);box-shadow:0 3px 12px rgba(36,28,21,.08)}
.download-link .icon{font-family:var(--font-data);font-size:.7rem;letter-spacing:.06em;color:var(--stroh);border:1px solid var(--stroh);border-radius:5px;padding:3px 6px;flex-shrink:0}
.download-link .txt b{display:block;font-size:.92rem}
.download-link .txt span{font-size:.78rem;color:var(--russ-60)}
.cta-streifen{border-radius:var(--radius);padding:52px 34px;text-align:center;margin:28px 0}
.b-events .cta-streifen,.cta-streifen.b-events{background:var(--rose-hell)}
.b-ferien .cta-streifen,.cta-streifen.b-ferien{background:var(--wiese-hell)}
.cta-streifen h3{font-family:var(--font-display);font-weight:500;font-size:1.5rem;margin-bottom:8px}
.cta-streifen p{color:var(--russ-60);margin-bottom:18px;max-width:52ch;margin-left:auto;margin-right:auto}
.uebergabe{border:1px dashed var(--linie);border-radius:var(--radius);padding:30px 32px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:8px}
.uebergabe p{font-size:.9rem;color:var(--russ-60);flex:1;min-width:240px}
.uebergabe b{color:var(--russ)}
.uebergabe .wechsel{font-weight:700;font-size:.9rem;display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:8px}
.b-events .uebergabe .wechsel{background:var(--wiese);color:#fff}
.b-ferien .uebergabe .wechsel{background:var(--rose);color:#fff}
footer{background:var(--balken);color:var(--kalk);margin-top:110px;padding:56px 0 24px}
footer .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:28px}
footer h4{font-family:var(--font-display);font-weight:500;margin-bottom:10px}
footer p,footer a{font-size:.85rem;opacity:.82;line-height:1.8}
footer a:hover{opacity:1;text-decoration:underline}
.rechtszeile{border-top:1px solid rgba(247,242,231,.15);margin-top:30px;padding-top:16px;font-size:.74rem;opacity:.6;text-align:center}
.ladefehler{max-width:640px;margin:80px auto;padding:30px;background:#fff3f0;border:1px solid #d98a72;border-radius:12px;color:#7a2f1f;font-size:.95rem;line-height:1.7}
.ladefehler b{font-size:1.1rem}

/* ---------- Belegungskalender (Smoobu-Widget) ---------- */
.calendarWidget{background:var(--kalk-karte);border:1px solid var(--linie);border-radius:var(--radius);padding:20px;box-shadow:0 3px 14px rgba(36,28,21,.06);overflow-x:auto}

/* ---------- Anfrageformular ---------- */
.anfrage-formular{margin-top:26px;border-top:1px solid var(--linie);padding-top:24px}
.formularraster{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:600px){.formularraster{grid-template-columns:1fr}}
.formularraster .voll{grid-column:1/-1}
.feld{display:flex;flex-direction:column;gap:5px}
.feld label{font-size:.78rem;color:var(--russ-60);letter-spacing:.02em}
.feld input,.feld select,.feld textarea{
  padding:11px 12px;border:1px solid var(--linie);border-radius:7px;
  font:inherit;background:#fff;color:var(--russ);
}
.feld textarea{resize:vertical;min-height:80px}
.formular-absenden{margin-top:18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.formular-status{font-size:.85rem}
.formular-status.ok{color:var(--wiese)}
.formular-status.fehler{color:#9C3D26}
.formular-erfolg{text-align:center;padding:28px 16px}
.formular-erfolg .haken{
  width:52px;height:52px;border-radius:50%;background:var(--wiese);color:#fff;
  font-size:1.6rem;line-height:52px;margin:0 auto 14px;
}
.formular-erfolg b{display:block;font-family:var(--font-display);font-size:1.2rem;color:var(--russ);margin-bottom:6px}
.formular-erfolg p{font-size:.9rem;color:var(--russ-60);max-width:36ch;margin:0 auto}
/* Honeypot-Feld gegen Spam – für Menschen unsichtbar */
.hp-feld{position:absolute;left:-9999px;top:-9999px}

