/* Look wie die bestehende Startseite: weißer Kopf, Bildwechsel, Planer-Kasten rechts, Creme-Grund, Gold – plus Bewegung */
:root{
  --bg:#faf7f0; --weiss:#ffffff; --fg:#172a3a; --muted:#5d6b76; --linie:#e6e1d6;
  --gold:#bf8b3a; --gold-dunkel:#9c6f27; --gold-hell:#f6ecda; --navy:#16324a; --gruen:#2f6b4f;
  --serif:"Source Serif 4",Georgia,serif; --sans:"Figtree",system-ui,sans-serif;
  --weich:cubic-bezier(.2,.7,.2,1);
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
html,body{margin:0}
body{background:var(--bg);color:var(--fg);font:16px/1.6 var(--sans);overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.pad{padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}
.inner{max-width:1200px;margin:0 auto}
h1,h2,h3{font-family:var(--serif);font-weight:600;margin:0;text-wrap:balance}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.anz{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.knopf{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 22px;border-radius:4px;background:var(--gold);color:#1f1608;font-weight:700;text-decoration:none;border:0;cursor:pointer;white-space:nowrap;transition:transform .2s var(--weich),background .2s,color .2s,box-shadow .2s}
.knopf::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s var(--weich)}
.knopf:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(191,139,58,.35)}
.knopf:hover::after{transform:translateX(120%)}
.knopf.rand{background:transparent;color:var(--navy);border:1.5px solid var(--navy)}
.knopf.rand:hover{background:var(--navy);color:#fff;box-shadow:none}
.knopf.klein{height:36px;padding:0 14px;font-size:14px}

/* Fortschrittsleiste beim Scrollen */
#scrollbalken{position:fixed;left:0;top:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:var(--gold);z-index:40}

/* Kopf */
.kopf{background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--linie);position:sticky;top:env(safe-area-inset-top,0px);z-index:30;transition:box-shadow .3s}
.kopf.schatten{box-shadow:0 6px 20px rgba(20,40,60,.08)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:31;background:var(--weiss)}
.kopf .inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px;flex-wrap:wrap}
.logo{font:600 28px var(--serif);text-decoration:none}
.logo span{color:var(--gold)}
nav{display:flex;gap:24px;flex-wrap:wrap;font-weight:700;font-size:15px}
nav a{text-decoration:none;position:relative}
nav a::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .25s var(--weich)}
nav a:hover::after{transform:scaleX(1)}

