:root{
  --b0:#FDFAF5;--b1:#F5F0E8;--b2:#EDE5D8;--b3:#D9CEBC;--b4:#C2B59E;
  --ink:#1E1812;--ink2:#3A3028;--ink3:#6B5F50;
  --teal:#2A6B6B;--teal2:#1F5252;--teal3:#E0EEEE;
  --gold:#B8924A;--gold2:#96773A;--gold3:#FBF3E4;
  --r:6px;
  --radius:14px;--radius-sm:9px;
  --shadow-soft:0 14px 40px -22px rgba(30,24,18,.22);
  --shadow-lift:0 26px 60px -26px rgba(30,24,18,.4);
  --nav-h:64px;
  --tab-h:56px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:hidden}
body{font-family:'DM Sans',sans-serif;background:var(--b0);color:var(--ink);overflow-x:hidden}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif}
img{display:block;max-width:100%}

/* ═══════════════════════════════════════
   TOP NAVBAR
═══════════════════════════════════════ */
#topnav{
  position:fixed;top:0;left:0;right:0;z-index:9000;
  height:var(--nav-h);
  background:rgba(22,17,10,.96);backdrop-filter:blur(16px);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 2.5rem;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.nav-logo{display:flex;flex-direction:column;line-height:1;text-decoration:none;flex-shrink:0}
.nav-logo-top{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:300;color:#fff;letter-spacing:.15em;text-shadow:0 0 14px rgba(184,146,74,.55),0 0 6px rgba(255,244,214,.4)}
.nav-logo-top span{color:var(--gold);font-style:italic}
.nav-logo-sub{font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.38);margin-top:2px}

.nav-right{display:flex;align-items:center;gap:1rem}
.nav-phone{display:none;font-size:.75rem;color:rgba(255,255,255,.5);letter-spacing:.06em}
.nav-phone strong{color:var(--gold)}
.nav-live{display:none;align-items:center;gap:.55rem;font-size:.72rem;color:var(--ink3);letter-spacing:.04em;white-space:nowrap;margin-left:auto;padding:0 2rem 0 1.5rem;align-self:center;flex-shrink:0}

/* Lang switcher */
.lang-switcher{position:relative}
.lang-btn{
  display:flex;align-items:center;gap:.4rem;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);
  color:#fff;border-radius:20px;padding:.3rem .75rem;
  font-family:'DM Sans',sans-serif;font-size:.7rem;cursor:pointer;transition:all .2s;
}
.lang-btn:hover{background:rgba(255,255,255,.15);border-color:var(--gold)}
.lang-dropdown{
  position:absolute;top:calc(100% + 10px);right:0;
  background:rgba(22,17,10,.97);backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.1);border-radius:10px;
  min-width:175px;overflow:hidden;
  opacity:0;pointer-events:none;transform:translateY(-6px);
  transition:opacity .2s,transform .2s;z-index:2000;
}
.lang-dropdown.open{opacity:1;pointer-events:all;transform:translateY(0)}
.lang-option{
  display:flex;align-items:center;gap:.7rem;
  padding:.62rem 1rem;cursor:pointer;transition:background .15s;
  font-family:'DM Sans',sans-serif;font-size:.76rem;color:rgba(255,255,255,.65);
  border-bottom:1px solid rgba(255,255,255,.05);
}
.lang-option:last-child{border-bottom:none}
.lang-option:hover{background:rgba(184,146,74,.15);color:#fff}
.lang-option.active{color:var(--gold)}
.lang-option .flag{font-size:1.1rem;line-height:1;flex-shrink:0}
.lang-option .lang-native{font-size:.64rem;color:rgba(255,255,255,.32);margin-left:auto}

/* ═══════════════════════════════════════
   TAB BAR  (below topnav)
═══════════════════════════════════════ */
#tabbar{
  position:fixed;top:var(--nav-h);left:0;right:0;z-index:8999;
  height:var(--tab-h);background:var(--b0);
  border-bottom:1.5px solid var(--b3);
  display:none;align-items:stretch;overflow-x:auto;
  scrollbar-width:none;
}
#tabbar::-webkit-scrollbar{display:none}
#mob-tabbar{display:none}
@media(min-width:768px){
  #tabbar{display:flex !important}
  .hero-pills{display:flex !important}
  .nav-phone{display:flex !important}
  .nav-live{display:flex !important}
  #mob-tabbar{display:none !important}
  #content{margin-top:calc(var(--nav-h) + var(--tab-h)) !important;margin-bottom:0 !important}
}

.tab{
  display:flex;align-items:center;gap:.5rem;
  padding:0 1.4rem;
  font-size:.74rem;font-weight:400;letter-spacing:.06em;
  color:var(--ink3);cursor:pointer;white-space:nowrap;
  border-bottom:2.5px solid transparent;
  transition:color .2s,border-color .2s,background .2s;
  flex-shrink:0;
  background:transparent;border-top:none;border-left:none;border-right:none;
  font-family:'DM Sans',sans-serif;
}
.tab{position:relative}
.tab::after{content:'';position:absolute;left:50%;right:50%;bottom:-2.5px;height:2.5px;background:var(--teal);border-radius:2px;transition:left .3s cubic-bezier(.22,1,.36,1),right .3s cubic-bezier(.22,1,.36,1)}
.tab:hover{color:var(--teal);background:var(--teal3)}
.tab:hover:not(.active)::after{left:22%;right:22%}
.tab.active{color:var(--teal);border-bottom-color:var(--teal);font-weight:500}
.tab .tab-icon{width:15px;height:15px;flex-shrink:0}

/* ═══════════════════════════════════════
   CONTENT AREA
═══════════════════════════════════════ */
#content{
  margin-top:calc(var(--nav-h) + var(--tab-h));
  min-height:calc(100vh - var(--nav-h) - var(--tab-h));
}

/* Page transition */
.page{display:none;animation:fadeIn .32s cubic-bezier(.16,1,.3,1)}
.page.active{display:block}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* ═══════════════════════════════════════
   SHARED COMPONENTS
═══════════════════════════════════════ */
.container{max-width:1200px;margin:0 auto;padding:0 2rem}
.eyebrow{font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--teal);margin-bottom:.8rem;display:flex;align-items:center;gap:.6rem}
.eyebrow::after{content:'';display:block;width:32px;height:1px;background:var(--teal)}
.section-h{font-size:clamp(1.8rem,3.5vw,3rem);font-weight:300;line-height:1.18;color:var(--ink)}
.section-h em{font-style:italic;color:var(--teal)}
.section-p{font-size:.9rem;color:var(--ink3);line-height:1.85;max-width:480px;margin-top:.9rem}
.btn-solid{background:var(--teal);color:#fff;padding:.85rem 2rem;border:none;border-radius:var(--r);font-family:'DM Sans',sans-serif;font-size:.76rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .2s,transform .15s;text-decoration:none;display:inline-block}
.btn-solid:hover{background:var(--teal2);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--teal);padding:.85rem 2rem;border:1.5px solid var(--teal);border-radius:var(--r);font-family:'DM Sans',sans-serif;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block}
.btn-ghost:hover{background:var(--teal3)}

/* FG (form group) */
.fg{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.85rem}
.fg label{font-size:.63rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3)}
.fg input,.fg select,.fg textarea{padding:.75rem 1rem;border:1.5px solid var(--b3);border-radius:6px;background:var(--b0);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:.87rem;transition:border-color .2s,box-shadow .2s;outline:none}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(42,107,107,.1)}
.fg textarea{resize:vertical;min-height:80px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-bottom:.85rem}

/* ═══════════════════════════════════════
   PAGE: START (HERO)
═══════════════════════════════════════ */
#page-start{background:var(--b0)}

