/* ArtHotel Mockup — gemeinsames Stylesheet (an dev-Seite angelehnt) */
:root{
  --burgundy:#A50022;--burgundy-dark:#7d001a;--ink:#1e2020;--muted:#6b6b6b;
  --cream:#f6f1e8;--cream-2:#faf7f1;--line:#e7e0d4;
  --serif:"URWClassico","Optima","Optima Nova","Palatino Linotype",Palatino,Georgia,serif;
  --sans:"URW DIN","DIN Next","Segoe UI",Helvetica,Arial,sans-serif;
  /* === Einheitliches Inhaltsraster (eine Spalte für die ganze Site) === */
  --maxw:1180px;        /* Inhaltsspalte = die durchgehende linke/rechte Kante */
  --maxw-narrow:820px;  /* EIN schmaler, zentrierter Block (Intros, Recht, schmale Sektionen) */
  --maxw-read:62ch;     /* Lesebreite für Fließtext-Untertitel */
  --gutter:28px;        /* Seitenrand der Spalte */
  --colpad:max(28px,calc(50vw - 562px));  /* Außenrand randloser Bänder → Text bündig zur Spaltenkante */
}
*{box-sizing:border-box;}
body{margin:0;font-family:var(--sans);color:var(--ink);background:#fff;line-height:1.6;font-size:17px;}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.15;margin:0 0 .4em;}
a{color:inherit;text-decoration:none;}
/* In-Text-Links (Fließtext/Listen) unterstreichen beim Hover — Buttons/Karten/Nav ausgenommen */
main#main a:not([class]):hover,main#main a.link:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px;}
img{max-width:100%;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);}
.wrap.narrow{max-width:var(--maxw-narrow);}   /* einheitlicher schmaler, zentrierter Block */
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.74rem;color:var(--burgundy);font-weight:600;margin-bottom:14px;}
.eyebrow.light{color:#fff;opacity:.9;}
.btn{display:inline-block;font-size:.86rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;padding:14px 28px;border-radius:2px;cursor:pointer;transition:.2s;border:1.5px solid var(--burgundy);}
.btn-primary{background:var(--burgundy);color:#fff;}
.btn-primary:hover{background:var(--burgundy-dark);border-color:var(--burgundy-dark);}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.8);}
.btn-ghost:hover{background:rgba(255,255,255,.15);}
.btn-ghost.wb{border-color:#fff;}
.btn-outline{background:transparent;color:var(--burgundy);}
.btn-outline:hover{background:var(--burgundy);color:#fff;}
.draft{background:var(--ink);color:#f3eee4;text-align:center;font-size:.78rem;letter-spacing:.04em;padding:7px 16px;}

/* header */
header.site{position:sticky;top:0;z-index:1400;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);}
.navbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 30px;}  /* full-width: Nav bleibt einzeilig, Logo flush links */
.logo{display:flex;align-items:flex-start;gap:10px;align-self:flex-start;position:relative;z-index:60;flex:0 0 auto;}  /* oben verankert, hängt in den Hero; flex:none = schrumpft im engen Header nicht */
.logo .mark{width:40px;height:40px;border-radius:50%;background:var(--burgundy);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1.25rem;}
.logo .name{font-family:var(--serif);font-size:1.18rem;line-height:1;}
.logo .name small{display:block;font-family:var(--sans);font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-top:3px;}
/* Echte ArtHotel-Bannermarke oben links (rote Fahne, transparent) */
.logo img,.logo svg{height:158px;width:auto;flex:none;display:block;margin:-10px 0 -98px;position:relative;z-index:60;}  /* hängt flush von oben in den Bildausschnitt (Dev-Vorbild); flex:none = behält Seitenverhältnis, kein Verzerren beim Resize */
@media(max-width:560px){.logo img,.logo svg{height:98px;margin:-6px 0 -54px;}}
nav.main{display:flex;gap:3px;flex-wrap:wrap;align-items:center;}
nav.main a{display:inline-block;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;font-weight:400;color:var(--ink);padding:7px 12px;border-radius:11px;transition:.15s;}
nav.main a:hover{color:var(--burgundy);background:rgba(165,0,34,.09);}          /* Hover = Squircle statt Unterstrich */
nav.main a.active{color:var(--burgundy);font-weight:700;}                        /* aktuelle Seite = fett */
nav.main a.haskids{text-decoration:underline dotted var(--burgundy);text-underline-offset:5px;text-decoration-thickness:2px;}  /* hat Unterseiten = gepunkteter Unterstrich (zero-width, Spacing bleibt) */
nav.main .nav-dot{align-self:center;flex:none;border-radius:50%;transform:translateY(-2px);}  /* optisch auf Cap-Höhe der Versalien zentriert */
nav.main .nav-dot.small{width:5px;height:5px;background:var(--burgundy);opacity:.6;margin:0 4px;}  /* kleine Trennung */
nav.main .nav-dot.big{width:7px;height:7px;background:var(--burgundy);opacity:.85;margin:0 9px;}  /* große Trennung */
.nav-cta{display:flex;align-items:center;gap:14px;}
.nav-cta .btn{border-radius:14px;}                                              /* BUCHEN = Squircle */
.nav-cta .phone{font-size:.84rem;color:var(--muted);white-space:nowrap;}
@media(max-width:1080px){nav.main{display:none;}}

/* hero / subhero */
.hero{position:relative;min-height:86vh;display:flex;align-items:center;color:#fff;background-position:center 35%;background-size:cover;background-repeat:no-repeat;background-color:#3a3330;}
.hero .wrap{padding:70px 28px;}
.hero h1{font-size:clamp(2.6rem,6vw,5rem);color:#fff;max-width:14ch;text-shadow:0 2px 24px rgba(0,0,0,.35);}
.hero p.lead{font-size:1.3rem;max-width:46ch;margin:.2em 0 1.8em;text-shadow:0 1px 12px rgba(0,0,0,.4);}
.hero .actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;}
.subhero{position:relative;min-height:clamp(520px,58vh,660px);display:flex;align-items:center;color:#fff;background-position:center 42%;background-size:cover;background-repeat:no-repeat;background-color:#3a3330;}  /* einheitliche Kopf-Höhe für alle Subhero-Seiten (enthält auch die inhaltsreichen Logo-Köpfe Genießen/Erleben); nur die Startseite nutzt .hero */
.subhero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,16,14,.28),rgba(20,16,14,.6));}
.subhero .wrap{position:relative;z-index:2;padding:60px 28px;}
.subhero h1{font-size:clamp(2.3rem,5vw,4rem);color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.4);}
.subhero p{font-size:1.22rem;max-width:50ch;text-shadow:0 1px 10px rgba(0,0,0,.4);}
/* Hero mit Sub-Marken-Logo (Variante B: Logo kroent die Headline) */
.subhero .wrap.hero-centered{text-align:center;}
.subhero .wrap.hero-centered p{margin-left:auto;margin-right:auto;}
.hero-logo{display:block;width:auto;margin:0 auto 20px;}
.hero-logo--kq{height:clamp(80px,11vw,120px);filter:drop-shadow(0 2px 14px rgba(0,0,0,.4));}
.hero-logo--plate{height:clamp(100px,12vw,128px);background:#fff;padding:14px 22px;border-radius:14px;box-shadow:0 12px 34px rgba(0,0,0,.3);}
/* Hero-Eckenlogo (KunstQuartier) — vereinheitlicht Ausstellung + Erleben */
.kq-logo{position:absolute;top:28px;right:40px;z-index:3;height:clamp(110px,13vw,180px);width:auto;margin:0;display:block;}
@media(max-width:680px){.kq-logo{top:16px;right:18px;height:84px;}}

/* sections */
section{padding:74px 0;}
.section-cream{background:var(--cream-2);}
.center{text-align:center;}
.lead-in{max-width:62ch;margin-left:auto;margin-right:auto;}
h2.big{font-size:clamp(2rem,3.6vw,2.9rem);color:var(--burgundy);}
h2.big.white,.white{color:#fff;}
.sub{color:var(--muted);font-size:1.12rem;}

/* split text+image */
.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
.intro-grid img{width:100%;border-radius:4px;box-shadow:0 18px 40px rgba(0,0,0,.12);display:block;}
.intro-grid.flip .txt{order:2;}
@media(max-width:820px){.intro-grid{grid-template-columns:1fr;}.intro-grid.flip .txt{order:0;}}

/* tracks */
.tracks{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:42px;}
.track{border-radius:6px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 10px 30px rgba(51,45,40,.07);display:flex;flex-direction:column;}
.track .ph{height:210px;background-size:cover;background-position:center;}
.track .body{padding:26px 28px 30px;}
.track h3{font-size:1.6rem;color:var(--ink);}
.track ul{margin:14px 0 0;padding:0;list-style:none;}
.track li{padding:7px 0 7px 26px;position:relative;border-top:1px solid var(--line);font-size:.99rem;}
.track li:first-child{border-top:none;}
.track li::before{content:"";position:absolute;left:4px;top:15px;width:8px;height:8px;border-radius:50%;background:var(--burgundy);}
.evening{margin-top:26px;background:var(--burgundy);color:#fff;border-radius:6px;padding:26px 30px;display:flex;gap:18px;align-items:center;flex-wrap:wrap;justify-content:space-between;}
.evening h3{color:#fff;font-size:1.5rem;margin:0;}
.evening p{margin:.3em 0 0;opacity:.92;max-width:60ch;}
@media(max-width:820px){.tracks{grid-template-columns:1fr;}}

/* small cards (3) */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:42px;}
.pkgc{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;transition:.2s;box-shadow:0 8px 24px rgba(51,45,40,.06);color:inherit;}
.pkgc:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(165,0,34,.14);}
.pkgc .ph{height:180px;background-size:cover;background-position:center;}
.pkgc .body{padding:22px 24px 26px;flex:1;display:flex;flex-direction:column;}
.pkgc h3{font-size:1.32rem;color:var(--ink);}
.pkgc .tag{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--burgundy);font-weight:600;margin-bottom:8px;}
.pkgc p{color:var(--muted);font-size:.96rem;flex:1;}
.pkgc .more{margin-top:14px;font-weight:600;color:var(--burgundy);font-size:.9rem;letter-spacing:.04em;}
@media(max-width:820px){.cards3{grid-template-columns:1fr;}}

/* large arrangement rows */
.pkg{display:grid;grid-template-columns:1fr 1.25fr;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:34px;box-shadow:0 10px 30px rgba(51,45,40,.07);background:#fff;}
.pkg:nth-child(even){grid-template-columns:1.25fr 1fr;}
.pkg:nth-child(even) .pic{order:2;}
.pkg .pic{min-height:340px;background-size:cover;background-position:center;}
.pkg .body{padding:38px 40px;}
.pkg .tag{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--burgundy);font-weight:600;margin-bottom:8px;}
.pkg h3{font-size:1.9rem;color:var(--ink);}
.pkg p.desc{color:var(--muted);margin:.4em 0 1.1em;}
.incl{list-style:none;padding:0;margin:0 0 1.4em;}
.incl li{position:relative;padding:6px 0 6px 28px;border-top:1px solid var(--line);font-size:.97rem;}
.incl li:first-child{border-top:none;}
.incl li::before{content:"✓";position:absolute;left:2px;top:6px;color:var(--burgundy);font-weight:700;}
.pkg .foot{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.price-note{font-size:.85rem;color:var(--muted);font-style:italic;}
@media(max-width:820px){.pkg,.pkg:nth-child(even){grid-template-columns:1fr;}.pkg:nth-child(even) .pic{order:0;}.pkg .pic{min-height:220px;}.pkg .body{padding:28px 26px;}}

/* room cards */
.roomcard{display:grid;grid-template-columns:300px 1fr;gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:22px;background:#fff;box-shadow:0 8px 22px rgba(51,45,40,.06);}
.roomcard .pic{min-height:220px;background-size:cover;background-position:center;}
.roomcard .body{padding:26px 30px;}
.roomcard h3{font-size:1.5rem;color:var(--ink);}
.roomcard p{color:var(--muted);margin:.3em 0 1em;}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
.tags span{font-size:.74rem;letter-spacing:.04em;background:var(--cream);border:1px solid var(--line);color:#555;padding:4px 11px;border-radius:20px;}
@media(max-width:680px){.roomcard{grid-template-columns:1fr;}.roomcard .pic{min-height:190px;}}

/* rooms strip (nur Home-Zimmerstrip = div.rooms; NICHT die feiern-Tabelle table.rooms) */
div.rooms{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px;}
.room{border-radius:6px;overflow:hidden;position:relative;height:230px;display:flex;align-items:flex-end;color:#fff;background-size:cover;background-position:center;}
.room::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.62));}
.room span{position:relative;z-index:2;padding:16px 18px;font-family:var(--serif);font-size:1.18rem;}
@media(max-width:820px){div.rooms{grid-template-columns:1fr 1fr;}}

/* proof */
.proof{background:var(--ink);color:#f3eee4;}
.proof .names{font-family:var(--serif);font-size:1.5rem;line-height:1.7;max-width:30ch;color:#fff;}
.proof .stat{font-size:3.2rem;font-family:var(--serif);color:var(--burgundy);}
.bubbles{display:flex;margin-top:18px;}
.bubbles .b{width:64px;height:64px;border-radius:50%;border:3px solid #fff;background-size:cover;background-position:center 22%;margin-right:-14px;box-shadow:0 4px 14px rgba(0,0,0,.4);}
.proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
@media(max-width:820px){.proof-grid{grid-template-columns:1fr;}}

/* two panels */
.two{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:42px;}
.panel{border-radius:6px;overflow:hidden;position:relative;min-height:340px;display:flex;align-items:flex-end;color:#fff;background-size:cover;background-position:center;}
.panel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,16,14,.12),rgba(20,16,14,.74));}
.panel .pbody{position:relative;z-index:2;padding:30px 32px 34px;}
.panel h3{color:#fff;font-size:1.9rem;}
.panel p{opacity:.92;max-width:42ch;}
.panel .claim{font-style:italic;opacity:.9;}
@media(max-width:820px){.two{grid-template-columns:1fr;}}

/* reassure band */
.reassure{background:var(--burgundy);color:#fff;text-align:center;}
.reassure h2{color:#fff;font-size:clamp(1.8rem,3vw,2.4rem);}
.reassure p{max-width:60ch;margin:0 auto;opacity:.94;font-size:1.12rem;}

/* footer */
footer.site{background:#23262a;color:#c9cdd0;padding:58px 0 26px;font-size:.92rem;}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1.2fr;gap:30px;}
footer.site h4{color:#fff;font-family:var(--serif);font-size:1.15rem;margin-bottom:14px;}
footer.site a{color:#c9cdd0;}footer.site a:hover{color:#fff;}
footer.site ul{list-style:none;padding:0;margin:0;line-height:2;}
.news input{width:100%;padding:11px 12px;border:none;border-radius:2px;margin:8px 0;font-family:var(--sans);}
.foot-bottom{border-top:1px solid #3a3f44;margin-top:40px;padding-top:18px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.82rem;color:#8b9196;}
.foot-bottom a{color:#8b9196;}
@media(max-width:820px){.foot-grid{grid-template-columns:1fr 1fr;}}

/* nav dropdowns (Hybrid: schlanke Untermenüs) */
nav.main .navitem{position:relative;}
nav.main .dropdown{position:absolute;top:100%;left:0;min-width:210px;background:#fff;border:1px solid var(--line);border-top:2px solid var(--burgundy);border-radius:0 0 6px 6px;box-shadow:0 14px 32px rgba(51,61,66,.14);padding:6px 0;display:none;z-index:60;}
nav.main .navitem:hover .dropdown{display:block;}
nav.main .dropdown a{display:block;padding:10px 18px;font-size:.82rem;letter-spacing:.02em;text-transform:none;font-weight:500;color:var(--ink);border:none;border-bottom:none;white-space:nowrap;}
nav.main .dropdown a:hover{background:var(--cream);color:var(--burgundy);border:none;}

/* Burger + Mobile-Navigation */
.burger{display:none;background:none;border:0;font-size:1.5rem;line-height:1;color:var(--burgundy);cursor:pointer;padding:2px 8px;}
.mobile-nav{display:none;border-top:1px solid var(--line);background:#fff;max-height:78vh;overflow-y:auto;}
.mobile-nav.open{display:block;}
.mobile-nav .mgroup{border-bottom:1px solid var(--line);}
.mobile-nav .mgroup > a{display:block;padding:14px 28px;font-family:var(--serif);font-size:1.12rem;color:var(--ink);}
.mobile-nav .msub a{display:block;padding:8px 28px 8px 44px;font-size:.92rem;color:var(--muted);}
.mobile-nav a:hover{color:var(--burgundy);}
@media(max-width:1080px){.burger{display:inline-flex;align-items:center;}}
@media(max-width:560px){.nav-cta .phone{display:none;}}
@media(min-width:1081px){.mobile-nav{display:none !important;}}

/* Einheitliches Formular (Action-Formulare am Seitenende) */
.formcard{max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:10px;padding:32px 36px;box-shadow:0 10px 30px rgba(51,45,40,.07);}
.formcard label{display:block;font-size:.85rem;color:var(--ink);margin:14px 0 6px;font-weight:600;}
.formcard label .req{color:var(--burgundy);}
.formcard input,.formcard select,.formcard textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:3px;font-family:inherit;font-size:1rem;background:#fff;}
.formcard .frow{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.formcard .consent{display:flex;gap:10px;align-items:flex-start;margin:16px 0;font-size:.9rem;color:var(--muted);}
.formcard .consent input{width:auto;margin-top:3px;}
.formcard .mock{font-size:.78rem;color:var(--muted);margin:.8em 0 0;text-align:center;}
@media(max-width:600px){.formcard .frow{grid-template-columns:1fr;}}

/* ---- Alternierende Text/Bild-Reihen (Rechts-Links-Wechsel, wiederverwendbar) ---- */
.alt-section{padding:64px 0;}
.alt-section .wrap.center{margin-bottom:8px;}
.altrows{display:flex;flex-direction:column;margin-top:30px;}
.altrow{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;position:relative;}
/* weißer, halbtransparenter Balken NUR auf dem oberen Rand des unteren Bildes (löst den "Ecke-an-Ecke"-Stoß, wie im Katalog) */
.altrow:not(:first-child) .img,.altrow:not(:first-child) .rmslider{position:relative;}
.altrow .txt{padding:54px 56px;display:flex;flex-direction:column;justify-content:center;}
.altrow .img{min-height:400px;background-size:cover;background-position:center;}
.altrow:nth-child(even) .txt{order:2;}            /* Bild links, Text rechts */
/* Bilder bleiben randlos; der Text der Bänder fluchtet bündig zur Inhaltsspalte */
.altrow:nth-child(odd) .txt{padding-left:var(--colpad);}    /* Text links → linke Spaltenkante */
.altrow:nth-child(even) .txt{padding-right:var(--colpad);}  /* Text rechts → rechte Spaltenkante */
.altrow h3{font-family:var(--serif);font-weight:700;font-size:1.7rem;color:var(--burgundy);margin:0 0 .55em;line-height:1.2;}
.altrow p{margin:0 0 1em;line-height:1.7;color:var(--ink);max-width:48ch;}
.altrow p:last-child{margin-bottom:0;}
.altrow:nth-child(odd) .txt{background:#f1efe9;}
.altrow:nth-child(even) .txt{background:#faf7f1;}
@media(max-width:820px){
  .altrow{grid-template-columns:1fr;}
  .altrow .img{order:0;min-height:230px;}
  .altrow .txt{order:1;padding:34px 26px;}
  .altrow:nth-child(odd) .txt,.altrow:nth-child(even) .txt{padding-left:26px;padding-right:26px;}  /* gestapelt → normaler Rand */
}

/* ---- Bild-Kachel mit Galerie-Badge (.altrow, wie die Entdecken-Karte) — JS: /js/rmslider.js ---- */
.altrow .rmslider{position:relative;min-height:400px;overflow:hidden;background:#ddd6cb;cursor:zoom-in;}
.rmslider .slides{position:absolute;inset:0;}
.rmslider .slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease;}
.rmslider .slides img.on{opacity:1;}
.rmslider .rm-badge{position:absolute;right:14px;bottom:14px;z-index:4;display:none;align-items:center;gap:5px;
  background:rgba(20,16,14,.72);color:#fff;font-size:.8rem;letter-spacing:.02em;padding:6px 14px;border-radius:20px;
  pointer-events:none;backdrop-filter:blur(2px);transition:background .2s;}
.altrow .rmslider:hover .rm-badge{background:rgba(20,16,14,.88);}
.rmslider.multi .rm-badge{display:inline-flex;}
@media(max-width:820px){.altrow .rmslider{order:0;min-height:250px;}}

/* ---- Tagesablauf-Timeline (Hochzeit, Tagungstag, …) — wiederverwendbar ---- */
.daytimeline{max-width:800px;margin:34px auto 0;position:relative;}
.daytimeline::before{content:"";position:absolute;left:106px;top:6px;bottom:18px;width:2px;background:var(--line);}
.tl-step{display:grid;grid-template-columns:92px 1fr;gap:24px;align-items:start;padding:0 0 26px;position:relative;}
.tl-step .tl-time{font-family:var(--serif);font-weight:700;color:var(--burgundy);text-align:right;padding-top:1px;line-height:1.2;}
.tl-step .tl-dot{position:absolute;left:100px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--burgundy);border:3px solid #fff;box-shadow:0 0 0 1px var(--line);}
.tl-step .tl-body h4{margin:0 0 3px;font-size:1.08rem;color:var(--ink);}
.tl-step .tl-body p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.55;}
@media(max-width:560px){.daytimeline::before{left:88px;}.tl-step{grid-template-columns:74px 1fr;gap:14px;}.tl-step .tl-dot{left:82px;}.tl-step .tl-time{font-size:.85rem;}}

/* ---- Paket-Staffel (3 Stufen) — wiederverwendbar ---- */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:var(--maxw);margin:34px auto 0;align-items:stretch;}
.tier{border:1px solid var(--line);border-radius:12px;background:#fff;padding:28px 26px;display:flex;flex-direction:column;}
.tier.feat{border:2px solid var(--burgundy);}
.tier .tbadge{align-self:flex-start;background:var(--burgundy);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:11px;margin-bottom:10px;}
.tier .tname{font-family:var(--serif);font-size:1.55rem;color:var(--burgundy);margin:0;}
.tier .tprice{font-size:1.05rem;font-weight:700;color:var(--ink);margin:8px 0 2px;}
.tier .tbase{font-size:.8rem;color:var(--muted);margin:0 0 16px;}
.tier ul{list-style:none;padding:0;margin:0 0 20px;flex:1;}
.tier li{padding:7px 0 7px 24px;position:relative;font-size:.92rem;border-top:1px solid var(--line);line-height:1.4;}
.tier li:first-child{border-top:none;}
.tier li::before{content:"✓";position:absolute;left:2px;color:var(--burgundy);font-weight:700;}
.tier .btn{margin-top:auto;text-align:center;}
@media(max-width:820px){.tiers{grid-template-columns:1fr;}}

/* ---- Anlass-Stichwortleiste (Feiern) ---- */
.occasions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:var(--maxw-narrow);margin:24px auto 0;}
.occasions span{background:var(--cream-2);border:1px solid var(--line);border-radius:22px;padding:8px 16px;font-size:.92rem;color:var(--ink);}

/* ---- Vergleichstabelle Räume (Feiern/Tagen) ---- */
.rooms{width:100%;border-collapse:collapse;max-width:920px;margin:30px auto 0;font-size:.95rem;background:#fff;}
.rooms th,.rooms td{padding:13px 16px;border-bottom:1px solid var(--line);text-align:left;}
.rooms thead th{background:var(--cream-2);font-family:var(--sans);font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
.rooms td:first-child{font-weight:600;color:var(--burgundy);}
.rooms tr:last-child td{border-bottom:none;}
@media(max-width:680px){.rooms{display:block;overflow-x:auto;white-space:nowrap;}}

/* ---- Preislisten (Bootscharter etc.) — 2-spaltig, Leader-Lines ---- */
.pricecols{display:grid;grid-template-columns:1fr 1fr;gap:54px;max-width:var(--maxw);margin:0 auto;}
.plist h3{font-family:var(--serif);font-size:1.5rem;font-weight:700;color:var(--burgundy);margin:0 0 14px;}
.prow{display:flex;align-items:baseline;gap:10px;margin-top:20px;}
.prow .lbl{font-weight:700;color:var(--burgundy);white-space:nowrap;display:flex;align-items:center;gap:9px;}
.prow .lbl::before{content:"";width:7px;height:7px;background:var(--burgundy);flex:none;}
.prow .dots{flex:1;border-bottom:1px solid #bdb8ae;transform:translateY(-4px);}
.prow .val{font-weight:700;color:var(--burgundy);white-space:nowrap;}
.psub{font-size:.86rem;color:var(--muted);line-height:1.45;margin:6px 0 0 16px;}
.btn-book{display:block;text-align:center;margin-top:30px;background:var(--burgundy);color:#fff;
  font-weight:600;padding:16px;border-radius:8px;border:1px solid var(--burgundy);}
.btn-book:hover{background:var(--burgundy-dark);}
.price-disclaimer{max-width:var(--maxw);margin:40px auto 0;color:var(--muted);font-size:.95rem;line-height:1.6;}
@media(max-width:760px){.pricecols{grid-template-columns:1fr;gap:38px;}}

/* === KBZ THEME OVERRIDE: Dunkel · Mitternacht-Slate & Gold (Standard, Kosh 2026-06-24) ===
   Reversibel: diesen ganzen Block bis END entfernen, dann ist die Site wieder neutral.
   Quelle = Style-Editor-Export (blue-slate). */
:root{
  --burgundy:#c4ab7a;--burgundy-dark:#a08a5d;--ink:#e7e6e1;--muted:#9aa1b0;
  --cream:#19202d;--cream-2:#1f2736;--line:#a08a5d;
  --serif:Georgia,"Times New Roman",serif;
  --sans:"URW DIN","DIN Next","Segoe UI",Helvetica,Arial,sans-serif;
}
body{background:#131925;}
header.site{background:#10141f;}
.track,.pkgc,.pkg,.roomcard,.formcard,.tier,.rate,.rooms,nav.main .dropdown,.mobile-nav,.brandcard,.card,.checklist,.f,.lg,.mc,.pb,.reason,.rm-variants,.rw,.tcard,.tipc,.kbz-tl-card{background:#19202d !important;}
.altrow:nth-child(odd) .txt{background:#19202d !important;}
.altrow:nth-child(even) .txt{background:#1f2736 !important;}
.altrow .rmslider{background:#1f2736 !important;}
.formcard input,.formcard select,.formcard textarea,.cform input,.cform select,.cform textarea,.kbz-form input,.kbz-form select,.kbz-form textarea{background-color:#19202d !important;color:var(--ink) !important;caret-color:var(--ink);}
.formcard select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23b1b7c2' stroke-width='1.6' d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px;color:var(--muted);}
.formcard select:has(option:not([value=""]):checked){color:var(--ink);}
.formcard input::placeholder,.formcard textarea::placeholder,.cform input::placeholder,.cform textarea::placeholder,.kbz-form input::placeholder,.kbz-form textarea::placeholder{color:var(--muted) !important;opacity:1;}
.formcard select option{color:#1a1a1a;background:#fff;}
.proof{background:#0c1019 !important;}
footer.site{background:#0c1019 !important;}
footer.site,footer.site h4,footer.site a,.foot-bottom,.foot-bottom a{color:#b1b7c2 !important;}
.hero h1,.hero .lead,.hero .eyebrow,.subhero h1,.subhero p,.subhero .eyebrow,.eyebrow.light{color:#f4f1ea !important;}
:root{--logo-box:#A50022;--logo-ink:#ece9e3;}
html{font-size:16px;}
.hero h1,h1{font-size:clamp(2.73rem,6.3vw,5.25rem);}
.subhero h1{font-size:clamp(2.42rem,5.25vw,4.2rem);}
.big{font-size:clamp(2.1rem,3.78vw,3.04rem);}
.btn{border-radius:10px;}
.btn{text-transform:uppercase;letter-spacing:.12em;}
.btn-primary,.btn-book,.nav-cta .btn{color:#131925 !important;}
.track,.evening,.pkgc,.pkg,.roomcard,.panel,.formcard,.tier,.rate,.lppop .card{border-radius:12px !important;}
.intro-grid img,.room,.track .ph,.pkgc .ph,.pkg .pic,.roomcard .ph{border-radius:12px !important;}
.track,.pkgc,.pkg,.roomcard,.formcard,.rate,.intro-grid img,.tier{box-shadow:0 6px 18px rgba(51,45,40,.06) !important;}
/* === END KBZ THEME OVERRIDE === */

/* Responsive Subhero-Bilder (LCP mobil): Desktop volle Größe, mobil 960px-Variante.
   Bild kommt aus den Inline-CSS-Vars --sh (Desktop) / --shm (mobil) je Seite. */
.subhero{background-image:var(--sh);}
@media(max-width:820px){.subhero{background-image:var(--shm,var(--sh));}}
