/* ===== RESET & BASE ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family: 'Montserrat', sans-serif; font-weight: 300;font-weight: 300;color:#333;background:#fff;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
ul{list-style:none}

/* ===== FARBEN & VARIABLEN ===== */
:root{
  --gruen:#5a7a4a;
  --gruen-dunkel:#3d5c30;
  --gruen-hell:#8aab72;
  --grau-hell:#f5f3ee;
  --grau-text:#888;
  --weiss:#fff;
  --dunkel:#1a1a1a;
  --font-serif:'Montserrat', sans-serif;
  --font-sans:'Montserrat', sans-serif;
  --max:1200px;
  --nav-h:80px;
  --schatten:0 8px 30px rgba(0,0,0,0.12);
}

/* ===== NAVIGATION ===== */
#header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 2.5rem;height:var(--nav-h);
  background:rgba(255,255,255,0.95);
  backdrop-filter:blur(8px);
  box-shadow:0 2px 20px rgba(0,0,0,0.08);
  transition:all 0.3s;
   z-index: 9999;
}
#header.transparent{
  background:rgba(0,0,0,0.25);
  box-shadow:none;
}
.nav-logo{display:flex;align-items:center;gap:0.5rem;}
.nav-logo img{height:55px;width:auto}
.nav-links{display:flex;gap:2rem;align-items:center}
.nav-links > li{position:relative}
.nav-links > li > a{
  font-size:0.88rem;font-weight:700;letter-spacing:0.08em;
  text-transform:uppercase;color:#333;
  padding:0.4rem 0;border-bottom:2px solid transparent;
  transition:all 0.2s;
}
#header.transparent .nav-links > li > a{color:#fff}
.nav-links > li > a:hover{border-bottom-color:var(--gruen);color:var(--gruen)}
#header.transparent .nav-links > li > a:hover{color:var(--gruen-hell);border-bottom-color:var(--gruen-hell)}

/* Dropdown – #header-Prefix gibt ID-Spezifität (1,1,2) damit keine
   breiteren ul-Regeln (z.B. .bed-acc-body ul, .bed-block ul) das
   Padding überschreiben können. */
#header .nav-links li ul{
  display:none;position:absolute;top:100%;left:0;
  background:#fff;min-width:240px;
  padding:0.6rem 0;padding-left:0;list-style:none;
  box-shadow:var(--schatten);border-top:3px solid var(--gruen);
  margin-top:0;
}
/* Unsichtbare Brücke (20px) zwischen Nav-Link und Dropdown –
   verhindert das Verschwinden beim Runterziehen mit der Maus. */
#header .nav-links li ul::before {
  content:'';
  position:absolute;
  top:-20px;left:0;right:0;
  height:20px;
  background:transparent;
}
#header .nav-links li:hover > ul{display:block}
#header .nav-links li ul li a{
  display:block;padding:0.6rem 1.4rem;font-size:0.85rem;
  color:#555;transition:all 0.15s;
}
#header .nav-links li ul li a:hover{background:var(--grau-hell);color:var(--gruen);padding-left:1.8rem}

/* Sprache */
.nav-lang{display:flex;gap:0.4rem;align-items:center}
.nav-lang a{
  font-size:0.78rem;font-weight:700;color:#666;
  padding:3px 8px;border:1px solid #ccc;border-radius:3px;
  transition:all 0.2s;letter-spacing:0.05em;
}
#header.transparent .nav-lang a{color:#ddd;border-color:rgba(255,255,255,0.4)}
.nav-lang a.aktiv,.nav-lang a:hover{background:var(--gruen);color:#fff;border-color:var(--gruen)}

/* Anfragen Button */
.nav-anfrage{
  background:var(--gruen);color:#fff !important;
  padding:0.5rem 1.3rem;border-radius:4px;font-weight:700;
  font-size:0.82rem;letter-spacing:0.08em;text-transform:uppercase;
  margin-left:1rem;transition:background 0.2s;border-bottom:none !important;
}
.nav-anfrage:hover{background:var(--gruen-dunkel) !important}

/* Hamburger */
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:5px}
.hamburger span{display:block;width:25px;height:2px;background:#333;transition:all 0.3s}
#header.transparent .hamburger span{background:#fff}

/* ===== HERO SLIDER ===== */
.hero{position:relative;width:100%;height:100vh;overflow:hidden;background:#222}
.hero-slides{display:flex;height:100%;transition:transform 0.9s cubic-bezier(0.4,0,0.2,1)}
.hero-slide{
  min-width:100%;height:100%;
  background-size:cover;background-position:center;
  position:relative;
}
.hero-slide::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(0,0,0,0.15) 0%,rgba(0,0,0,0.05) 50%,rgba(0,0,0,0.3) 100%);
}
/* Hero Slide Bilder */
.hero-slide:nth-child(1){background-image:url('/img/wellnes/DSC01364-HDR.jpg')}
.hero-slide:nth-child(2){background-image:url('/img/startseite/eindruecke_vom_hof/startseite_restaurant_karousell_1.jpg')}
.hero-slide:nth-child(3){background-image:url('/img/ferienwohnung/wellness/Ruhe_und_Natur.jpg')}
.hero-slide:nth-child(4){background-image:url('/img/startseite/DJI_20260402102257_0138_D.jpg')}
.hero-slide:nth-child(5){background-image:url('/img/startseite/DSC01481-HDR.jpg')}
.hero-slide:nth-child(6){background-image:url('/img/startseite/DSC01740-HDR.jpg')}