.hero-wrap{position:relative;height:100vh;min-height:640px;overflow:hidden}
.hero-bg{
  position:absolute;inset:-12%;
  background:url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?w=1800&q=85') center 52%/cover no-repeat;
  will-change:transform;transform-origin:center 52%;transform:scale(1.03);
  animation:heroKen 34s ease-in-out infinite alternate;
}
@keyframes heroKen{from{transform:scale(1.03)}to{transform:scale(1.14)}}
.hero-veil{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(6,10,8,.55) 0%,rgba(6,10,8,.04) 20%,rgba(6,10,8,.10) 55%,rgba(6,10,8,.93) 100%)}
.hero-content{position:absolute;bottom:0;left:0;right:0;padding:0 2rem 5.5rem;text-align:center;z-index:3;opacity:0;will-change:transform,opacity;animation:risein 1.6s cubic-bezier(.22,1,.36,1) 1.7s both}
@keyframes risein{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
/* Eyebrow — top-center, always visible */
.hero-eyebrow{position:absolute;top:2.8rem;left:0;right:0;text-align:center;z-index:3;display:flex;align-items:center;justify-content:center;gap:.85rem;font-size:.63rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);opacity:0;animation:risein 1.3s cubic-bezier(.22,1,.36,1) .55s both}
.hero-eyebrow::before,.hero-eyebrow::after{content:'';display:block;width:30px;height:1px;background:var(--gold);opacity:.65}
/* Title block — center, scroll-revealed */
.hero-title-block{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;z-index:3;opacity:0;will-change:transform,opacity;padding:0 2rem;animation:heroTitleIn 2.1s cubic-bezier(.16,.84,.26,1) .85s both}
@keyframes heroTitleIn{from{opacity:0;transform:translateY(calc(-50% + 46px))}to{opacity:1;transform:translateY(-50%)}}
.hero-rule{width:0;height:1px;margin:1.6rem auto 0;background:linear-gradient(to right,transparent,var(--gold),transparent);animation:heroRule 1.8s cubic-bezier(.22,1,.36,1) 1.7s both}
@keyframes heroRule{from{width:0;opacity:0}to{width:220px;opacity:1}}
.hero-pre-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.1rem,3.2vw,2rem);font-weight:300;letter-spacing:.55em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:-.08em}
.hero-h1{font-family:'Cormorant Garamond',serif;font-size:clamp(5rem,14vw,11rem);font-weight:300;line-height:.92;color:#fff;letter-spacing:.04em;margin:0}
.hero-h1 em{font-style:italic;color:var(--gold)}
/* Content — bottom, scroll-revealed */
.hero-tagline{font-size:1.08rem;color:var(--gold);font-weight:300;line-height:1.8;margin:2.4rem auto 2rem;max-width:520px;opacity:1;text-shadow:0 1px 12px rgba(0,0,0,.5)}
.hero-btns{display:flex;gap:.9rem;flex-wrap:wrap;justify-content:center}
.hero-btns .btn-solid{background:var(--teal)}
.hero-btns .btn-ghost{color:#fff;border-color:rgba(255,255,255,.35)}
.hero-btns .btn-ghost:hover{border-color:var(--gold);color:var(--gold);background:transparent}
/* Scroll hint — animated golden line */
.hero-scroll-hint{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:.45rem;pointer-events:none;opacity:0;animation:risein 1.3s ease 2.5s both}
.hero-scroll-dot{width:5px;height:5px;border-radius:50%;background:var(--gold);animation:sdot 2.4s ease-in-out infinite}
.hero-scroll-line{width:1px;height:48px;background:linear-gradient(to bottom,rgba(212,172,92,.75),transparent);animation:sline 2.4s ease-in-out infinite}
@keyframes sdot{0%,100%{opacity:1;transform:translateY(0)}55%{opacity:.15;transform:translateY(12px)}}
@keyframes sline{0%{transform:scaleY(0);transform-origin:top;opacity:0}35%{opacity:1}100%{transform:scaleY(1);transform-origin:top;opacity:0}}

.hero-pills{position:absolute;right:3rem;bottom:4rem;z-index:2;display:none;flex-direction:column;gap:1rem}
.pill{display:flex;align-items:center;gap:.7rem;background:rgba(255,255,255,.08);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12);border-radius:40px;padding:.5rem .9rem .5rem .5rem}
.pill-num{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:300;color:#fff;line-height:1;background:rgba(184,146,74,.22);border-radius:30px;padding:.1rem .55rem}
.pill-txt{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.58)}

/* HIGHLIGHTS STRIP */
.hl-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--b3)}
.hl-card{padding:2.2rem 2rem;border-right:1px solid var(--b3);position:relative;overflow:hidden;transition:background .25s;cursor:default}
.hl-card:last-child{border-right:none}
.hl-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(to right,var(--teal),transparent);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.hl-card:hover{background:var(--b1)}
.hl-card:hover::after{transform:scaleX(1)}
.hl-num{font-family:'Cormorant Garamond',serif;font-size:3rem;font-weight:300;color:rgba(42,107,107,.1);line-height:1;margin-bottom:1.4rem}
.hl-icon-wrap{width:44px;height:44px;border-radius:50%;border:1px solid rgba(42,107,107,.2);display:flex;align-items:center;justify-content:center;margin-bottom:1.3rem;background:var(--teal3)}
.hl-icon-wrap svg{width:20px;height:20px;stroke:var(--teal);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.hl-card h3{font-size:1rem;color:var(--ink);font-weight:400;margin-bottom:.4rem}
.hl-card p{font-size:.77rem;color:var(--ink3);line-height:1.65}
.hl-line{width:22px;height:1px;background:rgba(42,107,107,.3);margin-bottom:.9rem}

/* Facts Bar – Villa-Kennzahlen */
.facts-bar{display:flex;align-items:stretch;border-bottom:1px solid var(--b3)}
.facts-item{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.8rem 1rem;flex:1;transition:background .22s;cursor:default;text-align:center;min-width:0}
.facts-item:hover{background:var(--b1)}
.facts-div{width:1px;background:var(--b3);flex-shrink:0;align-self:stretch}
.facts-num{font-family:'Cormorant Garamond',serif;font-size:2.6rem;font-weight:300;color:var(--gold);line-height:1;letter-spacing:-.01em}
.facts-num small{font-size:1.05rem;color:var(--gold);opacity:.75;font-weight:300;margin-left:.08em;vertical-align:text-top}
.facts-check{font-size:1.55rem;color:var(--gold);line-height:1}
.facts-lbl{font-size:.6rem;color:var(--gold);opacity:.8;letter-spacing:.16em;text-transform:uppercase;margin-top:.45rem;white-space:nowrap}

/* START: Gallery strip */
.gallery-strip{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;grid-template-rows:240px;gap:3px;margin-top:3px}
.gs-item{overflow:hidden;cursor:pointer;position:relative}
.gs-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.gs-item:hover img{transform:scale(1.05)}
.gs-item::after{content:'';position:absolute;inset:0;background:rgba(30,24,18,0);transition:.3s}
.gs-item:hover::after{background:rgba(30,24,18,.2)}
.gs-lbl{position:absolute;bottom:0;left:0;right:0;padding:.7rem 1rem;font-size:.67rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(253,250,245,.9);background:linear-gradient(to top,rgba(30,24,18,.7),transparent);opacity:0;transition:.3s;font-family:'DM Sans',sans-serif;z-index:1}
.gs-item:hover .gs-lbl{opacity:1}

/* START: Quick booking CTA */
.start-cta{background:var(--ink);padding:3.5rem 3rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.start-cta-left h2{font-size:2rem;font-weight:300;color:#fff;margin-bottom:.5rem}
.start-cta-left h2 em{font-style:italic;color:var(--gold)}
.start-cta-left p{font-size:.85rem;color:rgba(255,255,255,.48);line-height:1.7}
.start-cta-btns{display:flex;gap:.9rem;flex-wrap:wrap}

/* Availability bar — glass overlay on hero bottom */
.avail-bar{position:relative;z-index:10;margin-top:-64px;background:rgba(8,14,11,.80);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:none;border-top:1px solid rgba(184,146,74,.22)}
.avail-inner{display:flex;align-items:stretch;max-width:100%}
.avf{flex:1;min-width:120px;padding:1rem 1.5rem;border-right:1px solid rgba(255,255,255,.08);transition:background .15s;cursor:pointer}
.avf:hover{background:rgba(255,255,255,.04)}
.avf label{display:block;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.3rem;cursor:pointer}
.avf input,.avf select{background:none;border:none;outline:none;width:100%;color:rgba(255,255,255,.88);font-family:'DM Sans',sans-serif;font-size:.86rem;cursor:pointer}
.avf input::placeholder{color:rgba(255,255,255,.35)}
.avf input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(1) opacity(.45);cursor:pointer}
.avf select option{background:#0f1a15}
.avbar-btn{background:var(--gold);border:none;padding:0 2rem;color:var(--ink);font-family:'DM Sans',sans-serif;font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;transition:background .2s;white-space:nowrap;font-weight:700}
.avbar-btn:hover{background:var(--gold2)}

/* ═══════════════════════════════════════
   PAGE: BUCHEN
═══════════════════════════════════════ */
#page-buchen{padding:3rem 0 5rem}
.book-wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:4rem;align-items:start}
.price-stack{display:flex;flex-direction:column;gap:.8rem;margin-top:2.5rem}
.pc{padding:1.4rem 1.5rem;border-radius:8px;border:1.5px solid var(--b3);position:relative;transition:border-color .2s}
.pc:hover{border-color:var(--b4)}.pc.hot{border-color:var(--teal)}
.pc-badge{position:absolute;top:-11px;left:1.2rem;background:var(--teal);color:#fff;font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;padding:3px 9px;border-radius:3px}
.pc-season{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin-bottom:.4rem}
.pc-price{font-family:'Cormorant Garamond',serif;font-size:2.4rem;font-weight:300;color:var(--ink);line-height:1}
.pc-price span{font-size:.95rem;color:var(--ink3)}
.pc-detail{font-size:.76rem;color:var(--ink3);margin-top:.3rem}
.pc-inc{font-size:.74rem;color:var(--teal);margin-top:.6rem}
.book-form{background:var(--b1);border-radius:12px;padding:2.4rem;border:1px solid var(--b3)}
.book-form h3{font-size:1.6rem;color:var(--ink);font-weight:400;margin-bottom:.35rem}
.book-form>p{font-size:.82rem;color:var(--ink3);margin-bottom:1.8rem}

/* Calendar */
.cal-wrap{margin-bottom:1.4rem;border:1.5px solid var(--b3);border-radius:10px;overflow:hidden;background:var(--b0)}
.cal-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.1rem;background:var(--teal);color:#fff}
.cal-nav{background:rgba(255,255,255,.15);border:none;color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:1.1rem;transition:background .2s;display:flex;align-items:center;justify-content:center;line-height:1}
.cal-nav:hover{background:rgba(255,255,255,.28)}
.cal-months{display:flex;gap:2rem}
.cal-month-label{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:400;letter-spacing:.06em;text-align:center}
.cal-grids{display:grid;grid-template-columns:1fr 1fr;padding:.7rem}
.cal-grid{padding:.35rem .55rem}
.cal-dow{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:3px}
.cal-dow span{font-size:.56rem;color:var(--b4);text-align:center;padding:.15rem 0;letter-spacing:.04em}
.cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.71rem;border-radius:5px;cursor:pointer;border:1.5px solid transparent;transition:all .15s;color:var(--ink2);background:var(--b0);position:relative;-webkit-user-select:none;user-select:none;min-width:28px;min-height:28px}
.cal-day:hover:not(.past):not(.booked):not(.empty){background:var(--teal3);border-color:var(--teal);color:var(--teal)}
.cal-day.past{color:var(--b4);background:var(--b1);cursor:default}
.cal-day.booked{background:#fde8e8;border-color:#e8b4b4;color:#c97070;cursor:not-allowed}
.cal-day.selected-start,.cal-day.selected-end{background:var(--teal)!important;color:#fff!important;border-color:var(--teal2)!important;font-weight:600;z-index:1}
.cal-day.in-range{background:var(--teal3);border-color:rgba(42,107,107,.15);color:var(--teal2)}
.cal-day.today{border-color:var(--gold);font-weight:600;color:var(--gold2)}
.cal-day.empty{cursor:default;background:transparent;border:none}
.cal-selection{display:flex;align-items:center;gap:.7rem;padding:.75rem 1.1rem;background:var(--b1);border-top:1px solid var(--b3);flex-wrap:wrap}
.cal-sel-item{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:75px}
.cal-sel-label{font-size:.56rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ink3)}
.cal-sel-val{font-family:'Cormorant Garamond',serif;font-size:1rem;color:var(--ink);font-weight:400}
.cal-sel-arrow{color:var(--teal);font-size:1rem;flex-shrink:0}
.cal-sel-nights{background:var(--teal);color:#fff;font-size:.68rem;padding:.25rem .7rem;border-radius:20px;white-space:nowrap;margin-left:auto}
.cal-legend{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem;margin-bottom:.5rem}
.cal-leg-item{display:flex;align-items:center;gap:.4rem;font-size:.7rem;color:var(--ink3)}
.cal-leg-dot{width:13px;height:13px;border-radius:3px;flex-shrink:0}

.price-calc{background:var(--b0);border-radius:6px;padding:.9rem 1.1rem;margin-bottom:1.1rem;border:1px solid var(--b3)}
.pc-row{display:flex;justify-content:space-between;padding:.3rem 0;font-size:.81rem;color:var(--ink3)}
.pc-row.tot{color:var(--ink);font-weight:500;border-top:1px solid var(--b3);margin-top:.25rem;padding-top:.5rem;font-size:.9rem}
.btn-book{width:100%;padding:1rem;background:var(--teal);color:#fff;border:none;border-radius:6px;font-family:'DM Sans',sans-serif;font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;font-weight:500;cursor:pointer;transition:background .2s,transform .15s}
.btn-book:hover{background:var(--teal2);transform:translateY(-1px)}
.book-trust{display:flex;gap:.5rem;align-items:center;margin-top:.85rem;font-size:.68rem;color:var(--ink3);justify-content:center;flex-wrap:wrap}

/* Promise */
.am-promise{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(42,107,107,.1);margin-top:3rem;border-radius:8px;overflow:hidden}
.am-promise-item{background:var(--b0);padding:2rem 2.2rem;display:flex;align-items:center;gap:1.2rem;transition:background .2s}
.am-promise-item:hover{background:var(--teal3)}
.am-promise-num{font-family:'Cormorant Garamond',serif;font-size:2.6rem;font-weight:300;color:var(--teal);line-height:1;opacity:.55;flex-shrink:0}
.am-promise-txt h5{font-size:.78rem;color:var(--ink);font-weight:500;margin-bottom:.2rem;letter-spacing:.06em;text-transform:uppercase}
.am-promise-txt p{font-size:.72rem;color:var(--ink3);line-height:1.5}

/* ═══════════════════════════════════════
   PAGE: RESTAURANTS / AKTIVITÄTEN / STRÄNDE / EINKAUFEN
═══════════════════════════════════════ */
.listing-page{padding:2.5rem 0 5rem}
.listing-hero{padding:2.5rem 2rem 2rem;background:linear-gradient(to right,var(--b1),var(--b0));border-bottom:1px solid var(--b3);margin-bottom:0}
.listing-hero-inner{max-width:1200px;margin:0 auto;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.listing-filter{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.4rem}
.rf-btn{padding:.44rem 1.1rem;border-radius:30px;border:1.5px solid var(--b3);background:transparent;color:var(--ink3);font-family:'DM Sans',sans-serif;font-size:.71rem;cursor:pointer;transition:all .2s;letter-spacing:.04em}
.rf-btn:hover,.rf-btn.on{background:var(--teal);color:#fff;border-color:var(--teal)}
.listing-note{max-width:340px;font-size:.8rem;color:var(--ink3);line-height:1.8;padding:1.4rem 1.6rem;border:1px solid var(--b3);border-radius:8px;background:var(--b0)}
.listing-note strong{color:var(--teal);font-weight:500}

.listing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;padding:2rem 2rem 0;max-width:1200px;margin:0 auto;}
.tile-card{background:var(--b0);border-radius:14px;border:1.5px solid var(--b3);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s,border-color .25s;cursor:pointer;}
.tile-card:hover{transform:translateY(-5px);box-shadow:0 18px 52px rgba(30,24,18,.13);border-color:var(--teal);}
.tile-img-wrap{position:relative;overflow:hidden;flex-shrink:0;height:210px}
.tile-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease}
.tile-card:hover .tile-img{transform:scale(1.07)}
.tile-badge{position:absolute;top:.75rem;left:.75rem;background:rgba(22,17,10,.72);backdrop-filter:blur(6px);color:#fff;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border-radius:20px;border:1px solid rgba(255,255,255,.12);white-space:nowrap;}
.tile-badge.gold{background:rgba(184,146,74,.88)}
.tile-dist{position:absolute;top:.75rem;right:.75rem;background:rgba(22,17,10,.62);backdrop-filter:blur(6px);color:rgba(255,255,255,.88);font-size:.6rem;padding:3px 9px;border-radius:20px;border:1px solid rgba(255,255,255,.1);white-space:nowrap;}
.tile-body{padding:1.1rem 1.25rem 1.25rem;flex:1;display:flex;flex-direction:column;gap:.45rem}
.tile-name{font-family:'Cormorant Garamond',serif;font-size:1.18rem;font-weight:400;color:var(--ink);line-height:1.2}
.tile-cuisine{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--teal)}
.tile-stars{display:flex;align-items:center;gap:.45rem}
.tile-stars-val{color:var(--gold);font-size:.76rem;letter-spacing:1px}
.tile-stars-count{font-size:.67rem;color:var(--ink3)}
.tile-tags{display:flex;gap:.35rem;flex-wrap:wrap}
.tile-tag{font-size:.6rem;background:var(--teal3);color:var(--teal2);padding:2px 8px;border-radius:3px;letter-spacing:.06em;border:1px solid rgba(42,107,107,.12)}
.tile-desc{font-size:.79rem;color:var(--ink3);line-height:1.65;flex:1}
.tile-special{font-size:.71rem;color:var(--gold2);font-style:italic;background:var(--gold3);border:1px solid rgba(184,146,74,.18);border-radius:4px;padding:.4rem .8rem;line-height:1.5}
.tile-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--b2);padding-top:.75rem;margin-top:.2rem;flex-wrap:wrap;gap:.4rem;}
.tile-addr{font-size:.67rem;color:var(--ink3);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tile-maps{font-size:.67rem;color:var(--teal);text-decoration:none;white-space:nowrap;font-weight:500;transition:color .15s;}
.tile-maps:hover{color:var(--teal2)}
.tile-price{display:flex;gap:1px;flex-shrink:0}
.tile-price span{font-size:.72rem;color:var(--gold)}
.tile-price span.off{opacity:.22}

/* ═══════════════════════════════════════
   PAGE: LAGE
═══════════════════════════════════════ */
#page-lage{padding:3rem 0 5rem}
.loc-wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:4rem;align-items:start}
.loc-facts{margin-top:2.2rem;display:flex;flex-direction:column;gap:1.2rem}
.loc-item{display:flex;gap:.9rem}
.loc-mark{width:30px;height:30px;border-radius:50%;background:var(--teal3);border:1.5px solid var(--teal);display:flex;align-items:center;justify-content:center;font-size:.72rem;flex-shrink:0;margin-top:2px}
.loc-item h4{font-size:.86rem;font-weight:500;color:var(--ink);margin-bottom:.15rem}
.loc-item p{font-size:.79rem;color:var(--ink3);line-height:1.58}
.map-box{border-radius:12px;overflow:hidden;box-shadow:0 10px 36px rgba(30,24,18,.1)}
.map-box iframe{display:block;width:100%;height:420px;border:none}
.map-pins{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.9rem}
.map-pin-btn{display:flex;align-items:center;gap:.45rem;padding:.38rem .85rem;border-radius:20px;background:var(--b0);border:1px solid var(--b3);font-size:.7rem;color:var(--ink3);cursor:pointer;transition:all .2s;font-family:'DM Sans',sans-serif;text-decoration:none}
.map-pin-btn:hover{background:var(--teal3);border-color:var(--teal);color:var(--teal)}
.map-pin-btn .pin-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}

/* Host section in Lage */
.host-card{background:var(--b1);border-radius:12px;border:1px solid var(--b3);padding:2.4rem;margin-top:3rem;display:grid;grid-template-columns:auto 1fr;gap:2.5rem;align-items:center}
.host-avatar{width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,var(--teal) 0%,var(--teal2) 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:300;color:#fff;flex-shrink:0;box-shadow:0 6px 24px rgba(42,107,107,.25);line-height:1.3;letter-spacing:.05em}
.host-name-gold{font-family:'Cormorant Garamond',serif;font-size:1.9rem;font-weight:300;color:var(--gold);letter-spacing:.03em}
.host-name-sep{font-family:'Cormorant Garamond',serif;font-size:1.9rem;color:var(--b4);font-style:italic;font-weight:300}
.host-info p{font-size:.86rem;color:var(--ink3);line-height:1.8;margin-top:.8rem}
.host-badges{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}
.hbadge{font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;background:var(--teal3);color:var(--teal2);padding:3px 10px;border-radius:4px;border:1px solid rgba(42,107,107,.18)}

/* ═══════════════════════════════════════
   PAGE: AUSSTATTUNG (3D + Amenities)
═══════════════════════════════════════ */
#page-ausstattung{padding:3rem 0 5rem}
.viewer-wrap{display:grid;grid-template-columns:1fr 1.6fr;gap:4rem;align-items:start;margin-bottom:4rem}
.viewer-canvas-box{border-radius:10px;overflow:hidden;box-shadow:0 20px 56px rgba(30,24,18,.14)}
#c3d{width:100%;height:480px;display:block;background:#BFE0F2;cursor:grab}
#c3d:active{cursor:grabbing}
.vctrl{display:flex;gap:5px;padding:9px 11px;background:var(--b2);flex-wrap:wrap;align-items:center}
.vbtn{padding:4px 12px;border-radius:4px;border:none;background:transparent;color:var(--ink3);font-family:'DM Sans',sans-serif;font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:all .15s}
.vbtn:hover{color:var(--ink)}.vbtn.on{background:var(--teal);color:#fff}
.vhint{font-size:.63rem;color:var(--ink3);margin-left:auto}
.viewer-feats{display:flex;flex-direction:column;gap:1.4rem;margin-top:0}
.vfeat{display:flex;gap:1rem;align-items:flex-start}
.vfeat-dot{width:32px;height:32px;border-radius:50%;flex-shrink:0;background:var(--teal3);border:1.5px solid var(--teal);display:flex;align-items:center;justify-content:center;font-size:.9rem}
.vfeat h4{font-size:.88rem;font-weight:500;color:var(--ink);margin-bottom:.15rem}
.vfeat p{font-size:.79rem;color:var(--ink3);line-height:1.58}

/* Amenities grid */
.am-section-title{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);margin-bottom:1.2rem;display:flex;align-items:center;gap:.6rem}
.am-section-title::after{content:'';flex:1;height:1px;background:var(--b3)}
.am-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5px;background:var(--b3);border-radius:8px;overflow:hidden;margin-bottom:3rem}
.am-cell{background:var(--b0);padding:1.7rem 1.5rem;transition:background .2s;position:relative}
.am-cell:hover{background:var(--teal3)}
.am-cell::before{content:'';position:absolute;top:0;left:0;width:2px;height:0;background:var(--teal);transition:height .25s}
.am-cell:hover::before{height:100%}
.am-cell-wrap{width:34px;height:34px;border-radius:50%;border:1px solid rgba(42,107,107,.2);display:flex;align-items:center;justify-content:center;margin-bottom:.7rem;background:var(--teal3);transition:border-color .2s,background .2s}
.am-cell:hover .am-cell-wrap{border-color:rgba(42,107,107,.35);background:rgba(42,107,107,.1)}
.am-cell-wrap svg{width:15px;height:15px;stroke:var(--teal);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.am-cell h4{font-size:.82rem;color:var(--ink2);font-weight:400;margin-bottom:.22rem}
.am-cell p{font-size:.71rem;color:var(--ink3);line-height:1.52}

/* Featured */
.am-featured{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:1.5px;background:var(--b3);border-radius:8px;overflow:hidden;margin-bottom:1.5px}
.am-feat-main{background:linear-gradient(145deg,var(--teal3) 0%,var(--b0) 100%);border:1px solid rgba(42,107,107,.18);padding:2.8rem 2.5rem;display:flex;flex-direction:column;justify-content:flex-end;min-height:280px;position:relative;overflow:hidden}
.am-feat-main::before{content:'';position:absolute;top:-20px;right:-20px;width:160px;height:160px;background:radial-gradient(circle,rgba(42,107,107,.07) 0%,transparent 65%)}
.am-feat-main h3{font-family:'Cormorant Garamond',serif;font-size:1.9rem;font-weight:300;color:var(--ink);margin-bottom:.6rem}
.am-feat-main p{font-size:.82rem;color:var(--ink3);line-height:1.72;max-width:290px}
.am-feat-main .am-tag{display:inline-flex;align-items:center;gap:.4rem;background:var(--teal3);border:1px solid rgba(42,107,107,.2);color:var(--teal2);font-size:.61rem;letter-spacing:.13em;text-transform:uppercase;padding:4px 11px;border-radius:3px;margin-top:1.3rem;align-self:flex-start}
.am-feat-main .am-ic-big{width:48px;height:48px;border-radius:50%;border:1px solid rgba(42,107,107,.25);display:flex;align-items:center;justify-content:center;margin-bottom:1.6rem;background:var(--teal3)}
.am-feat-main .am-ic-big svg{width:22px;height:22px;stroke:var(--teal);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.am-feat-side{display:flex;flex-direction:column;gap:1.5px}
.am-feat-card{flex:1;background:var(--b0);padding:2rem 1.8rem;display:flex;flex-direction:column;justify-content:space-between;transition:background .2s;border:none;position:relative;overflow:hidden}
.am-feat-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(to right,var(--teal),transparent);transform:scaleX(0);transform-origin:left;transition:transform .28s}
.am-feat-card:hover{background:var(--teal3)}
.am-feat-card:hover::after{transform:scaleX(1)}
.am-feat-card .am-ic{width:38px;height:38px;border-radius:50%;border:1px solid rgba(42,107,107,.18);display:flex;align-items:center;justify-content:center;margin-bottom:.9rem;background:var(--teal3);flex-shrink:0}
.am-feat-card .am-ic svg{width:16px;height:16px;stroke:var(--teal);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.am-feat-card h4{font-size:.92rem;color:var(--ink);font-weight:400;margin-bottom:.3rem}
.am-feat-card p{font-size:.74rem;color:var(--ink3);line-height:1.58}

/* ═══════════════════════════════════════
   GUESTBOOK
═══════════════════════════════════════ */
.rev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.3rem;margin-top:2.5rem}
.rev{background:var(--b0);border-radius:14px;padding:2.2rem;border:1px solid var(--b3);position:relative;overflow:hidden;transition:box-shadow .25s,transform .2s}
.rev:hover{box-shadow:0 8px 32px rgba(42,107,107,.1);transform:translateY(-2px)}
.rev::before{content:'\201C';position:absolute;top:.6rem;right:1.4rem;font-family:'Cormorant Garamond',serif;font-size:5.5rem;color:var(--gold);opacity:.10;line-height:1;pointer-events:none}
.rev-stars{color:var(--gold);font-size:.86rem;margin-bottom:1rem;letter-spacing:3px}
.rev-txt{font-family:'Cormorant Garamond',serif;font-size:1.08rem;font-style:italic;color:var(--ink2);line-height:1.82;margin-bottom:1.4rem}
.rev-auth{display:flex;align-items:center;gap:.75rem}
.rev-av{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--teal2));display:flex;align-items:center;justify-content:center;color:#fff;font-size:.76rem;font-weight:500;flex-shrink:0}
.rev-name{font-size:.83rem;font-weight:500;color:var(--ink)}.rev-date{font-size:.71rem;color:var(--ink3)}
.rev-score{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(135deg,var(--teal3),rgba(42,107,107,.08));color:var(--teal2);font-size:.65rem;font-weight:600;padding:3px 9px;border-radius:20px;margin-left:auto;border:1px solid rgba(42,107,107,.15)}

/* Review form */
.review-form-wrap{background:var(--b1);border-radius:16px;border:1px solid var(--b3);overflow:hidden;margin-top:3rem}
.review-form-header{padding:1.8rem 2rem 1.4rem;border-bottom:1px solid var(--b2)}
.review-form-header h3{font-size:1.5rem;font-weight:300;color:var(--ink);margin-bottom:.3rem;font-family:'Cormorant Garamond',serif}
.review-form-header p{font-size:.8rem;color:var(--ink3)}
.review-form-body{padding:1.6rem 2rem}
.review-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-bottom:.9rem}
.star-rating-wrap{margin-bottom:1.4rem}
.star-rating-label{font-size:.63rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ink3);margin-bottom:.45rem}
.star-rating{display:flex;gap:.28rem}
.star{font-size:1.9rem;color:var(--b3);cursor:pointer;transition:color .15s;line-height:1}
.star.active{color:var(--gold)}
.review-form-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.9rem;margin-top:1.1rem}
.review-form-note{font-size:.73rem;color:var(--ink3);font-style:italic;max-width:320px}