/* Bühne mit Bildwechsel + Ken-Burns */
.buehne{position:relative;min-height:620px;background:#2a3a44;color:#fff;overflow:hidden}
.folie{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease}
.folie.an{opacity:1}
.folie img{width:100%;height:100%;object-fit:cover;transform:scale(1.04)}
.folie.an img{animation:kenburns 7s ease-out forwards}
@keyframes kenburns{from{transform:scale(1.04) translate(.6%,.4%)}to{transform:scale(1) translate(0,0)}}
.buehne::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,20,28,.66) 0%,rgba(10,20,28,.28) 45%,rgba(10,20,28,0) 70%);pointer-events:none}
.buehne .inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 520px;gap:30px;align-items:center;min-height:620px;padding-block:40px}
.text{display:grid;gap:18px;align-content:center}
.text h1{font-size:clamp(44px,6.4vw,88px);line-height:1;font-weight:600}
.text h1 .wort{display:inline-block;opacity:0;transform:translateY(40px) rotate(2deg);animation:hoch .9s var(--weich) forwards}
@keyframes hoch{to{opacity:1;transform:none}}
.text p,.text .eyebrow,.text .knopf{opacity:0;animation:hoch .9s var(--weich) forwards}
.text .eyebrow{animation-delay:.1s}.text p{animation-delay:.75s}.text .knopf{animation-delay:.95s}
.text p{margin:0;font-size:19px;max-width:30ch;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6),0 2px 16px rgba(0,0,0,.5)}
.text .knopf{justify-self:start;height:52px;font-size:16px}
.pfeil{position:absolute;top:50%;z-index:3;width:48px;height:48px;border-radius:50%;border:0;background:rgba(17,28,36,.75);color:#fff;font-size:22px;cursor:pointer;transform:translateY(-50%);transition:background .2s,transform .2s}
.pfeil:hover{background:var(--gold);transform:translateY(-50%) scale(1.08)}
.pfeil.l{left:max(14px,env(safe-area-inset-left,0px))}.pfeil.r{right:max(14px,env(safe-area-inset-right,0px))}
.ortsschild{position:absolute;left:max(18px,env(safe-area-inset-left,0px));bottom:18px;z-index:3;font-weight:600;font-size:15px;display:flex;gap:6px;align-items:center;text-shadow:0 1px 6px rgba(0,0,0,.5)}
#ortsname{transition:opacity .4s}
.punkte{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:3;display:flex;gap:8px}
.punkte button{position:relative;width:12px;height:12px;border-radius:50%;border:2px solid #fff;background:transparent;padding:0;cursor:pointer;overflow:hidden}
.punkte button[aria-current="true"]{background:#fff}
@keyframes laden{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* Planer-Kasten */
.planer{background:var(--weiss);color:var(--fg);border-radius:6px;box-shadow:0 30px 60px rgba(10,20,28,.32);padding:26px;display:grid;gap:14px}
@keyframes rein{to{opacity:1;transform:none}}
.planer h2{font-size:30px}
.modi{position:relative;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--linie);border-radius:4px;overflow:hidden}
.modi::before{content:"";position:absolute;top:0;bottom:0;left:0;width:50%;background:var(--navy);transition:transform .35s var(--weich)}
.modi:has(button:nth-child(2)[aria-selected="true"])::before{transform:translateX(100%)}
.modi button{position:relative;border:0;background:transparent;padding:11px;font-weight:700;color:var(--muted);cursor:pointer;transition:color .3s}
.modi button[aria-selected="true"]{color:#fff}
[data-panel]{animation:blende .4s var(--weich)}
@keyframes blende{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.reiter{display:flex;gap:6px;flex-wrap:wrap}
.reiter button{border:1px solid var(--linie);background:var(--weiss);color:var(--fg);border-radius:999px;padding:6px 13px;font-weight:700;font-size:14px;cursor:pointer;transition:all .2s}
.reiter button:hover{border-color:var(--gold)}
.reiter button[aria-selected="true"],.reiter button[aria-pressed="true"]{border-color:var(--gold);background:var(--gold-hell);color:var(--gold-dunkel)}
.felder{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
.felder label{display:grid;gap:5px;font-size:14px;font-weight:600;min-width:0}
.felder .breit{grid-column:1/-1}
.felder input,.felder select{height:46px;border:1px solid #cfd6da;border-radius:4px;padding:0 12px;font:500 15px var(--sans);background:#fff;color:var(--fg);width:100%;transition:border-color .2s,box-shadow .2s}
.felder input:focus,.felder select:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-hell)}
.felder .knopf{grid-column:1/-1;justify-self:start}
.kleingedruckt{font-size:13px;color:var(--muted);display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.routenwahl{display:grid;gap:8px}
.routenwahl button{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;text-align:left;border:1px solid var(--linie);background:#fff;border-radius:6px;padding:8px;cursor:pointer;color:var(--fg);transition:transform .2s var(--weich),box-shadow .2s}
.routenwahl button:hover{transform:translateX(4px);box-shadow:0 6px 18px rgba(20,40,60,.1)}
.routenwahl button[aria-pressed="true"]{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset;background:var(--gold-hell)}
.routenwahl img{width:56px;height:56px;border-radius:4px;object-fit:cover}
.routenwahl b{font:600 17px var(--serif);display:block}
.routenwahl small{color:var(--muted)}
.routenwahl em{font-style:normal;font-weight:800;color:var(--gold-dunkel);white-space:nowrap;padding-right:6px}

/* Zahlenband */
.zahlen{background:var(--navy);color:#fff}
.zahlen .inner{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-block:28px;text-align:center}
.zahlen b{display:block;font:600 40px var(--serif);color:var(--gold);font-variant-numeric:tabular-nums}
.zahlen span{font-size:14px;opacity:.85}

/* Erscheinen beim Scrollen */
.js .zeig{opacity:0;transform:translateY(36px);transition:opacity .8s var(--weich),transform .8s var(--weich)}
.js .zeig.da{opacity:1;transform:none}

/* Abschnitte */
.abschnitt .inner{padding-block:36px;display:grid;gap:18px}   /* Albert 28.10.: weniger Abstand, Seite kürzer (vorher 60px/22px) */
.kopfzeile{display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap}
.kopfzeile h2{font-size:clamp(30px,3.6vw,44px)}
.kopfzeile p{margin:6px 0 0;color:var(--muted);max-width:62ch}
.kopfzeile a{font-weight:700;color:var(--gold-dunkel);text-decoration:none}

/* Gesichter-Leiste */
.gesichter{display:grid;grid-template-columns:repeat(7,minmax(180px,1fr));gap:16px;overflow-x:auto;padding:6px 2px 12px;scroll-snap-type:x mandatory}
.gesicht{background:var(--weiss);border-radius:6px;overflow:hidden;box-shadow:0 2px 10px rgba(20,40,60,.07);text-decoration:none;display:grid;scroll-snap-align:start;transition:transform .35s var(--weich),box-shadow .35s}
.gesicht:hover{transform:translateY(-8px);box-shadow:0 18px 34px rgba(20,40,60,.16)}
.gesicht figure{margin:0;overflow:hidden}
.gesicht img{width:100%;aspect-ratio:5/3;object-fit:cover;transition:transform .8s var(--weich)}
.gesicht:hover img{transform:scale(1.1)}
.gesicht{grid-template-rows:auto 1fr}
.gesicht div{padding:12px 14px;display:grid;gap:2px;grid-template-rows:auto auto 1fr}
.gesicht div .ab{align-self:end}
.gesicht b{font-size:16px}
.gesicht small{color:var(--muted);font-size:13px;line-height:1.35}
.gesicht .ab{display:flex;justify-content:space-between;align-items:center;margin-top:6px;font-size:13px}
.gesicht .ab span{color:var(--gold-dunkel);font-weight:800;transition:transform .3s}
.gesicht:hover .ab span{transform:translateX(4px)}

/* Karte */
.karte-wrap{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:center}
.karte{background:var(--weiss);border-radius:6px;box-shadow:0 2px 10px rgba(20,40,60,.07);padding:14px;overflow:hidden}
.karte svg{width:100%;height:auto;display:block}
.land{fill:#eef1e8;stroke:#c9cfbf;stroke-width:1.5}
.berge{fill:none;stroke:#cfd5c4;stroke-width:1}
.linie-route{fill:none;stroke:var(--gold);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.stadt circle{fill:var(--navy);stroke:#fff;stroke-width:2.5;transition:r .3s}
.stadt text{font:700 13px var(--sans);fill:var(--fg);paint-order:stroke;stroke:#fff;stroke-width:4px}
.stadt.aus circle{fill:#b9c2c8}.stadt.aus text{fill:#9aa5ad}
.stadt.puls circle{animation:puls 1.4s ease-out}
@keyframes puls{0%{r:6}40%{r:12}100%{r:7}}
#reisender{fill:var(--gold);stroke:#fff;stroke-width:3}
.karte-text{display:grid;gap:14px}
.karte-text h3{font-size:28px}
.stopps{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.stopps li{display:flex;gap:10px;align-items:center;opacity:0;transform:translateX(-12px);animation:hoch .5s var(--weich) forwards}
.stopps li b{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-size:12px}

/* Routen */
.routenband{background:var(--weiss);border-block:1px solid var(--linie)}
.routenband .inner{grid-template-columns:minmax(0,1fr) 340px;align-items:start}
.routenband .kopfzeile{grid-column:1/-1}
#tage{list-style:none;margin:0;padding:0;display:grid}
.tag{display:grid;grid-template-columns:60px minmax(0,1fr);gap:18px;padding-bottom:22px;position:relative;opacity:0;transform:translateY(24px);animation:hoch .6s var(--weich) forwards}
.tag::before{content:"";position:absolute;left:29px;top:56px;bottom:0;width:2px;background:var(--linie);transform-origin:top;animation:wachsen .8s .3s var(--weich) both}
@keyframes wachsen{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.tag:last-child::before{display:none}
.tag-nr{width:60px;height:60px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-content:center;text-align:center;line-height:1;transition:transform .3s var(--weich),background .3s}
.tag:hover .tag-nr{transform:scale(1.08) rotate(-6deg);background:var(--gold)}
.tag-nr span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;opacity:.75}
.tag-nr b{font:600 24px var(--serif)}
.tag-text h3{font-size:23px;padding-top:6px}
.tag-text p{margin:2px 0 12px;color:var(--muted)}
.bausteine{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.baustein{background:var(--bg);border:1px solid var(--linie);border-radius:6px;padding:14px;display:grid;gap:3px;transition:transform .25s var(--weich),box-shadow .25s,border-color .25s,background .25s}
.baustein:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(20,40,60,.1)}
.baustein.gebucht{border-color:var(--gruen);background:#eaf3ee;animation:hops .45s var(--weich)}
@keyframes hops{40%{transform:scale(1.04)}}
.b-art{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-dunkel)}
.baustein b{font-size:16px}
.b-preis{font-size:14px;color:var(--muted)}
.b-aktion{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-top:8px;gap:8px}
.b-link.b-airline{background:transparent;border:1.5px solid var(--gold);color:var(--ink,#1f1608)}
.b-link{display:inline-flex;height:34px;align-items:center;padding:0 14px;border-radius:4px;background:var(--gold);color:#1f1608;font-weight:700;font-size:14px;text-decoration:none;transition:transform .2s}
.b-link:hover{transform:translateY(-2px)}
.knopf.rand.bald,.knopf.rand.bald:hover,.b-link.bald,.b-link.bald:hover{opacity:.55;cursor:default;transform:none;box-shadow:none;background:transparent;color:var(--muted);border:1.5px dashed var(--linie)}
.b-aktion label{font-size:13px;color:var(--muted);display:flex;gap:6px;align-items:center;cursor:pointer}
.kasse{position:sticky;top:90px;background:var(--navy);color:#fff;border-radius:6px;padding:24px;display:grid;gap:12px}
.kasse h3{font-size:24px}
.kasse .zeile{display:flex;justify-content:space-between;gap:10px;font-variant-numeric:tabular-nums;font-size:15px;opacity:.92}
.kasse .summe{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.25);padding-top:12px;font:600 28px var(--serif)}
.kasse .balken{height:6px;border-radius:999px;background:rgba(255,255,255,.2);overflow:hidden}
.kasse .balken i{display:block;height:100%;width:0;background:var(--gold);transition:width .5s var(--weich)}
.kasse small{opacity:.8;font-size:12px;line-height:1.45}

/* Touren + Flüge */
.doppel{display:grid;grid-template-columns:1.3fr 1fr;gap:22px}
.liste{background:var(--weiss);border-radius:6px;box-shadow:0 2px 10px rgba(20,40,60,.07);padding:8px 22px}
.liste h3{font-size:24px;padding:14px 0 6px}
.eintrag{display:grid;grid-template-columns:80px 1fr auto;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--linie);text-decoration:none;transition:padding .25s var(--weich)}
.eintrag:hover{padding-left:8px}
.eintrag img{width:80px;height:80px;border-radius:4px;object-fit:cover}
.eintrag b{display:block;line-height:1.3}
.eintrag small{color:var(--muted)}
.preis{font-weight:800;color:var(--gold-dunkel);white-space:nowrap}
.sterne{color:var(--gold);letter-spacing:1px}
.flugzeile{display:grid;grid-template-columns:auto 1fr auto;gap:12px;padding:14px 0;border-top:1px solid var(--linie);text-decoration:none;align-items:center}
.flugzeile svg{transition:transform .5s var(--weich)}
.flugzeile:hover svg{transform:translateX(6px) rotate(-8deg)}
.flugzeile b{display:block}
.flugzeile small{color:var(--muted)}
.flugzeile .preis{font:700 15px var(--sans)}

/* Mietwagen + Extras */
.tabelle{overflow-x:auto;background:var(--weiss);border-radius:6px;box-shadow:0 2px 10px rgba(20,40,60,.07)}
table{width:100%;border-collapse:collapse;min-width:600px;font-size:15px}
th,td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--linie)}
th{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
tbody tr{transition:background .2s}
tbody tr:hover{background:var(--gold-hell)}
tr:last-child td{border-bottom:0}
.gut{color:var(--gruen);font-weight:800}
.extras{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.mietwagen-karten{grid-template-columns:repeat(4,1fr)}
@media (max-width:1200px){.mietwagen-karten{grid-template-columns:repeat(2,1fr)}}
.extra{background:var(--gold-hell);border-radius:6px;padding:20px;display:grid;gap:8px;align-content:start;transition:transform .3s var(--weich)}
.extra:hover{transform:translateY(-6px) rotate(-.5deg)}
.extra h3{font-size:22px}
.extra p{margin:0}
.extra .knopf{justify-self:start}


/* Kleiner Planer-Knopf + Weinglas (Robert, 21.10.2026: „klein, drei Zeilen, markanter Pfeil … Weinglas, das sich füllt“) */
.planer-ort{position:relative;justify-self:end;align-self:end;width:min(520px,100%);display:grid;align-content:end;transition:min-height .5s var(--weich)}
.planer-ort.giessen,.planer-ort.offen{min-height:560px}
.mini{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;justify-self:end;width:min(360px,100%);text-align:left;background:var(--weiss);color:var(--fg);border:0;border-radius:8px;padding:16px 16px 16px 20px;box-shadow:0 24px 50px rgba(10,20,28,.32);cursor:pointer;opacity:0;transform:translateY(30px);animation:hoch .9s .9s var(--weich) forwards;transition:transform .3s var(--weich),box-shadow .3s}
.mini:hover{transform:translateY(-4px);box-shadow:0 30px 60px rgba(10,20,28,.4)}
.mini-text{display:grid;gap:2px;line-height:1.25}
.mini-text .eyebrow{font-size:11px}
.mini-text b{font:600 24px var(--serif)}
.mini-text small{color:var(--muted);font-size:13px}
.mini-pfeil{position:relative;display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#d6a24e,#9c6f27);color:#fff;box-shadow:0 8px 20px rgba(156,111,39,.45)}
.mini-pfeil svg{animation:stups 1.6s var(--weich) infinite}
.mini-pfeil::before,.mini-pfeil::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #d6a24e;animation:ring 2.2s ease-out infinite}
.mini-pfeil::after{animation-delay:1.1s}
.mini:hover .mini-pfeil{transform:rotate(-45deg);transition:transform .35s var(--weich)}
@keyframes stups{0%,60%,100%{transform:translateX(0)}30%{transform:translateX(5px)}}
@keyframes ring{from{transform:scale(1);opacity:.9}to{transform:scale(1.7);opacity:0}}
.planer-ort.giessen .mini,.planer-ort.offen .mini{display:none}

.weinbuehne{position:absolute;inset:0;display:none;place-content:center;justify-items:center;gap:4px;pointer-events:none;z-index:3}
.planer-ort.giessen .weinbuehne{display:grid}
.glas{width:190px;height:auto;overflow:visible;filter:drop-shadow(0 12px 30px rgba(0,0,0,.45));animation:glasRein .5s var(--weich) both}
@keyframes glasRein{from{opacity:0;transform:translateY(40px) scale(.8)}to{opacity:1;transform:none}}
.glas-linie{fill:rgba(255,255,255,.08);stroke:#fff;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:640;stroke-dashoffset:640;animation:zeichnen .7s .1s ease-out forwards}
@keyframes zeichnen{to{stroke-dashoffset:0}}
.glanz{fill:none;stroke:rgba(255,255,255,.55);stroke-width:4;stroke-linecap:round;opacity:0;animation:auftauchen .4s 1.4s forwards}
.strahl{fill:none;stroke:#8f1a2f;stroke-width:7;stroke-linecap:round;stroke-dasharray:120;stroke-dashoffset:120;animation:giessen 1.5s .45s ease-in-out forwards}
@keyframes giessen{0%{stroke-dashoffset:120}25%{stroke-dashoffset:0}80%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:-120;opacity:0}}
.wein{transform:translateY(175px);animation:fuellen 1.35s .55s cubic-bezier(.3,.6,.3,1) forwards}
@keyframes fuellen{to{transform:translateY(70px)}}
.welle{animation:welle .9s linear infinite}
@keyframes welle{from{transform:translateX(0)}to{transform:translateX(100px)}}
.blase{fill:rgba(255,220,225,.7);opacity:0;animation:blase 1.2s 1.1s ease-out infinite}
.blase:nth-of-type(2){animation-delay:1.3s}.blase:nth-of-type(3){animation-delay:1.5s}.blase:nth-of-type(4){animation-delay:1.7s}
@keyframes blase{0%{opacity:0;transform:translateY(0)}20%{opacity:1}100%{opacity:0;transform:translateY(-60px)}}
.prost{font:italic 700 34px var(--serif);color:#fff;text-shadow:0 4px 18px rgba(0,0,0,.5);opacity:0;transform:translateY(12px) scale(.9);animation:hoch .6s 1.55s var(--weich) forwards}
.prost-klein{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#f3d9a6;opacity:0;animation:hoch .5s 1.75s var(--weich) forwards}
@keyframes auftauchen{to{opacity:1}}
.planer-ort.flutet .glas{animation:glasWeg .6s var(--weich) forwards}
@keyframes glasWeg{to{transform:scale(2.4) rotate(-18deg);opacity:0}}
.planer-ort.flutet .prost,.planer-ort.flutet .prost-klein{transition:opacity .3s;opacity:0!important;animation:none}

.flut{position:absolute;inset:-6px;border-radius:10px;z-index:2;pointer-events:none;background:radial-gradient(circle at 50% 40%,#b3213a 0%,#7a1426 45%,#3d0711 100%);clip-path:circle(0% at 50% 42%);opacity:0}
.planer-ort.flutet .flut{opacity:1;clip-path:circle(150% at 50% 42%);transition:clip-path .75s cubic-bezier(.7,0,.2,1)}
.planer-ort.offen .flut{opacity:0;transition:opacity .6s .15s}

.planer{position:relative;z-index:1}
.planer-ort.offen .planer{animation:aufklappen .7s var(--weich) both}
@keyframes aufklappen{from{opacity:0;transform:perspective(900px) rotateX(-14deg) translateY(20px)}to{opacity:1;transform:none}}
.planer-ort.offen .planer > *{opacity:0;animation:hoch .5s var(--weich) forwards}
.planer-ort.offen .planer > :nth-child(2){animation-delay:.15s}.planer-ort.offen .planer > :nth-child(3){animation-delay:.22s}.planer-ort.offen .planer > :nth-child(4){animation-delay:.29s}.planer-ort.offen .planer > :nth-child(5){animation-delay:.36s}.planer-ort.offen .planer > :nth-child(6){animation-delay:.43s}
.planer-ort.offen .planer > [hidden]{display:none}
.zu{position:absolute;z-index:5;top:10px;right:12px;width:36px;height:36px;border-radius:50%;border:1px solid var(--linie);background:var(--weiss);color:var(--fg);font-size:22px;line-height:1;cursor:pointer;transition:transform .25s var(--weich)}
.zu:hover{transform:rotate(90deg)}
@media (max-width:1000px){.planer-ort{justify-self:stretch;width:100%}.mini{justify-self:start}.planer-ort.giessen,.planer-ort.offen{min-height:480px}}
@media (prefers-reduced-motion:reduce){.mini{opacity:1;transform:none}}

/* Partner-Laufband */
.laufband{overflow:hidden;border-block:1px solid var(--linie);background:var(--weiss)}
.laufband .spur{display:flex;gap:56px;width:max-content;padding-block:18px;animation:lauf 28s linear infinite;font:600 20px var(--serif);color:#8a96a0}
.laufband:hover .spur{animation-play-state:paused}
@keyframes lauf{to{transform:translateX(-50%)}}

footer{background:var(--navy);color:#dfe7ee}
footer .inner{padding-block:34px;display:grid;gap:10px;font-size:14px}
footer .logo{color:#fff}

@media (max-width:1000px){
  .buehne .inner{grid-template-columns:1fr;padding-block:40px 70px}
  .text h1{font-size:clamp(40px,10vw,64px)}
  .routenband .inner,.doppel,.karte-wrap{grid-template-columns:1fr}
  .kasse{position:static}
  .extras{grid-template-columns:1fr}
  .zahlen .inner{grid-template-columns:repeat(2,1fr)}
  .pfeil{display:none}
}
@media (max-width:520px){
  .felder{grid-template-columns:1fr}
  .planer{padding:18px}
  .tag{grid-template-columns:44px minmax(0,1fr);gap:12px}
  .tag-nr{width:44px;height:44px}.tag-nr b{font-size:18px}
  .tag::before{left:21px;top:44px}
  nav{gap:14px;font-size:14px}
}

/* ===== Apollo-Fundament (21.10.2026): Ergänzungen ===== */
/* Handy: Ortsangabe über die Bildpunkte, keine Überlappung mehr */
@media (max-width:640px){
  .ortsschild{bottom:48px;font-size:14px}
  .punkte{bottom:18px}
}
/* Pausentaste für den Bildwechsel */
.pause{position:absolute;right:max(18px,env(safe-area-inset-right,0px));bottom:12px;z-index:3;width:36px;height:36px;border-radius:50%;border:0;background:rgba(17,28,36,.65);color:#fff;cursor:pointer;display:grid;place-items:center}
.pause:hover{background:var(--gold)}
.skiplink{position:absolute;left:-999px;top:8px;z-index:100;background:var(--weiss);padding:8px 14px;border-radius:4px}
.skiplink:focus{left:12px}
/* Hinweis auf Testversion */
.testband{background:var(--gold-hell);color:#5a4210;font-size:13px;text-align:center;padding:6px 12px}
/* Fußzeile */
footer .links{display:flex;flex-wrap:wrap;gap:0 18px}
footer .links a{color:#fff;display:inline-block;padding:9px 0} /* Hermes 1.11.: Tippfläche ≥40px */
footer .spalten{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;margin-bottom:10px}
footer .spalten b{display:block;color:#fff;margin-bottom:6px}
footer .spalten a{display:block;color:#dfe7ee;text-decoration:none;padding:2px 0}
footer .spalten a:hover{color:#fff;text-decoration:underline}
/* Inhaltsseiten */
.brotkrumen{font-size:14px;color:var(--muted);padding-top:22px}
.brotkrumen ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.brotkrumen li+li::before{content:"›";margin-right:6px;color:var(--gold)}
.brotkrumen a{text-decoration:none}
.artikel{max-width:760px;margin:0 auto;padding-block:18px 60px}
.artikel h1{font-size:clamp(34px,5vw,52px);line-height:1.08;margin:10px 0 14px}
.artikel .lead{font-size:20px;color:#33475a;margin:0 0 18px}
.artikel .meta{font-size:14px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px 16px;border-block:1px solid var(--linie);padding-block:10px;margin-bottom:26px}
.artikel h2{font-size:30px;margin:42px 0 12px;scroll-margin-top:90px}
.artikel h3{font-size:22px;margin:26px 0 8px}
.artikel p,.artikel li{font-size:17.5px;line-height:1.72}
.artikel a{color:var(--gold-dunkel)}
.artikel .tabelle{margin:16px 0}
.artikel table{width:100%;border-collapse:collapse;font-size:16px}
.artikel th,.artikel td{border-bottom:1px solid var(--linie);padding:10px 8px;text-align:left;vertical-align:top}
.artikel th{background:var(--gold-hell)}
.kurz{background:var(--weiss);border:1px solid var(--linie);border-left:4px solid var(--gold);border-radius:6px;padding:16px 20px;margin:0 0 26px}
.kurz b{display:block;margin-bottom:6px;font-family:var(--serif);font-size:19px}
.kurz ul{margin:0;padding-left:20px}
.inhalt{background:var(--weiss);border:1px solid var(--linie);border-radius:6px;padding:14px 20px;margin-bottom:10px}
.inhalt ol{margin:6px 0 0;padding-left:20px}
.inhalt a{text-decoration:none}
.hinweis{background:#fff6f0;border:1px solid #f0d4bf;border-radius:6px;padding:14px 18px;margin:18px 0}
.faq details{background:var(--weiss);border:1px solid var(--linie);border-radius:6px;padding:12px 16px;margin:10px 0}
.faq summary{cursor:pointer;font-weight:700;padding:7px 0} /* Hermes 1.11.: Tippfläche ≥40px */
.quellen{font-size:14px;color:var(--muted)}
.partnerbox{background:var(--weiss);border:1px solid var(--linie);border-radius:8px;padding:18px 20px;margin:24px 0;display:grid;gap:8px}
.partnerbox .anz{justify-self:start}
.seite{max-width:760px;margin:0 auto;padding-block:30px 60px}
.seite h1{font-size:40px;margin-bottom:14px}
.seite h2{font-size:24px;margin:28px 0 8px}
.entwurf{background:#fff3cd;border:1px solid #e6cf7a;border-radius:6px;padding:12px 16px;margin-bottom:20px}
.buehne.pausiert .punkte button::after{animation-play-state:paused}
@media (max-width:640px){
  .kopf .inner{flex-wrap:nowrap;flex-direction:column;align-items:flex-start;gap:6px;padding-block:10px}
  .logo{font-size:24px}
  .kopf nav{flex-wrap:nowrap;overflow-x:auto;gap:18px;width:100%;padding-bottom:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .kopf nav::-webkit-scrollbar{display:none}
  .kopf nav a{white-space:nowrap}
  .testband{font-size:12px;padding:4px 10px}
  .seite h1{font-size:30px}
  h1{overflow-wrap:break-word;hyphens:auto}
}
.weiter{margin-top:36px;padding-top:22px;border-top:1px solid var(--linie)}
.weiter>b{font-family:var(--serif);font-size:22px;display:block;margin-bottom:12px}
.weiter ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.weiter a{display:block;height:100%;background:var(--weiss);border:1px solid var(--linie);border-radius:6px;padding:14px 16px;text-decoration:none;color:var(--fg);font-weight:600;line-height:1.35;transition:transform .2s}
.weiter a:hover{transform:translateY(-2px)}
.weiter .eyebrow{display:block;font-size:11px;margin-bottom:6px}
.seite.breit{max-width:1100px}
.magazin{display:grid}
.m-eintrag{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;align-items:center;padding:22px 0;border-bottom:1px solid var(--linie);text-decoration:none;color:var(--fg)}
.m-eintrag:first-child{border-top:1px solid var(--linie)}
.m-eintrag b{display:block;font:600 24px/1.25 var(--serif);margin:2px 0 8px}
.m-eintrag p{margin:0 0 10px;color:var(--muted)}
.m-eintrag .m-mehr{font-weight:700;color:var(--gold-dunkel);font-size:15px}
.m-eintrag img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:6px;transition:transform .3s var(--weich)}
.m-eintrag:hover img{transform:scale(1.02)}
.m-eintrag:hover b{color:var(--gold-dunkel)}
@media (max-width:640px){.m-eintrag{grid-template-columns:1fr;gap:12px}.m-eintrag img{order:-1}.m-eintrag b{font-size:20px}}
/* Desktop: niedrigere Bühne, breiteres und flacheres Formular (Wunsch Albert 22.10.) */
@media (min-width:1001px){
  .buehne{min-height:500px}
  .buehne .inner{grid-template-columns:1fr 680px;min-height:500px;padding-block:26px}
  .text h1{font-size:clamp(44px,5.2vw,74px)}
  .planer-ort{width:min(680px,100%);margin-right:calc(-1 * clamp(0px, (100vw - 1236px) / 2 - 84px, 320px))}
  .buehne .text{margin-left:calc(-1 * clamp(0px, (100vw - 1236px) / 2 - 84px, 320px))}
  .planer-ort.giessen,.planer-ort.offen{min-height:420px;align-self:center}
  .planer{padding:20px 22px;gap:10px}
  .planer h2{font-size:24px}
  .modi button{padding:8px}
  .felder{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px}
  .felder .breit{grid-column:span 2}
  .felder input,.felder select{height:40px;font-size:14px;padding:0 10px}
  .felder .knopf{grid-column:span 3;justify-self:stretch;align-self:end;height:40px}
}
/* Kasten „Deine Reise“ als Checkliste (Entwurf C, Wahl Albert 22.10.) */
.kasse .checkliste{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.kasse .checkliste li{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;background:rgba(255,255,255,.08);border-radius:6px;padding:8px 10px;font-size:15px;transition:background .3s}
.kasse .checkliste i{font-style:normal;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--gold);color:#1f1608;font-weight:800;font-size:16px}
.kasse .checkliste small{opacity:.85;font-size:12px;white-space:nowrap}
.kasse .checkliste li.fertig{background:rgba(47,107,79,.55)}
@media (min-width:1001px) and (max-width:1399px){.buehne:has(.planer-ort.offen) .pfeil,.buehne:has(.planer-ort.giessen) .pfeil{display:none}}
/* Reiseziel-Leiste darf breiter als der Textbereich werden: auf großen Bildschirmen alle 8 Karten ohne Scrollbalken */
@media (min-width:1001px){.gesichter{margin-inline:calc(50% - min(50vw - 18px, 800px));grid-template-columns:repeat(7,minmax(160px,1fr))}}

/* Karte „Alte Landkarte“ (Startseite) */
.km{border-radius:12px;overflow:hidden;box-shadow:0 6px 24px rgba(20,40,60,.12)}
.km svg{display:block;width:100%;height:auto}
.km .route{fill:none;stroke-linecap:round;stroke-linejoin:round}
.km .fluss{fill:none;stroke-linecap:round;stroke-linejoin:round}
.km .schild text{font:700 13px var(--sans)}
.km .nrk text{font:800 11px var(--sans);text-anchor:middle;dominant-baseline:central;fill:#fff}
.km .nachbar{font:600 11px var(--sans);letter-spacing:.12em;text-transform:uppercase}
.km .meertext{font:italic 600 15px var(--serif)}
.km .aus{opacity:.55}
.km-c2{background:#ece2cc}.km-c2 .meer{fill:#c7d9d3}.km-c2 .land{fill:#f8f1df;stroke:#8b6b43;stroke-width:1.6}.km-c2 .gebirge{fill:url(#c2schraff);opacity:.9}.km-c2 .grat{fill:none;stroke:#8b6b43;stroke-width:1;stroke-dasharray:3 3}
.km-c2 .fluss{stroke:#86a9a2;stroke-width:1.8}.km-c2 .route-u{stroke:none}.km-c2 .route{stroke:#9b3b2a;stroke-width:3;stroke-dasharray:8 7}
.km-c2 .schild rect{fill:#f8f1df;stroke:#8b6b43;stroke-width:1}.km-c2 .schild text{fill:#4a3620;font:italic 700 14px var(--serif)}.km-c2 .nrk circle{fill:#9b3b2a}.km-c2 .meertext{fill:#5f857c}.km-c2 .nachbar{fill:#a08c6a}
.karte.km{padding:0;border-radius:10px}
.stopps li b{background:#9b3b2a}
/* Klickbare Orte auf der Karte + Ortskärtchen */
.karte.km{position:relative}
.km .ort-klick{cursor:pointer}
.km .ort-klick:hover .schild rect,.km .ort-klick:focus .schild rect{stroke-width:2}
.km .ort-klick:focus{outline:none}
.ort-karte{position:absolute;right:14px;bottom:14px;width:min(330px,calc(100% - 28px));background:var(--weiss);border-radius:10px;box-shadow:0 14px 34px rgba(20,40,60,.28);overflow:hidden;display:grid;grid-template-columns:110px 1fr;animation:hoch .35s var(--weich)}
.ort-karte[hidden]{display:none}
.ort-karte.links{right:auto;left:14px}
.ort-karte img{width:100%;height:100%;object-fit:cover}
.ort-karte>div{padding:12px 14px;display:grid;gap:6px;position:relative}
.ort-karte b{font:600 20px var(--serif);padding-right:24px}
.ort-karte p{margin:0;color:var(--muted);font-size:14px;line-height:1.4}
.ort-knoepfe{display:grid;gap:6px;margin-top:4px}
.ort-knoepfe .knopf{height:34px;font-size:13px;padding:0 10px;white-space:normal;text-align:center}
.ort-karte small{font-size:11px;color:var(--muted)}
.ort-zu{position:absolute;top:6px;right:8px;border:0;background:none;font-size:22px;line-height:1;cursor:pointer;color:var(--muted)}
.stopps li button{display:flex;gap:10px;align-items:center;border:0;background:none;padding:2px 0;font:inherit;color:inherit;cursor:pointer;text-align:left}
.stopps li button:hover{color:var(--gold-dunkel)}
@media (max-width:640px){.ort-karte{position:relative;right:auto;bottom:auto;width:auto;margin:10px;grid-template-columns:90px 1fr}}
/* Reiseplaner Desktop: kleinere Schrift, Kasten „Deine Reise“ weiter rechts (Wunsch Albert 22.10.) */
@media (min-width:1001px){
  #routen .kopfzeile h2{font-size:clamp(28px,2.8vw,36px)}
  #routen .kopfzeile p{font-size:15px}
  #routen .kopfzeile .reiter,#routen .kasse{margin-right:calc(-1 * clamp(0px, (100vw - 1236px) / 2 - 84px, 320px))}
  .routenband .inner{grid-template-columns:minmax(0,1fr) 300px}
  .tag{grid-template-columns:48px minmax(0,1fr);gap:14px;padding-bottom:16px}
  .tag-nr{width:48px;height:48px}
  .tag-nr b{font-size:19px}
  .tag-nr span{font-size:9px}
  .tag-text h3{font-size:19px;padding-top:4px}
  .tag-text p{font-size:14px;margin:1px 0 9px}
  .baustein{padding:10px 12px}
  .baustein b{font-size:14px}
  .b-art{font-size:10px}
  .b-link{height:30px;font-size:12px;padding:0 10px}
  .b-aktion label{font-size:12px}
  .kasse{padding:20px;gap:10px}
  .kasse h3{font-size:20px}
  .kasse .checkliste li{font-size:14px;grid-template-columns:32px 1fr auto;padding:6px 9px}
  .kasse .checkliste i{width:32px;height:32px;font-size:14px}
  .kasse .knopf{height:40px;font-size:14px}
}
@media (min-width:1001px){
  #routen .kasse{width:320px;justify-self:end}
  /* Ausflüge | Flüge: Kästen nach außen, mehr Abstand dazwischen (Wunsch Albert 22.10.) */
  #angebote .doppel{margin-inline:calc(-1 * clamp(0px, (100vw - 1236px) / 2 - 84px, 320px));gap:clamp(22px,5vw,110px)}
  /* Karte | Ablaufplan: Karte nach links, Plan nach rechts, Abstand dazwischen (Wunsch Albert 22.10.) */
  #karte .karte-wrap{margin-inline:calc(-1 * clamp(0px, (100vw - 1236px) / 2 - 84px, 320px));gap:clamp(32px,4vw,70px)}
  #karte .karte-text{justify-self:start;width:min(100%,400px)}
  /* Albert 28.10.: Karte + Text zusammen in die Bildschirmmitte (vorher rechts viel Leerraum) */
  #karte .karte-wrap{grid-template-columns:minmax(0,960px) 400px;justify-content:center}
}
/* Sprachumschalter DE | EN | RU */
.sprachwahl{position:relative;margin-left:18px}
.sprachwahl summary{list-style:none;display:flex;align-items:center;gap:5px;cursor:pointer;border:1px solid var(--linie);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800;letter-spacing:.04em;color:var(--fg);user-select:none}
.sprachwahl summary::-webkit-details-marker{display:none}
.sprachwahl summary:hover{border-color:var(--navy)}
.sw-globus{font-size:13px;line-height:1}
.sw-rondell{position:relative;display:inline-block;width:2.1em;height:1.3em;overflow:hidden;text-align:center}
.sw-rondell b{position:absolute;inset:0;line-height:1.3em;transform:translateY(110%);opacity:0;transition:transform .45s cubic-bezier(.3,1.3,.5,1),opacity .3s}
.sw-rondell b.an{transform:none;opacity:1}
.sw-rondell b.weg{transform:translateY(-110%);opacity:0}
.sw-pfeil{font-size:10px;color:var(--muted);transition:transform .2s}
.sprachwahl[open] .sw-pfeil{transform:rotate(180deg)}
.sw-liste{position:absolute;right:0;top:calc(100% + 6px);min-width:150px;background:#fff;border:1px solid var(--linie);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.15);padding:6px;z-index:60;display:flex;flex-direction:column}
.sw-liste a{display:block;padding:9px 10px;border-radius:8px;text-decoration:none;color:var(--fg);font-size:14px}
.sw-liste a b{display:inline-block;width:2.2em;font-size:12px;color:var(--muted)}
.sw-liste a:hover{background:#f2f4f8}
.sw-liste a[aria-current]{background:var(--navy);color:#fff}.sw-liste a[aria-current] b{color:#fff}
@media (max-width:640px){.kopf .inner{position:relative}.sprachwahl{position:absolute;top:8px;right:0;margin:0}.sprachwahl summary{padding:3px 8px}}
/* Russische Seiten: Golos Text statt Figtree (Figtree hat keine kyrillischen Buchstaben) */
:root:lang(ru){--sans:"Golos Text",system-ui,sans-serif}
/* Kasten „Deine Reise“ größer, damit er im Verhältnis zu den Tagen sitzt (Wunsch Albert 22.10.) */
@media (min-width:1001px){
  .routenband .inner{grid-template-columns:minmax(0,1fr) 380px}
  #routen .kasse{width:380px;padding:24px;gap:12px}
  #routen .kasse h3{font-size:24px}
  #routen .kasse .checkliste li{font-size:15px;grid-template-columns:38px 1fr auto;padding:9px 12px}
  #routen .kasse .checkliste i{width:38px;height:38px;font-size:16px}
  #routen .kasse .knopf{height:46px;font-size:15px}
  #routen .kasse small{font-size:13px}
}
@media (max-width:640px){.flugzeile .preis{white-space:normal;text-align:right;max-width:110px}.flugzeile span{min-width:0}
  /* Handy: nur Pfeil statt „Zur Airline ↗“ (bricht v. a. auf Russisch in 3 Zeilen um) */
  .flugzeile .preis{font-size:0;max-width:none}.flugzeile .preis::after{content:"↗";font-size:22px;color:var(--gold)}}

/* ===== Handy-Menü: 3 Entwürfe (Albert 22.10.), Aufruf mit ?menue=a|b|c – ohne Auswahl bleibt alles wie bisher ===== */
.menue-knopf,.tabbar,.planen-knopf{display:none}
@media (max-width:640px){
  /* A: ☰-Knopf, Menü klappt als Liste auf + fester Knopf „Reise planen“ */
  [data-menue=a] .menue-knopf{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:8px;right:128px;width:42px;height:42px;padding:0;border:1px solid var(--linie);border-radius:50%;background:#fff;font:700 20px var(--sans);color:var(--fg)}
  [data-menue=a] .menue-knopf .mk-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  [data-menue=a] .logo{font-size:21px;line-height:42px}
  [data-menue=a] .kopf nav{display:none}
  [data-menue=a] .kopf.auf nav{display:grid;gap:0;width:100%;overflow:visible}
  [data-menue=a] .kopf.auf nav a{padding:14px 2px;border-top:1px solid var(--linie);font-size:18px}
  /* B: Leiste unten wie in einer App */
  [data-menue=b] .kopf nav{display:none}
  [data-menue=b] .tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:40;background:rgba(255,255,255,.97);border-top:1px solid var(--linie);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));box-shadow:0 -6px 20px rgba(20,40,60,.08)}
  [data-menue=b] .tabbar a{display:grid;justify-items:center;gap:2px;color:var(--fg);text-decoration:none;font:600 12px/1.15 var(--sans);text-align:center;padding:4px 2px;min-width:0} /* Hermes 1.11.: 10,5→12px */
  [data-menue=b] .tabbar svg{color:var(--gold-dunkel)}
  [data-menue=b] body{padding-bottom:68px}
  /* C: Leiste oben bleibt, Pfeil zeigt „da geht noch mehr“ + fester Knopf „Reise planen“ */
  [data-menue=c] .kopf .inner::after{content:"›";position:absolute;right:0;bottom:12px;width:44px;text-align:right;font:700 22px/1 var(--sans);color:var(--gold-dunkel);background:linear-gradient(90deg,rgba(255,255,255,0),#fff 55%);pointer-events:none}
  [data-menue=a] .planen-knopf,[data-menue=c] .planen-knopf{display:flex;justify-content:center;align-items:center;position:fixed;left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:40;height:52px;border-radius:999px;background:var(--gold);color:#1f1608;font:700 17px var(--sans);text-decoration:none;box-shadow:0 10px 26px rgba(20,40,60,.28);transition:opacity .3s,transform .3s}
  [data-menue=a] body,[data-menue=c] body{padding-bottom:76px}
  .planen-knopf.weg{opacity:0;transform:translateY(20px);pointer-events:none}
}

/* ===== Georgien-Momente: laufendes Band, jedes Foto führt zum Angebot (Albert 22.10.) ===== */
.mom-band{overflow:hidden;padding:6px 0 22px;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.mom-spur,.mom-kopie{display:flex;gap:14px}
.mom-spur{width:max-content;animation:momLauf 165s linear infinite!important}
.mom-band:hover .mom-spur,.mom-band:focus-within .mom-spur,.mom-band.halt .mom-spur{animation-play-state:paused!important}
@keyframes momLauf{to{transform:translateX(calc(-50% - 7px))}}
.mom-karte{width:220px;height:280px;flex:none;position:relative;border-radius:12px;overflow:hidden;box-shadow:0 8px 22px rgba(20,40,60,.12);color:#fff;text-decoration:none;transition:transform .3s}
.mom-karte:hover{transform:translateY(-4px)}
.mom-karte img{width:100%;height:100%;object-fit:cover}
.mom-text{position:absolute;inset:auto 0 0 0;padding:50px 14px 14px;background:linear-gradient(transparent,rgba(10,20,28,.85));display:grid;gap:4px}
.mom-ort{font:700 11px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#f3d9a6}
.mom-text b{font:600 17px/1.25 var(--serif)}
.mom-los{font:700 12px var(--sans);color:#f3d9a6;margin-top:2px}
@media (max-width:640px){.mom-karte{width:170px;height:230px}.mom-text b{font-size:15px}.mom-spur{animation-duration:130s!important}}

/* ===== Reiseplaner: Tage zuklappbar, spart Platz (Albert 22.10.) ===== */
.tag-auf summary{list-style:none;cursor:pointer}
.tag-auf summary::-webkit-details-marker{display:none}
.tag-auf summary p{margin-bottom:6px}
.tag-mini{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--gold-dunkel);margin-bottom:4px}
.tag-mini em{font-style:normal;margin-left:6px;padding:3px 10px;border:1px solid var(--gold);border-radius:999px;background:#fff}
.tag-mini em::after{content:" ▾";display:inline-block;transition:transform .2s}
.tag-auf[open] .tag-mini em::after{transform:rotate(180deg)}
.tag-auf[open] .bausteine{margin-top:8px}
.tag{padding-bottom:14px}
#tage.gekuerzt > .tag:nth-child(n+5){display:none}
#tage:not(.gekuerzt) .tage-mehr{display:none}
.tage-mehr{list-style:none;padding:4px 0 10px 78px}
.tage-mehr button{height:44px;padding:0 22px;border:1.5px solid var(--gold);border-radius:999px;background:#fff;color:var(--gold-dunkel);font:700 15px var(--sans);cursor:pointer}
.tag-auf:not([open]) summary p{display:none}
@media (max-width:640px){.tage-mehr{padding-left:0}}

/* ===== „Georgien hat viele Gesichter“ als laufendes Band (Albert 22.10.) ===== */
.gesichter-band{overflow:hidden;padding:6px 0 18px;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.gesichter-spur,.gesichter-kopie{display:flex;gap:16px}
.gesichter-spur{width:max-content;animation:gesLauf 75s linear infinite!important}
@keyframes gesLauf{to{transform:translateX(calc(-50% - 8px))}}
.gesichter-band:hover .gesichter-spur,.gesichter-band:focus-within .gesichter-spur{animation-play-state:paused!important}
.gesichter-spur .gesicht{width:240px;flex:none}
.gesichter-spur .gesicht:hover{transform:translateY(-4px)}
@media (max-width:640px){.gesichter-spur .gesicht{width:200px}}
.lied{margin:0 0 18px}.lied a{display:inline-flex;gap:8px;align-items:center;padding:10px 18px;border-radius:999px;background:#fff;border:1px solid var(--linie);color:var(--fg);font-weight:600;font-size:15px;text-decoration:none}.lied a:hover{border-color:var(--gold)}

/* ===== Beliebte Ausflüge: senkrecht laufendes Band, jeder Eintrag zum Angebot (Albert 22.10.) ===== */
.ausflug-band{height:690px;overflow:hidden;mask-image:linear-gradient(transparent,#000 5%,#000 95%,transparent)}
.ausflug-spur{animation:ausLauf 95s linear infinite!important}
.ausflug-band:hover .ausflug-spur,.ausflug-band:focus-within .ausflug-spur{animation-play-state:paused!important}
@keyframes ausLauf{to{transform:translateY(-50%)}}
@media (max-width:640px){.ausflug-band{height:440px}}

/* Reiseplaner: Kasten „Deine Reise“ beginnt oben auf Höhe der Überschrift (Albert 22.10.) */
@media (min-width:1001px){
  .routenband .kopfzeile{grid-column:1;grid-row:1}
  #tage{grid-column:1;grid-row:2}
  #routen .kasse{grid-column:2;grid-row:1 / span 2;align-self:start}
  #routen .kopfzeile .reiter{margin-right:0}
}
.flug-band{height:560px}
.flug-spur{animation-duration:55s!important}
@media (max-width:640px){.flug-band{height:440px}}

/* ===== Reise-KI: Chatfenster unten rechts (23.10.) ===== */
.ki-knopf{position:fixed;right:18px;bottom:18px;z-index:45;display:inline-flex;align-items:center;gap:8px;height:52px;padding:0 20px;border:0;border-radius:999px;background:var(--navy);color:#fff;font:700 15px var(--sans);box-shadow:0 12px 30px rgba(10,20,28,.3);cursor:pointer;transition:transform .2s}
.ki-knopf:hover{transform:translateY(-3px)}
.ki-knopf[hidden]{display:none}
.ki-box{position:fixed;right:18px;bottom:18px;z-index:46;width:min(400px,calc(100vw - 32px));height:min(600px,calc(100vh - 110px));display:grid;grid-template-rows:auto auto 1fr auto auto;background:#fff;border-radius:14px;box-shadow:0 24px 60px rgba(10,20,28,.35);overflow:hidden}
.ki-box[hidden]{display:none}
.ki-box header{display:grid;grid-template-columns:1fr auto;align-items:center;padding:14px 16px;background:var(--navy);color:#fff}
.ki-box header b{font:600 19px var(--serif)}
.ki-box header span{grid-row:2;font-size:13px;opacity:.8}
.ki-zu{grid-row:1/3;grid-column:2;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;font-size:20px;cursor:pointer}
.ki-hinweis{margin:0;padding:8px 16px;font-size:12px;color:var(--muted);background:var(--bg);border-bottom:1px solid var(--linie)}
.ki-hinweis a{color:var(--muted)}
.ki-verlauf{overflow-y:auto;padding:14px 16px;display:grid;gap:10px;align-content:start}
.ki-nachricht{max-width:88%;padding:10px 13px;border-radius:12px;font-size:15px;line-height:1.45}
.ki-nachricht p{margin:0 0 6px}.ki-nachricht p:last-child{margin:0}
.ki-nachricht ul{margin:4px 0;padding-left:18px}
.ki-assistant{background:var(--bg);justify-self:start;border-bottom-left-radius:4px}
.ki-user{background:var(--navy);color:#fff;justify-self:end;border-bottom-right-radius:4px}
.ki-nachricht a{color:var(--gold-dunkel);font-weight:700}
.ki-warte p{animation:kiPuls 1s ease-in-out infinite}
@keyframes kiPuls{50%{opacity:.3}}
.ki-ideen{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 10px}
.ki-ideen[hidden]{display:none}
.ki-ideen button{border:1px solid var(--gold);background:#fff;color:var(--gold-dunkel);border-radius:999px;padding:6px 12px;font:600 13px var(--sans);cursor:pointer}
.ki-form{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--linie)}
.ki-form input{flex:1;min-width:0;height:44px;border:1px solid #cfd6da;border-radius:999px;padding:0 16px;font:500 15px var(--sans)}
.ki-form .knopf{height:44px;border-radius:999px}
@media (max-width:640px){
  .ki-knopf{right:12px;bottom:12px;width:54px;height:54px;padding:0;justify-content:center;font-size:24px}
  .ki-knopf-text{display:none}
  [data-menue] .ki-knopf{bottom:84px}
  .ki-box{right:8px;left:8px;bottom:8px;width:auto;height:calc(100vh - 80px)}
  .ki-form{padding:10px 12px}.ki-form .knopf{padding:0 14px;font-size:14px}
}

/* ===== Handy: Planer-Kasten kompakt, damit er auf den kleinen Bildschirm passt (Albert 23.10.) ===== */
@media (max-width:640px){
  .planer{padding:14px 14px 12px;gap:8px}
  .planer .eyebrow{display:none}
  .planer h2{font-size:21px;padding-right:44px}
  .planer .zu{width:34px;height:34px;top:10px;right:10px}
  .planer .modi button{height:38px;font-size:14px}
  .planer .reiter{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:6px;scrollbar-width:none;margin-inline:-14px;padding-inline:14px}
  .planer .reiter::-webkit-scrollbar{display:none}
  .planer .reiter button{flex:none;height:34px;padding:0 12px;font-size:13px}
  .planer .felder{grid-template-columns:1fr 1fr;gap:8px}
  .planer .felder label{font-size:12px;gap:3px}
  .planer .felder input,.planer .felder select{height:40px;font-size:14px;padding:0 10px}
  .planer .felder .breit{grid-column:1/-1}
  .planer .felder .knopf{grid-column:auto;justify-self:stretch;align-self:end;height:40px;font-size:13px;padding:0 8px;white-space:normal;line-height:1.15}
  .planer .kleingedruckt{font-size:11px}
  .planer .kleingedruckt .anz{display:none}
}
/* iPhone/Safari: Datumsfelder ragen sonst über den Rand hinaus (eigene Mindestbreite) – auf Feldbreite zwingen */
.felder input[type="date"]{-webkit-appearance:none;appearance:none;min-width:0;max-width:100%;width:100%;box-sizing:border-box;display:block;text-align:left}
.felder input[type="date"]::-webkit-date-and-time-value{text-align:left;margin:0}
.felder label{min-width:0}
@media (max-width:640px){
  .planer h2{font-size:19px}
  .planer .modi button{height:34px;font-size:13px}
  .planer .kleingedruckt{display:none}
  .planer .felder input,.planer .felder select{height:38px}
  .planer .felder .knopf{height:38px}
}

/* Laufbänder mit Pfeilen + Wischen (25.10.) – Bewegung kommt aus start.js */
.gesteuert .mom-spur,.gesteuert .gesichter-spur,.gesteuert .ausflug-spur{animation:none!important;will-change:transform}
.gesteuert.mom-band,.gesteuert.gesichter-band{touch-action:pan-y}
.band-huelle{position:relative}
.band-pfeil{position:absolute;z-index:3;width:44px;height:44px;border-radius:50%;border:1px solid var(--linie);background:rgba(255,255,255,.95);color:var(--fg);font:600 24px/1 var(--sans);display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 18px rgba(10,20,28,.18);transition:transform .15s}
.band-pfeil:hover{transform:scale(1.08)}
.band-huelle:not(.senk) .band-pfeil{top:calc(50% - 30px)}
.band-huelle:not(.senk) .zurueck{left:6px}.band-huelle:not(.senk) .vor{right:6px}
.band-huelle.senk .band-pfeil{left:calc(50% - 22px);font-size:16px}
.band-huelle.senk .zurueck{top:-6px}.band-huelle.senk .vor{bottom:-6px}
@media (max-width:640px){.band-pfeil{width:38px;height:38px;font-size:20px}}

/* ===== Georgischer Tanz live (25.10.) ===== */
.tanz{background:var(--weiss)}
.tanz-raster{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center}
.tanz-bild{margin:0;border-radius:12px;overflow:hidden;box-shadow:0 18px 40px rgba(10,20,28,.18)}
.tanz-bild img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.tanz-text h2{margin:.2em 0 .5em}
.tanz-knoepfe{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:22px 0 14px}
.knopf.hell{background:#fff;border:1px solid var(--linie);color:var(--fg)}
.knopf.hell:hover{border-color:var(--gold)}
@media (max-width:900px){.tanz-raster{grid-template-columns:1fr}.tanz-knoepfe .knopf{width:100%;white-space:normal;height:auto;min-height:46px;padding-block:10px}}
.tanz-bild{position:relative;display:block}
.tanz-play{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;background:rgba(255,255,255,.92);color:#a3262a;display:grid;place-items:center;font-size:30px;padding-left:6px;box-shadow:0 10px 30px rgba(0,0,0,.35);transition:transform .2s}
.tanz-bild:hover .tanz-play{transform:scale(1.1)}
.tanz-video{position:absolute;left:14px;bottom:14px;padding:6px 12px;border-radius:999px;background:rgba(10,20,28,.75);color:#fff;font:600 14px var(--sans)}

/* Titelbild-Entwürfe (26.10., nur Test): ?held=a „Magazin“ · ?held=b „Abenteuer“ · ?held=c Mischung (A-Schrift + B-Zahlen) */
[data-held] .buehne,[data-held] .buehne .inner{min-height:min(88svh,880px)}
[data-held] .buehne .inner{align-items:end;padding-block:60px 90px}
[data-held] .text{align-content:end}
[data-held] .buehne::after{background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,0) 28%,rgba(0,0,0,0) 45%,rgba(0,0,0,.62) 100%)}
[data-held] .text p{max-width:38ch}
[data-held] .text h1{white-space:normal}[data-held] .text{min-width:0}
/* A + Mischung: leichte, große Serifenschrift, zweite Hälfte kursiv in Champagner */
[data-held="a"] .text h1,[data-held="c"] .text h1{font-weight:300;font-size:clamp(52px,6.4vw,104px);line-height:.98;letter-spacing:-.015em}
[data-held="a"] .text h1 .wort:nth-child(n+3),[data-held="c"] .text h1 .wort:nth-child(n+3){font-style:italic;color:#ecd9b0}
[data-held="a"] .text .eyebrow,[data-held="c"] .text .eyebrow{color:#ecd9b0;letter-spacing:.22em}
[data-held="a"] .text .knopf,[data-held="c"] .text .knopf{background:transparent;color:#fff;height:auto;padding:0 0 5px;border-radius:0;border-bottom:1px solid #fff;font-size:13px;letter-spacing:.16em;text-transform:uppercase;box-shadow:none}
[data-held="a"] .text .knopf::after,[data-held="c"] .text .knopf::after{display:none}
/* B: fette Großbuchstaben, zweite Hälfte als Umriss, Signal-Orange */
[data-held="b"] .buehne::after{background:linear-gradient(180deg,rgba(12,17,20,.45) 0%,rgba(12,17,20,.05) 32%,rgba(12,17,20,.2) 55%,rgba(12,17,20,.85) 100%)}
[data-held="b"] .text h1{font:800 clamp(52px,6.4vw,104px)/.92 var(--sans);text-transform:uppercase;letter-spacing:-.02em}
[data-held="b"] .text h1 .wort:nth-child(n+3){color:transparent;-webkit-text-stroke:2px #fff}
[data-held="b"] .text .eyebrow{color:#ff6a2b;display:inline-flex;align-items:center;gap:10px;letter-spacing:.24em}
[data-held="b"] .text .eyebrow::before{content:"";width:28px;height:2px;background:#ff6a2b}
[data-held="b"] .text .knopf{background:#ff6a2b;color:#160800;border-radius:0;text-transform:uppercase;letter-spacing:.06em;font-weight:800;clip-path:polygon(0 0,100% 0,100% 70%,92% 100%,0 100%)}
[data-held="b"] .text .knopf:hover{background:#ff8452;box-shadow:none}
/* Zahlen-Leiste: B dunkel/orange, Mischung dunkel/gold – groß wie in Entwurf B */
[data-held="b"] .zahlen,[data-held="c"] .zahlen{background:#0c1114}
[data-held="b"] .zahlen .inner,[data-held="c"] .zahlen .inner{text-align:left;padding-block:34px}
[data-held="b"] .zahlen b,[data-held="c"] .zahlen b{font:800 clamp(38px,5vw,64px)/1 var(--sans);color:#ff6a2b}
[data-held="c"] .zahlen b{color:#e2b866}
[data-held="b"] .zahlen span,[data-held="c"] .zahlen span{display:block;margin-top:8px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#93a0a8;opacity:1}
@media (max-width:1000px){
  [data-held] .buehne .inner{padding-block:40px 80px}
  [data-held="a"] .text h1,[data-held="c"] .text h1{font-size:clamp(46px,12vw,72px)}
  [data-held="b"] .text h1{font-size:clamp(46px,13vw,80px)}
}

/* 26.10. (Albert): Planer-Kasten am PC kleiner und fast an den rechten Rand – mehr Titelbild sichtbar; Pfeile neben die Punkte */
@media (min-width:1001px){
  .buehne .inner{grid-template-columns:1fr 480px}
  .planer-ort{width:480px;margin-right:calc(-1 * max(0px, (100vw - 1200px) / 2 - 30px))}
  .planer{padding:18px 20px;gap:10px}
  .planer h2{font-size:24px}
  .planer .eyebrow{font-size:11px}
  .modi button{padding:8px}
  .reiter button{padding:5px 10px;font-size:13px}
  .felder{gap:8px 10px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 132px 132px}
  .felder label{font-size:13px;gap:3px}
  .felder input,.felder select{height:40px;font-size:14px;padding:0 10px}
  .planer .knopf{height:40px}
  .pfeil{top:auto;bottom:10px;transform:none;width:36px;height:36px;font-size:18px}
  .pfeil:hover{transform:scale(1.08)}
  .pfeil.l{left:calc(50% - 140px)}.pfeil.r{right:auto;left:calc(50% + 104px)}
}

/* Logo (Albert 26.10.: Variante 1, dezent): kleine georgische Flagge, die sanft weht */
.logo{display:inline-flex;align-items:center;gap:0;position:relative}
.logo-wort{font-weight:inherit}
.logo-ka{display:none}
.logo-flagge{display:none}
.kopf .logo{gap:10px}
.kopf .logo-flagge{display:block;transform-origin:0 50%;animation:wehen 4s ease-in-out infinite}
.logo-flagge svg{display:block;width:30px;height:20px;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.25)}
@keyframes wehen{0%,100%{transform:perspective(80px) rotateY(0) skewY(0)}50%{transform:perspective(80px) rotateY(-9deg) skewY(-2deg)}}
@media (max-width:520px){.logo-flagge svg{width:26px;height:17px}.kopf .logo{gap:8px}}
/* Tanz: „Live in Deutschland“ groß mit Flagge */
.live-de{display:inline-flex;align-items:center;gap:10px;align-self:start;justify-self:start;font:800 17px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--fg);background:var(--weiss);border:2px solid var(--gold);border-radius:999px;padding:7px 16px 7px 10px;box-shadow:0 6px 16px rgba(20,40,60,.08)}
.live-de svg{border-radius:3px;flex:none}
/* Fuß: Social Media + kleiner Partnerhinweis */
.sozial{display:flex;gap:12px;flex-wrap:wrap}
.sozial a{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid rgba(255,255,255,.3);border-radius:999px;text-decoration:none;font-weight:700;transition:background .2s,border-color .2s}
.sozial a:hover{background:var(--gold);border-color:var(--gold);color:#1f1608}
.fuss-hinweis{font-size:12px;opacity:.7}

.fh-kurz{font:800 10px var(--sans);fill:#16324a;paint-order:stroke;stroke:#fbf6ee;stroke-width:3px;letter-spacing:.06em}
.flughafen{cursor:help}.flughafen-legende text{font:700 12px var(--sans);fill:#16324a}
/* „Ausflüge und Flüge“ mittig (Albert 26.10.) */
#angebote .kopfzeile:first-child{justify-content:center;text-align:center}

.resto-raster{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.resto{background:var(--weiss);border:1px solid var(--linie);border-radius:8px;overflow:hidden;display:grid;grid-template-rows:auto 1fr}
.resto-text{padding:16px 18px 18px;display:grid;gap:8px;align-content:start}
.resto-bild{position:relative;aspect-ratio:4/3;background:linear-gradient(135deg,#7b1e2c,#c08a3e);display:grid;place-items:end start}
.resto-bild img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.resto-bild span{position:relative;margin:10px;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.92);font-size:12px;font-weight:800;color:var(--fg)}
.resto b{font:600 22px var(--serif)}.resto p{margin:0;color:var(--muted);font-size:15px}.resto-preis{font-size:13px;font-weight:700;color:var(--gold-dunkel)}
.resto .knopf{justify-self:start}
@media (max-width:1000px){.resto-raster{grid-template-columns:1fr 1fr}}@media (max-width:520px){.resto-raster{grid-template-columns:1fr}}
@media (min-width:1001px){.felder input[type="date"]{padding:0 6px;font-size:13px}.pause{right:auto;left:calc(50% + 150px);bottom:10px}}

/* Pause-Knopf weg (Albert 26.10.); Bildwechsel 5,5 s */
.buehne .pause{display:none!important}
/* Interessen-Wahl für die Routen */
.themen{flex-wrap:wrap}
.themen button{font-size:15px;padding:8px 14px}
.themen-hinweis{margin:0 0 6px;font-weight:700;font-size:14px;color:var(--fg);flex-basis:100%}

/* Orte-Band: zusätzlich „Touren ansehen“ (Albert 26.10.) */
.gesicht{grid-template-rows:1fr auto}
.g-haupt{display:grid;grid-template-rows:auto 1fr;text-decoration:none;color:inherit}
.g-touren{margin:0 14px 14px;display:flex;justify-content:center;align-items:center;height:34px;border-radius:4px;background:var(--gold);color:#1f1608;font-weight:800;font-size:13px;text-decoration:none;transition:background .2s}
.g-touren:hover{background:var(--gold-dunkel);color:#fff}
.flieger{pointer-events:none}

/* Karte am Handy groß + wischbar (Albert 26.10.) */
.karte-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.karte-wisch{display:none;margin:0;padding:6px 10px 8px;text-align:center;font-size:12px;font-weight:700;color:#8b6b43}
@media (max-width:640px){
  .karte-scroll svg{width:860px!important;max-width:none}
  .karte-wisch{display:block}
  .km .schild text{font-size:15px}
}
.ausflug-filter{margin:6px 0 4px;flex-wrap:wrap}.ausflug-filter button{font-size:13px}
.eintrag[hidden]{display:none!important}
.tag-sym{display:inline-flex;gap:3px;margin-left:8px;font-style:normal;vertical-align:middle}.tag-sym i{font-style:normal;font-size:14px;line-height:1}
/* Restaurants kompakter (Albert 26.10.) */
.resto-raster{max-width:1040px;margin-inline:auto;gap:14px}
.resto-bild{aspect-ratio:16/10}
.resto-text{padding:12px 14px 14px;gap:6px}
.resto b{font-size:18px}.resto p{font-size:13.5px;line-height:1.45}
.resto .knopf.klein{height:32px;font-size:13px;padding:0 12px}
.resto-bild span{font-size:11px;margin:8px;padding:3px 8px}

/* PDF-Angebot im Kasten „Deine Reise“ (Entwurf B, Albert 26.10.) – später gratis gegen Newsletter-Anmeldung */
.pdf-angebot{background:#fff;color:var(--fg);border-radius:8px;padding:12px;display:grid;grid-template-columns:78px 1fr;gap:12px;align-items:center}
.pdf-cover{aspect-ratio:3/4;border-radius:4px;background:url(/img/gergeti-480.webp) center/cover;box-shadow:0 4px 10px rgba(0,0,0,.25);position:relative}
.pdf-cover span{position:absolute;left:5px;right:5px;bottom:5px;color:#fff;font:600 9px/1.1 var(--serif);text-shadow:0 1px 3px rgba(0,0,0,.6)}
.pdf-angebot>div:last-child{display:grid;gap:4px}.pdf-angebot b{font:600 17px var(--serif)}.pdf-angebot small{color:var(--muted)}
.pdf-bald{justify-self:start;cursor:default;opacity:.85}.pdf-bald:hover{transform:none;box-shadow:none}
.flug-vergleich{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 10px}.flug-vergleich .knopf{height:44px}
.flug-vergleich .knopf{white-space:normal;max-width:100%;text-align:center}
.termine{background:var(--weiss);border:1px solid var(--linie);border-left:4px solid var(--gold);border-radius:6px;padding:12px 16px;margin:6px 0;display:grid;gap:4px}.termine ul{margin:0;padding:0;list-style:none;display:grid;gap:4px;font-size:15px}.termine time{font-weight:800}.termine a{color:var(--gold-dunkel);font-weight:700}.termine small{color:var(--muted);font-size:12px}
.flugzeile.vergleich{background:linear-gradient(90deg,#bf8b3a,#d6a24e);color:#1f1608;border-radius:8px;border:0!important;margin:4px 0}.flugzeile.vergleich small{color:#3b2a10}.flugzeile.vergleich .preis{color:#16324a;font-weight:800}.flugzeile.vergleich svg{background:#16324a;border-radius:50%;padding:4px;width:30px;height:30px}
.app-box{display:grid;gap:6px;justify-items:start}.app-box p{margin:0;font-size:13px;max-width:520px;opacity:.9}

/* Karten-Entwürfe (?karte=k1|k2|k3) */
.km .welle{fill:none;stroke-width:1.6;stroke-linecap:round}.km .bild{font-size:20px}
.km-k1{background:#e9e4d6}.km-k1 .meer{fill:#5fa8d3}.km-k1 .land{fill:#cfe3b0;stroke:#6f8f4a;stroke-width:1.6}.km-k1 .gebirge{fill:#b9a88a;opacity:.55}.km-k1 .grat{fill:none;stroke:#8a7a5c;stroke-width:1}
.km-k1 .gipfel{fill:#8d7b62}.km-k1 .schnee{fill:#fff}.km-k1 .welle{stroke:#cfe8f5}.km-k1 .fluss{fill:none;stroke:#3d8fc7;stroke-width:2.2}
.km-k1 .route-u{fill:none;stroke:#fff;stroke-width:7;opacity:.85}.km-k1 .route{stroke:#d1342f;stroke-width:3.5}.km-k1 .schild rect{fill:#fff;stroke:#d1342f;stroke-width:1.2}.km-k1 .schild text{fill:#1d2f3d;font:700 13px var(--sans)}
.km-k1 .nrk circle{fill:#d1342f}.km-k1 .meertext{fill:#fff;font:italic 600 17px var(--serif)}.km-k1 .nachbar{fill:#7d7461;font:600 12px var(--sans);letter-spacing:.12em;text-transform:uppercase}
.km-k2{background:#f3e7c9}.km-k2 .meer{fill:#7cc4e4}.km-k2 .land{fill:#fdf0b8;stroke:#c08a3e;stroke-width:2.2;stroke-linejoin:round}.km-k2 .gebirge{fill:#a7c78b;opacity:.75}.km-k2 .grat{display:none}
.km-k2 .gipfel{fill:#6f9a59}.km-k2 .schnee{fill:#fff}.km-k2 .welle{stroke:#fff}.km-k2 .fluss{fill:none;stroke:#4aa3d6;stroke-width:2.4}
.km-k2 .route-u{fill:none;stroke:#fff;stroke-width:8}.km-k2 .route{stroke:#7b1e2c;stroke-width:3.5;stroke-dasharray:2 7}.km-k2 .schild rect{fill:#7b1e2c;stroke:none}.km-k2 .schild text{fill:#fff;font:700 13px var(--sans)}
.km-k2 .nrk circle{fill:#c08a3e}.km-k2 .meertext{fill:#fff;font:italic 700 17px var(--serif)}.km-k2 .nachbar{fill:#8b6b43;font:700 12px var(--sans);letter-spacing:.12em;text-transform:uppercase}
.km-k3{background:#0d1a26}.km-k3 .meer{fill:#14324a}.km-k3 .land{fill:#1d3b55;stroke:#c08a3e;stroke-width:1.6}.km-k3 .gebirge{fill:#2b4e6c;opacity:.9}.km-k3 .grat{fill:none;stroke:#46698a;stroke-width:1}
.km-k3 .gipfel{fill:#3c6386}.km-k3 .schnee{fill:#e8f1f8}.km-k3 .welle{stroke:#2a5677}.km-k3 .fluss{fill:none;stroke:#3f86b8;stroke-width:1.8}
.km-k3 .route-u{fill:none;stroke:#e2b866;stroke-width:9;opacity:.25}.km-k3 .route{stroke:#f0c98a;stroke-width:3}.km-k3 .schild rect{fill:#0d1a26;stroke:#c08a3e}.km-k3 .schild text{fill:#f0c98a;font:italic 700 14px var(--serif)}
.km-k3 .nrk circle{fill:#c08a3e}.km-k3 .meertext{fill:#7fb3d8;font:italic 600 15px var(--serif)}.km-k3 .nachbar{fill:#8fa6b8;font:600 11px var(--sans);letter-spacing:.12em;text-transform:uppercase}.km-k3 .fh-kurz{fill:#f0c98a;stroke:#0d1a26}.km-k3 .flughafen-legende text{fill:#f0c98a}

/* K1 Standard (Albert 26.10.): Nachbarländer farbig, Armenien mit Tagesausflug */
.km .nb-ru{fill:#e4e0ee}.km .nb-az{fill:#d6ebef}.km .nb-am{fill:#f7e2c4}.km .nb-tr{fill:#f4d9d3}
.km-k3 .nb-ru{fill:#16293a}.km-k3 .nb-az{fill:#122a33}.km-k3 .nb-am{fill:#2a2418}.km-k3 .nb-tr{fill:#2b1d1d}
.km .nb-chip rect{fill:#16324a}.km .nb-chip text{fill:#fff;font:700 11px var(--sans)}.km .nb-chip:hover rect{fill:#bf8b3a}

/* Ortskärtchen (Albert 26.10.): Foto größer, Texte kleiner, kurze Knöpfe */
.ort-karte{width:min(380px,calc(100% - 28px));grid-template-columns:170px 1fr}
.ort-karte img{min-height:170px}
.ort-karte>div{padding:10px 12px;gap:5px}
.ort-karte b{font-size:17px}.ort-karte p{font-size:12.5px;line-height:1.35}
.ort-karte .knopf.klein{height:32px;font-size:13px;padding:0 10px}
@media (max-width:640px){.ort-karte{grid-template-columns:140px 1fr}.ort-karte img{min-height:150px}}

/* Checkliste „Deine Reise“: jede Zeile führt direkt zum Anbieter (Albert 27.10.) */
.kasse .checkliste li:has(.k-link){display:block}
.checkliste .k-link{display:grid;grid-template-columns:38px 1fr auto auto;align-items:center;gap:10px;color:inherit;text-decoration:none}
@media (max-width:520px){.checkliste .k-link{grid-template-columns:32px 1fr auto auto}}
.checkliste li:has(.k-link){cursor:pointer;transition:background .2s}
.checkliste li:has(.k-link):hover{background:rgba(191,139,58,.25)}
.k-pfeil{font-style:normal;color:var(--gold);margin-left:8px;font-weight:800}

/* Handy-Bänder für Restaurants, Mietwagen, Extras (Albert 27.10.) */
.handy-band{overflow:hidden;padding:6px 0 18px;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);touch-action:pan-y}
.handy-spur{display:flex;gap:12px;width:max-content;align-items:stretch;will-change:transform}
.handy-spur>*{flex:none;width:250px;opacity:1!important;transform:none!important}
.resto-spur>.resto{width:240px}
.handy-band+.band-pfeil,.band-huelle .handy-band~.band-pfeil{top:calc(50% - 30px)}
.band-huelle,.handy-band{min-width:0;max-width:100%}
.band-huelle .handy-band{margin-inline:0}
@media (min-width:641px){.handy-spur{gap:16px}.handy-spur>*,.resto-spur>.resto{width:280px}}
@media (max-width:640px){.miet-spur .extra h3,.extra-spur .extra h3{font-size:19px}.miet-spur>.extra,.extra-spur>.extra{width:230px;padding:16px}}

/* Karte am Handy – Entwurf A (Albert 27.10.): ganze Karte ohne Wischen, Ortsnamen-Schilder aus, Stopps als Fotoband */
.stopp-bild{display:none}
.ort-klick.hervor circle{stroke:#d4a017;stroke-width:5}
@media (max-width:640px){
  .karte-scroll{overflow:visible}
  .karte-scroll svg{width:100%!important;max-width:100%}
  .karte-wisch{display:none!important}
  #kartensvg .schild{display:none}
  .stopps{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .stopps::-webkit-scrollbar{display:none}
  .stopps li{flex:none;scroll-snap-align:start;opacity:1;transform:none;animation:none}
  .stopps li button{position:relative;display:block;width:118px;height:132px;border-radius:12px;overflow:hidden;padding:0;background:var(--navy);box-shadow:0 6px 16px rgba(20,40,60,.14)}
  .stopps li button.aktiv{outline:3px solid #d4a017;outline-offset:-3px}
  .stopp-bild{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .stopps li button::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(10,20,28,.8))}
  .stopps li button b{position:absolute;top:8px;left:8px;z-index:1;width:26px;height:26px}
  .stopps li button span{position:absolute;left:10px;right:8px;bottom:9px;z-index:1;color:#fff;font-weight:700;font-size:14px;line-height:1.2}
}
@media (max-width:640px){.stopps.stopps-handy{margin:10px 0 18px}}
/* Albert 27.10.: Restaurant-, Mietwagen- und Extra-Bänder über die volle Breite wie „Georgien-Momente“ */
@media (min-width:641px){.band-huelle:has(> .handy-band){width:100vw;max-width:100vw;margin-inline:calc(50% - 50vw)}
.band-huelle > .handy-band{mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}}
/* Albert 27.10.: Anbieter als Schriftzug in Firmenfarben statt grauem Namen (keine Logo-Dateien – erst mit Partnerfreigabe) */
.marke{display:inline-block;justify-self:start;align-self:start;font:800 15px/1 var(--sans,system-ui),sans-serif;padding:7px 10px;border-radius:6px;letter-spacing:0;margin-bottom:4px}
.m-sixt{background:#ff5f00;color:#000;font-weight:900;letter-spacing:.06em}
.m-check24{background:#063773;color:#fff}
.m-discovercars{background:#fff;color:#0b2b4c;border:1px solid #e3ddd0}
.m-localrent{background:#fff;color:#1f7ae0;border:1px solid #e3ddd0;font-weight:700}
.m-airalo{background:#fff;color:#111;border:1px solid #e3ddd0;font-weight:700;font-size:16px}
.m-gotrip{background:#fff;color:#e8412c;border:1px solid #e3ddd0}
.m-tripadvisor{background:#34e0a1;color:#000}
.m-kiwitaxi{background:#fff;color:#1a1a1a;border:1px solid #e3ddd0}

.app-box p{background:rgba(255,255,255,.1);border-radius:8px;padding:8px 12px;font-size:14px}
/* Albert 28.10.: Reiseplaner – Tage und Kasten „Deine Reise“ näher zusammen, mittig */
@media (min-width:1001px){.routenband .inner{grid-template-columns:minmax(0,680px) 380px;justify-content:center;column-gap:56px}#routen .kasse{justify-self:start;margin-right:0}}
/* Albert 28.10.: am Handy Routenwahl nur einmal (bei der Karte) – im Reiseplaner darunter ausgeblendet, er folgt der Wahl oben */
@media (max-width:640px){#routen .themen-hinweis,#routen .reiter{display:none}}
.kontakt-knoepfe{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}.kontakt-knoepfe .knopf{flex:1 1 200px}
.p-daten{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;margin:6px 0 18px;padding:14px 16px;background:#fff;border:1px solid rgba(23,46,74,.12);border-radius:10px}.p-daten label{display:flex;flex-direction:column;gap:4px;font-size:.8rem;font-weight:700;color:var(--navy)}.p-daten select,.p-daten input{height:40px;padding:0 10px;border:1px solid rgba(23,46,74,.25);border-radius:6px;font:inherit;font-weight:400;background:#fff;min-width:140px}.p-daten small{flex-basis:100%;color:#5b6676;font-size:.8rem}@media(max-width:640px){.p-daten label{flex:1 1 45%}.p-daten label:first-child{flex-basis:100%}.p-daten select,.p-daten input{width:100%;min-width:0}}
.b-preis{background:var(--gold)!important;color:#1f1608!important;font-weight:700;height:auto!important;padding:9px 12px!important;white-space:normal!important;line-height:1.3}.b-preis-info{flex-basis:100%;font-size:.75rem;color:#5b6676}
/* Chinkali-Radar: PLZ-Zeile (Albert 29.10.) */
.radar-plz{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 10px;margin:0 auto 18px;max-width:640px}
.radar-plz input{width:7.5em;padding:9px 12px;border:1px solid #cdbf9f;border-radius:10px;font:inherit;font-size:16px;background:#fff}
.radar-plz #plz-meldung{flex-basis:100%;text-align:center;font-size:.9rem;color:#6b5a3a;min-height:1.2em}
.chinkali-ico{display:inline-block;vertical-align:-.12em;width:1em;height:1em}
.resto.naechstes{outline:3px solid #c8923a;outline-offset:-3px;position:relative}
.resto.naechstes::before{content:"📍 Am nächsten";position:absolute;top:10px;left:10px;z-index:2;background:#c8923a;color:#fff;font-size:.8rem;font-weight:700;padding:4px 10px;border-radius:999px}
.plz-treffer{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:6px}
.plz-erster{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 12px;padding:12px 18px;border:2px solid #c8923a;border-radius:14px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.08)}
.plz-erster b{font-size:1.15rem}.plz-erster small{color:#6b5a3a}
.plz-schild{background:#c8923a;color:#fff;font-size:.8rem;font-weight:700;padding:3px 10px;border-radius:999px}
.plz-los{font-weight:700;text-decoration:underline}
.plz-weitere{margin:0;font-size:.9rem}.plz-weitere a{color:inherit}

/* Hermes 1.11.: Knöpfe im Artikel waren gold auf gold (.artikel a färbte die Schrift) */
.artikel a.knopf{color:#1f1608;text-decoration:none}.artikel a.knopf.rand{color:var(--navy)}.artikel a.knopf.rand:hover{color:#fff}
/* ===== Hermes 1.11.: Angebote im Artikel – Knopf oben, Kasten am PC-Rand, Leiste am Handy ===== */
.artikel{position:relative}
.angebot-oben{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:-8px 0 22px}
.angebot-oben .anz{font-size:12px;color:var(--muted)}
.angebot-rand{display:none}
@media (min-width:1300px){
  .angebot-rand{display:block;position:absolute;top:0;bottom:0;left:calc(100% + 32px);width:220px}
  .angebot-rand>div{position:sticky;top:100px;display:grid;gap:10px;background:var(--weiss);border:1px solid var(--linie);border-radius:10px;padding:16px;box-shadow:0 8px 24px rgba(20,40,60,.06)}
  .angebot-rand .anz{font-size:12px;color:var(--muted)}
  .angebot-rand .knopf{justify-content:center;text-align:center}
}
.angebot-leiste{position:fixed;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:39;display:flex;align-items:stretch;background:var(--navy);border-radius:14px;box-shadow:0 8px 28px rgba(20,40,60,.25);transform:translateY(0);transition:transform .3s,opacity .3s}
.angebot-leiste[hidden]{display:none}
.angebot-leiste.weg{transform:translateY(20px);opacity:0;pointer-events:none}
.angebot-leiste a{flex:1;display:grid;gap:1px;padding:9px 14px;color:#fff;text-decoration:none}
.angebot-leiste small{font-size:12px;opacity:.75}
.angebot-leiste b{font-size:16px;color:var(--gold)}
.angebot-leiste button{width:48px;border:0;background:transparent;color:#fff;font-size:24px;cursor:pointer}
body:has(.ki-knopf:not([hidden])) .angebot-leiste{right:78px}
@media (min-width:641px){.angebot-leiste{display:none!important}}
/* Hermes 1.11.: Kasten „Vor der Reise erledigen“ (Albert: Entwurf A) */
.vor-reise{background:var(--weiss);border:1px solid var(--linie);border-left:4px solid var(--gold);border-radius:8px;padding:18px 16px;margin:32px 0}
.vor-reise .vr-titel{display:block;font:700 21px/1.25 var(--serif,Georgia,serif);margin-bottom:4px}
.vor-reise .anz{font-size:12px;color:var(--muted)}
.vor-reise ul{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:10px}
.artikel .vor-reise li{display:flex;align-items:flex-start;gap:12px;font-size:16px;line-height:1.35;border-top:1px solid var(--linie);padding-top:10px;margin:0}
.vor-reise .vr-icon{font-size:24px}.vor-reise li div{flex:1;min-width:0}
.vor-reise small{display:block;color:var(--muted);font-size:14px}
.artikel .vor-reise a{display:inline-block;margin-top:4px;padding:6px 0;font-weight:700;text-decoration:none}