/* Hero Navigation */
.hero-prev,.hero-next{
  position:absolute;top:50%;transform:translateY(-50%);
  z-index:10;background:rgba(255,255,255,0.15);
  border:none;color:#fff;font-size:2rem;line-height:1;
  width:50px;height:50px;display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:background 0.2s;backdrop-filter:blur(4px);
}
.hero-prev:hover,.hero-next:hover{background:rgba(255,255,255,0.35)}
.hero-prev{left:2rem}
.hero-next{right:2rem}
.hero-dots{
  position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);
  display:flex;gap:0.7rem;z-index:10;
}
.hero-dot{
  width:8px;height:8px;border-radius:50%;
  background:rgba(255,255,255,0.5);cursor:pointer;
  transition:all 0.25s;border:none;
}
.hero-dot.aktiv{background:#fff;transform:scale(1.3)}

/* Hero CTAs */
.hero-cta{
  position:absolute;bottom:4rem;left:50%;transform:translateX(-50%);
  display:flex;gap:1.5rem;z-index:10;align-items:center;
}
.hero-cta img{height:65px;filter:drop-shadow(0 3px 10px rgba(0,0,0,0.4));transition:transform 0.2s}
.hero-cta a:hover img{transform:scale(1.05)}

/* ===== INTRO TEXT ===== */
.intro{text-align:center;padding:5rem 2rem 2.5rem;background:#fff}
.intro h2{
  font-family:var(--font-serif);font-size:2.4rem;
  color:#666;font-weight:400;font-style:italic;margin-bottom:0.3rem;
}
.intro h3{
  font-family:var(--font-serif);font-size:1.6rem;
  color:#888;font-weight:400;margin-bottom:2rem;
}
.strich-img{display:block;max-width:400px;margin:0 auto 3rem}

/* ===== 3D KARTEN SLIDER ===== */
.cards-section{
  padding:0 0 5rem;
  background:#fff;
  overflow:hidden;
  position:relative;
}
.cards-viewport{
  position:relative;
  width:100%;
  height:520px;
  perspective:1200px;
  display:flex;align-items:center;justify-content:center;
}
.cards-track{
  position:relative;
  width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
}
.card-item{
  position:absolute;
  width:380px;height:440px;
  cursor:pointer;
  transition:all 0.6s cubic-bezier(0.4,0,0.2,1);
  border-radius:4px;
  overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,0.25);
}
.card-item img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 0.4s;
}
.card-item:hover img{transform:scale(1.04)}
.card-label{
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(transparent,rgba(0,0,0,0.6));
  color:#fff;padding:3rem 1.5rem 1.5rem;
  display:flex;align-items:center;justify-content:space-between;
}
.card-label h4{
  font-family:var(--font-serif);font-size:1.3rem;font-weight:400;
}
.card-label .arrow{
  width:30px;height:30px;border:1px solid rgba(255,255,255,0.7);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:1rem;flex-shrink:0;
}

/* Karten Positionen */
.card-item.pos-center{
  transform:translateX(0) translateZ(0) scale(1);
  z-index:10;
}
.card-item.pos-left{
  transform:translateX(-320px) translateZ(-150px) rotateY(15deg) scale(0.85);
  z-index:5;opacity:0.7;
}
.card-item.pos-right{
  transform:translateX(320px) translateZ(-150px) rotateY(-15deg) scale(0.85);
  z-index:5;opacity:0.7;
}
.card-item.pos-far-left{
  transform:translateX(-550px) translateZ(-300px) rotateY(25deg) scale(0.65);
  z-index:1;opacity:0.4;
}
.card-item.pos-far-right{
  transform:translateX(550px) translateZ(-300px) rotateY(-25deg) scale(0.65);
  z-index:1;opacity:0.4;
}
.card-item.pos-hidden{opacity:0;pointer-events:none;z-index:0}