/* ═══════════════════════════════════════
   LIGHTBOX
═══════════════════════════════════════ */
#lb{display:none;position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.93);align-items:center;justify-content:center}
#lb.open{display:flex}#lb img{max-width:92vw;max-height:92vh;object-fit:contain;border-radius:4px}
#lb-x{position:absolute;top:1.4rem;right:1.8rem;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;opacity:.7}
#lb-x:hover{opacity:1}

/* ═══════════════════════════════════════
   MODAL
═══════════════════════════════════════ */
#modal{display:none;position:fixed;inset:0;z-index:9998;background:rgba(0,0,0,.65);align-items:center;justify-content:center;padding:2rem}
#modal.open{display:flex}
.modal-box{background:var(--b0);border-radius:10px;max-width:560px;width:100%;padding:2.6rem;text-align:center;position:relative;animation:risein .28s ease;max-height:82vh;overflow-y:auto}
.modal-box h3{font-size:1.8rem;color:var(--ink);margin-bottom:.45rem}
.modal-box p{color:var(--ink3);font-size:.87rem;line-height:1.7;margin-bottom:1.4rem}
.modal-close{position:absolute;top:.9rem;right:1.2rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--b4)}
.modal-ic{font-size:2.6rem;margin-bottom:.9rem}

/* ═══════════════════════════════════════
   FOOTER
═══════════════════════════════════════ */
footer{background:var(--b2);padding:3.6rem 2.5rem 1.8rem;border-top:1px solid var(--b3)}
.ft-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.7fr 1fr 1.1fr;gap:2.5rem;padding-bottom:2.2rem;border-bottom:1px solid var(--b3)}
.ft-logo{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:300;color:var(--ink);letter-spacing:.13em}
.ft-logo span{color:var(--teal);font-style:italic}
.ft-tag{margin-top:.7rem;font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink3)}
.ft-h{font-family:'DM Sans',sans-serif;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold2);margin-bottom:1.1rem;font-weight:500}
.ft-links{display:flex;flex-direction:column;gap:.65rem;list-style:none}
.ft-links a{color:var(--ink3);font-size:.8rem;text-decoration:none;letter-spacing:.03em;cursor:pointer;transition:color .2s}
.ft-links a:hover{color:var(--teal)}
.ft-bottom{max-width:1200px;margin:1.5rem auto 0;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.ft-legal{display:flex;gap:1.5rem}
.ft-legal a{color:var(--ink3);font-size:.7rem;text-decoration:none;cursor:pointer;letter-spacing:.05em;transition:color .2s}
.ft-legal a:hover{color:var(--teal)}
.ft-copy{color:var(--ink3);font-size:.7rem}

/* ═══════════════════════════════════════
   SECTION SEPARATOR
═══════════════════════════════════════ */
.section-sep{display:flex;align-items:center;justify-content:center;padding:.6rem 2rem;gap:1rem}
.section-sep::before,.section-sep::after{content:'';flex:1;height:1px;background:linear-gradient(to right,transparent,var(--b3),transparent)}
.section-sep{padding:1.4rem 2rem;gap:1.2rem}
.section-sep-icon{font-size:0;flex-shrink:0;line-height:1}
.section-sep-icon::after{content:'V';font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.2rem;line-height:1;color:var(--gold);opacity:.72;letter-spacing:0}
.section-sep::before,.section-sep::after{background:linear-gradient(to right,transparent,var(--b4),transparent)}

/* iOS Safe Area (iPhone X+, Notch) */
.device-ios #mob-tabbar{padding-bottom:env(safe-area-inset-bottom)}
.device-ios #content{margin-bottom:calc(58px + env(safe-area-inset-bottom))}


/* ═══════════════════════════════════════
   MOBILE HAMBURGER
═══════════════════════════════════════ */flex-direction:column;gap:4px;cursor:pointer;background:none;border:none;padding:.35rem}
.mob-menu-btn span{display:block;width:20px;height:1.5px;background:#fff;border-radius:2px;transition:all .28s}
.mob-menu-open .mob-menu-btn span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}
.mob-menu-open .mob-menu-btn span:nth-child(2){opacity:0}
.mob-menu-open .mob-menu-btn span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}

