:root{
  --bg:#faf8f6;--bg2:#f2eeea;--ink:#241f1f;--muted:#6b6361;--line:#e6dfda;
  --green:#9b0303;--green-d:#6e0202;--accent:#9b0303;--accent-d:#7a0202;--gold:#f0c36a;--card:#fff;--foot:#231d1d;
  --r:20px;--shadow:0 10px 40px rgba(60,20,20,.12);
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2.4rem,6vw,4.6rem)}
h2{font-size:clamp(1.8rem,3.6vw,2.7rem)}
h3{font-size:1.3rem}
p{margin:0 0 1em}
.wrap{width:min(1180px,100% - 40px);margin-inline:auto}
.center{text-align:center}.muted{color:var(--muted)}.small{font-size:.9rem}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;color:#000;padding:8px 12px;z-index:100}
.ic{width:1.3em;height:1.3em;flex:none;vertical-align:-.25em}

/* Angebots-Leiste */
.announce{background:var(--foot);color:#fff;text-align:center;font-size:.95rem}
.announce a{display:block;padding:9px 20px;text-decoration:none}
.announce span{opacity:.85}.announce strong{color:var(--gold)}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:#9b0303;color:#fff;box-shadow:0 2px 18px rgba(0,0,0,.18)}
.bar{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.brand{display:flex;align-items:center;text-decoration:none}.brand img{height:42px;width:auto}
nav{display:flex;align-items:center;gap:6px;margin-left:12px}
nav>a:not(.btn){text-decoration:none;padding:8px 14px;border-radius:99px;font-size:.95rem;color:rgba(255,255,255,.85);transition:.2s}
nav>a:not(.btn):hover,nav>a[aria-current]{color:#fff;background:rgba(255,255,255,.16)}
.langs{display:flex;margin-left:auto;border:1px solid rgba(255,255,255,.4);border-radius:99px;overflow:hidden}
.langs a{padding:5px 10px;font-size:.78rem;font-weight:600;text-decoration:none;color:#fff}
.langs a[aria-current]{background:#fff;color:#9b0303}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;padding:10px}
.burger span{display:block;height:2px;background:#fff;margin:6px 0;transition:.25s}
@media (max-width:980px){
  .burger{display:block}
  nav{position:fixed;inset:68px 0 auto 0;background:#7a0202;flex-direction:column;align-items:stretch;padding:14px 20px 24px;gap:2px;border-bottom:1px solid var(--line);transform:translateY(-120%);transition:transform .3s;max-height:calc(100vh - 68px);overflow:auto}
  nav.open{transform:none}
  nav>a:not(.btn){padding:14px 12px;font-size:1.05rem}.btn-sm{margin:10px 0 0}
  .langs{align-self:flex-start;margin:10px 0 0}
  .burger[aria-expanded=true] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .burger[aria-expanded=true] span:nth-child(2){opacity:0}
  .burger[aria-expanded=true] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#fff;border:0;padding:15px 28px;border-radius:99px;font:600 1rem var(--sans);text-decoration:none;cursor:pointer;transition:.2s;box-shadow:0 6px 20px rgba(155,3,3,.3)}
.btn:hover{background:var(--accent-d);transform:translateY(-2px)}
.btn-sm{padding:9px 20px;font-size:.92rem;margin-left:6px;box-shadow:none;background:#fff;color:#9b0303}.btn-sm:hover{background:var(--bg2);color:#6e0202}
.btn-light{background:#fff;color:#7a0202;box-shadow:none}.btn-light:hover{background:var(--bg2)}
.btn-ghost{background:transparent;color:var(--green);box-shadow:inset 0 0 0 2px var(--green)}.btn-ghost:hover{background:var(--green);color:#fff}
.btn.block{display:flex;width:100%;margin-top:10px}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}

/* Hero */
.hero,.page-hero{background:linear-gradient(180deg,rgba(15,30,26,.45),rgba(15,30,26,.1) 40%,rgba(15,30,26,.7)),var(--hero) center/cover;color:#fff}
.hero{position:relative;overflow:hidden;background:#1c1717;min-height:min(88vh,820px);min-height:min(88svh,820px);display:flex;align-items:flex-end;padding:90px 0 56px}
.hero-in{max-width:1180px}
.hero h1{max-width:15ch;text-shadow:0 2px 30px rgba(0,0,0,.35)}
.kicker{text-transform:uppercase;letter-spacing:.18em;font-size:.8rem;font-weight:600;margin:0 0 14px;opacity:.9}
.kicker.dark{color:var(--accent);opacity:1}
.lead{font-size:1.25rem;max-width:36em;opacity:.95}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0}
.hero-offer{display:inline-flex;align-items:center;gap:16px;background:rgba(255,255,255,.95);color:var(--ink);padding:14px 22px 14px 14px;border-radius:99px;text-decoration:none;box-shadow:var(--shadow);max-width:100%}
.hero-offer small{display:block;color:var(--muted);font-size:.85rem;line-height:1.35}
.hero-offer b{font-family:var(--serif);font-size:1.1rem}
.badge{display:grid;place-items:center;min-width:60px;height:60px;padding:0 10px;border-radius:99px;background:var(--accent);color:#fff;font:700 1.15rem var(--sans);flex:none}
.badge.soft{background:var(--green)}
.page-hero{padding:120px 0 56px}
.page-hero h1{margin:0;font-size:clamp(2.2rem,5vw,3.8rem)}

/* Sektionen */
.section{padding:clamp(56px,9vw,110px) 0}
.section.wrap{padding-inline:0}
.tinted{background:var(--bg2)}
.intro{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,6vw,80px);align-items:center}
.intro-img img{border-radius:var(--r);aspect-ratio:4/5;object-fit:cover;box-shadow:var(--shadow)}
.sign{font-family:var(--serif);font-style:italic;font-size:1.2rem;color:var(--green)}
@media (max-width:820px){.intro{grid-template-columns:1fr}.intro-img{order:-1}.intro-img img{aspect-ratio:4/3}}

.apt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:28px;margin-top:40px}
.apt-card{background:var(--card);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);transition:.3s}
.apt-card:hover{transform:translateY(-6px)}
.apt-img{position:relative;display:block;overflow:hidden}
.apt-img img{aspect-ratio:3/2;object-fit:cover;width:100%;transition:transform .6s}
.apt-card:hover .apt-img img{transform:scale(1.05)}
.price-tag{position:absolute;left:16px;bottom:16px;background:#fff;color:var(--ink);padding:8px 16px;border-radius:99px;font-size:.9rem;box-shadow:var(--shadow)}
.apt-body{padding:26px 28px 30px}
.facts{list-style:none;display:flex;gap:18px;flex-wrap:wrap;padding:0;margin:0 0 14px;color:var(--muted);font-size:.95rem}
.facts li{display:flex;gap:7px;align-items:center}

.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin-top:40px}
.feat{padding:28px;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
.feat .ic{width:36px;height:36px;color:var(--accent);margin-bottom:12px}
.feat h3{font-size:1.15rem;margin-bottom:.3em}.feat p{margin:0;color:var(--muted);font-size:.96rem}

.split-seasons{display:grid;grid-template-columns:1fr 1fr;padding:0}
.season{position:relative;min-height:min(60vh,520px);display:flex;align-items:flex-end;padding:40px;color:#fff;text-decoration:none;background:linear-gradient(180deg,transparent 30%,rgba(10,22,18,.8)),var(--bg) center/cover;overflow:hidden}
.season span{display:block;max-width:28em}
.season small{text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;opacity:.85}
.season b{display:block;font:600 clamp(2rem,4vw,3.2rem) var(--serif);margin:6px 0}
.season em{font-style:normal;opacity:.92}
.season:hover b{text-decoration:underline;text-underline-offset:8px}
@media (max-width:760px){.split-seasons{grid-template-columns:1fr}.season{min-height:360px;padding:28px}}

.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:28px}
.gallery a{display:block;overflow:hidden;border-radius:16px}
.gallery img{aspect-ratio:4/3;width:100%;object-fit:cover;transition:transform .5s}
.gallery a:hover img{transform:scale(1.06)}

.cta-band{background:linear-gradient(135deg,#8a0202,#5c0101);color:#fff;text-align:center;padding:80px 0}
.cta-band p{opacity:.85;margin-bottom:24px}

/* Wohnung */
.apt-detail{display:grid;grid-template-columns:1fr 340px;gap:clamp(30px,5vw,70px);align-items:start}
.checks{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.checks li{display:flex;gap:12px;align-items:flex-start}
.checks .ic{color:var(--green);margin-top:.15em}
.book-card{position:sticky;top:90px;background:var(--card);border-radius:var(--r);padding:28px;box-shadow:var(--shadow)}
.from{font-size:1rem;margin:10px 0 18px}.from b{font:600 2.2rem var(--serif);color:var(--green)}
.plan img{max-width:560px;border-radius:16px;background:#fff;padding:12px;margin-top:20px}
@media (max-width:860px){.apt-detail{grid-template-columns:1fr}.book-card{position:static}}

/* Preise */
.offer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:20px}
.offer{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px;display:grid;gap:4px;justify-items:start}
.offer .badge{margin-bottom:8px}
.offer h3{margin:0}.offer p{margin:0;color:var(--muted)}.offer .until{font-size:.88rem;color:var(--accent);font-weight:600;margin-top:8px}
.table-card{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:26px 28px;margin-bottom:28px}
.table-card h3{display:flex;gap:10px;align-items:center}
.prices{width:100%;border-collapse:collapse}
.prices th{text-align:left;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:10px 8px;border-bottom:2px solid var(--line)}
.prices td{padding:15px 8px;border-bottom:1px solid var(--line)}
.prices tr:last-child td{border:0}
.prices s{color:var(--muted);margin-right:6px;font-size:.9rem}.deal{color:var(--accent)}
@media (max-width:640px){
  .prices thead{display:none}.prices tr{display:grid;padding:12px 0;border-bottom:1px solid var(--line)}.prices td{border:0;padding:3px 0;display:flex;justify-content:space-between;gap:12px}
  .prices td::before{content:attr(data-label);color:var(--muted);font-size:.85rem}.prices td:first-child{font-weight:600}
}
.notes{background:var(--bg2);border-radius:var(--r);padding:26px 30px;margin:30px 0}
.notes ul{margin:0;padding-left:1.2em;color:var(--muted)}.notes li{margin:.4em 0}
.callout{background:var(--bg2);padding:20px 24px;border-radius:16px}

/* Erleben */
.season-block{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);align-items:center}
.season-block:nth-of-type(even) .sb-text{order:2}
.sb-img .gallery{grid-template-columns:1fr 1fr}.sb-img .gallery a:first-child{grid-column:1/-1}
.sb-img .gallery a:first-child img{aspect-ratio:16/10}
@media (max-width:820px){.season-block{grid-template-columns:1fr}.season-block:nth-of-type(even) .sb-text{order:0}}

/* Kontakt */
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(30px,5vw,60px);align-items:start}
.form{display:grid;gap:16px}
.form label{display:grid;gap:6px;font-size:.92rem;font-weight:600}
.form input,.form select,.form textarea{font:inherit;font-weight:400;padding:14px 16px;border:1.5px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);width:100%}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 4px rgba(155,3,3,.15)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.row3{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:16px}
.form .check{display:flex;gap:12px;align-items:flex-start;font-weight:400;color:var(--muted)}
.form .check input{width:22px;height:22px;margin-top:3px;accent-color:var(--green)}
.hp{position:absolute;left:-5000px}
.alert{padding:16px 20px;border-radius:14px;margin-bottom:20px;font-weight:500}
.alert.ok{background:#e3f3e8;color:#14532d}.alert.err{background:#fde8e4;color:#8a2a17}
.card{background:var(--card);border-radius:var(--r);padding:26px 28px;box-shadow:var(--shadow);margin-bottom:22px}
.card p{display:flex;gap:12px;align-items:flex-start}.card h4{margin:1em 0 .2em;font-size:.95rem}.card h4+p{display:block;color:var(--muted);font-size:.95rem}
.card .ic{color:var(--accent);margin-top:.2em}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
@media (max-width:560px){.row2,.row3{grid-template-columns:1fr}}
.legal{max-width:800px;padding-top:120px}

/* Footer */
.site-footer{background:var(--foot);color:#d8d0cc;padding:60px 0 24px}
.site-footer a{text-decoration:none}.site-footer a:hover{text-decoration:underline}
.site-footer h3{color:#fff;font:600 .8rem var(--sans);text-transform:uppercase;letter-spacing:.14em}
.site-footer .brand{margin-bottom:12px}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:36px}
.ext{font-size:.88rem;opacity:.8}
.copy{margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15);font-size:.85rem;opacity:.7}

/* Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(8,16,13,.94);z-index:200;display:flex;align-items:center;justify-content:center}
.lightbox[hidden]{display:none}
.lightbox img{max-width:92vw;max-height:88vh;border-radius:10px;background:#fff}
.lightbox button{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;width:52px;height:52px;border-radius:50%;font-size:2rem;cursor:pointer}
.lb-close{top:18px;right:18px}.lb-prev{left:18px}.lb-next{right:18px}
.lightbox button:hover{background:rgba(255,255,255,.28)}

/* Einblenden beim Scrollen */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

/* Größere Bildschirme */
@media (min-width:1400px){.wrap{width:min(1280px,100% - 80px)}body{font-size:18px}}
/* Mobile Aktionsleiste */
.mbar{display:none}
@media (max-width:760px){
  body{font-size:16px;padding-bottom:72px}
  .hero{min-height:82vh;padding:70px 0 40px}.hero h1{font-size:2.3rem}.lead{font-size:1.08rem}
  .hero-cta .btn{flex:1 1 100%}.hero-offer{border-radius:22px;padding:12px 16px 12px 12px;gap:12px}.badge{min-width:52px;height:52px;font-size:1rem}
  .page-hero{padding:90px 0 40px}
  .section{padding:48px 0}.table-card{padding:20px 18px}
  .apt-body{padding:22px}
  .mbar{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);box-shadow:0 -6px 24px rgba(0,0,0,.12)}
  .mbar a{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px;border-radius:99px;font-weight:600;text-decoration:none}
  .mbar .call{box-shadow:inset 0 0 0 2px var(--green);color:var(--green)}.mbar .req{background:var(--accent);color:#fff}
}
@media (max-width:760px){
  .hero{background:linear-gradient(180deg,rgba(20,8,8,.35),rgba(20,8,8,.35) 35%,rgba(20,8,8,.82)),var(--hero) center/cover}
  .page-hero{background:linear-gradient(180deg,rgba(20,8,8,.3),rgba(20,8,8,.78)),var(--hero) center/cover}
  .page-hero .kicker{letter-spacing:.1em;font-size:.72rem}
}

/* Hero-Diashow */
.hero-slides{position:absolute;inset:0}
.hero-slides::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,8,8,.45),rgba(20,8,8,.08) 40%,rgba(20,8,8,.78))}
.hs{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.6s ease;transform:scale(1.02)}
.hs.on{opacity:1;animation:kb 9s ease-out forwards}
@keyframes kb{from{transform:scale(1.02)}to{transform:scale(1.1)}}
.hero-in{position:relative;z-index:2}
/* Diashow-Baustein */
.slider{position:relative;margin-top:24px;border-radius:var(--r);overflow:hidden;background:#000;box-shadow:var(--shadow)}
.track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.track::-webkit-scrollbar{display:none}
.slide{flex:0 0 100%;scroll-snap-align:center;margin:0}
.slide a{display:block}
.slide img{width:100%;aspect-ratio:3/2;object-fit:cover}
.slider button{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.9);color:#241f1f;font-size:1.8rem;line-height:1;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.25);display:grid;place-items:center;padding:0 0 4px}
.slider button:hover{background:#fff}.s-prev{left:14px}.s-next{right:14px}
.dots{position:absolute;left:0;right:0;bottom:12px;display:flex;gap:8px;justify-content:center}
.dots i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.55);cursor:pointer;transition:.25s}
.dots i.on{background:#fff;width:26px;border-radius:9px}
@media (max-width:760px){.slider button{width:40px;height:40px}.slide img{aspect-ratio:4/3}}
/* Grundriss */
.plan-card{display:block;max-width:760px;background:#fff;border-radius:var(--r);padding:clamp(16px,3vw,34px);box-shadow:var(--shadow);margin-top:20px}
.plan-card img,.plan .plan-card img{max-width:100%;width:100%;padding:0;margin:0;background:none;border-radius:0}
/* Stabile Handy-Leiste: kein Springen beim Scrollen */
@media (max-width:760px){
  .mbar{transform:translate3d(0,0,0);will-change:transform;backface-visibility:hidden}
  html{overscroll-behavior-y:none}
  .hero{min-height:560px;min-height:78svh}
}

@media (max-width:980px){.langs{order:2}.burger{order:3;margin-right:-8px}.bar{gap:10px}nav{margin-left:0}}
@media (max-width:380px){.brand img{height:34px}.langs a{padding:5px 8px}}
.langs{order:3;margin-left:12px}
nav{margin-left:auto}
@media (max-width:980px){
  .bar{justify-content:flex-start}
  .langs{order:2;margin-left:auto}
  nav{margin-left:0;visibility:hidden;transition:transform .3s,visibility 0s .3s}
  nav.open{visibility:visible;transition:transform .3s}
}

/* ===== Schönere Buttons ===== */
.btn{position:relative;overflow:hidden;isolation:isolate;gap:10px;padding:16px 32px;font-weight:650;letter-spacing:.01em;
  background:linear-gradient(135deg,#b80f0f 0%,#9b0303 55%,#7a0202 100%);
  box-shadow:0 8px 22px rgba(155,3,3,.35),inset 0 1px 0 rgba(255,255,255,.28),inset 0 -2px 0 rgba(0,0,0,.12);
  transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,filter .25s}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.28) 48%,transparent 66%);transform:translateX(-120%);transition:transform .7s}
.btn:hover{background:linear-gradient(135deg,#c41414,#a50505 55%,#850303);transform:translateY(-3px);box-shadow:0 14px 30px rgba(155,3,3,.42),inset 0 1px 0 rgba(255,255,255,.3),inset 0 -2px 0 rgba(0,0,0,.12)}
.btn:hover::before{transform:translateX(120%)}
.btn:active{transform:translateY(0) scale(.98);box-shadow:0 4px 12px rgba(155,3,3,.35)}
.btn:not(.btn-sm):not(.block)::after,.hero-cta .btn::after{content:"→";font-size:1.15em;line-height:1;transition:transform .25s}
.btn:hover::after{transform:translateX(5px)}
.btn.block::after{content:"→";transition:transform .25s}
.btn.block:hover::after{transform:translateX(5px)}

.btn-light{background:#fff;color:#7a0202;box-shadow:0 8px 22px rgba(0,0,0,.18),inset 0 -2px 0 rgba(0,0,0,.06)}
.btn-light::before{background:linear-gradient(115deg,transparent 30%,rgba(155,3,3,.14) 48%,transparent 66%)}
.btn-light:hover{background:#fff;color:#9b0303;box-shadow:0 14px 30px rgba(0,0,0,.25)}

.btn-ghost{background:rgba(155,3,3,.04);color:var(--green);box-shadow:inset 0 0 0 2px var(--green);backdrop-filter:blur(2px)}
.btn-ghost::before{background:var(--green);inset:0;transform:translateY(101%);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.btn-ghost:hover{background:rgba(155,3,3,.04);color:#fff;box-shadow:inset 0 0 0 2px var(--green),0 10px 24px rgba(155,3,3,.25)}
.btn-ghost:hover::before{transform:none}

.btn-sm{padding:10px 22px;background:#fff;color:#9b0303;box-shadow:0 4px 14px rgba(0,0,0,.2),inset 0 -2px 0 rgba(155,3,3,.1)}
.btn-sm::before{background:linear-gradient(115deg,transparent 30%,rgba(155,3,3,.15) 48%,transparent 66%)}
.btn-sm:hover{background:#fff;color:#7a0202;box-shadow:0 8px 20px rgba(0,0,0,.28)}

.form .btn{width:100%;font-size:1.05rem;padding:18px 32px}
@media (min-width:600px){.form .btn{width:auto;justify-self:start}}
.hero-cta .btn{padding:17px 34px;font-size:1.05rem}
.hero-cta .btn-light{backdrop-filter:blur(6px);background:rgba(255,255,255,.92)}

/* Handy-Leiste */
@media (max-width:760px){
  .mbar a{padding:14px;font-size:1rem;border-radius:16px;transition:transform .15s}
  .mbar a:active{transform:scale(.97)}
  .mbar .call{background:#fff;box-shadow:inset 0 0 0 2px var(--green),0 4px 12px rgba(0,0,0,.08)}
  .mbar .req{background:linear-gradient(135deg,#b80f0f,#8a0202);box-shadow:0 6px 16px rgba(155,3,3,.4),inset 0 1px 0 rgba(255,255,255,.28)}
  .btn{padding:16px 24px}
}
@media (prefers-reduced-motion:reduce){.btn::before{display:none}}

/* Pfeile der Diashow & Menü-Symbol */
.slider button{transition:transform .2s,background .2s,box-shadow .2s}
.slider button:hover{transform:translateY(-50%) scale(1.1);box-shadow:0 8px 22px rgba(0,0,0,.35)}
.burger{border-radius:12px;transition:background .2s}.burger:hover{background:rgba(255,255,255,.12)}

/* Highlights-Leiste unter dem Titelbild */
.highlights{position:relative;z-index:5;margin-top:-52px;margin-bottom:-20px}
.highlights ul{list-style:none;margin:0;padding:10px;display:grid;grid-template-columns:repeat(4,1fr);background:var(--card);border-radius:var(--r);box-shadow:0 18px 50px rgba(60,10,10,.22)}
.highlights li{display:flex;gap:14px;align-items:center;padding:18px 20px;position:relative}
.highlights li+li::before{content:"";position:absolute;left:0;top:22%;bottom:22%;width:1px;background:var(--line)}
.highlights .ic{width:38px;height:38px;padding:8px;border-radius:12px;background:rgba(155,3,3,.09);color:var(--green);flex:none}
.highlights b{display:block;font-family:var(--serif);font-size:1.12rem;line-height:1.2}
.highlights small{display:block;color:var(--muted);font-size:.86rem;line-height:1.35;margin-top:2px}
@media (max-width:900px){.highlights ul{grid-template-columns:1fr 1fr}.highlights li:nth-child(3)::before{display:none}.highlights li:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:520px){.highlights{margin-top:-34px}.highlights li{padding:14px 12px;gap:10px}.highlights .ic{width:34px;height:34px;padding:7px}.highlights b{font-size:1rem}.highlights small{font-size:.78rem}}

@media (max-width:900px){.hero{padding-bottom:84px}}
@media (max-width:520px){.hero{padding-bottom:70px}}

/* ===== Sprachwahl: schmale Textzeile (wie familiaris) ===== */
.langbar{background:rgba(0,0,0,.14);border-top:1px solid rgba(255,255,255,.08)}
.langbar .langs{display:flex;gap:6px;margin:0;border:0;border-radius:0;order:0;overflow:visible;align-items:center}
.langbar .langs a{padding:7px 10px;font-size:.72rem;font-weight:600;letter-spacing:.16em;color:rgba(255,255,255,.55);background:none;position:relative;transition:color .2s}
.langbar .langs a:first-child{padding-left:0}
.langbar .langs a:hover{color:#fff}
.langbar .langs a[aria-current]{color:#fff;background:none}
.langbar .langs a[aria-current]::after{content:"";position:absolute;left:10px;right:10px;bottom:3px;height:2px;border-radius:2px;background:var(--gold)}
.langbar .langs a:first-child[aria-current]::after{left:0}
.langbar .langs a:first-child[aria-current]::after{right:10px}
.bar{height:64px}
@media (max-width:980px){nav{inset:calc(64px + 33px) 0 auto 0}.burger{margin-left:auto;order:0}}
.announce,.hero-offer{display:none!important}

/* ===== Angebots-Karte unter dem Titelbild ===== */
.offer-feature{padding:clamp(48px,7vw,90px) 0 0}
.of-card{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,56px);align-items:center;border:1px solid var(--line);border-radius:28px;padding:clamp(16px,3vw,34px);background:var(--card);box-shadow:var(--shadow)}
.of-img{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:4/3.2}
.of-img img{width:100%;height:100%;object-fit:cover}
.of-badge{position:absolute;left:16px;top:16px;background:var(--accent);color:#fff;font:700 1.3rem var(--sans);padding:10px 18px;border-radius:99px;box-shadow:0 8px 22px rgba(155,3,3,.4)}
.of-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;font-weight:700;color:var(--accent);margin:0 0 12px}
.of-body h2{font-size:clamp(1.9rem,3.6vw,2.9rem);margin-bottom:.35em}
.of-text{color:var(--muted);font-size:1.08rem;max-width:34em}
.of-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px;align-items:end}
.of-form label{display:grid;gap:4px;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:600}
.of-form input{font:inherit;font-size:1rem;color:var(--ink);padding:10px 0;border:0;border-bottom:2px solid var(--line);background:transparent;border-radius:0;width:100%}
.of-form input:focus{outline:none;border-color:var(--accent)}
.of-form .btn{grid-column:1/-1;justify-self:start}
@media (max-width:860px){.of-card{grid-template-columns:1fr}.of-img{aspect-ratio:16/10}.of-form .btn{justify-self:stretch;width:100%}}

/* ===== Winter & Sommer ===== */
.page-hero.tall{padding:150px 0 70px}
.page-hero.tall .hero-cta{margin-bottom:0}
.season-wrap{scroll-margin-top:80px}
.season-wrap.winter{background:linear-gradient(180deg,var(--bg2),var(--bg))}
.season-wrap.summer{background:var(--bg)}
.facts-band ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.facts-band li{padding:26px 22px;text-align:center;position:relative}
.facts-band li+li::before{content:"";position:absolute;left:0;top:24%;bottom:24%;width:1px;background:var(--line)}
.facts-band b{display:block;font:600 clamp(1.5rem,3vw,2.2rem) var(--serif);color:var(--green);line-height:1.1}
.facts-band span{display:block;color:var(--muted);font-size:.9rem;margin-top:6px}
@media (max-width:760px){.facts-band ul{grid-template-columns:1fr 1fr}.facts-band li:nth-child(3)::before{display:none}.facts-band li:nth-child(n+3){border-top:1px solid var(--line)}}
.sub-h{margin-bottom:1.2em}
.act-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.act{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px;transition:.3s}
.act:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.act .ic{width:42px;height:42px;padding:9px;border-radius:14px;background:rgba(155,3,3,.09);color:var(--green);margin-bottom:12px}
.act h4{font:600 1.2rem var(--serif);margin:0 0 .3em}.act p{margin:0;color:var(--muted);font-size:.96rem}
.link-chips{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:30px}
.link-chips span{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-right:6px}
.link-chips a{text-decoration:none;padding:9px 16px;border-radius:99px;border:1.5px solid var(--line);font-size:.92rem;transition:.2s;background:var(--card)}
.link-chips a:hover{border-color:var(--green);color:var(--green)}

/* ===== Partner-Leiste ===== */
.partners{background:var(--bg2);padding:46px 0;border-top:1px solid var(--line)}
.p-title{text-align:center;text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;color:var(--muted);margin:0 0 22px}
.partners ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:16px;justify-content:center;align-items:stretch}
.partners a{display:flex;align-items:center;justify-content:center;height:92px;min-width:190px;padding:14px 26px;background:#fff;border-radius:16px;box-shadow:0 2px 14px rgba(60,20,20,.08);transition:transform .25s,box-shadow .25s}
.partners a.dark{background:#3b3b3d}
.partners a:hover{transform:translateY(-4px);box-shadow:0 10px 26px rgba(60,20,20,.16)}
.partners img{height:56px;width:auto;max-width:170px;object-fit:contain}
@media (max-width:560px){.partners ul{display:grid;grid-template-columns:1fr 1fr;gap:12px}.partners a{min-width:0;height:80px;padding:10px 14px}.partners img{height:46px;max-width:100%}}

/* ===== Kopfzeile: Logo mittig (wie familiaris) ===== */
:root{--pine:#2f5d50;--sky:#3a7ca5;--gold-d:#c98f1f}
.bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:84px;gap:20px}
.brand{grid-column:2;grid-row:1;justify-self:center}
.brand img{height:50px}
nav{display:flex;margin-left:0}
@media (min-width:981px){
  nav{display:contents}
  .nl{grid-column:1;grid-row:1;justify-self:start;display:flex;gap:2px;align-items:center}
  .nr{grid-column:3;grid-row:1;justify-self:end;display:flex;gap:6px;align-items:center}
  .nl a,.nr>a:not(.btn){text-decoration:none;padding:9px 13px;border-radius:99px;font-size:.92rem;color:rgba(255,255,255,.88);transition:.2s;white-space:nowrap}
  .nl a:hover,.nr>a:not(.btn):hover,.nl a[aria-current],.nr>a[aria-current]{color:#fff;background:rgba(255,255,255,.16)}
}
@media (max-width:1180px) and (min-width:981px){.nl a,.nr>a:not(.btn){padding:8px 9px;font-size:.86rem}.brand img{height:44px}}
@media (max-width:980px){
  .bar{height:68px}.brand img{height:44px}
  .burger{grid-column:3;grid-row:1;justify-self:end;margin:0 -8px 0 0;order:0}
  nav{position:fixed;inset:calc(68px + 33px) 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:#7a0202;padding:12px 20px 26px;max-height:calc(100vh - 101px);overflow:auto}
  .nl,.nr{display:flex;flex-direction:column;align-items:stretch;gap:2px}
  .nl a,.nr>a:not(.btn){text-decoration:none;color:#fff;padding:15px 12px;font-size:1.08rem;border-radius:12px;border-bottom:1px solid rgba(255,255,255,.12)}
  .nl a[aria-current],.nr>a[aria-current]{background:rgba(255,255,255,.12)}
  .nr .btn-sm{margin:14px 0 0;justify-content:center;padding:15px}
}
.langbar .wrap{display:flex;justify-content:flex-start}

/* ===== Mehr Abwechslung ===== */
/* Titel mit kleiner Zierlinie */
h2.center::after{content:"";display:block;width:54px;height:4px;border-radius:4px;margin:16px auto 0;background:linear-gradient(90deg,var(--gold),var(--accent))}
.apts-dark h2.center::after{background:var(--gold)}

/* Einleitung: Foto mit versetztem Farbblock */
.intro-img{position:relative}
.intro-img::before{content:"";position:absolute;inset:22px -22px -22px 22px;border-radius:var(--r);background:linear-gradient(135deg,var(--gold),#e5a64a);z-index:0}
.intro-img img{position:relative;z-index:1}
@media (max-width:820px){.intro-img::before{inset:14px -10px -14px 10px}}
.intro{position:relative}
.intro h2{position:relative}

/* Ferienwohnungen: tiefes Rot mit Bergsilhouette */
.apts-dark{position:relative;color:#fff;background:linear-gradient(165deg,#6e0202,#9b0303 55%,#b4260f);overflow:hidden;padding-bottom:clamp(110px,14vw,170px)}
.apts-dark h2{color:#fff}
.apts-dark .lead-s{text-align:center;opacity:.88;max-width:36em;margin-inline:auto}
.apts-dark .wrap{position:relative;z-index:2}
.apts-dark::before{content:"";position:absolute;left:0;right:0;bottom:-1px;height:clamp(80px,12vw,150px);z-index:1;background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 160' preserveAspectRatio='none'%3E%3Cpath fill='%23faf8f6' d='M0 160V95l90-35 70 30 110-70 100 80 80-40 120 70 90-60 130 50 100-90 110 85 90-50 120 60 80-45 90 30v100z'/%3E%3C/svg%3E") center bottom/100% 100% no-repeat;opacity:1}
.apts-dark .apt-card{box-shadow:0 18px 50px rgba(0,0,0,.35)}

/* Leistungen: bunte Symbole auf hellem Grund */
.feat-sec{background:var(--bg2);position:relative}
.feat{border:0;box-shadow:0 6px 24px rgba(60,20,20,.07);padding:30px 26px;position:relative;overflow:hidden}
.feat::after{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;opacity:.08;background:currentColor}
.feat .ic{width:54px;height:54px;padding:13px;border-radius:18px;margin-bottom:16px;color:#fff;background:var(--accent)}
.feat.c0{color:var(--sky)}.feat.c0 .ic{background:var(--sky)}
.feat.c1{color:var(--gold-d)}.feat.c1 .ic{background:var(--gold-d)}
.feat.c2{color:var(--accent)}.feat.c2 .ic{background:var(--accent)}
.feat.c3{color:var(--pine)}.feat.c3 .ic{background:var(--pine)}
.feat h3,.feat p{color:var(--ink)}.feat p{color:var(--muted)}

/* Galerie: Bento-Raster mit unterschiedlichen Größen */
.gallery.bento{grid-template-columns:repeat(4,1fr);grid-auto-rows:190px;grid-auto-flow:dense;gap:12px}
.gallery.bento a{height:100%}
.gallery.bento img{height:100%;aspect-ratio:auto}
.gallery.bento a:nth-child(1){grid-column:span 2;grid-row:span 2}
.gallery.bento a:nth-child(4){grid-row:span 2}
.gallery.bento a:nth-child(6){grid-column:span 2}
@media (max-width:760px){.gallery.bento{grid-template-columns:1fr 1fr;grid-auto-rows:140px}.gallery.bento a:nth-child(6){grid-column:span 1}}

/* Jahreszeiten-Kacheln mit Farbstreifen */
.season{transition:filter .3s}
.season::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--gold)}
.season:first-child::after{background:#8fc3e8}
.season:hover{filter:brightness(1.08)}

/* Angebots-Karte: goldene Akzentkante */
.of-card{border-left:6px solid var(--gold)}

/* Aufruf-Band mit Bergsilhouette */
.cta-band{position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;inset:auto 0 0 0;height:60%;opacity:.12;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 160' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 160V95l90-35 70 30 110-70 100 80 80-40 120 70 90-60 130 50 100-90 110 85 90-50 120 60 80-45 90 30v100z'/%3E%3C/svg%3E") center bottom/100% 100% no-repeat}
.cta-band .wrap{position:relative}
.cta-band h2{color:#fff}

/* Preis- und Wohnungsseiten: Akzent unter dem Seitentitel */
.page-hero h1::after{content:"";display:block;width:70px;height:5px;border-radius:5px;margin-top:16px;background:var(--gold)}
.table-card{border-top:5px solid var(--accent)}
.table-card:nth-of-type(even){border-top-color:var(--gold-d)}

/* Kein seitliches Überlaufen (Handy) */
html,body{overflow-x:clip;max-width:100%}
@media (max-width:820px){.intro-img::before{inset:12px -8px -12px 8px}.intro-img{margin-right:8px}}

/* ===== Cookie-Hinweis ===== */
.cookie{position:fixed;left:20px;bottom:20px;z-index:90;max-width:440px;background:var(--card);color:var(--ink);border-radius:20px;padding:20px 22px;box-shadow:0 18px 60px rgba(0,0,0,.28);border:1px solid var(--line);border-left:6px solid var(--accent)}
.cookie[hidden]{display:none}
.cookie p{margin:0 0 14px;font-size:.92rem;line-height:1.5;color:var(--muted)}
.cookie strong{color:var(--ink);font-family:var(--serif);font-size:1.1rem}
.cookie a{color:var(--accent);text-underline-offset:3px}
.cookie-btns{display:flex;gap:10px;flex-wrap:wrap}
.cookie .btn{padding:11px 22px;font-size:.92rem}
.cookie .btn::after{display:none}
@media (max-width:760px){.cookie{left:12px;right:12px;bottom:84px;max-width:none}.cookie-btns .btn{flex:1}}
.legal h3{font:600 1.2rem var(--serif);margin:1.6em 0 .4em;color:var(--green)}
.legal p{color:var(--ink)}

/* ===== Karten-Widget ===== */
.map-sec{padding-top:clamp(40px,6vw,80px)}
.map-grid{display:grid;grid-template-columns:340px 1fr;gap:22px;margin-top:34px;align-items:stretch}
.map-card{background:var(--card);border-radius:var(--r);padding:28px;box-shadow:var(--shadow);border-top:5px solid var(--accent);display:flex;flex-direction:column}
.map-card h3{display:flex;gap:10px;align-items:center;font-size:1.15rem}
.map-card .ic{color:var(--accent)}
.map-card address{font-style:normal;font-size:1.08rem;line-height:1.6;margin:0 0 14px}
.map-tel{display:flex;gap:10px;align-items:center;margin:0 0 16px}
.map-card .btn.block{margin-top:10px}
.map-card .btn:first-of-type{margin-top:auto}
.map-box{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);min-height:360px;background:#efe6dc}
.map-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map-ph{position:absolute;inset:0;display:grid;place-items:center;text-align:center}
.map-art{position:absolute;inset:0;width:100%;height:100%}
.map-pin{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);color:var(--accent);filter:drop-shadow(0 6px 8px rgba(0,0,0,.3))}
.map-pin .ic{width:56px;height:56px;fill:rgba(155,3,3,.15)}
.map-cta{position:relative;z-index:2;margin-top:110px;padding:0 20px;max-width:420px}
.map-cta p{font-size:.8rem;color:#5d5552;margin:12px 0 0;background:rgba(255,255,255,.82);padding:8px 12px;border-radius:10px}
.map-cta a{color:var(--accent)}
@media (max-width:860px){.map-grid{grid-template-columns:1fr}.map-box{min-height:340px}}

/* ===== Unterseiten: Titelbereich, Kennzahlen, Details ===== */
.page-hero{position:relative}
.page-hero.tall{padding:120px 0 90px;min-height:340px;display:flex;align-items:flex-end}
.page-hero.tall .wrap{width:min(1180px,100% - 40px)}
.page-hero .lead{margin:.9em 0 0;max-width:34em;font-size:1.15rem;opacity:.95}
.page-hero.tall h1::after{margin-top:14px}
.page-hero + .highlights{margin-top:-46px}
.page-hero + .highlights + .section,.page-hero + .quick + .section{padding-top:clamp(40px,6vw,80px)}

.apt-text .big{font-size:1.15rem;line-height:1.7}
.apt-text h3{margin-top:1.6em}
.checks.cols{grid-template-columns:1fr 1fr;gap:12px 28px}
@media (max-width:640px){.checks.cols{grid-template-columns:1fr}}
.checks li{align-items:center}
.checks .ic{flex:none;width:26px;height:26px;padding:4px;border-radius:50%;background:rgba(155,3,3,.09);color:var(--accent);margin-top:0}
.book-card{border-top:5px solid var(--gold);padding-top:26px}
.bc-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:700;color:var(--accent);margin:0 0 4px}
.from{margin:0 0 14px}
.book-card .facts{margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--line)}

.gal-sec h2,.plan-sec h2{position:relative}
.plan-sec{background:var(--bg2)}
.plan-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(24px,5vw,60px);align-items:center}
.plan-grid .plan-card{margin-top:18px;max-width:none}
.plan-side{background:var(--card);border-radius:var(--r);padding:30px;box-shadow:var(--shadow);border-left:6px solid var(--gold)}
.plan-side h3{font-size:1.4rem}.plan-side p{color:var(--muted)}
@media (max-width:860px){.plan-grid{grid-template-columns:1fr}}
.other-apt{padding-bottom:clamp(110px,14vw,170px)}
.apt-grid.one{grid-template-columns:minmax(0,640px);justify-content:center}

/* Preise */
.table-card.soon{border-top-color:var(--gold-d);display:grid;gap:10px;justify-items:start}
.table-card.soon p{margin:0;color:var(--muted)}
.notes{background:var(--card);box-shadow:var(--shadow);border-left:6px solid var(--gold)}
.notes ul.checks{padding:0;color:var(--ink)}
.notes li{margin:0}
.prices-sec-gap{height:20px}
.page-hero + .section .offer-grid{margin-top:26px}

/* Anfrage: Schnellkontakt und Formular */
.quick{position:relative;z-index:5;margin-top:-46px}
.quick ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.quick a{display:flex;gap:16px;align-items:center;text-decoration:none;background:var(--card);border-radius:var(--r);padding:20px 24px;box-shadow:0 14px 40px rgba(60,10,10,.18);transition:transform .25s,box-shadow .25s;border-bottom:4px solid var(--accent)}
.quick li:nth-child(2) a{border-bottom-color:var(--gold-d)}.quick li:nth-child(3) a{border-bottom-color:var(--pine)}
.quick a:hover{transform:translateY(-4px)}
.quick .ic{width:48px;height:48px;padding:12px;border-radius:16px;background:rgba(155,3,3,.09);color:var(--accent);flex:none}
.quick b{display:block;font:600 1.1rem var(--serif)}.quick small{display:block;color:var(--muted);font-size:.9rem;overflow-wrap:anywhere}
@media (max-width:760px){.quick ul{grid-template-columns:1fr;gap:10px}.quick{margin-top:-34px}.quick a{padding:16px 18px}}
.contact-grid .form{background:var(--card);border-radius:var(--r);padding:clamp(20px,3vw,34px);box-shadow:var(--shadow)}
.form-hint{margin:0;font-size:.88rem;color:var(--muted)}
.contact-side .card{border-top:5px solid var(--gold)}
.contact-side .card:first-child{border-top-color:var(--accent)}
@media (max-width:760px){.page-hero.tall{padding:96px 0 70px;min-height:280px}}

/* Engere Abstände zwischen aufeinanderfolgenden Inhaltsblöcken */
.section.wrap + .section.wrap{padding-top:clamp(8px,2vw,28px)}
.section.wrap.apt-detail + .section.wrap{padding-top:clamp(24px,4vw,56px)}

/* Neues Logo */
.brand img{height:50px;width:auto}
.site-footer .brand img{height:56px}
@media (max-width:980px){.brand img{height:42px}}
@media (max-width:380px){.brand img{height:36px}}

/* ===== Chat-Assistent Valantin ===== */
.chat{position:fixed;right:20px;bottom:20px;z-index:80}
.chat-fab{display:flex;align-items:center;gap:10px;border:0;cursor:pointer;color:#fff;background:linear-gradient(135deg,#b80f0f,#8a0202);padding:14px 20px 14px 16px;border-radius:99px;font:600 .95rem var(--sans);box-shadow:0 10px 30px rgba(155,3,3,.45),inset 0 1px 0 rgba(255,255,255,.28);transition:transform .2s}
.chat-fab:hover{transform:translateY(-3px)}
.chat-fab .ic{width:24px;height:24px}
.chat.open .chat-fab{display:none}
.chat-panel{width:min(390px,calc(100vw - 24px));height:min(560px,calc(100vh - 110px));display:flex;flex-direction:column;background:var(--card);color:var(--ink);border-radius:22px;box-shadow:0 24px 70px rgba(0,0,0,.35);overflow:hidden;border:1px solid var(--line)}
.chat-panel[hidden]{display:none}
.chat-head{display:flex;gap:12px;align-items:center;padding:14px 16px;background:linear-gradient(135deg,#9b0303,#6e0202);color:#fff}
.chat-head b{display:block;font:600 1.1rem var(--serif)}.chat-head small{opacity:.85;font-size:.78rem}
.chat-av{width:40px;height:40px;border-radius:50%;background:#fff;color:#9b0303;display:grid;place-items:center;font:700 1.2rem var(--serif);flex:none}
.chat-x{margin-left:auto;background:rgba(255,255,255,.14);border:0;color:#fff;width:34px;height:34px;border-radius:50%;font-size:1.4rem;line-height:1;cursor:pointer}
.chat-x:hover{background:rgba(255,255,255,.28)}
.chat-consent{padding:20px;display:grid;gap:14px;overflow:auto}
.chat-consent[hidden],.chat-msgs[hidden],.chat-chips[hidden],.chat-form[hidden]{display:none}
.chat-consent p{margin:0;font-size:.92rem;color:var(--muted);line-height:1.55}
.chat-consent a{color:var(--accent)}
.chat-consent .btn{padding:13px 20px;font-size:.95rem}.chat-consent .btn::after{display:none}
.chat-msgs{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--bg)}
.chat-m{max-width:86%;padding:10px 14px;border-radius:16px;font-size:.94rem;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}
.chat-m.bot{background:var(--card);border:1px solid var(--line);align-self:flex-start;border-bottom-left-radius:4px}
.chat-m.user{background:var(--accent);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.chat-m.bot.typing{color:var(--muted);font-style:italic}
.chat-m.bot.err{border-color:#e7b5ab;background:#fdeeea;color:#7a2616}
.chat-m a{color:inherit;text-decoration:underline;text-underline-offset:3px}.chat-m.bot a{color:var(--accent)}
.chat-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 12px;background:var(--bg)}
.chat-chips button{border:1.5px solid var(--accent);color:var(--accent);background:var(--card);border-radius:99px;padding:7px 13px;font:600 .82rem var(--sans);cursor:pointer;transition:.2s}
.chat-chips button:hover{background:var(--accent);color:#fff}
.chat-form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line);background:var(--card)}
.chat-form input{flex:1;font:inherit;font-size:.95rem;border:1.5px solid var(--line);border-radius:99px;padding:11px 16px;background:var(--bg);color:var(--ink);min-width:0}
.chat-form input:focus{outline:none;border-color:var(--accent)}
.chat-form button{width:44px;height:44px;border-radius:50%;border:0;background:var(--accent);color:#fff;cursor:pointer;display:grid;place-items:center;flex:none}
.chat-form button:hover{background:var(--accent-d)}.chat-form .ic{width:20px;height:20px}
.chat-ai{margin:0;padding:6px 14px 10px;font-size:.7rem;color:var(--muted);text-align:center;background:var(--card)}
@media (max-width:760px){
  .chat{right:12px;bottom:84px}
  .chat-fab span{display:none}.chat-fab{padding:15px;width:56px;height:56px;justify-content:center}
  .chat-panel{height:min(70vh,560px)}
}
@media (max-width:760px){.cookie{right:84px}}

/* Chat offen: Cookie-Hinweis auf dem Handy ausblenden */
@media (max-width:760px){.chat.open ~ .cookie{display:none}}

/* ===== Kopfzeile: Menü links, Logo mittig, Anfrage rechts ===== */
.bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:80px;gap:16px}
.brand{grid-column:2;grid-row:1;justify-self:center}
.menu-btn{grid-column:1;grid-row:1;justify-self:start;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.12);border:0;color:#fff;cursor:pointer;padding:10px 18px 10px 14px;border-radius:99px;font:600 .95rem var(--sans);transition:background .2s}
.menu-btn:hover{background:rgba(255,255,255,.22)}
.mb-ic{display:grid;gap:4px;width:20px}
.mb-ic i{display:block;height:2px;border-radius:2px;background:#fff;transition:.3s}
.mb-ic i:nth-child(2){width:70%}
.menu-btn:hover .mb-ic i:nth-child(2){width:100%}
.bar-right{grid-column:3;grid-row:1;justify-self:end}
.bar-right .btn-sm{margin:0;padding:11px 24px;font-size:.95rem}
@media (max-width:760px){
  .bar{height:68px;gap:8px}
  .menu-btn{padding:10px 12px;gap:0}.mb-lbl{display:none}
  .bar-right .btn-sm{padding:10px 16px;font-size:.88rem}
}
/* Seitenmenü */
.drawer-ov{position:fixed;inset:0;background:rgba(15,5,5,.55);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;z-index:150}
.drawer{position:fixed;top:0;bottom:0;left:0;width:min(420px,90vw);background:linear-gradient(170deg,#7a0202,#4f0101);color:#fff;z-index:160;transform:translateX(-102%);visibility:hidden;transition:transform .38s cubic-bezier(.2,.8,.2,1),visibility .38s;display:flex;flex-direction:column;box-shadow:20px 0 60px rgba(0,0,0,.35);overflow-y:auto}
html.menu-open .drawer{transform:none;visibility:visible}
html.menu-open .drawer-ov{opacity:1;visibility:visible}
html.menu-open{overflow:hidden}
.dr-head{display:flex;align-items:center;justify-content:space-between;padding:22px 26px}
.dr-title{text-transform:uppercase;letter-spacing:.2em;font-size:.78rem;opacity:.75;font-weight:600}
.dr-x{background:rgba(255,255,255,.14);color:#fff;border:0;width:42px;height:42px;border-radius:50%;font-size:1.7rem;line-height:1;cursor:pointer}
.dr-x:hover{background:rgba(255,255,255,.28)}
.dr-nav{display:flex;flex-direction:column;padding:6px 26px;flex:1}
.dr-nav a{display:block;color:#fff;text-decoration:none;font:600 1.6rem var(--serif);padding:15px 0;border-bottom:1px solid rgba(255,255,255,.14);transition:padding .25s,color .2s}
.dr-nav a:hover,.dr-nav a:focus-visible{padding-left:12px;color:var(--gold)}
.dr-nav a[aria-current]{color:var(--gold)}
.dr-foot{padding:22px 26px 30px}
.dr-foot .btn{background:#fff;color:#7a0202;box-shadow:0 8px 22px rgba(0,0,0,.25)}
.dr-foot .btn::after{display:none}
.dr-contact{margin:18px 0 8px;line-height:1.7}
.dr-contact a,.dr-legal a{color:#fff;text-decoration:none;opacity:.9}
.dr-contact a:hover,.dr-legal a:hover{text-decoration:underline}
.dr-legal{margin:0;font-size:.82rem;opacity:.75}
@media (prefers-reduced-motion:reduce){.drawer,.drawer-ov{transition:none}}

/* Altes Menü-CSS darf das Seitenmenü nicht beeinflussen */
.drawer .dr-nav{display:flex!important;position:static!important;visibility:visible!important;inset:auto!important;transform:none!important;flex-direction:column!important;align-items:stretch!important;margin:0!important;background:none!important;padding:6px 26px!important;max-height:none!important;overflow:visible!important;transition:none!important;flex:1;gap:0!important;border:0!important}
.drawer .dr-nav a{padding:15px 0!important;border-radius:0!important;background:none!important;font-size:1.6rem!important}
.drawer .dr-nav a:hover,.drawer .dr-nav a:focus-visible{padding-left:12px!important}

/* ===== Chat: kleiner runder Knopf, sanfte Animationen ===== */
.chat{right:18px;bottom:18px}
.chat-fab{position:relative;width:54px;height:54px;padding:0;justify-content:center;border-radius:50%;background:radial-gradient(circle at 30% 25%,#d21a1a,#9b0303 60%,#6e0202);box-shadow:0 8px 24px rgba(155,3,3,.45),inset 0 1px 0 rgba(255,255,255,.3);transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s}
.chat-fab>span:not(.fab-ring){display:none}
.chat-fab .ic{width:24px;height:24px;position:relative;z-index:1}
.chat-fab:hover{transform:scale(1.1) rotate(-4deg);box-shadow:0 12px 30px rgba(155,3,3,.55)}
.fab-ring{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(155,3,3,.5);animation:ringpulse 2.8s ease-out infinite;pointer-events:none}
@keyframes ringpulse{0%{transform:scale(1);opacity:.9}70%,100%{transform:scale(1.7);opacity:0}}
.chat-fab::after{content:attr(data-tip);position:absolute;right:64px;top:50%;transform:translateY(-50%) translateX(6px);background:#231d1d;color:#fff;font:600 .8rem var(--sans);white-space:nowrap;padding:8px 12px;border-radius:10px;opacity:0;pointer-events:none;transition:.2s}
.chat-fab:hover::after{opacity:1;transform:translateY(-50%)}
.chat.nudge .chat-fab{animation:nudge 1.4s ease-in-out 2}
@keyframes nudge{0%,100%{transform:translateY(0)}20%{transform:translateY(-9px)}40%{transform:translateY(0)}60%{transform:translateY(-5px)}80%{transform:translateY(0)}}
/* Fenster: aufklappen */
.chat-panel{transform-origin:bottom right;animation:panelin .32s cubic-bezier(.2,.9,.3,1.2)}
@keyframes panelin{from{opacity:0;transform:scale(.88) translateY(14px)}to{opacity:1;transform:none}}
.chat-m{animation:msgin .3s ease-out}
@keyframes msgin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* Denken: Punkte + leuchtender Ring um den Avatar */
.chat-m.bot.typing{display:flex;gap:5px;align-items:center;padding:14px 16px;font-style:normal}
.chat-m.typing i{width:8px;height:8px;border-radius:50%;background:var(--accent);opacity:.35;animation:dot 1.2s infinite ease-in-out}
.chat-m.typing i:nth-child(2){animation-delay:.18s}.chat-m.typing i:nth-child(3){animation-delay:.36s}
@keyframes dot{0%,60%,100%{transform:translateY(0);opacity:.35}30%{transform:translateY(-6px);opacity:1}}
.chat-av{position:relative}
.chat.thinking .chat-av::before{content:"";position:absolute;inset:-4px;border-radius:50%;border:2.5px solid transparent;border-top-color:var(--gold);border-right-color:rgba(240,195,106,.4);animation:spin .9s linear infinite}
.chat.thinking .chat-av{animation:glow 1.4s ease-in-out infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes glow{0%,100%{box-shadow:0 0 0 0 rgba(240,195,106,.0)}50%{box-shadow:0 0 18px 4px rgba(240,195,106,.65)}}
.chat-head small{display:block;transition:opacity .2s}
.chat.thinking .chat-head small{animation:blink 1.2s ease-in-out infinite}
@keyframes blink{50%{opacity:.55}}
@media (max-width:760px){.chat{right:12px;bottom:84px}.chat-fab{width:50px;height:50px}.chat-fab::after{display:none}}
@media (prefers-reduced-motion:reduce){.fab-ring,.chat.nudge .chat-fab,.chat-panel,.chat-m,.chat.thinking .chat-av,.chat.thinking .chat-av::before,.chat-m.typing i,.chat.thinking .chat-head small{animation:none!important}}
.brand img{height:52px;width:auto}
@media (max-width:980px){.brand img{height:42px}}
@media (max-width:420px){.brand img{height:34px}}
/* Logo etwas größer */
.brand img{height:62px}
@media (max-width:980px){.brand img{height:48px}}
@media (max-width:420px){.brand img{height:40px}}
.site-footer .brand img{height:70px}

/* ===== Anfrage-Seite: Formular zuerst, kompakter Kopf ===== */
.page-hero.compact{padding:96px 0 34px;min-height:0}
.page-hero.compact h1{font-size:clamp(1.9rem,4.4vw,3rem)}
.page-hero.compact .lead{margin:.6em 0 0;font-size:1.05rem;max-width:40em}
.contact-grid.first{padding-top:clamp(26px,4vw,50px)}
@media (max-width:760px){
  .page-hero.compact{padding:80px 0 22px}
  .page-hero.compact .lead{font-size:.98rem}
  .contact-grid.first{padding-top:20px}
  .contact-grid .form{padding:18px 16px}
}
/* Plus/Minus-Auswahl */
.field{display:grid;gap:6px;font-weight:600;font-size:.92rem}
.flabel{display:block}
.stepper{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:14px;background:var(--card);overflow:hidden;height:52px}
.stepper button{width:52px;height:100%;border:0;background:var(--bg2);color:var(--accent);font:600 1.6rem/1 var(--sans);cursor:pointer;transition:background .15s,transform .1s;flex:none;display:grid;place-items:center;padding:0 0 3px}
.stepper button:hover{background:rgba(155,3,3,.12)}
.stepper button:active{transform:scale(.92)}
.stepper button:disabled{opacity:.3;cursor:not-allowed}
.stepper input{border:0!important;box-shadow:none!important;text-align:center;font:600 1.2rem var(--sans);width:100%;min-width:0;padding:0!important;background:transparent;color:var(--ink);pointer-events:none}
.guests{align-items:end}
.guests-hint{color:var(--accent);font-weight:600;margin:-4px 0 0}
/* Mobile Leiste: Anfrage groß, Anruf klein */
@media (max-width:760px){
  .mbar{grid-template-columns:1fr 56px}
  .mbar .req{order:1;font-size:1.05rem}
  .mbar .call{order:2;padding:0;background:#fff;box-shadow:inset 0 0 0 2px var(--green);color:var(--green)}
  .mbar .call .ic{width:24px;height:24px}
}

/* Alter der Kinder: ein Dropdown pro Kind */
.ages{display:grid;gap:8px;font-weight:600;font-size:.92rem;background:var(--bg2);border-radius:16px;padding:14px 16px}
.ages[hidden]{display:none}
.agelist{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.agesel{display:grid;gap:4px;font-weight:500;font-size:.85rem;color:var(--muted);animation:msgin .25s ease-out}
.agesel select{font:inherit;font-weight:600;color:var(--ink);padding:11px 12px;border:1.5px solid var(--line);border-radius:12px;background:var(--card);width:100%}

/* Cookie-Hinweis auf dem Handy kleiner, damit er das Formular nicht verdeckt */
@media (max-width:760px){
  .cookie{padding:12px 14px;border-radius:16px;bottom:76px}
  .cookie p{font-size:.8rem;margin:0 0 8px;line-height:1.4}
  .cookie strong{font-size:.95rem}
  .cookie .btn{padding:9px 14px;font-size:.82rem}
}

/* Auf dem Handy: Reise-Daten und Personen nebeneinander, spart Platz */
@media (max-width:560px){
  .form .row2.dates,.form .row2.guests{grid-template-columns:1fr 1fr;gap:10px}
  .form .row2.dates input{padding:12px 10px;font-size:.92rem}
  .stepper button{width:44px}
  .stepper input{font-size:1.1rem}
}

.plabel{display:block;color:var(--muted);font-size:.82rem;font-weight:500}
.offer .offer-img{width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:14px;margin-bottom:8px}
.offer .offer-img img{width:100%;height:100%;object-fit:cover}

/* ===== Chat: auffällig (hüpft, blinkt, Sprechblase) ===== */
.fab-dot{position:absolute;top:-3px;right:-3px;min-width:20px;height:20px;border-radius:99px;background:#ffb020;color:#2b1a00;font:800 .72rem/20px var(--sans);text-align:center;box-shadow:0 0 0 3px #fff;animation:dotpulse 1.4s ease-in-out infinite;z-index:2}
@keyframes dotpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.22)}}
.chat.hop .chat-fab{animation:hopfab 1.3s cubic-bezier(.28,.84,.42,1)}
@keyframes hopfab{0%{transform:translateY(0) scale(1,1)}12%{transform:translateY(0) scale(1.12,.86)}30%{transform:translateY(-22px) scale(.92,1.1)}48%{transform:translateY(0) scale(1.1,.9)}62%{transform:translateY(-11px) scale(.96,1.05)}78%{transform:translateY(0) scale(1.05,.95)}100%{transform:translateY(0) scale(1,1)}}
.chat.hop .fab-ring{animation-duration:1.2s}
.chat-teaser{position:absolute;right:0;bottom:70px;width:max-content;max-width:min(270px,calc(100vw - 40px));background:#fff;color:#241f1f;padding:13px 34px 13px 16px;border-radius:18px 18px 4px 18px;font:600 .9rem/1.4 var(--sans);box-shadow:0 14px 40px rgba(0,0,0,.28);opacity:0;transform:translateY(12px) scale(.9);transform-origin:bottom right;pointer-events:none;transition:opacity .35s,transform .35s cubic-bezier(.2,.9,.3,1.3);cursor:pointer;z-index:3}
.chat.teaser .chat-teaser{opacity:1;transform:none;pointer-events:auto}
.chat-teaser::after{content:"";position:absolute;right:20px;bottom:-7px;width:14px;height:14px;background:#fff;transform:rotate(45deg);border-radius:2px}
.chat-teaser-x{position:absolute;top:6px;right:8px;background:none;border:0;color:#8a8076;font-size:1.2rem;line-height:1;cursor:pointer;padding:2px 4px}
.chat.open .chat-teaser{display:none}
@media (max-width:760px){.chat-teaser{bottom:64px}}
@media (prefers-reduced-motion:reduce){.fab-dot,.chat.hop .chat-fab{animation:none!important}}

/* Gästemappe */
.guide{max-width:860px}
.guide-card{background:var(--card,#fff);border:1px solid var(--line,#e5e5e5);border-radius:18px;padding:22px 24px;margin:18px 0}
.guide-card h2,.guide-card h3{margin-top:0}
.guide-grid{display:grid;gap:14px;grid-template-columns:1fr 1fr}
.guide-grid .guide-card{margin:0}
@media (max-width:700px){.guide-grid{grid-template-columns:1fr}}
.gform{display:grid;gap:14px;margin-top:10px}
.gform label{display:grid;gap:4px;font-weight:600;font-size:.9rem}
.gform input[type=text],.gform input[type=date],.gform select{width:100%;padding:12px 14px;border:1px solid var(--line,#ccc);border-radius:10px;font:inherit;background:var(--bg,#fff);color:inherit}
.grow2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:560px){.grow2{grid-template-columns:1fr}}
.roll-items{display:grid;gap:8px}
.roll-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--line,#ddd);border-radius:12px}
.qty{display:flex;align-items:center;gap:6px}
.qty button{width:40px;height:40px;border-radius:50%;border:1px solid var(--line,#ccc);background:transparent;color:inherit;font-size:1.3rem;cursor:pointer}
.qty input{width:52px;text-align:center;padding:8px 0;border:1px solid var(--line,#ccc);border-radius:10px;font:inherit;background:transparent;color:inherit}
.callout.ok{background:#dff5e6;color:#14532d}.callout.err{background:#fde2e2;color:#7f1d1d}
.gi-title{margin-top:34px}

.guide-nav{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
.guide-nav a{padding:10px 18px;border-radius:99px;border:1px solid var(--line,#ccc);text-decoration:none;font-weight:600}

.guide-hello{font:700 1.5rem var(--serif);color:var(--accent);margin:0 0 6px}

.gc-strip{background:var(--bg2,#f2eeea);border-block:1px solid var(--line,#e6dfda);padding:22px 0}
.gc-in{display:flex;gap:18px;align-items:center}
.gc-ic{font-size:2rem;white-space:nowrap}
.gc-in b{display:block;font-size:1.15rem;margin-bottom:2px}
.gc-in p{margin:0;color:var(--muted,#6b6361);font-size:.96rem}
@media (max-width:600px){.gc-in{flex-direction:column;align-items:flex-start;gap:8px}}

/* ===== Endfassung: schlanke Kopfzeile, Einwilligungs-Dialog, Gästekarte, Wohnungen, Mosaik ===== */
/* Kopfzeile: eine schlanke Leiste, Sprachen daneben */
.langbar{display:none}
.site-header .bar{height:54px;gap:12px}
.site-header .brand img{height:34px;width:auto}
.site-header .menu-btn{padding:6px 10px}
.bar-right{display:flex;align-items:center;gap:10px;justify-self:end}
.bar-right .langs{display:flex;gap:0;margin:0;border:1px solid rgba(255,255,255,.35);border-radius:99px;overflow:hidden;order:0}
.bar-right .langs a{padding:4px 10px;font-size:.72rem;font-weight:700;letter-spacing:.08em;color:rgba(255,255,255,.85);background:none;text-decoration:none}
.bar-right .langs a[aria-current]{background:#fff;color:#9b0303}
.bar-right .langs a::after{display:none}
.site-header .btn-sm{padding:7px 16px}
@media (max-width:640px){.site-header .btn-sm{display:none}.site-header .brand img{height:30px}}

/* Einwilligungs-Dialog am Anfang */
.consent-ov{position:fixed;inset:0;z-index:200;background:rgba(20,10,10,.62);display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}
.consent-ov[hidden]{display:none}
.consent{background:var(--card,#fff);color:var(--ink);border-radius:22px;max-width:560px;width:100%;padding:26px 28px;box-shadow:0 30px 90px rgba(0,0,0,.4);border-top:6px solid var(--accent)}
.consent h2{font-size:1.45rem;margin:0 0 8px}
.cc-intro{margin:0 0 14px;color:var(--muted);font-size:.95rem}.cc-intro a{color:var(--accent)}
.cc-row{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:14px;margin-bottom:10px;cursor:pointer}
.cc-row input{width:22px;height:22px;margin-top:2px;accent-color:var(--accent);flex:none}
.cc-row b{display:block}.cc-row small{display:block;color:var(--muted);font-size:.85rem;line-height:1.4}
.cc-btns{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:14px}

/* Gästekarte als Fahrkarte */
.gc-wrap{padding:28px 0 8px;background:var(--bg)}
.gc-card{position:relative;display:flex;gap:22px;align-items:center;background:var(--card,#fff);border:1px solid var(--line);border-radius:24px;padding:22px 26px 22px 30px;box-shadow:0 14px 40px -22px rgba(60,20,20,.35);overflow:hidden}
.gc-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:8px;background:linear-gradient(180deg,var(--accent),var(--gold))}
.gc-icon{display:flex;gap:6px;flex:none;padding:12px 14px;border-radius:18px;background:linear-gradient(135deg,var(--accent),var(--accent-d,#7a0202));color:#fff}
.gc-icon svg{width:38px;height:38px}
.gc-badge{display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:rgba(155,3,3,.08);border:1px dashed rgba(155,3,3,.35);padding:3px 10px;border-radius:99px;margin-bottom:6px}
.gc-body h3{margin:0 0 4px;font-size:1.2rem}
.gc-body p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.5}
@media (max-width:620px){.gc-card{flex-direction:column;align-items:flex-start;gap:12px;padding:20px 20px 20px 26px}}

/* Fußbereich: hilfreiche Webseiten */
.site-footer .foot-grid{grid-template-columns:1.3fr 1fr .8fr 1fr}
@media (max-width:900px){.site-footer .foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.site-footer .foot-grid{grid-template-columns:1fr}}
.ext-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ext-list a{color:rgba(255,255,255,.8);text-decoration:none}.ext-list a:hover{color:#fff;text-decoration:underline}

/* Startseite: kompakter Titel, Wohnungen als Vollbild-Streifen, Mosaik */
.hero.hero-compact{min-height:min(64vh,560px);padding:70px 0 44px}
.h6-apt{position:relative;min-height:min(58vh,500px);display:flex;align-items:center;overflow:hidden;background:#000}
.h6-bg{position:absolute;inset:0;display:block}.h6-bg img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s}
.h6-apt:hover .h6-bg img{transform:scale(1.04)}
.h6-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,8,8,.88),rgba(20,8,8,.1))}
.h6-apt.right .h6-bg::after{background:linear-gradient(270deg,rgba(20,8,8,.88),rgba(20,8,8,.1))}
.h6-apt .wrap{position:relative;display:flex}.h6-apt.right .wrap{justify-content:flex-end}
.h6-box{max-width:480px;color:#fff;padding:30px 0}.h6-box h2{color:#fff;font-size:clamp(2rem,4.6vw,3.2rem);margin:0 0 6px}
.h6-n{display:block;font:700 clamp(3rem,7vw,5rem)/1 var(--serif);color:var(--gold);opacity:.9}
.h6-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.h6-box p{color:rgba(255,255,255,.92)}
.gallery.trio{grid-template-columns:repeat(3,1fr);gap:10px}
.gallery.trio img{aspect-ratio:4/3}
@media (max-width:700px){.gallery.trio{grid-template-columns:1fr 1fr}}

/* Kontaktformular: kompakt, Adresse in einer Zeile */
.row4{display:grid;grid-template-columns:2fr 1fr 1.4fr 1.2fr;gap:12px}
@media (max-width:760px){.row4{grid-template-columns:1fr 1fr}.row4 .w2{grid-column:1/-1}}
.form{gap:10px}
.page-hero.compact{padding:34px 0 28px}
.extras{margin:10px 0 0;font-size:.85rem;color:var(--muted)}
.prices-switch{margin:0 0 14px;padding:14px 18px}

.cc-btns .btn{flex:1 1 170px;justify-content:center}
.consent{max-height:calc(100vh - 32px);overflow:auto}

.consent [hidden],.consent-ov [hidden]{display:none!important}
.cc-btns [data-cc-all]{order:3}

.site-footer .foot-grid{grid-template-columns:1.3fr 1fr .8fr}
@media (max-width:760px){.site-footer .foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.site-footer .foot-grid{grid-template-columns:1fr}}
.helpful{padding:26px 0 8px;border-top:1px solid rgba(255,255,255,.12);margin-top:22px}
.helpful .h-title{margin:0 0 14px;text-transform:uppercase;letter-spacing:.18em;font-size:.74rem;color:rgba(255,255,255,.6);text-align:center}
.helpful ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:nowrap;gap:14px;justify-content:center;align-items:stretch}
.helpful li{flex:1 1 0;max-width:230px}
.helpful a{display:flex;align-items:center;justify-content:center;height:72px;padding:10px 16px;background:#fff;border-radius:14px;transition:transform .25s,box-shadow .25s}
.helpful a.dark{background:#3b3b3d}
.helpful a:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.35)}
.helpful img{height:48px;width:auto;max-width:100%;object-fit:contain}
@media (max-width:640px){.helpful ul{display:grid;grid-template-columns:1fr 1fr;gap:10px}.helpful li{max-width:none}.helpful a{height:62px}.helpful img{height:40px}}

.site-header .brand img{height:40px;width:auto}
@media (max-width:640px){.site-header .brand img{height:34px}}

/* ===== Wohnungsseiten ===== */
.apt-hero{padding-bottom:56px}
.apt-chips{list-style:none;margin:18px 0 22px;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.apt-chips li{display:flex;gap:8px;align-items:center;padding:9px 16px;border-radius:99px;background:rgba(255,255,255,.18);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.35);color:#fff;font-weight:600;font-size:.95rem}
.rooms-sec{background:var(--bg2)}
.rooms-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}
.room{position:relative;display:block;border-radius:20px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:3/4}
.room img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.room:hover img{transform:scale(1.07)}
.room span{position:absolute;left:12px;bottom:12px;padding:7px 14px;border-radius:99px;background:rgba(255,255,255,.92);font-weight:700;font-size:.92rem;color:#3a2a2a}
@media (max-width:900px){.rooms-grid{grid-template-columns:1fr 1fr}.room{aspect-ratio:4/3}}
.plan-sec{background:linear-gradient(180deg,var(--bg),var(--bg2))}
.plan-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(24px,5vw,64px);align-items:center}
.plan-3d .plan-card{display:block;background:#fff;border-radius:26px;padding:18px;box-shadow:var(--shadow)}
.plan-3d img{width:100%;height:auto}
.plan-hint{text-align:center;color:var(--muted);font-size:.85rem;margin:10px 0 0}
.plan-stats{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0;padding:0}
.plan-stats li{background:#fff;border-radius:16px;padding:14px;text-align:center;box-shadow:0 8px 24px -16px rgba(60,20,20,.4)}
.plan-stats b{display:block;font:700 1.35rem var(--serif);color:var(--accent)}.plan-stats span{font-size:.8rem;color:var(--muted)}
@media (max-width:900px){.plan-grid{grid-template-columns:1fr}}
.apt-other{position:relative;min-height:min(78vh,700px);display:flex;align-items:center;overflow:hidden;background:#1c1010;color:#fff}
.ao-bg{position:absolute;inset:0;display:block}.ao-bg img{width:100%;height:100%;object-fit:cover}
.ao-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,8,8,.9) 0%,rgba(20,8,8,.55) 50%,rgba(20,8,8,.15))}
.apt-other .wrap{position:relative}.ao-box{max-width:560px;padding:50px 0}
.ao-kicker{text-transform:uppercase;letter-spacing:.2em;font-size:.76rem;color:var(--gold);margin:0 0 8px}
.ao-box h2{color:#fff;font-size:clamp(2.4rem,6vw,4.2rem);margin:0 0 4px}
.ao-for{font:italic 1.5rem var(--serif);color:var(--gold);margin:0 0 16px}
.ao-chips{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ao-chips li{display:flex;gap:7px;align-items:center;padding:7px 14px;border-radius:99px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);font-weight:600;font-size:.92rem}
.ao-box p{color:rgba(255,255,255,.92)}

/* ===== Erlebnis: Winter / Sommer ===== */
.ex-hero{position:relative;color:#fff;padding:90px 0 70px;background:linear-gradient(180deg,rgba(20,8,8,.35),rgba(20,8,8,.7)),var(--hero) center/cover}
.ex-hero h1{color:#fff;font-size:clamp(2.4rem,6vw,4.4rem);margin:0 0 10px;max-width:14ch}
.ex-hero .lead{max-width:34em;color:rgba(255,255,255,.92)}
.ex-switch{position:sticky;top:54px;z-index:40;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 8px 20px -18px rgba(0,0,0,.5)}
.ex-switch .wrap{display:flex;gap:10px;justify-content:center;padding:10px 0}
.ex-tab{display:flex;gap:8px;align-items:center;padding:11px 26px;border-radius:99px;border:2px solid var(--line);background:#fff;font:700 1rem var(--sans);color:var(--ink);cursor:pointer;transition:.2s}
.ex-tab .ic{width:1.2em;height:1.2em}
.ex-t-winter[aria-selected="true"]{background:#2a6db0;border-color:#2a6db0;color:#fff}
.ex-t-summer[aria-selected="true"]{background:#3f8a3a;border-color:#3f8a3a;color:#fff}
.ex-sec[hidden]{display:none}
.ex-winter{--ex:#2a6db0;--ex2:#e6f0fb}
.ex-summer{--ex:#3f8a3a;--ex2:#eaf4e2}
.ex-sec{background:linear-gradient(180deg,var(--ex2),var(--bg) 420px)}
.ex-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,70px);align-items:center}
.ex-tag{display:inline-flex;gap:8px;align-items:center;margin:0 0 10px;padding:6px 14px;border-radius:99px;background:var(--ex);color:#fff;font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.ex-text h2{color:var(--ex)}
.ex-text .btn{background:var(--ex);margin-top:8px}
.ex-pic img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:28px;box-shadow:0 30px 60px -30px rgba(0,0,0,.5);transform:rotate(1.5deg)}
@media (max-width:860px){.ex-intro{grid-template-columns:1fr}.ex-pic img{aspect-ratio:4/3;transform:none}}
.ex-stats ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ex-stats li{background:var(--ex);color:#fff;border-radius:20px;padding:20px 16px;text-align:center}
.ex-stats b{display:block;font:700 1.6rem var(--serif)}.ex-stats span{font-size:.88rem;opacity:.9}
@media (max-width:760px){.ex-stats ul{grid-template-columns:1fr 1fr}}
.ex-acts{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:26px}
.ex-act{background:#fff;border-radius:22px;padding:24px 20px;box-shadow:0 14px 36px -24px rgba(0,0,0,.45);border-top:5px solid var(--ex);transition:transform .25s}
.ex-act:hover{transform:translateY(-5px)}
.ex-ic{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:var(--ex2);color:var(--ex);margin-bottom:12px}
.ex-ic .ic{width:30px;height:30px}
.ex-act h3{margin:0 0 6px;font-size:1.15rem}.ex-act p{margin:0;color:var(--muted);font-size:.95rem}
@media (max-width:980px){.ex-acts{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ex-acts{grid-template-columns:1fr}}
.ex-photos{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:24px}
.exp{display:block;border-radius:20px;overflow:hidden;aspect-ratio:3/4}
.exp img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.exp:hover img{transform:scale(1.07)}
.exp.p0,.exp.p3{transform:translateY(18px)}
@media (max-width:760px){.ex-photos{grid-template-columns:1fr 1fr}.exp.p0,.exp.p3{transform:none}}
.ex-links{padding:30px 0 50px}
.ex-links h3{margin:0 0 12px}
.ex-chips{display:flex;flex-wrap:wrap;gap:10px}
.ex-chips a{padding:10px 18px;border-radius:99px;background:#fff;border:1px solid var(--line);text-decoration:none;font-weight:600;color:var(--ex);transition:.2s}
.ex-chips a:hover{background:var(--ex);color:#fff}

/* Interaktiver Grundriss */
.plan-ia{display:grid;grid-template-columns:1.7fr 1fr;gap:clamp(18px,3vw,36px);align-items:start;margin-top:26px}
.plan-main{background:#fff;border-radius:26px;padding:16px 16px 12px;box-shadow:var(--shadow)}
.plan-bar{display:inline-flex;border:1px solid var(--line);border-radius:99px;overflow:hidden;margin:0 0 6px}
.plan-bar button{padding:8px 18px;border:0;background:#fff;font:700 .9rem var(--sans);cursor:pointer;color:var(--ink)}
.plan-bar button[aria-pressed="true"]{background:var(--accent);color:#fff}
.plan-stage{min-height:200px}
.plan-v[hidden]{display:none}
.plan-svg{width:100%;height:auto;display:block}
.plan-panel{position:sticky;top:76px;background:#fff;border-radius:22px;padding:16px;box-shadow:var(--shadow)}
.plan-panel figure{margin:0 0 10px}
.plan-panel img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;display:block}
.plan-panel img[hidden]{display:none}
.plan-panel h3{margin:0 0 4px;font-size:1.25rem}
.pp-desc{margin:0 0 12px;color:var(--muted);min-height:3em}
.plan-panel .plan-stats{margin:0 0 14px}
@media (max-width:900px){.plan-ia{grid-template-columns:1fr}.plan-panel{position:static}}

/* ===== Handy & Tablet: große Tipp-Ziele, kein Überlaufen, flüssige Bedienung ===== */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
a,button,input,select,textarea,summary,[role=button]{touch-action:manipulation}
button,.btn,a{-webkit-tap-highlight-color:rgba(155,3,3,.15)}
img,svg,video{max-width:100%}
@media (max-width:1024px){
  .menu-btn{min-height:44px;padding:0 12px}
  .bar-right .langs a{min-height:38px;display:inline-flex;align-items:center;padding:0 12px;font-size:.8rem}
  .site-footer a,.dr-legal a,.dr-contact a,.map-tel a,.contact-side a{display:inline-block;padding:9px 0;min-height:40px}
  .site-footer .copy a{padding:6px 2px}
  .chat-teaser-x{width:34px;height:34px;font-size:1.2rem}
  .stepper input{min-height:44px}
  .stepper button{min-width:44px;min-height:44px}
  .plan-bar button{min-height:42px}
  .check input[type=checkbox],.cc-row input{width:24px;height:24px;flex:none}
  .check{gap:12px;align-items:flex-start;padding:6px 0}
  .ex-tab{min-height:46px}
  .ex-chips a,.link-chips a{min-height:44px;display:inline-flex;align-items:center}
}
@media (max-width:900px){
  input,select,textarea{font-size:16px}          /* verhindert das Hineinzoomen auf iPhones */
  .mbar{padding-bottom:calc(8px + env(safe-area-inset-bottom))}
  .hero-compact{min-height:min(70vh,520px)}
  .h6-apt{min-height:min(62vh,460px)}
  .h6-box{padding:26px 0}
  .apt-other{min-height:min(70vh,560px)}
  .consent{padding:20px 18px;border-radius:18px}
  .plan-stage{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .plan-v{min-width:640px}
  .plan-main{padding:12px}
}
@media (max-width:640px){
  .row2,.grow2,.row4{grid-template-columns:minmax(0,1fr)}
  .row4 .w2{grid-column:auto}
  input[type=date]{min-width:0;width:100%;max-width:100%}
  .form label,.gform label{min-width:0}
  .plan-ia>*{min-width:0}
  .highlights ul{grid-template-columns:1fr 1fr;gap:8px}
  .highlights li{padding:10px;min-width:0}
  .highlights li small,.highlights li b{overflow-wrap:anywhere}
  .gc-card{padding:18px 16px 18px 24px}
  .rooms-grid{gap:10px}
  .ex-intro{gap:18px}
  .wrap{width:min(1180px,100% - 28px)}
}
@media (max-width:380px){
  .site-header .brand img{height:28px}
  .bar-right .langs a{padding:0 9px}
  .menu-btn .mb-lbl{display:none}
  h1{font-size:2rem}
  .h6-box h2,.ao-box h2{font-size:2rem}
}
@media (hover:none){
  .room:hover img,.exp:hover img,.h6-apt:hover .h6-bg img{transform:none}
  .ex-act:hover{transform:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* 320-px-Geräte: nichts darf breiter als der Bildschirm werden */
.gform{grid-template-columns:minmax(0,1fr)}
.gform>*,.grow2>*,.form>*,.row2>*,.row4>*{min-width:0}
.gform input,.gform select{max-width:100%}
.plan-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.plan-stats li{min-width:0;padding:12px 6px}
.plan-stats span{overflow-wrap:anywhere}
@media (max-width:640px){
  .checks.cols{grid-template-columns:minmax(0,1fr)}
  .checks li{min-width:0;overflow-wrap:anywhere}
  .facts li,.apt-chips li{min-width:0}
  .apt-chips{gap:8px}
  .apt-chips li{padding:8px 12px;font-size:.9rem}
}
.roll-items{grid-template-columns:minmax(0,1fr)}
.roll-item{min-width:0;flex-wrap:wrap}
.roll-item>span:first-child{min-width:0;overflow-wrap:anywhere;flex:1 1 110px}
.qty button{width:44px;height:44px}
.qty input{width:50px;min-height:44px}
/* Tablet: „Das ist inklusive“ zweispaltig statt 3+1 */
@media (min-width:600px) and (max-width:1000px){.feat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---- Von-bis-Kalender ---- */
.rp{position:relative;margin:0 0 16px}
.rp>.flabel{font-weight:600;font-size:.92rem;margin-bottom:6px}
.rp-cal{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px 12px;box-shadow:0 6px 24px rgba(0,0,0,.06);max-width:100%}
.rp-inline .rp-cal{box-shadow:none;border:1.5px solid color-mix(in srgb,var(--accent) 28%,var(--line))}
.rp-sum{margin:8px 2px 0;font-size:.95rem;font-weight:600;color:var(--accent)}
.rp-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.rp-nav button{width:42px;height:42px;flex:none;border-radius:50%;border:1px solid var(--line);background:var(--bg);font-size:1.4rem;line-height:1;cursor:pointer;color:var(--ink);padding:0}
.rp-nav button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
.rp-nav button:disabled{opacity:.35;cursor:default}
.rp-hint{font-size:.85rem;color:var(--muted);text-align:center;flex:1;min-width:0}
.rp-months{display:grid;gap:22px}
.rp-months.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.rp-months.c1{grid-template-columns:minmax(0,1fr)}
.rp-mt{text-align:center;font-weight:700;margin:2px 0 8px;text-transform:capitalize}
.rp-g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));row-gap:3px}
.rp-wd{text-align:center;font-size:.74rem;color:var(--muted);padding:4px 0;text-transform:uppercase;letter-spacing:.04em}
.rp-d{position:relative;height:42px;border:0;background:transparent;border-radius:0;font:inherit;font-size:.95rem;color:var(--ink);cursor:pointer;padding:0}
.rp-d:hover:not(:disabled):not(.sel){background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:50%}
.rp-d.off{color:var(--muted);opacity:.38;cursor:default;text-decoration:line-through}
.rp-d.today{font-weight:800;box-shadow:inset 0 -3px 0 var(--gold)}
.rp-d.mid{background:color-mix(in srgb,var(--accent) 14%,transparent)}
.rp-d.sel{background:var(--accent);color:#fff;font-weight:700;border-radius:50%;box-shadow:none}
.rp-d.sel.s.has{border-radius:50% 0 0 50%}
.rp-d.sel.e{border-radius:0 50% 50% 0}
.rp-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.rp-clear{background:none;border:0;color:var(--accent);font:inherit;font-weight:600;cursor:pointer;padding:10px 4px;min-height:40px}
.rp-clear:disabled{opacity:.4;cursor:default}
.rp-field{display:flex;align-items:center;width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card);font:inherit;color:var(--muted);text-align:left;cursor:pointer}
.rp-field.set{color:var(--ink);font-weight:600}
.rp-field:hover,.rp-field[aria-expanded=true]{border-color:var(--accent)}
.rp:not(.rp-inline) .rp-cal{position:absolute;z-index:40;left:0;top:calc(100% + 6px);width:min(640px,calc(100vw - 32px))}
.of-form .rp{margin:0;grid-column:1/-1}
.of-form .rp-field{border-radius:0;border:0;border-bottom:2px solid var(--line);padding:10px 0}
.of-form .rp>.flabel{display:none}
.rp-fallback{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rp-fallback[hidden]{display:none}