/* Karten Nav Pfeile */
.cards-prev,.cards-next{
  position:absolute;top:50%;transform:translateY(-50%);
  z-index:20;background:rgba(255,255,255,0.9);border:none;
  width:44px;height:44px;border-radius:50%;
  font-size:1.2rem;cursor:pointer;
  box-shadow:0 4px 15px rgba(0,0,0,0.15);
  display:flex;align-items:center;justify-content:center;
  transition:all 0.2s;color:#555;
}
.cards-prev:hover,.cards-next:hover{background:#fff;box-shadow:0 6px 20px rgba(0,0,0,0.2)}
.cards-prev{left:2rem}
.cards-next{right:2rem}

/* ===== HAUPTTEXT ===== */

.about-image img {
  width: 50%;
  margin-left: 25%;
  max-height: 520px;
  object-fit: cover;
  border-radius: 1.5rem;
  box-shadow: 0 14px 36px rgba(0, 0, 0, .14);
  margin-bottom: 2rem;
}

@media (max-width: 768px) {
  .about-image img {
  width: 100%;
  margin-left: 0%;
  max-height: 520px;
  object-fit: cover;
  border-radius: 1.5rem;
  box-shadow: 0 14px 36px rgba(0, 0, 0, .14);
  margin-bottom: 2rem;
}
}

.haupttext{
  max-width:100%;margin:0 auto;
  padding:4rem 2rem 3rem;text-align:center;
  background-color: var(--grau-hell);
}
.haupttext h1{
  font-family:var(--font-serif);font-size:2rem;
  color:var(--gruen-dunkel);margin-bottom:0.5rem;
}
.haupttext h2{
  font-family:var(--font-serif);font-size:1.4rem;font-weight:400;
  color:#888;margin-bottom:2rem;
}
.haupttext p{
  font-size:1rem;line-height:1.9;color:#555;margin-bottom:1rem;
}
.haupttext strong{color:#333}
.haupttext a{color:var(--gruen);font-weight:700}

/* ===== BEWERTUNGEN SECTION ===== */
.bewertungen-section{
  padding:5rem 2rem;
  background:#fff;
}
.bewertungen-inner{
  max-width:var(--max);margin:0 auto;
  display:grid;grid-template-columns:280px 1fr;gap:4rem;align-items:center;
}
.bew-titel{
  font-family:var(--font-serif);font-size:2.2rem;
  color:#999;font-weight:400;font-style:italic;
  grid-column:1/-1;margin-bottom:1rem;
}

/* Badges */
.bew-badges{display:flex;flex-direction:column;gap:1.2rem;align-items:flex-start}
.badge-booking{
  background:#003580;color:#fff;
  border-radius:12px;padding:1.2rem 1.5rem;
  text-align:center;min-width:180px;
}
.badge-booking .score{font-size:3.5rem;font-weight:700;line-height:1}
.badge-booking .plattform{font-size:0.85rem;opacity:0.85;margin-top:0.2rem}
.badge-google{
  background:#fff;border:1px solid #e0e0e0;
  border-radius:12px;padding:1rem 1.5rem;min-width:180px;
  box-shadow:0 2px 10px rgba(0,0,0,0.08);text-align:center;
}
.badge-google .g-logo{
  font-size:1.4rem;font-weight:700;letter-spacing:-0.05em;margin-bottom:0.3rem;
}
.badge-google .g-logo span:nth-child(1){color:#4285F4}
.badge-google .g-logo span:nth-child(2){color:#EA4335}
.badge-google .g-logo span:nth-child(3){color:#FBBC04}
.badge-google .g-logo span:nth-child(4){color:#4285F4}
.badge-google .g-logo span:nth-child(5){color:#34A853}
.badge-google .g-logo span:nth-child(6){color:#EA4335}
.badge-google .g-subtitle{font-size:0.78rem;color:#666}
.badge-google .g-stars{color:#FBBC04;font-size:1rem;margin-top:0.2rem}
.badge-google .g-score{font-weight:700;font-size:0.9rem;color:#333}

/* Review Slider */
.bew-slider{position:relative;overflow:hidden;min-height:200px}
.bew-slides{display:flex;transition:transform 0.5s ease}
.bew-slide{min-width:100%;padding:0 0.5rem}
.bew-slide h4{
  font-family:var(--font-serif);font-size:1.3rem;color:#444;
  margin-bottom:0.3rem;
}
.bew-slide .autor{color:var(--gruen);font-size:0.88rem;font-weight:700;margin-bottom:1rem}
.bew-slide p{font-size:0.97rem;line-height:1.8;color:#555}
.bew-btn{
  display:inline-block;margin-top:1.5rem;
  background:#555;color:#fff;padding:0.65rem 1.5rem;
  font-size:0.82rem;font-weight:700;letter-spacing:0.05em;
  text-transform:uppercase;display:flex;align-items:center;gap:0.5rem;
  width:fit-content;
}
.bew-btn span{font-size:0.7rem}

/* Review Nav Pfeile */
.bew-nav{
  position:absolute;top:50%;transform:translateY(-50%);
  display:flex;gap:0;
}
.bew-nav{position:static;display:flex;gap:0.5rem;margin-top:1.5rem}
.bew-arrow{
  width:38px;height:38px;border:1px solid #ccc;background:#fff;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  font-size:1rem;color:#555;transition:all 0.2s;
}
.bew-arrow:hover{background:var(--gruen);color:#fff;border-color:var(--gruen)}

/* ===== VIDEO ===== */
.video-section{background:#000;line-height:0}
.video-section a{display:block;position:relative;overflow:hidden;max-height:550px}
.video-section video{width:100%;max-height:550px;object-fit:cover;opacity:0.9}
.video-overlay{
  position:absolute;inset:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:rgba(0,0,0,0.25);color:#fff;text-align:center;
}
.video-overlay h2{
  font-family:var(--font-serif);font-size:2.2rem;font-weight:400;
  text-shadow:0 2px 10px rgba(0,0,0,0.5);margin-bottom:1rem;
}
.video-overlay .strich-weiss{
  display:block;width:250px;height:2px;background:#fff;
  margin:0 auto 1.5rem;
}
.video-overlay a.anfrage-btn{
  display:inline-block;background:transparent;border:2px solid #fff;
  color:#fff;padding:0.7rem 2rem;font-weight:700;font-size:0.88rem;
  letter-spacing:0.1em;text-transform:uppercase;transition:all 0.2s;
}
.video-overlay a.anfrage-btn:hover{background:#fff;color:#333}

/* ===== FEWOS SECTION ===== */
.fewos-section{padding:5rem 2rem;background:#fff;}
.fewos-inner{max-width:var(--max);margin:0 auto}
.fewos-header{text-align:center;margin-bottom:3rem}
.fewos-header h2{font-family:var(--font-serif);font-size:2rem;color:var(--gruen-dunkel)}
.fewos-header h3{font-family:var(--font-serif);font-size:1.4rem;font-weight:400;color:#888}
.fewos-header .strich-img{margin-bottom:1.5rem}
.fewos-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.fewos-text p{font-size:0.97rem;line-height:1.85;color:#555;margin-bottom:1rem; margin-top: 4rem;}
.fewos-text strong{color:#333}
.fewos-text a.txt-link{color:var(--gruen);font-weight:700}
.fewos-text a.btn-gruen{
  display:inline-block;background:var(--gruen);color:#fff;
  padding:0.75rem 1.8rem;font-weight:700;font-size:0.88rem;
  letter-spacing:0.08em;text-transform:uppercase;margin-top:1rem;
  transition:background 0.2s;
}
.fewos-text a.btn-gruen:hover{background:var(--gruen-dunkel)}
.fewos-carousel-container{
  position:relative;
  width:100%;
  aspect-ratio:1/1;
  overflow:hidden;
  border-radius:8px;
  box-shadow:0 8px 16px rgba(0,0,0,0.1);
}

.fewos-slides{
  display:flex;
  width:100%;
  height:100%;
  transition:transform 0.6s ease;
}

.fewos-slide{
  width:100%;
  height:100%;
  object-fit:cover;
  flex-shrink:0;
}

.fewos-prev, .fewos-next{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  background:rgba(255,255,255,0.7);
  border:none;
  color:#333;
  font-size:2rem;
  width:50px;
  height:50px;
  cursor:pointer;
  z-index:10;
  transition:background 0.2s;
  border-radius:4px;
}

.fewos-prev:hover, .fewos-next:hover{
  background:rgba(255,255,255,0.9);
}

.fewos-prev{left:15px}
.fewos-next{right:15px}

.fewos-dots{
  position:absolute;
  bottom:15px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  gap:8px;
  z-index:10;
}

.fewos-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:rgba(255,255,255,0.5);
  border:none;
  cursor:pointer;
  transition:background 0.2s;
}

.fewos-dot.aktiv{
  background:rgba(255,255,255,0.95);
}

.fewos-dot:hover{
  background:rgba(255,255,255,0.8);
}

/* ===== SAISON SECTION ===== */
/* Der 3D Card Slider dient auch als Saison-Sektion – wird wiederverwendet */
.saison-cards-section{
  padding:0 0 5rem;background:#fff;overflow:hidden;
}
.saison-cards-section .cards-viewport{height:520px}

/* ===== REGIONAL TEXT ===== */
.regional-text{
  padding:5rem 2rem;
  background:var(--grau-hell);
  text-align:center;
}
.regional-inner{max-width:860px;margin:0 auto}
.regional-inner h2{font-family:var(--font-serif);font-size:2rem;color:var(--gruen-dunkel);margin-bottom:0.5rem}
.regional-inner h3{font-family:var(--font-serif);font-size:1.4rem;font-weight:400;color:#888;margin-bottom:2rem}
.regional-inner p{font-size:0.97rem;line-height:1.9;color:#555;margin-bottom:1rem}
.regional-inner strong{color:#333}
.regional-inner a{color:var(--gruen);font-weight:700}

/* ===== ABSCHLUSS CTA ===== */
.abschluss{padding:5rem 2rem;text-align:center;background:#fff}
.abschluss-inner{max-width:800px;margin:0 auto}
.abschluss h2{font-family:var(--font-serif);font-size:2.2rem;color:var(--gruen-dunkel);margin-bottom:0.3rem}
.abschluss h3{font-family:var(--font-serif);font-size:1.4rem;font-weight:400;color:#888;margin-bottom:2rem}
.abschluss p{font-size:0.97rem;line-height:1.9;color:#555;margin-bottom:1rem}
.abschluss strong{color:#333}
.abschluss a.btn-gruen{
  display:inline-block;background:var(--gruen);color:#fff;
  padding:0.85rem 2.2rem;font-weight:700;font-size:0.9rem;
  letter-spacing:0.08em;text-transform:uppercase;margin-top:1rem;
  transition:background 0.2s;
}
.abschluss a.btn-gruen:hover{background:var(--gruen-dunkel)}

/* ===== FOOTER ===== */
footer{background:#2c2c2c;color:#bbb;padding:4rem 2rem 2rem}
.footer-inner{
  max-width:var(--max);margin:0 auto;
  display:grid;grid-template-columns:1.5fr 1fr 1.2fr;gap:3rem;
  padding-bottom:3rem;border-bottom:1px solid #3e3e3e;
}
.footer-logo{margin-bottom:1.5rem}
.footer-logo img{height:60px;filter:brightness(0) invert(1)}
.footer-adresse p{font-size:0.88rem;line-height:1.9;color:#aaa}
.footer-adresse a{color:#aaa}
.footer-adresse a:hover{color:#fff}
.footer-nav h4{color:#fff;font-family:var(--font-serif);font-size:0.95rem;margin-bottom:1rem}
.footer-nav li{margin-bottom:0.35rem}
.footer-nav a{font-size:0.88rem;color:#aaa}
.footer-nav a:hover{color:#fff}
.footer-partner h4{color:#fff;font-family:var(--font-serif);font-size:0.95rem;margin-bottom:1rem}
.footer-partner-logos{display:flex;flex-direction:column;gap:1.2rem}
.footer-partner img{max-height:40px;}
.footer-partner p{font-size:0.82rem;color:#888;margin-top:0.5rem}
.footer-partner a{color:#888}
.footer-partner a:hover{color:#fff}
.footer-unten{
  max-width:var(--max);margin:1.5rem auto 0;
  display:flex;justify-content:space-between;align-items:center;
  font-size:0.78rem;color:#555;flex-wrap:wrap;gap:0.5rem;
}

/* ===== MOBIL FOOTER LEISTE ===== */
.footer-mobil{
  display:none;position:fixed;bottom:0;left:0;right:0;
  background:rgba(30,60,20,0.97);z-index:900;
  display:none;justify-content:space-around;padding:0.7rem 0;
}
.footer-mobil a{
  color:#fff;font-size:0.73rem;text-align:center;
  display:flex;flex-direction:column;gap:3px;align-items:center;
}
.footer-mobil .icon{font-size:1.4rem}

/* ===== ANFRAGE MODAL ===== */
.modal-overlay{
  display:none;position:fixed;inset:0;
  background:rgba(0,0,0,0.65);z-index:2000;
  align-items:center;justify-content:center;
}
.modal-overlay.offen{display:flex}
.modal{
  background:#fff;padding:2.5rem;max-width:500px;width:92%;
  border-radius:4px;position:relative;max-height:90vh;overflow-y:auto;
}
.modal h3{font-family:var(--font-serif);font-size:1.6rem;color:var(--gruen-dunkel);margin-bottom:1.5rem}
.modal-close{
  position:absolute;top:1rem;right:1.2rem;font-size:1.8rem;
  cursor:pointer;color:#999;background:none;border:none;line-height:1;
}
.modal-close:hover{color:#333}
.modal label{display:block;font-size:0.82rem;color:#888;margin-bottom:0.3rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em}
.modal input,.modal textarea,.modal select{
  width:100%;border:1px solid #ddd;padding:0.65rem 0.9rem;
  font-family:var(--font-sans);font-size:0.95rem;border-radius:3px;
  background:#fff;transition:border-color 0.2s;margin-bottom:1rem;
}
.modal input:focus,.modal textarea:focus{outline:none;border-color:var(--gruen)}
.modal textarea{height:100px;resize:vertical}
.modal .row{display:grid;grid-template-columns:1fr 1fr;gap:0.8rem}
.modal .submit-btn{
  width:100%;background:var(--gruen);color:#fff;border:none;
  padding:0.85rem;font-size:0.92rem;font-weight:700;cursor:pointer;
  letter-spacing:0.06em;text-transform:uppercase;border-radius:3px;
  transition:background 0.2s;
}
.modal .submit-btn:hover{background:var(--gruen-dunkel)}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
  .cards-viewport{height:460px}
  .card-item{width:320px;height:380px}
  .card-item.pos-left{transform:translateX(-260px) translateZ(-120px) rotateY(15deg) scale(0.82)}
  .card-item.pos-right{transform:translateX(260px) translateZ(-120px) rotateY(-15deg) scale(0.82)}
}
@media(max-width:768px){
  :root{--nav-h:65px}
  .nav-links{display:none}
  .hamburger{display:flex}
  .bewertungen-inner{grid-template-columns:1fr}
  .fewos-layout{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr}
  .cards-viewport{height:400px}
  .card-item{width:260px;height:320px}
  .card-item.pos-left{transform:translateX(-200px) translateZ(-100px) rotateY(12deg) scale(0.8)}
  .card-item.pos-right{transform:translateX(200px) translateZ(-100px) rotateY(-12deg) scale(0.8)}
  .card-item.pos-far-left,.card-item.pos-far-right{opacity:0}
  .footer-mobil{display:flex}
  footer{padding-bottom:4.5rem}
  .hero-cta img{height:50px}
}
@media(max-width:480px){
  .hero-cta{flex-direction:column;gap:0.8rem;bottom:3rem}
  .fewos-grid{grid-template-columns:1fr 1fr}
  .cards-prev,.cards-next{display:none}
}

/* ===== SUBPAGE STYLES ===== */
/* SUBPAGE BANNER */
.sub-banner{width:100%;height:420px;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding-bottom:3.5rem;margin-top:var(--nav-h);position:relative}
.sub-banner::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.1),rgba(0,0,0,.55))}
.sub-banner-txt{position:relative;z-index:1;color:#fff;padding:0 3rem;max-width:var(--max);width:100%;margin:0 auto}
.sub-banner-txt h1{font-family:var(--font-serif);font-size:2.6rem;font-weight:400;text-shadow:0 2px 10px rgba(0,0,0,.4)}
.sub-banner-txt p{font-size:1.05rem;opacity:.88;margin-top:.3rem}

/* PAGE SECTIONS */
.page-section{padding:5rem 2rem}
.page-section.bg{background:var(--grau-hell)}
.section-inner{max-width:var(--max);margin:0 auto}
.section-center{text-align:center}
h1.page-h1{font-family:var(--font-serif);font-size:2rem;color:var(--gruen-dunkel);margin-bottom:.4rem}
h2.page-h2{font-family:var(--font-serif);font-size:1.35rem;font-weight:400;color:#888;margin-bottom:2rem}
h2.section-h2{font-family:var(--font-serif);font-size:1.8rem;color:var(--gruen-dunkel);margin-bottom:.4rem}
h3.section-h3{font-family:var(--font-serif);font-size:1.25rem;font-weight:400;color:#888;margin-bottom:1.5rem}
.strich{display:block;max-width:380px;margin:0 auto 2.5rem}
.txt p{font-size:.97rem;line-height:1.9;color:#555;margin-bottom:1rem}
.txt strong{color:#333}
.txt a{color:var(--gruen);font-weight:700}

/* FEWO GRID */
.fewo-intro-img{width:100%;max-height:500px;object-fit:cover;margin-bottom:3rem}
.fewo-block{padding:4rem 0;border-bottom:1px solid #eee}
.fewo-block:last-child{border-bottom:none}
.fewo-layout{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;max-width:var(--max);margin:0 auto;padding:0 2rem}
.fewo-layout.flip{direction:rtl}
.fewo-layout.flip>*{direction:ltr}
.fewo-gallery{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px}
.fewo-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;cursor:pointer;transition:opacity .2s}
.fewo-gallery img:hover{opacity:.85}
.fewo-info h2{font-family:var(--font-serif);font-size:1.8rem;color:var(--gruen-dunkel);margin-bottom:.3rem}
.fewo-info .preis{display:inline-block;background:var(--gruen);color:#fff;padding:.5rem 1.2rem;font-size:.88rem;font-weight:700;margin-bottom:1rem;letter-spacing:.04em}
.fewo-info .groesse{font-size:.88rem;color:#888;margin-bottom:1.2rem;font-style:italic}
.fewo-info h5{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#aaa;margin:.8rem 0 .3rem}
.fewo-info p{font-size:.93rem;line-height:1.75;color:#555;margin-bottom:.3rem}
.fewo-info strong{color:#333}
.grundriss{margin-top:1.2rem}
.grundriss a img{max-width:250px;border:1px solid #eee;padding:4px}
.btn-g{display:inline-block;background:var(--gruen);color:#fff !important;padding:.7rem 1.8rem;font-weight:700;font-size:.85rem;letter-spacing:.07em;text-transform:uppercase;transition:background .2s;margin-top:1rem}
.btn-g2{display:inline-block;background:var(--gruen);color:#fff !important;padding:.7rem 1.8rem;font-weight:700;font-size:.85rem;letter-spacing:.07em;text-transform:uppercase;transition:background .2s;margin-top:1rem}
.btn-g:hover{background:var(--gruen-dunkel)}

/* HOFLADELE / WASCHMÖGLICHKEITEN */
.info-block{max-width:800px;margin:0 auto;padding:3rem 2rem}
.info-block h2{font-family:var(--font-serif);font-size:1.5rem;color:var(--gruen-dunkel);margin-bottom:.5rem}
.info-block .strich{margin:0 0 1.5rem}
.info-block p{font-size:.97rem;line-height:1.85;color:#555}

/* PREISLISTE */
.preisliste-wrap{max-width:900px;margin:0 auto}
.preisliste-wrap h2{font-family:var(--font-serif);font-size:2rem;color:var(--gruen-dunkel);text-align:center;margin-bottom:.5rem}
.preisliste-wrap .txt{text-align:center;margin-bottom:2rem}
.preisliste-table{width:100%;border-collapse:collapse;margin:2rem 0}
.preisliste-table th{background:var(--gruen);color:#fff;padding:1rem;text-align:left;font-size:.9rem;font-weight:700}
.preisliste-table td{padding:.9rem 1rem;border-bottom:1px solid #eee;font-size:.93rem}
.preisliste-table tr:hover{background:#f9f9f9}

/* ===== BEDINGUNGEN ===== */
.bed-block{max-width:860px;margin:0 auto}
.bed-block h5{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:#aaa;margin:1.5rem 0 .4rem}
.bed-block p,.bed-block li{font-size:.93rem;line-height:1.85;color:#555}
.bed-block ul{list-style:disc;padding-left:1.5rem}

/* ===== WOCHENPLAN ===== */
.wochenplan{max-width:860px;margin:0 auto}
.tag{display:grid;grid-template-columns:110px 1fr;gap:1.5rem;padding:1.5rem 0;border-bottom:1px solid #eee;align-items:start}
.tag:last-child{border-bottom:none}
.tag-name{font-family:var(--font-serif);font-size:1.2rem;color:var(--gruen);font-weight:700}
.tag-name img{height:28px;margin-bottom:.4rem}
.tag-text p{font-size:.95rem;line-height:1.85;color:#555}
.tag-text strong{color:#333}

/* ===== GALERIE ===== */
.galerie-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;max-width:var(--max);margin:0 auto;padding:0 2rem 4rem}
.galerie-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;cursor:pointer;transition:opacity .2s,transform .3s}
.galerie-grid img:hover{opacity:.85;transform:scale(1.02)}

/* ===== LIGHTBOX ===== */
.lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.93);z-index:3000;align-items:center;justify-content:center}
.lightbox.offen{display:flex}
.lightbox img{max-width:90vw;max-height:88vh;object-fit:contain}
.lb-close{position:absolute;top:1rem;right:1.5rem;color:#fff;font-size:2.5rem;background:none;border:none;cursor:pointer}
.lb-prev,.lb-next{position:absolute;top:50%;transform:translateY(-50%);color:#fff;font-size:3rem;background:none;border:none;cursor:pointer}
.lb-prev{left:1rem}
.lb-next{right:1rem}

/* ===== BEWERTUNGEN SEITE ===== */
.bew-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;max-width:var(--max);margin:0 auto}
.bew-karte{background:#fff;padding:1.8rem;border-left:4px solid var(--gruen);box-shadow:var(--schatten)}
.bew-karte h4{font-family:var(--font-serif);font-size:1.05rem;color:var(--gruen-dunkel);margin-bottom:.2rem}
.bew-karte .autor{font-size:.8rem;color:var(--gruen);font-weight:700;margin-bottom:.8rem}
.bew-karte p{font-size:.92rem;line-height:1.75;color:#555}

/* ===== VIDEO ===== */
.video-wrap{position:relative;line-height:0}
.video-wrap video{width:100%;max-height:520px;object-fit:cover;display:block}
.video-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(0,0,0,.25);color:#fff;text-align:center}
.video-overlay h2{font-family:var(--font-serif);font-size:2rem;font-weight:400;text-shadow:0 2px 8px rgba(0,0,0,.5);margin-bottom:1rem}
.video-overlay .strich-w{display:block;width:220px;height:2px;background:#fff;margin:0 auto 1.2rem}
.video-overlay a{display:inline-block;border:2px solid #fff;color:#fff;padding:.6rem 1.8rem;font-weight:700;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;transition:all .2s}
.video-overlay a:hover{background:#fff;color:#333}

/* ===== FRÜHSTÜCKSKÖRBE ===== */
.korb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:var(--max);margin:0 auto}
.korb-karte{background:#fff;overflow:hidden;box-shadow:var(--schatten);border-radius:3px}
.korb-karte img{width:100%;height:200px;object-fit:cover}
.korb-karte-txt{padding:1.4rem}
.korb-karte-txt h4{font-family:var(--font-serif);font-size:1.05rem;color:var(--gruen-dunkel);margin-bottom:.5rem}
.korb-karte-txt p{font-size:.9rem;color:#666;line-height:1.65;margin:0}

/* ===== KONTAKT / ANFAHRT ===== */
.kontakt-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;max-width:var(--max);margin:0 auto;padding:4rem 2rem}
.kontakt-info p{font-size:.95rem;line-height:1.85;margin-bottom:.6rem;color:#555}
.kontakt-info strong{color:#333}
.kontakt-info a{color:var(--gruen);font-weight:700}
.kontakt-form{background:var(--grau-hell);padding:2rem}
.kontakt-form h3{font-family:var(--font-serif);font-size:1.4rem;color:var(--gruen-dunkel);margin-bottom:1.5rem}
.f-gruppe{margin-bottom:1rem}
.f-gruppe label{display:block;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#888;margin-bottom:.3rem}
.f-gruppe input,.f-gruppe textarea,.f-gruppe select{width:100%;border:1px solid #ddd;padding:.6rem .9rem;font-family:'Lato',sans-serif;font-size:.93rem;border-radius:3px;background:#fff;transition:border-color .2s}
.f-gruppe input:focus,.f-gruppe textarea:focus{outline:none;border-color:var(--gruen)}
.f-gruppe textarea{height:110px;resize:vertical}
.f-reihe{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.map-wrap{padding:0 2rem 4rem;max-width:var(--max);margin:0 auto}
.map-wrap h2{font-family:var(--font-serif);font-size:1.5rem;color:var(--gruen-dunkel);margin-bottom:1rem}
.map-wrap iframe{width:100%;height:420px;border:none;border-radius:4px}

/* ===== VERANSTALTUNGEN ===== */
.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:var(--max);margin:0 auto}
.event-karte{background:var(--grau-hell);border-radius:3px;overflow:hidden;box-shadow:var(--schatten)}
.event-karte img{width:100%;height:180px;object-fit:cover}
.event-datum{background:var(--gruen);color:#fff;text-align:center;padding:.45rem;font-weight:700;font-size:.88rem}
.event-txt{padding:1.2rem}
.event-txt h4{font-family:var(--font-serif);color:var(--gruen-dunkel);margin-bottom:.4rem}
.event-txt p{font-size:.88rem;color:#666;margin:0}

/* ===== WETTER ===== */
.wetter-box{max-width:700px;margin:2rem auto;background:var(--grau-hell);padding:2rem;border-radius:6px;box-shadow:var(--schatten);text-align:center}
.wetter-box p{font-size:.93rem;color:#777}
.wetter-box a{color:var(--gruen);font-weight:700}

/* ===== RECHTLICHES ===== */
.legal-wrap{max-width:820px;margin:0 auto;padding:4rem 2rem}
.legal-wrap h1{font-family:var(--font-serif);font-size:2rem;color:var(--gruen-dunkel);margin-bottom:2rem}
.legal-wrap h3{font-family:var(--font-serif);font-size:1.1rem;color:var(--gruen-dunkel);margin:2rem 0 .5rem}
.legal-wrap p,.legal-wrap li{font-size:.93rem;line-height:1.85;color:#555}
.legal-wrap ul{list-style:disc;padding-left:1.5rem}
.legal-wrap a{color:var(--gruen)}

/* ===== MOBIL-MENÜ ===== */
.mobil-menu{display:none;position:fixed;top:var(--nav-h);left:0;right:0;bottom:0;background:rgba(15,40,10,.98);z-index:999;flex-direction:column;padding:2rem;gap:.2rem;overflow-y:auto; z-index: 9999}
.mobil-menu.offen{display:flex}
.mobil-menu a{color:#fff;font-size:1.05rem;padding:.65rem 0;border-bottom:1px solid rgba(255,255,255,.1)}
.mobil-menu a.sub{font-size:.9rem;color:#bbb;padding:.45rem 0 .45rem 1.2rem}

/* ===== OVERLAP SECTION (Bild + weiße Karte) ===== */
.overlap-section{background:#fff;padding:0;overflow:visible}
.overlap-inner{position:relative;display:flex;align-items:stretch;max-width:1400px;margin:0 auto;min-height:500px}
.overlap-img-wrap{width:62%;flex-shrink:0;overflow:hidden;clip-path:polygon(0 0,92% 0,82% 100%,0 100%); margin-top: 3rem;}
.overlap-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;min-height:480px}
.overlap-card{position:absolute;right:0;top:50%;transform:translateY(-50%);width:48%;background:#fff;padding:3rem 3rem 2.5rem;box-shadow:0 10px 50px rgba(0,0,0,.10);z-index:5}
.overlap-card h2{font-family:var(--font-serif);font-size:2rem;font-weight:400;color:#555;margin-bottom:.3rem;line-height:1.2}
.overlap-card h3{font-family:var(--font-serif);font-size:1.2rem;font-weight:400;color:var(--gruen);margin-bottom:1.2rem;line-height:1.4}
.overlap-text p{font-size:.93rem;line-height:1.8;color:#666;margin-bottom:.8rem}
.overlap-text.collapsed p:first-child{display:-webkit-box;--webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.overlap-toggle{background:none;border:none;color:var(--gruen);font-size:.88rem;font-weight:700;cursor:pointer;padding:.4rem 0;display:flex;align-items:center;gap:.3rem;margin-top:.8rem;font-family:var(--font-serif);letter-spacing:.03em}
.overlap-toggle span{font-size:1.1rem;transition:transform .3s}
.overlap-toggle.open span{transform:rotate(90deg)}

/* ===== RESPONSIVE ERGÄNZUNGEN ===== */
@media(max-width:900px){
  .overlap-inner{flex-direction:column;min-height:auto}
  .overlap-img-wrap{width:100%;clip-path:none}
  .overlap-img-wrap img{min-height:280px}
  .overlap-card{position:static;transform:none;width:auto;margin:0 1.5rem;margin-top:-40px;padding:2rem}
  .bew-grid{grid-template-columns:1fr}
  .kontakt-grid{grid-template-columns:1fr}
  .event-grid{grid-template-columns:1fr}
  .korb-grid{grid-template-columns:1fr 1fr}
  .galerie-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .sub-banner{height:280px}
  .sub-banner-txt h1{font-size:1.7rem}
  .fewo-gallery{grid-template-columns:1fr 1fr}
  .galerie-grid{grid-template-columns:1fr 1fr}
  .korb-grid{grid-template-columns:1fr}
  .f-reihe{grid-template-columns:1fr}
  .footer-mobil{display:flex}
  footer{padding-bottom:4.5rem}
}

/* ===== FERIENWOHNUNG SLIDER + DUNKLES PANEL (Bild 1 Design) ===== */
/* ===== FERIENWOHNUNG SECTIONS ===== */
.fw-sections-wrap {
  background: #fff; /* weißer Hintergrund für den Bereich zwischen den Sektionen */
}

.fw-section {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.fw-section::before {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  right: 3rem;
  width: 50%;
  background: #7a6e62;
  z-index: 0;
}

.fw-section--flip::before {
  left: 3rem;
  right: auto;
}

.fw-section + .fw-section { margin-top: 0; padding-top: 0; }

.fw-separator {
  height: 3rem;
  background: #fff;
}

.fw-inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: stretch;
  width: 100%;
}

.fw-section--flip .fw-inner { flex-direction: row-reverse; }

/* SLIDER SEITE */
.fw-slider-wrap {
  position: relative;
  width: 55%;
  flex: 0 0 55%;
  flex-shrink: 0;
  background: #fff;
  padding: 1.6rem 0 1.6rem 2.5rem;
  z-index: 2;
}
.fw-section--flip .fw-slider-wrap {
  padding: 1.6rem 2.5rem 1.6rem 0;
}

.fw-slider {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 160px;
  margin-right: -2rem;
  background: #eee;
  box-shadow: 6px 8px 28px rgba(0,0,0,0.28);
  overflow: hidden;
}
.fw-section--flip .fw-slider {
  margin-right: 0;
  margin-left: -2rem;
  box-shadow: -6px 8px 28px rgba(0,0,0,0.28);
}

.fw-slides {
  display: flex;
  height: 100%;
  transition: transform 0.55s cubic-bezier(0.4,0,0.2,1);
  will-change: transform;
}
.fw-slide {
  min-width: 100%;
  height: 580px;
  overflow: hidden;
  flex-shrink: 0;
}
.fw-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.fw-prev, .fw-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(80,80,80,0.7);
  color: #fff;
  border: none;
  font-size: 1.2rem;
  line-height: 1;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 20;
  transition: background 0.2s;
}
.fw-prev:hover, .fw-next:hover { background: rgba(30,30,30,0.9); }
.fw-prev { left: 0; }
.fw-next { right: 0; }

.fw-dots {
  position: absolute;
  bottom: 0.5rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 4px;
  z-index: 5;
}
.fw-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: rgba(255,255,255,0.45);
  border: none;
  cursor: pointer;
  transition: all 0.2s;
  padding: 0;
}
.fw-dot.aktiv { background: #fff; transform: scale(1.2); }

.fw-preis-badge {
  position: absolute;
  top: 1rem;
  right: 0.5rem;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: #6a8f50;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 1.36rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  z-index: 10;
  box-shadow: 0 3px 10px rgba(0,0,0,0.25);
  font-family: 'Playfair Display', serif;
  margin-right: -1.5rem;
}
.fw-preis-badge span {
  font-size: 0.7rem;
  font-weight: 400;
  opacity: 0.88;
  font-family: 'Lato', sans-serif;
  margin-top: 2px;
}
.fw-section--flip .fw-preis-badge {
  right: auto;
  left: 0.5rem;
  margin-right: 0;
  margin-left: -1.5rem;
}

/* PANEL SEITE */
.fw-panel {
  flex: 1;
  min-width: 0;
  background: #7a6e62;
  padding: 1.6rem 2.5rem 1.6rem 3rem;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-self: auto;
  z-index: 1;
  margin-right: 3rem;
}
.fw-section--flip .fw-panel {
  padding: 1.6rem 3rem 1.6rem 2.5rem;
  margin-right: 0;
  margin-left: 3rem;
}

.fw-groesse {
  font-size: 1rem;
  color: rgba(255,255,255,0.65);
  margin-bottom: 0.3rem;
  letter-spacing: 0.04em;
}
.fw-titel {
  font-family: 'Playfair Display', serif;
  font-size: 3rem;
  font-weight: 400;
  color: #fff;
  margin-bottom: 1.3rem;
  line-height: 1.2;
}

.fw-accordion {
  border-top: 1px solid rgba(255,255,255,0.2);
}
.fw-accordion:last-of-type {
  border-bottom: 1px solid rgba(255,255,255,0.2);
  margin-bottom: 1.5rem;
}
.fw-acc-btn {
  width: 100%;
  background: none;
  border: none;
  color: rgba(255,255,255,0.8);
  font-size: 0.9rem;
  font-family: 'Lato', sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  padding: 0.65rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  text-align: left;
  transition: color 0.2s;
}
.fw-acc-btn:hover { color: #fff; }
.fw-acc-btn span {
  font-size: 1rem;
  color: rgba(255,255,255,0.55);
  flex-shrink: 0;
}
.fw-acc-body {
  display: none;
  padding: 0 0 0.8rem;
}
.fw-acc-body.offen { display: block; }
.fw-acc-body p {
  font-size: 0.9rem;
  line-height: 1.7;
  color: rgba(255,255,255,0.72);
  margin-bottom: 0.3rem;
}
.fw-acc-body strong { color: rgba(255,255,255,0.95); }
.fw-acc-body em {
  font-style: normal;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.62rem;
  letter-spacing: 0.09em;
  color: rgba(255,255,255,0.45);
  display: block;
  margin-top: 0.4rem;
}

.fw-anfrage-btn {
  display: inline-block;
  background: #6a8f50;
  color: #fff !important;
  padding: 0.52rem 1.3rem;
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  border-radius: 3px;
  transition: background 0.2s;
  align-self: flex-start;
}
.fw-anfrage-btn:hover { background: #4d6e38; }

@media (max-width: 900px) {
  .fw-section::before { display: none; }
  .fw-inner,
  .fw-section--flip .fw-inner { flex-direction: column !important; }
  .fw-slider-wrap,
  .fw-section--flip .fw-slider-wrap {
    width: 100% !important;
    flex: none !important;
    padding: 0 !important;
    background: #fff;
  }
  .fw-slider,
  .fw-section--flip .fw-slider {
    /* margin auf 0 damit der Slider nicht breiter als der Container ist */
    margin: 0 !important;
    width: 100% !important;
    overflow: hidden !important;
    box-shadow: 0 6px 20px rgba(0,0,0,0.25);
  }
  .fw-slides {
    height: auto !important;
  }
  /* Jede Slide nimmt genau 100% des Slider-Containers = ein Bild pro Slide */
  .fw-slide {
    min-width: 100% !important;
    width: 100% !important;
    height: 330px !important;
    flex-shrink: 0 !important;
    overflow: hidden !important;
  }
  .fw-slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    padding-left: 10px;
    padding-right: 10px;
  }
  .fw-panel,
  .fw-section--flip .fw-panel {
    padding: 1.5rem 1.2rem !important;
    margin: 0 !important;
  }
  .fw-preis-badge,
  .fw-section--flip .fw-preis-badge {
    top: 0.4rem; right: 0.4rem; left: auto; margin: 0;
    width: 120px; height: 120px; font-size: 1.6rem;
  }
  .fw-titel { font-size: 1.3rem; }
  .fw-separator { height: 2rem; }
}

/* ===== BEDINGUNGEN 2-SPALTEN ACCORDION ===== */
.bed-section {
  padding: 5rem 2rem;
  background: #fff;
}
.bed-section-inner {
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
}
.bed-h1 {
  font-family: 'Playfair Display', serif;
  font-size: 2rem;
  font-weight: 400;
  color: #555;
  margin-bottom: 0.3rem;
}
.bed-h2 {
  font-family: 'Playfair Display', serif;
  font-size: 1.4rem;
  font-weight: 400;
  color: #6a8f50;
  margin-bottom: 1.5rem;
}
.bed-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 4rem;
  margin-top: 3rem;
  text-align: left;
}
.bed-acc {
  border-bottom: 1px dotted #ccc;
}
.bed-col .bed-acc:first-child {
  border-top: 1px dotted #ccc;
}
.bed-acc-btn {
  width: 100%;
  background: none;
  border: none;
  padding: 1rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  font-family: 'Lato', sans-serif;
  font-size: 0.95rem;
  font-weight: 400;
  color: #7a9b6a;
  text-align: left;
  transition: color 0.2s;
}
.bed-acc-btn:hover { color: #4d7a3a; }
.bed-acc-btn span {
  color: #6a8f50;
  font-size: 1.2rem;
  font-weight: 400;
  flex-shrink: 0;
  margin-left: 1rem;
  line-height: 1;
}
.bed-acc-body {
  display: none;
  padding: 0 0 1rem;
}
.bed-acc-body.offen { display: block; }
.bed-acc-body p {
  font-size: 0.88rem;
  line-height: 1.75;
  color: #666;
  margin-bottom: 0.5rem;
}
.bed-acc-body ul {
  list-style: disc;
  padding-left: 1.2rem;
}
.bed-acc-body ul li {
  font-size: 0.88rem;
  line-height: 1.75;
  color: #666;
  margin-bottom: 0.3rem;
}
.bed-acc-body strong { color: #444; }
.bed-acc-body a { color: #6a8f50; }
@media (max-width: 700px) {
  .bed-grid { grid-template-columns: 1fr; gap: 0; }
  .bed-col:last-child .bed-acc:first-child { border-top: none; }
}

/* ===== HERO LOGO ZENTRIERT ===== */
.hero-logo-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  pointer-events: none;
}
.hero-logo-center img {
  height: 500px;
  width: auto;
  filter: drop-shadow(0 4px 20px rgba(0,0,0,0.3));
}

/* ===== ANFRAGEN BUTTON FIXED RECHTS UNTEN ===== */
.hero-cta-fixed {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 800;
}
.hero-cta-fixed img {
  height: 90px;
  width: auto;
  filter: drop-shadow(0 4px 15px rgba(0,0,0,0.35));
  transition: transform 0.2s;
}
.hero-cta-fixed a:hover img {
  transform: scale(1.06);
}

@media (max-width: 768px) {
  .hero-logo-center img { height: 140px; }
  .hero-cta-fixed { bottom: 5rem; right: 1rem; }
  .hero-cta-fixed img { height: 70px; }
}

.hero-logo-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 50;
  pointer-events: none;
}
.hero-logo-center img {
  height: 350px;
  width: 350px;
  filter: drop-shadow(0 2px 12px rgba(0,0,0,0.35));
}
.hero-buchen {
  position: fixed;
  bottom:8rem;
  right: 2rem;
  z-index: 800;
  display: block;
  transition: transform 0.2s;
}
.hero-buchen img {
  height: 80px;
  filter: drop-shadow(0 3px 10px rgba(0,0,0,0.4));
  transition: transform 0.2s;
}
.hero-buchen a:hover img { transform: scale(1.05); }
.anfrage-fix {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 800;
  display: block;
  transition: transform 0.2s;
}
.anfrage-fix img {
  height: 80px;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,0.35));
}
.anfrage-fix:hover { transform: scale(1.05); }
@media (max-width: 768px) {
  .hero-logo-center img { height: 200px; }
  .anfrage-fix { bottom: 5rem; right: 1rem; }
  .anfrage-fix img { height: 65px; }
}

.success-popup{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.45);
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  visibility:hidden;
  transition:0.25s ease;
  z-index:9999;
}

.success-popup.active{
  opacity:1;
  visibility:visible;
}

.success-popup-box{
  background:#fff;
  padding:28px 24px;
  border-radius:16px;
  box-shadow:0 12px 40px rgba(0,0,0,0.18);
  text-align:center;
  min-width:280px;
  max-width:90%;
}

.success-popup-box p{
  font-size:18px;
  margin-bottom:18px;
  color:#333;
}

.success-popup-box button{
  border:none;
  background:#5a7a4a;
  color:#fff;
  padding:10px 20px;
  border-radius:10px;
  cursor:pointer;
  font:inherit;
}

.success-popup-box button:hover{
  background:#3d5c30;
}

/* Desktop (Standard) */
.logo-mobile {
  display: none;
}

.logo-icon,
.logo-text {
  height: 45px;
  
}

/* Mobile */
@media (max-width: 768px) {
  .logo-icon,
  .logo-text {
    display: none;
  }

  .logo-mobile {
    display: block;
    height: 45px;
  }

 .video-overlay h2{
  font-family:var(--font-serif);font-size:1.2rem;font-weight:400;
  text-shadow:0 2px 10px rgba(0,0,0,0.5);margin-bottom:1rem;
} 
}

/* Pizza Grid */
.pizza-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-bottom: 1rem;
}
.pizza-card {
  background: #fff;
  border-radius: 8px;
  padding: 1.6rem 1.8rem;
  box-shadow: 0 3px 18px rgba(0,0,0,.07);
  border-left: 4px solid var(--gruen, #5a7a4a);
  transition: transform 0.2s, box-shadow 0.2s;
}
.pizza-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 28px rgba(0,0,0,.12);
}
.pizza-card h3 {
  font-family: 'Playfair Display', serif;
  font-size: 1.1rem;
  font-weight: 700;
  color: #333;
  margin-bottom: .5rem;
}
.pizza-card p {
  font-size: .87rem;
  line-height: 1.7;
  color: #777;
  margin: 0;
}
.pizza-card .pizza-price {
  display: inline-block;
  margin-top: .8rem;
  font-size: .82rem;
  font-weight: 700;
  color: var(--gruen, #5a7a4a);
  letter-spacing: .04em;
}

/* Spezial-Karten: andere Akzentfarbe */
.pizza-card.spezial {
  border-left-color: #7a6e62;
}
.pizza-card.spezial h3 { color: #3d3530; }

/* Kategorie-Überschrift */
.pizza-kategorie {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  margin: 3rem 0 1.5rem;
}
.pizza-kategorie h2 {
  font-family: 'Playfair Display', serif;
  font-size: 1.6rem;
  font-weight: 400;
  color: #444;
  white-space: nowrap;
  margin: 0;
}
.pizza-kategorie::before,
.pizza-kategorie::after {
  content: '';
  flex: 1;
  height: 1px;
  background: #e0e0e0;
}
.pizza-kategorie:first-of-type { margin-top: 0; }

@media(max-width: 900px) {
  .pizza-grid { grid-template-columns: repeat(2, 1fr); }
}
@media(max-width: 580px) {
  .pizza-grid { grid-template-columns: 1fr; }
  .pizza-card { border-left-width: 3px; }
}