/* ═══════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════ */
/* ═══════════════════════════════════════
   TABLET / iPad (768–1024px)
═══════════════════════════════════════ */
@media(min-width:768px) and (max-width:1024px){
  #topnav{padding:0 1.8rem}
  #tabbar{overflow-x:auto}
  .tab{padding:0 1rem;font-size:.7rem}
  .container{padding:0 1.6rem}
  .book-wrap,.loc-wrap,.viewer-wrap{grid-template-columns:1fr;gap:2.5rem}
  .hero-wrap{height:110vh}
  .hero-content{padding:0 2rem 3.5rem;max-width:100%}
  .hero-pills{right:2rem;bottom:3.5rem}
  .hl-grid{grid-template-columns:repeat(2,1fr)}
  .gallery-strip{grid-template-columns:1fr 1fr;grid-template-rows:200px 200px}
  .am-featured{grid-template-columns:1fr 1fr}
  .am-feat-side{flex-direction:column}
  .am-grid{grid-template-columns:repeat(3,1fr)}
  .am-promise{grid-template-columns:repeat(3,1fr)}
  .listing-hero-inner{flex-direction:column;gap:1.5rem}
  .listing-note{max-width:100%}
  .listing-grid{grid-template-columns:repeat(2,1fr)}
  #mob-tabbar{display:none}
  .start-cta{padding:2.5rem 2rem}
  .frow{grid-template-columns:1fr}
  #page-ueber-uns .container > div[style*="grid-template-columns:auto"]{grid-template-columns:1fr;text-align:center}
  #page-ueber-uns .host-avatar{margin:0 auto}
  .map-box iframe{height:320px}
}

