:root{
    --moss-dark:#1f3320;
    --moss:#3f5b37;
    --moss-soft:#8fa77e;
    --cream:#fbf6ec;
    --cream-deep:#f2e9d6;
    --orange:#d9662f;
    --orange-deep:#b34f22;
    --gold:#dba847;
    --ink:#23231c;
    --ink-soft:#5c5a4a;
    --line:rgba(35,35,28,.13);
    --radius:20px;
    --radius-sm:12px;
    --shadow:0 16px 40px -20px rgba(31,51,32,.28);
    --shadow-lg:0 24px 60px -24px rgba(31,51,32,.35);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0; background:var(--cream); color:var(--ink); font-family:'Karla',sans-serif; font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden;}
  h1,h2,h3,h4{font-family:'Fraunces',serif; font-weight:600; line-height:1.12; margin:0 0 .5em; color:var(--moss-dark);}
  h2{font-size:clamp(1.9rem,3.4vw,2.7rem); font-weight:550;}
  h3{font-size:1.3rem; font-weight:600;}
  p{margin:0 0 1em; max-width:62ch;}
  a{color:inherit;}
  img,svg{display:block; max-width:100%;}
  button{font-family:inherit;}

  .wrap{max-width:1220px; margin:0 auto; padding:0 32px;}
  section{padding:82px 0;}
  @media (max-width:720px){ section{padding:52px 0;} .wrap{padding:0 20px;} }

  .trail{width:100%; height:1px; background:var(--line);}

  .eyebrow{
    display:flex; align-items:center; gap:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase;
    color:var(--orange); font-size:.78rem; margin-bottom:14px;
  }
  .eyebrow::before{content:""; width:22px; height:2px; background:var(--orange); display:inline-block; flex-shrink:0;}
  .section-head{max-width:640px; margin-bottom:52px;}
  .section-head.center{margin-left:auto; margin-right:auto; text-align:center;}
  .section-head.center .eyebrow{justify-content:center;}

  /* ---------- SCROLL-REVEAL ---------- */
  .reveal{opacity:0; transform:translateY(34px); transition:opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1);}
  .reveal.in{opacity:1; transform:none;}
  .reveal-group > *{opacity:0; transform:translateY(28px); transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1);}
  .reveal-group.in > *{opacity:1; transform:none;}
  .reveal-group.in > *:nth-child(1){transition-delay:.05s;}
  .reveal-group.in > *:nth-child(2){transition-delay:.14s;}
  .reveal-group.in > *:nth-child(3){transition-delay:.23s;}
  .reveal-group.in > *:nth-child(4){transition-delay:.32s;}
  .reveal-group.in > *:nth-child(5){transition-delay:.41s;}
  .reveal-group.in > *:nth-child(6){transition-delay:.5s;}
  @media (prefers-reduced-motion: reduce){
    .reveal, .reveal-group > *{opacity:1; transform:none; transition:none;}
  }

  /* ---------- HEADER ---------- */
  header{
    position:sticky; top:0; z-index:50; background:rgba(251,246,236,.92); backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line); transition:box-shadow .3s ease, padding .3s ease;
  }
  header.scrolled{box-shadow:0 6px 24px -18px rgba(31,51,32,.35);}
  .nav{display:flex; align-items:center; justify-content:space-between; padding:16px 32px; max-width:1220px; margin:0 auto; gap:16px;}
  .brand{display:flex; align-items:center; gap:12px; font-family:'Fraunces',serif; font-size:1.22rem; font-weight:600; color:var(--moss-dark); text-decoration:none;}
  .brand img{width:46px; height:46px; border-radius:50%; object-fit:cover; transition:transform .3s ease;}
  .brand:hover img{transform:rotate(-8deg) scale(1.05);}
  .nav-links{display:flex; gap:30px; list-style:none; margin:0; padding:0;}
  .nav-links a{text-decoration:none; color:var(--ink); font-weight:700; font-size:.9rem; position:relative; padding:4px 0;}
  .nav-links a::after{content:""; position:absolute; left:0; bottom:-2px; width:0; height:2px; background:var(--orange); transition:width .25s ease;}
  .nav-links a:hover::after{width:100%;}
  .nav-right{display:flex; align-items:center; gap:14px;}
  .lang-switch{display:flex; gap:2px; background:var(--cream-deep); border-radius:999px; padding:3px; flex-shrink:0;}
  .lang-switch button{border:none; background:none; padding:7px 13px; border-radius:999px; font-size:.78rem; font-weight:700; cursor:pointer; color:var(--moss-dark); transition:background .2s ease, color .2s ease;}
  .lang-switch button.active{background:var(--orange); color:#fff;}
  .nav-cta{background:var(--orange); color:#fff; padding:11px 22px; border-radius:999px; text-decoration:none; font-weight:700; font-size:.85rem; white-space:nowrap; transition:background .2s ease, transform .2s ease;}
  .nav-cta:hover{background:var(--orange-deep); transform:translateY(-1px);}
  .burger{display:none; background:none; border:none; cursor:pointer; padding:6px;}
  .burger span{display:block; width:24px; height:2px; background:var(--moss-dark); margin:5px 0; transition:.25s;}
  @media (max-width:900px){
    .nav-links{
      position:fixed; top:78px; left:0; right:0; background:var(--cream);
      flex-direction:column; gap:0; border-bottom:1px solid var(--line);
      max-height:0; overflow:hidden; transition:max-height .3s ease;
    }
    .nav-links.open{max-height:400px;}
    .nav-links a{display:block; padding:16px 32px; border-top:1px solid var(--line);}
    .nav-cta{display:none;}
    .burger{display:block;}
  }

  .btn-primary{
    background:var(--orange); color:#fff; padding:15px 30px; border-radius:999px; text-decoration:none;
    font-weight:700; font-size:.92rem; border:none; cursor:pointer; display:inline-block;
    transition:background .2s ease, transform .2s ease;
  }
  .btn-primary:hover{background:var(--orange-deep); transform:translateY(-2px);}
  .btn-ghost{
    background:transparent; color:var(--moss-dark); padding:14px 28px; border-radius:999px; text-decoration:none;
    font-weight:700; font-size:.92rem; border:1.5px solid var(--moss-dark); transition:background .2s ease, transform .2s ease;
  }
  .btn-ghost:hover{background:rgba(31,51,32,.06); transform:translateY(-2px);}
  .btn-light{background:rgba(255,255,255,.14); backdrop-filter:blur(4px); color:#fff; padding:15px 30px; border-radius:999px; text-decoration:none; font-weight:700; font-size:.92rem; border:1px solid rgba(255,255,255,.55); transition:background .2s ease, transform .2s ease;}
  .btn-light:hover{background:rgba(255,255,255,.24); transform:translateY(-2px);}

  /* ---------- HERO ---------- */
  .hero{position:relative; min-height:56vh; max-height:600px; display:flex; align-items:center; overflow:hidden;}
  .hero img.bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 35%; transform:scale(1.08); animation:heroZoom 16s ease-out forwards;}
  @keyframes heroZoom{ to{transform:scale(1);} }
  .hero::after{content:""; position:absolute; inset:0; background:linear-gradient(100deg, rgba(14,17,10,.88) 0%, rgba(14,17,10,.58) 45%, rgba(14,17,10,.22) 78%);}
  .hero::before{content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(0deg, rgba(10,13,8,.55) 0%, transparent 55%);}
  .hero-inner{position:relative; z-index:2; max-width:1220px; margin:0 auto; padding:0 32px; width:100%;}
  .hero .eyebrow{color:var(--gold); text-shadow:0 2px 10px rgba(0,0,0,.4);}
  .hero .eyebrow::before{background:var(--gold);}
  .hero h1{color:#fffdf7; font-size:clamp(2.5rem,6vw,4.6rem); max-width:15ch; font-weight:650; opacity:0; transform:translateY(18px); animation:fadeUp .8s ease .2s forwards; text-shadow:0 4px 20px rgba(0,0,0,.45);}
  .hero p.lead{color:#f0ece0; font-size:1.13rem; max-width:44ch; margin-bottom:32px; opacity:0; transform:translateY(18px); animation:fadeUp .8s ease .4s forwards; text-shadow:0 2px 12px rgba(0,0,0,.4);}
  .hero-actions{display:flex; gap:16px; flex-wrap:wrap; opacity:0; transform:translateY(18px); animation:fadeUp .8s ease .6s forwards;}
  @keyframes fadeUp{ to{opacity:1; transform:none;} }
  @media (prefers-reduced-motion: reduce){
    .hero img.bg{animation:none; transform:none;}
    .hero h1, .hero p.lead, .hero-actions{animation:none; opacity:1; transform:none;}
  }


  /* ---------- BOTANISCHE ILLUSTRATIONEN (echte Bildausschnitte) ---------- */
  .who{position:relative;}
  .features{position:relative;}
  footer{position:relative;}
  #touren-auswahl{position:relative;}
  #gutschein{position:relative;}
  .illu{position:absolute; pointer-events:none; z-index:0; opacity:.9;}
  .illu img{display:block; width:100%; height:auto;}
  .illu-light{opacity:.5; filter:brightness(0) invert(1);}
  @media (max-width:760px){ .illu{display:none;} }

  /* ---------- WHO / FEATURE (Bild + Text) ---------- */

  .who-grid, .feat-row{display:grid; grid-template-columns:.95fr 1.05fr; gap:64px; align-items:center;}
  @media (max-width:860px){ .who-grid, .feat-row{grid-template-columns:1fr;} }
  .who-img, .feat-img{border-radius:var(--radius); overflow:hidden; aspect-ratio:4/3.2; box-shadow:var(--shadow); position:relative;}
  .who-img img, .feat-img img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
  .who-img:hover img, .feat-img:hover img{transform:scale(1.05);}
  .who-copy p, .feat-copy p{color:var(--ink-soft); font-size:1.02rem; max-width:52ch;}

  .who-img-logo, .feat-img-logo{background:transparent; box-shadow:none;}
  .who-img-logo img, .feat-img-logo img{object-fit:contain; padding:8%;}
  .who-img-logo:hover img, .feat-img-logo:hover img{transform:none;}

  .features{background:var(--cream-deep);}
  .feat-row{gap:56px; margin-bottom:64px; aspect-ratio:auto;}
  .feat-row:last-child{margin-bottom:0;}
  .feat-row.rev .feat-img{order:2;}
  @media (max-width:800px){ .feat-row.rev .feat-img{order:0;} }
  .feat-img{aspect-ratio:16/11;}
  .feat-copy strong.big{display:block; font-family:'Fraunces',serif; font-size:clamp(1.5rem,3.2vw,2.6rem); color:var(--orange); font-weight:650; margin-bottom:4px;}
  .feat-copy h3{margin-bottom:12px;}

  /* ---------- TOUREN ---------- */
  .tours-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:32px;}
  @media (max-width:760px){ .tours-grid{grid-template-columns:1fr;} }
  .tour-card{background:#fff; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); transition:transform .45s cubic-bezier(.16,1,.3,1), box-shadow .45s cubic-bezier(.16,1,.3,1); display:flex; flex-direction:column;}
  .tour-card:hover{transform:translateY(-8px); box-shadow:var(--shadow-lg);}
  .tour-media{aspect-ratio:16/10; overflow:hidden; position:relative;}
  .tour-media img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
  .tour-card:hover .tour-media img{transform:scale(1.06);}
  .tour-media .badge{position:absolute; top:16px; left:16px; background:var(--orange); color:#fff; font-size:.7rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; padding:6px 14px; border-radius:999px;}
  .tour-body{padding:26px 28px 28px; display:flex; flex-direction:column; flex-grow:1;}
  .tour-meta{display:flex; gap:10px; font-size:.78rem; color:var(--ink-soft); margin-bottom:10px; text-transform:uppercase; letter-spacing:.03em; flex-wrap:wrap;}
  .tour-meta span{background:var(--cream-deep); padding:4px 12px; border-radius:999px;}
  .tour-body h3{margin-bottom:10px;}
  .tour-body p{color:var(--ink-soft); font-size:.94rem;}
  .tour-includes{font-size:.85rem; color:var(--ink-soft); font-style:italic; flex-grow:1;}
  .tour-foot{display:flex; align-items:center; justify-content:space-between; margin-top:18px; padding-top:18px; border-top:1px solid var(--line);}
  .tour-price{font-family:'Fraunces',serif; font-weight:600; color:var(--moss-dark); font-size:1.05rem;}
  .tour-price small{font-family:'Karla',sans-serif; font-weight:400; font-size:.72rem; color:var(--ink-soft); display:block;}
  .link-book, .tour-link{display:inline-flex; align-items:center; gap:6px; color:var(--orange); font-weight:700; text-decoration:none; font-size:.88rem; background:none; border:none; cursor:pointer; transition:gap .2s ease;}
  .link-book:hover, .tour-link:hover{gap:10px;}

  /* ---------- CTA BAND ---------- */
  .cta-band{position:relative; border-radius:var(--radius); overflow:hidden; aspect-ratio:16/6; min-height:240px; display:flex; align-items:center; text-align:center; justify-content:center;}
  .cta-band img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 35%;}
  .cta-band::after{content:""; position:absolute; inset:0; background:rgba(20,25,15,.45);}
  @media (max-width:720px){ .cta-band{aspect-ratio:4/5; min-height:320px;} }
  .cta-content{position:relative; z-index:2; color:#fff; padding:40px;}
  .cta-content h2{color:#fff; max-width:18ch; margin:0 auto .3em;}
  .cta-content p{color:#f0ece0; max-width:44ch; margin:0 auto 28px;}

  /* ---------- BUCHUNG ---------- */
  .section-card{background:var(--cream-deep); border-radius:var(--radius);}
  .section-card.just-selected{animation:selectPulse 1.4s cubic-bezier(.16,1,.3,1);}
  @keyframes selectPulse{ 0%{box-shadow:0 0 0 0 rgba(217,102,47,.45);} 55%{box-shadow:0 0 0 18px rgba(217,102,47,0);} 100%{box-shadow:0 0 0 0 rgba(217,102,47,0);} }

  .booking{background:var(--moss-dark); color:var(--cream); border-radius:var(--radius); padding:64px 52px; display:grid; grid-template-columns:.9fr 1.1fr; gap:56px;}
  @media (max-width:900px){ .booking{grid-template-columns:1fr; padding:40px 26px;} }
  .booking h2{color:#fffdf7;}
  .booking .eyebrow{color:var(--gold);}
  .booking .eyebrow::before{background:var(--gold);}
  .booking p{color:#cfd5c2;}
  .booking-note{margin-top:24px; padding:18px 20px; border-radius:var(--radius-sm); background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); font-size:.88rem; color:#e4e8d8;}
  .booking-note + .booking-note{margin-top:14px;}
  .booking-form{background:#fff; border-radius:var(--radius); padding:36px; color:var(--ink); box-shadow:var(--shadow);}
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:20px;}
  @media (max-width:520px){ .form-row{grid-template-columns:1fr;} }
  .field{display:flex; flex-direction:column; gap:7px; margin-bottom:20px;}
  .field label{font-size:.85rem; font-weight:700; color:var(--moss-dark);}
  .field input, .field select, .field textarea{
    border:1.5px solid var(--line); border-radius:var(--radius-sm); padding:12px 14px; font-family:inherit;
    font-size:.96rem; background:var(--cream); color:var(--ink); transition:border-color .2s ease;
  }
  .field input:focus, .field select:focus, .field textarea:focus{outline:none; border-color:var(--orange);}
  .field textarea{resize:vertical; min-height:80px;}
  .booking-summary{margin:6px 0 22px; padding:14px 16px; background:var(--cream-deep); border-radius:var(--radius-sm); font-size:.92rem;}
  .submit-btn{width:100%; text-align:center;}
  .form-status{margin-top:14px; font-size:.9rem; display:none;}
  .form-status.show{display:block;}
  .form-status.ok{color:var(--moss-dark); font-weight:700;}

  /* ---------- GUTSCHEIN ---------- */
  .voucher-wrap{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
  @media (max-width:900px){ .voucher-wrap{grid-template-columns:1fr;} }
  .voucher-perks{list-style:none; margin:24px 0 0; padding:0;}
  .voucher-perks li{display:flex; gap:12px; padding:12px 0; border-top:1px solid var(--line); font-size:.96rem;}
  .voucher-perks li:first-child{border-top:none;}
  .voucher-perks svg{flex-shrink:0; width:19px; height:19px; margin-top:2px; color:var(--orange);}
  .voucher-card{
    position:relative; overflow:hidden; background:linear-gradient(150deg, var(--moss-dark) 0%, #2c4527 55%, var(--moss) 100%);
    border-radius:var(--radius); padding:38px 34px; color:var(--cream); box-shadow:var(--shadow-lg);
  }
  .voucher-card::before{content:""; position:absolute; inset:0; opacity:.08; pointer-events:none; background-image:radial-gradient(circle,#f2ecda 2px, transparent 2.6px); background-size:22px 22px;}
  .voucher-motif{position:absolute; bottom:-8px; right:-6px; width:150px; height:150px; opacity:.22; pointer-events:none; z-index:0;}
  .voucher-fixed-amount{
    display:inline-flex; align-items:baseline; gap:8px; padding:11px 16px; border:1.5px solid var(--line);
    border-radius:var(--radius-sm); font-family:'Fraunces',serif; font-size:1.05rem; font-weight:600; color:var(--moss-dark);
    background:var(--cream-deep);
  }
  .voucher-fixed-amount span{font-family:'Karla',sans-serif; font-size:.8rem; font-weight:400; color:var(--ink-soft);}
  .voucher-ribbon{position:absolute; top:22px; right:-46px; width:170px; text-align:center; background:var(--orange); color:#fff; font-weight:700; font-size:.78rem; letter-spacing:.08em; padding:6px 0; transform:rotate(40deg); box-shadow:0 4px 10px rgba(0,0,0,.25); z-index:2;}
  .voucher-top{display:flex; align-items:center; gap:14px; position:relative; z-index:1;}
  .voucher-top img{width:52px; height:52px; border-radius:50%; object-fit:cover; border:2px solid var(--cream);}
  .voucher-top span{font-family:'Fraunces',serif; font-size:1.1rem; font-weight:600;}
  .voucher-title{font-size:clamp(1.7rem,3vw,2.2rem); margin:26px 0 4px; color:#fffdf7; position:relative; z-index:1;}
  .voucher-sub{color:#cfd5c2; font-size:.95rem; margin-bottom:26px; position:relative; z-index:1;}
  .voucher-value{display:inline-flex; align-items:baseline; gap:8px; padding:10px 20px; border:1.5px dashed rgba(251,246,236,.5); border-radius:999px; font-family:'Fraunces',serif; font-size:1.3rem; font-weight:600; color:var(--gold); position:relative; z-index:1; margin-bottom:24px;}
  .voucher-value small{font-family:'Karla',sans-serif; font-size:.72rem; font-weight:400; color:#cfd5c2;}
  .voucher-stub{border-top:1px dashed rgba(251,246,236,.35); margin-top:8px; padding-top:18px; display:flex; justify-content:space-between; align-items:flex-end; gap:12px; flex-wrap:wrap; font-size:.78rem; color:#b6bda6; position:relative; z-index:1;}
  .voucher-code{font-family:'Fraunces',serif; letter-spacing:.06em; color:var(--cream); font-size:.85rem;}
  .voucher-form{background:#fff; border-radius:var(--radius); padding:36px; color:var(--ink); margin-top:32px; box-shadow:var(--shadow);}

  /* ---------- SAISONKALENDER (interaktives Widget) ---------- */
  .cal-widget{background:#fff; border-radius:var(--radius); padding:22px; box-shadow:var(--shadow); position:sticky; top:90px; z-index:5; margin-top:8px;}
  @media (max-width:860px){ .cal-widget{position:static;} }
  .cal-months{display:grid; grid-template-columns:repeat(12,1fr); gap:7px;}
  @media (max-width:900px){ .cal-months{grid-template-columns:repeat(6,1fr);} }
  @media (max-width:560px){ .cal-months{grid-template-columns:repeat(4,1fr);} }
  .cal-month{border:none; border-radius:999px; padding:11px 3px; background:var(--cream-deep); color:var(--moss-dark); font-family:inherit; font-weight:700; font-size:.82rem; cursor:pointer; transition:background .2s ease, color .2s ease, transform .2s ease;}
  .cal-month:hover{transform:translateY(-2px);}
  .cal-month.active{background:var(--orange); color:#fff;}
  .cal-selected{display:flex; justify-content:space-between; gap:20px; align-items:flex-end; flex-wrap:wrap; margin-top:20px;}
  .cal-selected h3{font-family:'Fraunces',serif; font-size:1.6rem; margin:0 0 2px; color:var(--moss-dark);}
  .cal-muted{color:var(--ink-soft); font-size:.85rem;}
  .cal-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:32px;}
  @media (max-width:900px){ .cal-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .cal-grid{grid-template-columns:1fr;} }
  .cal-card{background:#fff; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); transition:transform .45s cubic-bezier(.16,1,.3,1), box-shadow .45s cubic-bezier(.16,1,.3,1);}
  .cal-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-lg);}
  .cal-photo{width:100%; height:210px; object-fit:cover; display:block; background:var(--cream-deep); transition:transform .5s ease;}
  .cal-card:hover .cal-photo{transform:scale(1.06);}
  .cal-content{padding:20px;}
  .cal-top{display:flex; justify-content:space-between; gap:10px; align-items:flex-start;}
  .cal-name{font-family:'Fraunces',serif; font-weight:600; font-size:1.15rem; margin:0; color:var(--moss-dark);}
  .cal-latin{font-size:.85rem; font-style:italic; color:var(--ink-soft); margin-top:3px;}
  .cal-tag{background:var(--cream-deep); color:var(--moss-dark); font-size:.68rem; font-weight:800; letter-spacing:.04em; border-radius:999px; padding:6px 12px; height:max-content; white-space:nowrap;}
  .cal-tag.toxic{background:var(--orange); color:#fff;}
  .cal-desc{font-size:.9rem; line-height:1.55; color:var(--ink-soft); margin:14px 0 0;}
  .cal-source{font-size:.76rem; color:var(--ink-soft); margin-top:14px;}
  .cal-source a{color:var(--orange); font-weight:600;}
  .cal-empty{grid-column:1/-1; padding:50px; text-align:center; color:var(--ink-soft); background:#fff; border:1px dashed var(--line); border-radius:var(--radius);}
  .cal-notice{margin-top:32px; margin-bottom:64px; padding:18px 20px; background:var(--cream-deep); border-left:4px solid var(--gold); border-radius:var(--radius-sm); color:var(--ink-soft); font-size:.9rem; line-height:1.6;}

  /* ---------- SAISONKALENDER-TEASER (Fotokarten) ---------- */
  .season-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
  @media (max-width:860px){ .season-grid{grid-template-columns:1fr;} }
  .season-card{border-radius:var(--radius); overflow:hidden; position:relative; aspect-ratio:4/5; box-shadow:var(--shadow); transition:transform .3s ease;}
  .season-card:hover{transform:translateY(-6px);}
  .season-card img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
  .season-card:hover img{transform:scale(1.06);}
  .season-card::after{content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(20,25,15,.82) 0%, transparent 55%);}
  .season-info{position:absolute; left:22px; right:22px; bottom:20px; z-index:2; color:#fff;}
  .season-info .latin{font-style:italic; font-size:.82rem; opacity:.85; margin-bottom:4px;}
  .season-info h3{color:#fff; font-size:1.2rem; margin-bottom:0;}

  /* ---------- KALENDER: Foto-Button & Status-Badge ---------- */
  .cal-card{cursor:pointer;}
  .cal-photo-button{display:block; width:100%; padding:0; border:none; background:none; cursor:zoom-in;}
  .cal-open{display:inline-block; margin-top:12px; color:var(--orange); font-size:.76rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;}
  .status-badge{
    display:inline-flex; align-items:center; gap:6px; margin-top:14px; padding:7px 12px;
    border-radius:999px; font-size:.68rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  }
  .status-badge.essbar{color:#3d6b30; background:rgba(61,107,48,.12);}
  .status-badge.ungeniessbar{color:#756f5e; background:rgba(117,111,94,.14);}
  .status-badge.giftig{color:#a9531f; background:rgba(169,83,31,.14);}
  .status-badge.toedlich{color:#7a2e22; background:rgba(122,46,34,.16);}

  /* ---------- KALENDER: Steckbrief-Modal ---------- */
  .modal{
    position:fixed; inset:0; z-index:200; background:rgba(20,17,10,.86);
    display:flex; align-items:center; justify-content:center; padding:24px;
    opacity:0; pointer-events:none; transition:opacity .25s ease;
  }
  .modal.open{opacity:1; pointer-events:auto;}
  .modal-panel{
    width:min(1000px,100%); max-height:90vh; overflow:auto; background:var(--cream);
    display:grid; grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);
    border-radius:var(--radius); box-shadow:0 30px 80px rgba(0,0,0,.4);
  }
  @media (max-width:760px){ .modal-panel{grid-template-columns:1fr; max-height:95vh;} }

  .modal-panel-solo{
    display:block; width:min(600px,100%); padding:44px 42px; position:relative;
  }
  @media (max-width:600px){ .modal-panel-solo{padding:70px 24px 32px;} }
  .modal-panel-solo .booking-note{background:var(--cream-deep); color:var(--ink-soft); border-radius:var(--radius-sm); padding:16px 18px; font-size:.86rem; margin-bottom:12px;}
  .modal-panel-solo .booking-form{margin-top:8px; background:transparent; box-shadow:none; padding:0;}

  .modal-image-wrap{background:#181b12; min-height:380px;}
  .modal-image{width:100%; height:100%; min-height:380px; max-height:80vh; object-fit:cover; display:block;}
  @media (max-width:760px){ .modal-image-wrap, .modal-image{min-height:240px; height:44vh; max-height:44vh;} }
  .modal-info{padding:42px 40px; position:relative;}
  @media (max-width:760px){ .modal-info{padding:28px 24px;} }
  .modal-close{
    position:absolute; right:18px; top:16px; border:1px solid var(--line); background:#fff;
    color:var(--moss-dark); font-size:1.4rem; width:38px; height:38px; border-radius:50%;
    line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center;
  }
  .modal-kicker{font-size:.72rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--orange); margin-bottom:10px;}
  .modal-title{font-size:clamp(1.6rem,3vw,2.2rem); padding-right:34px; margin-bottom:4px;}
  .modal-latin{font-style:italic; color:var(--ink-soft); margin-bottom:20px;}
  .modal-text{color:var(--ink-soft);}
  .modal-meta{border-top:1px solid var(--line); margin-top:22px; padding-top:18px; font-size:.86rem;}
  .modal-meta > div{margin-bottom:8px;}
  .modal-meta strong{font-weight:700; color:var(--moss-dark);}
  .modal-months{display:flex; flex-wrap:wrap; gap:6px; margin-top:10px;}
  .modal-month{border:1px solid var(--line); border-radius:999px; padding:4px 10px; font-size:.68rem; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-soft);}
  .modal-warning{margin-top:18px; padding:12px 14px; border-radius:var(--radius-sm); border-left:3px solid var(--orange); background:rgba(217,102,47,.08); color:var(--orange-deep); font-size:.84rem; font-weight:600;}

  /* ---------- FAQ ---------- */
  .faq-layout{display:grid; grid-template-columns:1.4fr .9fr; gap:48px; align-items:start;}
  @media (max-width:900px){ .faq-layout{grid-template-columns:1fr;} }
  .faq-photo{border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); position:sticky; top:100px; aspect-ratio:3/4;}
  @media (max-width:900px){ .faq-photo{position:static; aspect-ratio:16/9; order:-1;} }
  .faq-photo img{width:100%; height:100%; object-fit:cover;}
  .faq-list{max-width:none;}
  .faq-item{background:#fff; border:1px solid var(--line); border-radius:var(--radius-sm); margin-bottom:14px; overflow:hidden; box-shadow:var(--shadow); transition:box-shadow .2s ease;}
  .faq-item summary{padding:20px 24px; font-weight:700; color:var(--moss-dark); cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px; font-size:1rem;}
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{content:"+"; font-size:1.4rem; font-weight:400; color:var(--orange); flex-shrink:0; line-height:1; transition:transform .2s ease;}
  .faq-item[open] summary::after{transform:rotate(45deg);}
  .faq-item p{padding:0 24px 22px; margin:0; font-size:.95rem; color:var(--ink-soft);}

  /* ---------- INFO ---------- */
  .info-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start;}
  @media (max-width:860px){ .info-grid{grid-template-columns:1fr;} }
  .badge-row{list-style:none; margin:32px 0 0; padding:0; display:flex; gap:16px; flex-wrap:wrap;}
  .badge-row .badge{display:flex; align-items:center; gap:12px; padding:14px 20px; background:#fff; border-radius:999px; box-shadow:var(--shadow);}
  .badge .seal{width:20px; height:20px; flex-shrink:0; color:var(--orange);}
  .badge span{font-size:.9rem; font-weight:700; color:var(--ink);}
  .checklist{list-style:none; margin:24px 0 0; padding:0;}
  .checklist li{display:flex; gap:12px; padding:14px 0; border-top:1px solid var(--line); font-size:.96rem; color:var(--ink-soft);}
  .checklist li:first-child{border-top:none;}
  .checklist svg{flex-shrink:0; width:19px; height:19px; margin-top:2px; color:var(--orange);}

  /* ---------- GALERIE ---------- */
  .gallery{display:grid; grid-template-columns:repeat(4, 1fr); gap:14px; margin-bottom:64px;}
  @media (max-width:860px){ .gallery{grid-template-columns:repeat(2,1fr);} }
  .g-item{border-radius:var(--radius-sm); overflow:hidden; position:relative; aspect-ratio:3/4;}
  .g-item img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; cursor:zoom-in;}
  .lightbox-overlay{
    position:fixed; inset:0; background:rgba(20,17,10,.92); z-index:200;
    display:flex; align-items:center; justify-content:center; padding:5vw;
    opacity:0; pointer-events:none; transition:opacity .25s ease;
  }
  .lightbox-overlay.open{opacity:1; pointer-events:auto;}
  .lightbox-overlay img{max-width:100%; max-height:90vh; border-radius:6px; box-shadow:0 30px 80px rgba(0,0,0,.5); cursor:zoom-out;}
  .lightbox-close{
    position:absolute; top:22px; right:26px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.4);
    color:#fff; font-size:1.4rem; width:44px; height:44px; border-radius:50%; cursor:pointer; line-height:1;
    display:flex; align-items:center; justify-content:center; transition:background .2s ease;
  }
  .lightbox-close:hover{background:rgba(255,255,255,.24);}
  .g-item:hover img{transform:scale(1.08);}
  .g-item.accent{display:flex; align-items:center; justify-content:center; text-align:center; padding:14px; background:var(--moss-dark); color:var(--cream); font-size:.85rem; font-weight:600;}
  .gallery-note{margin-top:22px; font-size:.88rem; color:var(--ink-soft);}

  /* ---------- MINI FOTO-STREIFEN (dekorativ, z.B. Info-Seite) ---------- */
  .mini-strip{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:64px;}
  @media (max-width:720px){ .mini-strip{grid-template-columns:1fr 1fr; } .mini-strip-item:last-child{display:none;} }
  .mini-strip-item{border-radius:var(--radius-sm); overflow:hidden; aspect-ratio:4/3;}
  .mini-strip-item img{width:100%; height:100%; object-fit:cover; transition:transform .5s cubic-bezier(.16,1,.3,1);}
  .mini-strip-item:hover img{transform:scale(1.06);}

  /* ---------- FEEDBACK / TESTIMONIALS ---------- */
  .feedback-wrap{display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:start;}
  @media (max-width:900px){ .feedback-wrap{grid-template-columns:1fr;} }
  .testimonial{background:#fff; border-radius:var(--radius); padding:28px; margin-bottom:20px; box-shadow:var(--shadow);}
  .testimonials-compact{padding:64px 0;}
  .testimonials-compact .section-head{margin-bottom:32px;}
  .testimonial-sm{padding:18px 20px; margin-bottom:0;}
  .testimonial-sm .stars{font-size:.8rem; margin-bottom:6px;}
  .testimonial-sm p{font-size:.88rem; margin-bottom:8px;}
  .testimonial-sm .who{font-size:.72rem;}
  .stars{color:var(--gold); letter-spacing:2px; margin-bottom:10px; font-size:1rem;}
  .testimonial p{font-family:'Fraunces',serif; font-style:italic; font-size:1.05rem; margin-bottom:12px; color:var(--moss-dark);}
  .testimonial .who{font-size:.85rem; font-weight:700; color:var(--ink-soft); font-style:normal;}
  .feedback-form{background:#fff; border-radius:var(--radius); padding:34px; box-shadow:var(--shadow);}
  .star-input{display:flex; gap:6px; margin-bottom:16px;}
  .star-input button{background:none; border:none; font-size:1.6rem; cursor:pointer; color:var(--line); padding:0; line-height:1; transition:color .15s ease;}
  .star-input button.active{color:var(--gold);}

  /* ---------- KONTAKT ---------- */
  .contact{background:var(--cream-deep); border-radius:var(--radius); padding:64px 52px; display:grid; grid-template-columns:.85fr 1.15fr; gap:56px;}
  @media (max-width:900px){ .contact{grid-template-columns:1fr; padding:40px 26px;} }
  .contact-info li{display:flex; gap:12px; padding:14px 0; border-top:1px solid var(--line); font-size:.96rem;}
  .contact-info li:first-child{border-top:none;}
  .contact-info{list-style:none; margin:24px 0 0; padding:0;}
  .contact-info svg{width:19px; height:19px; flex-shrink:0; margin-top:2px; color:var(--orange);}
  .contact-info a{text-decoration:none; border-bottom:1px solid transparent; transition:border-color .2s ease;}
  .contact-info a:hover{border-color:currentColor;}
  .contact-form{background:#fff; border-radius:var(--radius); padding:36px; box-shadow:var(--shadow);}

  /* ---------- STARTSEITE: ENTDECKEN-KACHELN ---------- */
  .discover-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--line); border-radius:var(--radius); overflow:hidden;}
  @media (max-width:860px){ .discover-grid{grid-template-columns:1fr;} }
  .discover-card{position:relative; background:#fff; text-decoration:none; color:inherit; overflow:hidden; display:flex; flex-direction:column; transition:transform .2s ease;}
  .discover-card .thumb{position:relative; aspect-ratio:4/3; overflow:hidden;}
  .discover-card .thumb img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
  .discover-card:hover .thumb img{transform:scale(1.08);}
  .discover-card .thumb::after{content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(20,17,10,.55), transparent 55%);}
  .discover-num{position:absolute; bottom:14px; left:16px; z-index:2; color:#fdfbf4; font-family:'Fraunces',serif; font-style:italic; font-size:.85rem;}
  .discover-body{padding:26px 28px 30px;}
  .discover-body h3{font-size:1.25rem; margin-bottom:8px;}
  .discover-body p{font-size:.9rem; color:var(--ink-soft); margin-bottom:0;}
  .discover-arrow{display:inline-block; margin-top:14px; font-size:.76rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--orange);}

  /* ---------- STARTSEITE: STATEMENT ---------- */
  .statement-panel{background:var(--moss-dark); border-radius:var(--radius);}
  .statement-panel .wrap{max-width:760px; text-align:center; padding-top:90px; padding-bottom:90px;}
  .statement-panel p{font-family:'Fraunces',serif; font-style:italic; font-weight:450; font-size:clamp(1.6rem,3.4vw,2.4rem); line-height:1.4; color:#fffdf7; margin:0 0 16px;}
  .statement-panel .attribution{font-size:.8rem; letter-spacing:.1em; text-transform:uppercase; color:var(--gold);}

  /* ---------- FOOTER ---------- */
  footer{background:var(--moss-dark); color:#c3c8b4; padding:48px 0 24px; font-size:.94rem;}
  .footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:36px; margin-bottom:32px;}
  @media (max-width:720px){ .footer-grid{grid-template-columns:1fr; gap:28px;} }
  footer h4{color:#fffdf7; font-size:.88rem; margin:0 0 12px; text-transform:uppercase; letter-spacing:.04em;}
  .footer-brand{display:flex; align-items:center; gap:10px; margin-bottom:10px;}
  .footer-brand img{width:34px; height:34px; border-radius:50%; object-fit:cover;}
  .footer-brand span{font-family:'Fraunces',serif; font-size:1.02rem; color:#fffdf7;}
  .footer-social{
    display:inline-flex; align-items:center; gap:8px; margin-top:12px; padding:7px 14px;
    border:1px solid rgba(251,246,236,.3); border-radius:999px; color:#c3c8b4; font-size:.82rem; font-weight:600;
    transition:color .2s ease, border-color .2s ease, transform .2s ease;
  }
  .footer-social svg{width:16px; height:16px; flex-shrink:0;}
  .footer-social:hover{color:#fffdf7; border-color:#fffdf7; transform:translateY(-2px);}
  footer ul{list-style:none; margin:0; padding:0;}
  footer li{margin-bottom:8px; font-size:.86rem;}
  footer a{text-decoration:none; color:#c3c8b4; transition:color .2s ease;}
  footer a:hover{color:var(--gold);}
  .footer-bottom{border-top:1px solid rgba(251,246,236,.15); padding-top:18px; font-size:.78rem; color:#8b9080; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; align-items:center;}
  .footer-bottom img{height:22px; width:auto; filter:brightness(0) invert(1); opacity:.7;}


  .visually-hidden{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap;}