/* ═══════════════════════════════════════
   LARGE DESKTOP (>1400px)
═══════════════════════════════════════ */
@media(min-width:1400px){
  .container{max-width:1340px}
  .tab{padding:0 1.8rem;font-size:.78rem}
}
@media(max-width:900px){
  .facts-item{padding:1.3rem .8rem}
  .facts-num{font-size:2rem}
  .facts-lbl{letter-spacing:.1em}
  .listing-grid{grid-template-columns:repeat(2,1fr)}
  .book-wrap,.loc-wrap,.viewer-wrap{grid-template-columns:1fr;gap:2.5rem}
  .am-featured{grid-template-columns:1fr 1fr}
  .am-grid{grid-template-columns:repeat(3,1fr)}
  .am-promise{grid-template-columns:1fr 1fr}
  .host-card{grid-template-columns:1fr;text-align:center}
  .host-avatar{margin:0 auto}
  .host-badges{justify-content:center}
}
@media(max-width:767px){
  #topnav{padding:0 1rem;height:52px}
  .nav-logo-top{font-size:1rem;letter-spacing:.1em}
  .nav-logo-sub{display:none !important}
  .nav-phone{display:none !important}
  .nav-live{display:none !important}
  .mob-menu-btn{display:none !important}
  #tabbar{display:none !important}
  #mob-tabbar{display:flex !important;position:fixed;bottom:0;left:0;right:0;z-index:9999;height:58px;background:var(--b0);border-top:1px solid var(--b3);align-items:stretch;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
  #mob-tabbar::-webkit-scrollbar{display:none}
  .mob-tab{flex:0 0 auto;min-width:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:.55rem;letter-spacing:.04em;color:var(--ink3);cursor:pointer;border:none;background:none;font-family:'DM Sans',sans-serif;border-top:2px solid transparent;transition:color .2s,border-color .2s;padding:0 .6rem;white-space:nowrap;}
  .mob-tab .tab-icon{width:18px;height:18px}
  .mob-tab.active{color:var(--teal);border-top-color:var(--teal)}
  #content{margin-top:52px !important;margin-bottom:58px !important;min-height:calc(100vh - 110px) !important}
  .hero-wrap{height:calc(100svh - 110px);min-height:400px}
  .hero-content{padding:0 1.2rem 2rem;max-width:100%}
  .hero-h1{font-size:clamp(3rem,11vw,5rem)}
  .hero-tagline{font-size:.92rem;max-width:100%;margin-bottom:1.4rem}
  .hero-btns{flex-direction:column;gap:.5rem}
  .btn-solid,.btn-ghost{width:100%;text-align:center;padding:.85rem 1.5rem}
  .hero-pills{display:none !important}
  .avail-bar{margin-top:0;border-top:none}
  .avail-inner{flex-direction:column}
  .avf{border-right:none;border-bottom:1px solid rgba(255,255,255,.08);padding:.75rem 1.1rem}
  .avbar-btn{padding:.9rem;text-align:center;width:100%}
  .hl-grid{grid-template-columns:1fr 1fr}
  .hl-card{padding:1.4rem 1rem}
  .hl-num{font-size:2.2rem;margin-bottom:1rem}
  .facts-bar{flex-wrap:wrap}
  .facts-item{flex:0 0 50%;padding:1.4rem 1rem}
  .facts-div{display:none}
  .facts-item:nth-child(5){border-top:1px solid var(--b3)}
  .facts-item:nth-child(9){border-top:1px solid var(--b3);flex:0 0 100%}
  .start-cta{padding:2rem 1.2rem;flex-direction:column;gap:1.2rem}
  .start-cta-btns{flex-direction:column;gap:.6rem;width:100%}
  .start-cta-btns .btn-solid,.start-cta-btns .btn-ghost{width:100%;text-align:center}
  .am-featured{grid-template-columns:1fr}
  .am-feat-side{flex-direction:row;gap:1.5px}
  .am-grid{grid-template-columns:repeat(2,1fr)}
  .am-promise{grid-template-columns:1fr}
  .book-wrap{grid-template-columns:1fr;gap:2rem}
  .book-form{padding:1.4rem 1.2rem}
  .frow{grid-template-columns:1fr}
  .cal-grids{grid-template-columns:1fr}
  .cal-grids .cal-grid:last-child{display:none}
  .cal-months .cal-month-label:last-child{display:none}
  .listing-hero{padding:1.4rem 1.1rem 1.2rem}
  .listing-hero-inner{flex-direction:column;gap:1.2rem}
  .listing-note{max-width:100%}
  .listing-grid{padding:1rem 1.1rem 0}

  .listing-grid{grid-template-columns:1fr;padding:1.2rem 1rem 0}
  .tile-img-wrap{height:190px}
  .loc-wrap{grid-template-columns:1fr;gap:2rem}
  .map-box iframe{height:240px}
  #page-ueber-uns .container > div[style*="grid-template-columns:auto"]{grid-template-columns:1fr !important;text-align:center}
  #page-ueber-uns .host-avatar{margin:0 auto}
  #page-ueber-uns div[style*="grid-template-columns:repeat(3"]{grid-template-columns:1fr !important}
  .review-form-grid{grid-template-columns:1fr}
  .review-form-body,.review-form-header{padding:1.2rem}
  footer{padding:1.6rem 1.1rem}
  .ft-grid{grid-template-columns:1fr;gap:1.8rem;text-align:left}
  .ft-bottom{flex-direction:column;align-items:flex-start;gap:.6rem}
  .container{padding:0 1.1rem}
  .host-card{padding:1.4rem;gap:1.3rem}
}

@media(max-width:480px){
  .hl-grid{grid-template-columns:1fr}
  .facts-item{flex:0 0 100%;border-top:1px solid var(--b3)}
  .facts-item:first-child{border-top:none}
  .am-feat-side{flex-direction:column}
  .am-grid{grid-template-columns:1fr 1fr}
  .gallery-strip{grid-template-columns:1fr}
  .gallery-strip{grid-template-rows:160px 140px 140px 140px}
}

/* ═══════════════════════════════════════
   SPECIAL FX
═══════════════════════════════════════ */
/* Preloader mit Vorhang-Reveal */
#preloader{position:fixed;inset:0;z-index:99999;pointer-events:none}
#preloader .pre-panel-top,#preloader .pre-panel-bot{position:absolute;left:0;right:0;height:51%;background:var(--ink);transition:transform 2.9s cubic-bezier(.36,.02,.2,1) .55s, opacity 2.2s ease .7s}
#preloader .pre-panel-top{top:0}
#preloader .pre-panel-bot{bottom:0}
#preloader .pre-mark{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);text-align:center;font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(1.7rem,5vw,3.2rem);letter-spacing:.14em;color:#fff;opacity:0;animation:preIn 1.4s ease .2s forwards;transition:opacity .55s ease}
#preloader .pre-mark em{font-style:italic;color:var(--gold);background:linear-gradient(100deg,var(--gold) 40%,#fff4d6 50%,var(--gold) 60%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;background-size:250% 100%;background-position:120% 0;animation:preShimmer 1.4s ease 1.1s 1 both}
#preloader .pre-mark .soli{background:linear-gradient(100deg,var(--gold) 40%,#fff4d6 50%,var(--gold) 60%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;background-size:250% 100%;background-position:120% 0;animation:preShimmer 1.4s ease 1.1s 1 both}
@keyframes preIn{from{opacity:0;transform:translateY(-50%) translateY(16px)}to{opacity:1;transform:translateY(-50%)}}
@keyframes preShimmer{from{background-position:120% 0}to{background-position:-45% 0}}
body:not(.loaded) #preloader{pointer-events:all}
body.loaded #preloader .pre-panel-top{transform:translateY(-100%);opacity:0}
body.loaded #preloader .pre-panel-bot{transform:translateY(100%);opacity:0}
body.loaded #preloader .pre-mark{animation:none;opacity:0;transition:opacity .6s ease}

/* Hero-Intro erst nach dem Laden abspielen */
.hero-eyebrow,.hero-title-block,.hero-rule,.hero-content,.hero-scroll-hint{animation-play-state:paused}
body.loaded .hero-eyebrow,body.loaded .hero-title-block,body.loaded .hero-rule,body.loaded .hero-content,body.loaded .hero-scroll-hint{animation-play-state:running}

/* Maus-Spotlight */
#fx-spotlight{position:fixed;inset:0;z-index:8500;pointer-events:none;opacity:0;transition:opacity .5s ease;background:radial-gradient(300px circle at var(--mx,50%) var(--my,50%),rgba(212,172,92,.15),rgba(212,172,92,.04) 45%,transparent 70%);mix-blend-mode:screen}

/* Filmkorn */
#fx-grain{position:fixed;inset:0;z-index:8600;pointer-events:none;opacity:.055;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:130px 130px}

/* Hero-Lichtebenen */
.hero-caustics{position:absolute;inset:-25%;z-index:2;pointer-events:none;opacity:.55;mix-blend-mode:soft-light;background:radial-gradient(55% 40% at 28% 22%,rgba(255,240,205,.6),transparent 62%),radial-gradient(50% 38% at 78% 68%,rgba(180,220,255,.45),transparent 60%),radial-gradient(40% 30% at 60% 45%,rgba(255,225,170,.35),transparent 60%);animation:caustics 30s ease-in-out infinite alternate;will-change:transform}
@keyframes caustics{0%{transform:translate(0,0) scale(1)}100%{transform:translate(3%,-2.5%) scale(1.1)}}
.hero-tod{position:absolute;inset:0;z-index:2;pointer-events:none;mix-blend-mode:soft-light;background:transparent;transition:background 2.5s ease}
.hero-vignette{position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(125% 95% at 50% 38%,transparent 52%,rgba(6,10,8,.55) 100%)}

/* Gold-Shimmer über dem Titel */
.hero-h1 em{background:linear-gradient(100deg,var(--gold) 40%,#fff4d6 50%,var(--gold) 60%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;background-size:250% 100%;background-position:120% 0;animation:goldSweep 10s ease-in-out 3.6s infinite}
@keyframes goldSweep{0%,16%{background-position:120% 0}58%,100%{background-position:-45% 0}}

/* Scroll-Choreografie */
[data-reveal]{opacity:0;transform:translateY(38px);transition:opacity 1.3s ease,transform 1.4s cubic-bezier(.22,1,.36,1);will-change:transform,opacity}
[data-reveal].in{opacity:1;transform:none}

/* Ruhige Variante */
@media (prefers-reduced-motion: reduce){
  #preloader{display:none !important}
  #fx-spotlight,#fx-grain,.hero-caustics{display:none !important}
  .hero-h1 em,.hero-h1 .soli{animation:none !important}
  [data-reveal]{opacity:1 !important;transform:none !important}
  .hero-eyebrow,.hero-rule,.hero-content,.hero-scroll-hint{animation:none !important;opacity:1 !important}
  .hero-title-block{animation:none !important;opacity:1 !important}
}
/* Mobil: Spotlight/Korn dezenter */
@media (max-width:640px){
  #fx-spotlight{display:none}
  #fx-grain{opacity:.04}
  .hero-caustics{opacity:.4}
}

/* ═══════════════════════════════════════
   BUCHEN FX
═══════════════════════════════════════ */
/* Ken-Burns im Buchen-Banner */
.book-hero-bg{will-change:transform;animation:heroKen 34s ease-in-out infinite alternate}

/* Premium-Preiskarten */
.price-stack .pc{background:var(--b0);transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s ease,border-color .35s ease}
.price-stack .pc:hover{transform:translateY(-6px);box-shadow:0 22px 46px -22px rgba(30,24,18,.42);border-color:var(--gold)}
.price-stack .pc .pc-price{transition:color .35s ease}
.price-stack .pc:hover .pc-price{color:var(--gold2)}
.pc.hot{border:1.5px solid transparent !important;background:linear-gradient(var(--b0),var(--b0)) padding-box,linear-gradient(135deg,var(--gold),var(--teal)) border-box;box-shadow:0 16px 44px -22px rgba(42,107,107,.5);animation:pcFloat 5.5s ease-in-out infinite}
.pc.hot:hover{transform:translateY(-6px);box-shadow:0 28px 54px -22px rgba(42,107,107,.55)}
.pc.hot .pc-badge{background:linear-gradient(120deg,var(--gold2),var(--gold));box-shadow:0 6px 16px -5px rgba(184,146,74,.65)}
@keyframes pcFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}

/* Formular: Tiefe + goldener Fokus-Ring */
.book-form{box-shadow:0 26px 64px -34px rgba(30,24,18,.5)}
.book-form input,.book-form textarea,.book-form select{transition:border-color .25s ease,box-shadow .25s ease}
.book-form input:focus,.book-form textarea:focus,.book-form select:focus{border-color:var(--teal) !important;box-shadow:0 0 0 3px var(--teal3);outline:none}

/* Buchen-Button: Licht-Sweep + Glow */
.btn-book{position:relative;overflow:hidden}
.btn-book::after{content:'';position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-20deg);transition:left .7s ease;pointer-events:none}
.btn-book:hover::after{left:130%}
.btn-book:hover{box-shadow:0 14px 34px -14px rgba(42,107,107,.65)}

/* Gesamtpreis pulsiert bei Änderung */
#pt{display:inline-block;will-change:transform}
#pt.bump{animation:ptBump .55s ease}
@keyframes ptBump{0%{transform:scale(1)}38%{transform:scale(1.16);color:var(--gold2)}100%{transform:scale(1)}}

/* Kalenderauswahl smoother */
.cal-day{transition:all .2s cubic-bezier(.22,1,.36,1)}
.cal-day.selected-start,.cal-day.selected-end{box-shadow:0 4px 12px -3px rgba(42,107,107,.55)}

/* Buchen: gestaffelte Reveals */
#page-buchen .book-form[data-reveal]{transition-delay:.18s}

/* ═══════════════════════════════════════
   EMPFEHLUNGEN FX
═══════════════════════════════════════ */
/* Kachel-Reveal – über die 'translate'-Eigenschaft, damit der Hover-transform frei bleibt */
.tile-reveal{opacity:0;translate:0 32px;transition:opacity .8s ease,translate .8s cubic-bezier(.22,1,.36,1)}
.tile-reveal.in{opacity:1;translate:0 0}
/* Edler Hover: Gold-Rahmen, tiefer Schatten, Bild-Zoom, Namensfarbe, 3D-Tilt */
.tile-card{transform-style:preserve-3d;will-change:transform}
.tile-card:hover{border-color:var(--gold);box-shadow:0 28px 62px -26px rgba(30,24,18,.4)}
.tile-name{transition:color .3s ease}
.tile-card:hover .tile-name{color:var(--gold2)}
.tile-img-wrap::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(18,12,6,.4),transparent 46%);opacity:.55;transition:opacity .45s ease}
.tile-card:hover .tile-img-wrap::after{opacity:.2}
/* Filter-Buttons aufgewertet */
.listing-filter .rf-btn{transition:all .3s cubic-bezier(.22,1,.36,1)}
.listing-filter .rf-btn:hover{background:transparent;color:var(--gold2);border-color:var(--gold);transform:translateY(-1px)}
.listing-filter .rf-btn.on{background:linear-gradient(120deg,var(--teal),var(--teal2));color:#fff;border-color:var(--teal);box-shadow:0 9px 22px -9px rgba(42,107,107,.55)}
.listing-filter .rf-btn.on:hover{color:#fff;border-color:var(--teal);transform:translateY(-1px)}
@media (prefers-reduced-motion: reduce){ .tile-reveal{opacity:1 !important;translate:none !important} }

/* ═══════════════════════════════════════
   EINHEITLICHE OPTIK (Radien, Schatten, Luft)
═══════════════════════════════════════ */
.pc,.tile-card,.book-form,.map-box,.listing-note,.section-card{border-radius:var(--radius)}
.pc,.listing-note{box-shadow:var(--shadow-soft)}
.price-calc{border-radius:var(--radius-sm)}
.listing-grid{gap:2rem}
.price-stack{gap:1rem}

/* ═══════ ICON-POLITUR (Etappe 2) ═══════ */
.facts-check svg{width:1.7rem;height:1.7rem;stroke:var(--teal);display:inline-block}
[data-t="empf_all"]::before,[data-t="empf_rest"]::before,[data-t="empf_akt"]::before,[data-t="empf_str"]::before,[data-t="empf_eink"]::before,[data-t="cta_book"]::before,[data-t="cta_loc"]::before{content:"";display:inline-block;width:1.05em;height:1.05em;margin-right:.5em;vertical-align:-.16em;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
[data-t="empf_all"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3C/svg%3E")}
[data-t="empf_rest"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 2v6a3 3 0 0 0 3 3v11'/%3E%3Cpath d='M6 2v6'/%3E%3Cpath d='M18 2c-1.7 0-3 2-3 5s1.3 4 3 4v11'/%3E%3C/svg%3E")}
[data-t="empf_akt"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 8c2.5 0 2.5 2 5 2s2.5-2 5-2 2.5 2 5 2 2.5-2 5-2'/%3E%3Cpath d='M2 14c2.5 0 2.5 2 5 2s2.5-2 5-2 2.5 2 5 2 2.5-2 5-2'/%3E%3C/svg%3E")}
[data-t="empf_str"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v18'/%3E%3Cpath d='M4 11a8 8 0 0 1 16 0z'/%3E%3C/svg%3E")}
[data-t="empf_eink"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1'/%3E%3Ccircle cx='19' cy='20' r='1'/%3E%3Cpath d='M2 3h3l2.4 12.2a1.5 1.5 0 0 0 1.5 1.2h8.5a1.5 1.5 0 0 0 1.5-1.2L22 7H6'/%3E%3C/svg%3E")}
[data-t="cta_book"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E")}
[data-t="cta_loc"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E")}

/* ═══════════════════════════════════════
   ÜBER-UNS FX
═══════════════════════════════════════ */
/* Gastgeberinnen-Avatar: rotierender Gold-Ring + sanftes Schweben */
#page-ueber-uns .host-avatar{position:relative;box-shadow:0 14px 44px -12px rgba(42,107,107,.45);animation:hostFloat 6s ease-in-out infinite}
#page-ueber-uns .host-avatar::before{content:"";position:absolute;inset:-6px;border-radius:50%;background:conic-gradient(from 0deg,var(--gold),var(--teal),var(--gold),var(--teal),var(--gold));z-index:-1;animation:hostRing 9s linear infinite}
@keyframes hostRing{to{transform:rotate(360deg)}}
@keyframes hostFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
/* Persönliche Signatur in Schreibschrift */
.host-signature{font-family:'Great Vibes',cursive;font-size:2.2rem;color:var(--gold);line-height:1.15;margin-top:1.3rem}
/* Werte-Karten: Hover-Politur */
.value-cell{transition:background .35s ease}
.value-cell:hover{background:var(--teal3) !important}
.value-ic{transition:transform .45s cubic-bezier(.22,1,.36,1),background .3s ease,border-color .3s ease}
.value-cell:hover .value-ic{transform:scale(1.12) rotate(-6deg);background:var(--teal) !important;border-color:var(--teal) !important}
.value-cell:hover .value-ic svg{stroke:#fff}
.value-cell h4{transition:color .3s ease}
.value-cell:hover h4{color:var(--teal)}

/* ═══════════════════════════════════════
   LAGE & KONTAKT FX
═══════════════════════════════════════ */
.loc-mark svg{width:15px;height:15px;stroke:var(--teal)}
.loc-mark{transition:background .3s ease,border-color .3s ease}
#page-lage a svg{stroke:var(--teal)}
/* Kontaktformular: Schatten + goldener Fokus-Ring */
.contact-card{box-shadow:var(--shadow-soft)}
.contact-card input:focus,.contact-card textarea:focus{border-color:var(--teal) !important;box-shadow:0 0 0 3px var(--teal3);outline:none}
/* Karten-Pins: sanftes Anheben */
.map-pin-btn{transition:transform .25s cubic-bezier(.22,1,.36,1),background .2s ease,border-color .2s ease,color .2s ease}
.map-pin-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px -10px rgba(30,24,18,.3)}
/* Karte: weicher Rahmen */
#page-lage .map-box{box-shadow:var(--shadow-soft)}

/* ═══════════════════════════════════════
   AUSSTATTUNG FX
═══════════════════════════════════════ */
/* 3D-Viewer: Rahmen, Glow, Etagen-Buttons */
.viewer-canvas-box{position:relative;border:1px solid rgba(42,107,107,.16);box-shadow:var(--shadow-lift)}
.vbtn{border-radius:20px;padding:5px 14px;transition:all .25s cubic-bezier(.22,1,.36,1)}
.vbtn:hover{background:var(--b3);color:var(--ink)}
.vbtn.on{background:linear-gradient(120deg,var(--teal),var(--teal2));color:#fff;box-shadow:0 6px 16px -6px rgba(42,107,107,.6)}
/* Viewer-Feature-Icons */
.vfeat-dot svg{width:16px;height:16px;stroke:var(--teal);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.vfeat-dot{transition:transform .35s cubic-bezier(.22,1,.36,1),background .25s ease}
.vfeat:hover .vfeat-dot{transform:scale(1.12) rotate(-6deg);background:var(--teal)}
.vfeat:hover .vfeat-dot svg{stroke:#fff}
/* Highlights: Hover-Lift + Icon-Animation */
.am-feat-main,.am-feat-card{transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s ease,background .3s ease}
.am-feat-main{z-index:0}
.am-feat-main:hover,.am-feat-card:hover{box-shadow:var(--shadow-soft)}
.am-feat-main .am-ic-big,.am-feat-card .am-ic{transition:transform .45s cubic-bezier(.22,1,.36,1),background .3s ease}
.am-feat-main:hover .am-ic-big,.am-feat-card:hover .am-ic{transform:scale(1.1) rotate(-6deg)}
/* Ausstattungs-Grid: Icon-Animation beim Hover */
.am-cell .am-cell-wrap{transition:transform .4s cubic-bezier(.22,1,.36,1),background .25s ease,border-color .25s ease}
.am-cell:hover .am-cell-wrap{transform:scale(1.12) rotate(-6deg);background:var(--teal);border-color:var(--teal)}
.am-cell:hover .am-cell-wrap svg{stroke:#fff}
.am-cell h4{transition:color .25s ease}
.am-cell:hover h4{color:var(--teal)}
/* Promise-Icons */
.am-promise-num{opacity:1 !important;display:flex;align-items:center}
.am-promise-num svg{width:2rem;height:2rem;stroke:var(--teal);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

/* ═══════════════════════════════════════
   AUSSTATTUNG — NEUES DESIGN
═══════════════════════════════════════ */
/* 1) Dunkles 3D-Showcase-Panel */
.ax-showcase{background:radial-gradient(130% 110% at 18% 0%, #251e15 0%, var(--ink) 60%);border-radius:var(--radius);padding:clamp(1.6rem,4vw,3.4rem);margin-top:1.5rem;box-shadow:var(--shadow-lift);position:relative;overflow:hidden}
.ax-showcase::before{content:"";position:absolute;top:-40%;right:-10%;width:55%;height:120%;background:radial-gradient(circle,rgba(184,146,74,.12),transparent 60%);pointer-events:none}
.ax-showcase .viewer-wrap{margin:0;position:relative;z-index:1}
.ax-showcase .eyebrow{color:var(--gold)}
.ax-showcase h3,.ax-showcase h3 span{color:#fff}
.ax-showcase h3 em{color:var(--gold)}
.ax-showcase .section-p{color:rgba(255,255,255,.62)}
.ax-showcase .vfeat h4{color:#fff}
.ax-showcase .vfeat p{color:rgba(255,255,255,.55)}
.ax-showcase .vfeat-dot{background:rgba(184,146,74,.12);border-color:var(--gold)}
.ax-showcase .vfeat-dot svg{stroke:var(--gold)}
.ax-showcase .vfeat:hover .vfeat-dot{background:var(--gold)}
.ax-showcase .vfeat:hover .vfeat-dot svg{stroke:var(--ink)}
.ax-showcase .viewer-canvas-box{box-shadow:0 28px 66px -22px rgba(0,0,0,.65);border-color:rgba(255,255,255,.12)}
.ax-showcase .vctrl{background:rgba(255,255,255,.07)}
.ax-showcase .vbtn{color:rgba(255,255,255,.6)}
.ax-showcase .vbtn:hover{background:rgba(255,255,255,.12);color:#fff}
.ax-showcase .vhint{color:rgba(255,255,255,.4)}

/* 2) Bento-Highlights */
.am-featured{display:grid !important;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(150px,1fr);gap:1rem;background:transparent !important;border-radius:0;overflow:visible;margin-bottom:0}
.am-feat-side{display:contents}
.am-feat-main{grid-column:span 2;grid-row:span 2;border-radius:var(--radius);min-height:0}
.am-feat-card{border-radius:var(--radius);border:1px solid var(--b3) !important;background:var(--b0);padding:1.6rem 1.5rem}
.am-feat-main,.am-feat-card{transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s ease,border-color .3s ease}
.am-feat-main:hover,.am-feat-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-soft);border-color:var(--gold)}
.am-feat-card::after{border-radius:0 0 var(--radius) var(--radius)}

/* 3) Komplette Ausstattung — edle 2-spaltige Editorial-Liste */
.am-grid{grid-template-columns:1fr 1fr !important;gap:0 3rem !important;background:transparent !important;border-radius:0}
.am-cell{background:transparent !important;padding:1.25rem .2rem !important;border-bottom:1px solid var(--b3);display:grid;grid-template-columns:auto 1fr;column-gap:1.15rem;align-items:center}
.am-cell::before{display:none !important}
.am-cell-wrap{grid-row:1 / span 2;margin-bottom:0 !important;align-self:center}
.am-cell h4{align-self:end;margin-bottom:.1rem}
.am-cell p{align-self:start}
.am-cell:hover{background:transparent !important}

/* responsive */
@media (max-width:860px){
  .am-featured{grid-template-columns:1fr 1fr;grid-auto-rows:minmax(130px,auto)}
  .am-feat-main{grid-column:1 / -1;grid-row:auto}
}
@media (max-width:560px){
  .am-featured{grid-template-columns:1fr}
  .am-feat-main{grid-column:1 / -1}
  .am-grid{grid-template-columns:1fr !important;gap:0 !important}
}

/* ═══════ "Soli"-Signatur ═══════ */
.soli{font-family:'Great Vibes',cursive;font-style:normal;font-weight:400;color:var(--gold);line-height:1;white-space:nowrap}
.nav-logo-top .soli{font-size:1.55em;vertical-align:-.12em;margin-left:.1em;text-shadow:0 0 16px rgba(184,146,74,.7),0 0 7px rgba(255,244,214,.5)}
.ft-logo .soli{font-size:1.55em;vertical-align:-.12em;margin-left:.12em}
.pre-mark .soli{font-size:1.5em;vertical-align:-.1em;margin-left:.15em}
.hero-h1 .soli{font-size:.58em;vertical-align:.1em;margin-left:.14em;background:linear-gradient(100deg,var(--gold) 40%,#fff4d6 50%,var(--gold) 60%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;background-size:250% 100%;background-position:120% 0;animation:goldSweep 10s ease-in-out 3.6s infinite}

/* ═══ WARTELISTE / VORMERKUNG ═══ */
.wl-band{margin:2.5rem auto;max-width:1100px;padding:clamp(2rem,5vw,3.4rem);border-radius:var(--radius);background:radial-gradient(130% 120% at 20% 0%, #251e15 0%, var(--ink) 62%);box-shadow:var(--shadow-lift);position:relative;overflow:hidden;text-align:center}
.wl-band::before{content:"";position:absolute;top:-40%;right:-8%;width:50%;height:120%;background:radial-gradient(circle,rgba(184,146,74,.14),transparent 60%);pointer-events:none}
.wl-inner{position:relative;z-index:1;max-width:640px;margin:0 auto}
.wl-eyebrow{font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:.9rem}
.wl-h{font-family:'Cormorant Garamond',serif;font-size:clamp(1.9rem,4vw,2.8rem);font-weight:300;color:#fff;margin-bottom:.7rem}
.wl-p{color:rgba(255,255,255,.68);font-size:.95rem;line-height:1.7;max-width:520px;margin:0 auto 1.6rem}
.wl-form{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}
.wl-input{flex:1 1 200px;min-width:0;padding:.85rem 1.1rem;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;font-family:'DM Sans',sans-serif;font-size:.9rem}
.wl-input::placeholder{color:rgba(255,255,255,.4)}
.wl-input:focus{outline:none;border-color:var(--gold);background:rgba(255,255,255,.1)}
.wl-btn{flex:0 0 auto;white-space:nowrap}
.wl-note{margin-top:.9rem;font-size:.72rem;color:rgba(255,255,255,.42)}
.wl-thanks{color:var(--gold);font-size:1.05rem;padding:1rem 0}
@media(max-width:560px){.wl-btn{flex:1 1 100%}}

/* ═══ DSGVO-KARTE (Klick zum Laden) ═══ */
.map-consent{height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;padding:1.5rem;background:linear-gradient(135deg,#e8ede9,#dde5e0)}
.map-consent svg{width:44px;height:44px;stroke:var(--teal);opacity:.85}
.map-consent p{max-width:340px;font-size:.82rem;line-height:1.6;color:var(--ink3)}
@media(max-width:900px){.map-consent{height:320px}}
@media(max-width:640px){.map-consent{height:240px}}

/* ═══ FAQ-AKKORDEON ═══ */
.faq-section{max-width:820px;margin:3rem auto;padding:0 clamp(1rem,4vw,2rem) clamp(3rem,7vw,5rem)}
.faq-list{margin-top:1.6rem;display:flex;flex-direction:column;gap:.7rem}
.faq-item{border:1px solid var(--b3);border-radius:var(--radius-sm);background:var(--b0);overflow:hidden;transition:border-color .25s ease,box-shadow .25s ease}
.faq-item.open{border-color:var(--gold);box-shadow:var(--shadow-soft)}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.05rem 1.3rem;background:none;border:none;cursor:pointer;text-align:left;font-family:'Cormorant Garamond',serif;font-size:1.14rem;color:var(--ink);font-weight:500}
.faq-ico{position:relative;flex:0 0 16px;width:16px;height:16px}
.faq-ico::before,.faq-ico::after{content:"";position:absolute;background:var(--gold);border-radius:2px;transition:transform .3s cubic-bezier(.22,1,.36,1)}
.faq-ico::before{top:7px;left:0;width:16px;height:2px}
.faq-ico::after{top:0;left:7px;width:2px;height:16px}
.faq-item.open .faq-ico::after{transform:scaleY(0)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s cubic-bezier(.22,1,.36,1)}
.faq-item.open .faq-a{max-height:280px}
.faq-a p{padding:0 1.3rem 1.15rem;color:var(--ink3);font-size:.9rem;line-height:1.75;margin:0}

/* ═══ FEINSCHLIFF & ELEGANZ ═══ */
/* Scroll-Fortschrittslinie */
#scroll-progress{position:fixed;top:0;left:0;height:2px;width:100%;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,var(--gold2),var(--gold),var(--gold3));z-index:100000;pointer-events:none;will-change:transform}
/* Edle Scrollbar */
html{scrollbar-width:thin;scrollbar-color:var(--gold) #efe8dc}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:#efe8dc}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--gold2),var(--gold));border-radius:9px;border:3px solid #efe8dc}
::-webkit-scrollbar-thumb:hover{background:var(--gold)}
/* Feinere Hover-Interaktionen */
.btn-solid,.btn-ghost,.btn-book,.avbar-btn,.wl-btn{transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s ease,background .25s ease,color .25s ease,border-color .25s ease}
.btn-solid:hover,.btn-book:hover,.avbar-btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px -12px rgba(42,107,107,.55)}
.btn-ghost:hover{transform:translateY(-2px)}
.am-feat-card,.value-cell,.vfeat,.loc-card{transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease}
.am-feat-card:hover,.loc-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift)}
.vfeat:hover{transform:translateX(3px)}
/* Sanfte Staffelung revealter Reihen */
.facts-bar.in .facts-item,.values-grid.in .value-cell{animation:fadeUpSoft .7s cubic-bezier(.22,1,.36,1) both}
.facts-bar.in .facts-item:nth-child(2){animation-delay:.08s}
.facts-bar.in .facts-item:nth-child(3){animation-delay:.16s}
.facts-bar.in .facts-item:nth-child(4){animation-delay:.24s}
.facts-bar.in .facts-item:nth-child(5){animation-delay:.32s}
.values-grid.in .value-cell:nth-child(2){animation-delay:.1s}
.values-grid.in .value-cell:nth-child(3){animation-delay:.2s}
@keyframes fadeUpSoft{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
/* Redaktioneller Look: Drop-Cap */
.story-lead::first-letter{float:left;font-family:'Cormorant Garamond',serif;font-weight:500;font-size:3.6em;line-height:.78;padding:.06em .14em 0 0;color:var(--gold)}
/* Pull-Quote */
.pull-quote{position:relative;margin:1.8rem 0;padding:.4rem 0 .4rem 1.6rem;border-left:2px solid var(--gold);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.55rem;line-height:1.4;font-weight:300;color:var(--ink)}
/* Marken-Signet im Footer */
.ft-signet{width:54px;height:54px;border-radius:50%;border:1px solid rgba(184,146,74,.5);display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.9rem;color:var(--gold);margin-bottom:1.1rem}
@media (prefers-reduced-motion: reduce){#scroll-progress{display:none}.facts-bar.in .facts-item,.values-grid.in .value-cell{animation:none}}

/* ═══ EIGENER DATUMS-KALENDER (Hero-Leiste) ═══ */
.avf-date{width:100%;color:rgba(255,255,255,.42);font-family:'DM Sans',sans-serif;font-size:.86rem;cursor:pointer;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.avf-date.filled{color:rgba(255,255,255,.92)}
.qcal-pop{position:absolute;top:calc(100% + 10px);left:1rem;width:320px;max-width:calc(100vw - 2rem);background:var(--b0);border-radius:var(--radius);box-shadow:0 24px 60px -18px rgba(8,14,11,.5);border:1px solid var(--b3);z-index:60;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .28s cubic-bezier(.22,1,.36,1),transform .28s cubic-bezier(.22,1,.36,1),visibility .28s;overflow:hidden}
.qcal-pop.open{opacity:1;visibility:visible;transform:translateY(0)}
.qcal-head{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1rem;background:linear-gradient(120deg,var(--teal),var(--teal2));color:#fff}
.qcal-label{font-family:'Cormorant Garamond',serif;font-size:1.1rem;letter-spacing:.05em}
.qcal-pop .cal-grid{padding:.85rem 1rem}
.qcal-pop .cal-day{font-size:.8rem;min-width:32px;min-height:32px}
.qcal-pop .cal-dow span{font-size:.6rem}
.qcal-foot{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1rem .85rem;border-top:1px solid var(--b2)}
.qcal-foot #qcal-hint{font-size:.66rem;color:var(--ink3);letter-spacing:.03em}
.qcal-clear{background:none;border:none;color:var(--teal);font-size:.74rem;cursor:pointer;font-family:'DM Sans',sans-serif;padding:.2rem .1rem}
.qcal-clear:hover{text-decoration:underline}
@media(max-width:640px){.qcal-pop{left:.6rem;right:.6rem;width:auto}}
