/* Statische Unterseiten (Etappen, Hütten, Planung, FAQ). Gleiche Gestaltung wie die Karte, ohne Karte. */
@font-face{font-family:"Bitter";src:url(../fonts/bitter-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Bitter";src:url(../fonts/bitter-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(../fonts/source-sans-3-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(../fonts/source-sans-3-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(../fonts/source-sans-3-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  color-scheme:light;
  --ink:#2B2924; --ink-2:#5C574D; --ink-3:#6F685C;
  --paper:#FBF8F1; --card:#FFFFFF; --line:#E7DFCF; --soft:#F4EEE2;
  --red:#C8352B; --green:#2F6B45; --meadow:#EAF2E1; --sky:#E3EFF7; --blue:#2F6E9E;
  --sign:#F3C843; --sign-ink:#2B2410; --earth:#B79E7B; --warn:#D99A16;
  --shadow:0 6px 20px -8px rgba(60,45,20,.22),0 1px 3px rgba(60,45,20,.08);
  --head:"Bitter",Georgia,serif; --sans:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;
  --w:780px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--green);text-underline-offset:3px}
a:hover{color:#225036}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{font-family:var(--head);font-weight:700;line-height:1.2;margin:1.6em 0 .5em}
h1{font-size:clamp(30px,5vw,42px);margin-top:.2em}
h2{font-size:clamp(22px,3.4vw,27px)}
h3{font-size:19px}
p{margin:0 0 1em}
ul,ol{padding-left:1.25em;margin:0 0 1em}
li{margin:.3em 0}
.wrap{max-width:var(--w);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:9}

/* Kopf */
.site-head{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.site-head .wrap{max-width:1100px;display:flex;align-items:center;gap:18px;min-height:62px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);flex:none}
.brand-mark{display:grid;place-items:center;width:42px;height:32px;border-radius:3px;background:linear-gradient(var(--red) 0 30%,#fff 30% 70%,var(--red) 70%);box-shadow:0 0 0 1px rgba(0,0,0,.08);font:700 13px/1 var(--sans);color:var(--ink)}
.brand b{font:700 17px var(--head)}
.nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin-left:auto}
.nav::-webkit-scrollbar{display:none}
.nav a{white-space:nowrap;text-decoration:none;color:var(--ink-2);font-weight:600;font-size:15.5px;padding:8px 11px;border-radius:8px}
.nav a:hover,.nav a[aria-current]{background:var(--soft);color:var(--ink)}
.nav a.map{background:var(--green);color:#fff}
@media (max-width:720px){.site-head .wrap{flex-wrap:wrap;gap:4px 12px;padding-top:8px;padding-bottom:6px}.nav{margin:0 -20px;padding:0 20px;width:calc(100% + 40px)}.brand b{font-size:16px}}

/* Brotkrumen, Hero */
.crumbs{font-size:14px;color:var(--ink-3);margin:22px 0 6px}
.crumbs a{color:var(--ink-3)}
.crumbs span[aria-current]{color:var(--ink-2)}
.lead{font-size:19.5px;color:var(--ink-2);line-height:1.55}
.hero-img{margin:18px -20px 6px;max-width:none}
.hero-img img{width:100%;aspect-ratio:16/8;object-fit:cover}
@media (min-width:820px){.hero-img{margin:22px 0 6px;border-radius:14px;overflow:hidden}}
figcaption,.credit{font-size:13.5px;color:var(--ink-3);margin-top:6px}
figcaption a{color:inherit}

/* Bausteine */
.marker{display:inline-grid;place-items:center;width:38px;height:30px;border-radius:3px;background:linear-gradient(var(--red) 0 31%,#fff 31% 69%,var(--red) 69%);box-shadow:0 0 0 1px rgba(0,0,0,.08);font:700 13px/1 var(--sans);color:var(--ink);vertical-align:middle}
.kicker{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--green);font-weight:600;font-size:15px;margin-top:6px}
.diff{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--ink-2)}
.diff i{width:12px;height:12px;border-radius:50%}
.diff.blau i{background:#2F6FB7}.diff.rot i{background:var(--red)}.diff.schwarz i{background:#1d1d1b}
.facts{display:grid;grid-template-columns:repeat(4,1fr);background:var(--sky);border-radius:14px;padding:14px 6px;margin:18px 0}
.facts div{text-align:center;border-left:1px solid rgba(47,110,158,.18);padding:0 4px}
.facts div:first-child{border-left:0}
.facts b{display:block;font:700 22px/1.1 var(--head);white-space:nowrap}
.facts b u{text-decoration:none;font:600 14px var(--sans);color:var(--ink-2);margin-left:2px}
.facts small{display:block;color:var(--ink-2);font-size:14px;margin-top:3px}
@media (max-width:480px){.facts b{font-size:18px}.facts small{font-size:12.5px}}
.cta{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
.btn{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--line);background:var(--card);border-radius:10px;padding:10px 16px;font-weight:600;font-size:16px;color:var(--ink);text-decoration:none;min-height:46px}
.btn.primary{background:var(--green);border-color:var(--green);color:#fff}
.btn.primary:hover{background:#285c3b;color:#fff}
.btn:hover{border-color:var(--earth)}
.box{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:18px 0}
.box h3{margin-top:0}
.callout{border-radius:10px;padding:13px 16px;background:#FDF4DC;border:1px solid #F0DDA5;margin:18px 0}
.callout.info{background:var(--meadow);border-color:#CFE0C0}
.disclaimer{margin:28px 0;padding:13px 16px;border:1px solid var(--line);border-left:4px solid var(--earth);border-radius:0 10px 10px 0;background:var(--soft);font-size:14.5px;color:var(--ink-2)}
.disclaimer p{margin:0}
.signpost{display:inline-flex;align-items:center;gap:10px;background:var(--sign);color:var(--sign-ink);padding:7px 28px 7px 12px;font-weight:700;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%);border-radius:3px}
.figure-svg{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px;margin:12px 0}
.figure-svg svg{display:block;width:100%;height:auto}

/* Ablauf */
.timeline{list-style:none;padding:0;margin:0}
.timeline li{position:relative;padding:0 0 18px 36px;margin:0}
.timeline li::before{content:"";position:absolute;left:12px;top:28px;bottom:0;width:2px;background:repeating-linear-gradient(var(--line) 0 5px,transparent 5px 9px)}
.timeline li:last-child::before{display:none}
.timeline .ico{position:absolute;left:0;top:1px;width:26px;height:26px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font:700 12px var(--sans)}
.timeline li.transfer .ico{background:var(--blue)}
.timeline b{display:block}
.timeline small{color:var(--ink-2);font-size:15px}

/* Wegweiser-Liste */
.signpole{list-style:none;margin:0;padding:0 0 0 18px;position:relative;display:flex;flex-direction:column;gap:8px}
.signpole::before{content:"";position:absolute;left:4px;top:-6px;bottom:-12px;width:9px;border-radius:3px;background:linear-gradient(90deg,#8F877A,#B5AD9F 45%,#7E766A)}
.signpole li{margin:0}
.sign{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:var(--sign);color:var(--sign-ink);text-decoration:none;padding:10px 34px 10px 10px;border-radius:3px;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 50%,calc(100% - 18px) 100%,0 100%);transition:transform .15s}
.sign:hover{transform:translateX(3px);color:var(--sign-ink)}
.sign b{display:block;font-size:17px;line-height:1.25}
.sign small{display:block;font-size:14.5px;color:#5B4F2A}
.sign .t{font-weight:700;white-space:nowrap}

/* Karten-Raster */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin:16px 0}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;text-decoration:none;color:var(--ink);display:flex;flex-direction:column}
.card:hover{border-color:var(--earth);color:var(--ink)}
.card img{aspect-ratio:16/10;object-fit:cover;width:100%;background:var(--soft)}
.card div{padding:12px 14px}
.card b{display:block;font:700 18px/1.25 var(--head)}
.card small{color:var(--ink-2);font-size:14.5px}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin:14px 0}
.gallery a{display:block;border-radius:10px;overflow:hidden;background:var(--soft)}
.gallery img{aspect-ratio:4/5;object-fit:cover;width:100%;transition:transform .3s}
.gallery a:hover img{transform:scale(1.03)}
.gallery figure{margin:0}
.gallery figcaption{font-size:13.5px;line-height:1.35}

/* Tabellen, Info-Listen */
table{width:100%;border-collapse:collapse;margin:12px 0 20px;font-size:16px}
th,td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:14px;color:var(--ink-3);font-weight:600}
.tbl-wrap{overflow-x:auto;margin:0 -20px;padding:0 20px}
dl.info{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:12px 0}
dl.info dt{color:var(--ink-3)}
dl.info dd{margin:0}

/* FAQ */
details{border-bottom:1px solid var(--line)}
details summary{list-style:none;cursor:pointer;padding:15px 0;font:700 18px/1.35 var(--head);display:flex;justify-content:space-between;gap:12px}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"";flex:none;width:9px;height:9px;margin-top:8px;border-right:2.5px solid var(--green);border-bottom:2.5px solid var(--green);transform:rotate(45deg);transition:transform .2s}
details[open] summary::after{transform:translateY(4px) rotate(225deg)}
details>div{padding:0 0 14px}

/* Weiter / Zurück */
.pager{display:flex;justify-content:space-between;gap:10px;margin:30px 0}
.pager a{flex:1;max-width:48%;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;text-decoration:none;color:var(--ink)}
.pager a small{display:block;color:var(--ink-3);font-size:13.5px}
.pager a.next{text-align:right;margin-left:auto}

/* Fuß */
.site-foot{background:#2F2B24;color:#E9E3D6;margin-top:60px;padding:36px 0 30px;font-size:15px}
.site-foot .wrap{max-width:1100px}
.site-foot a{color:#E9E3D6}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:22px}
.foot-grid h2{font-size:16px;margin:0 0 8px;color:#fff}
.foot-grid ul{list-style:none;padding:0;margin:0}
.foot-grid li{margin:4px 0}
.foot-small{margin-top:26px;padding-top:16px;border-top:1px solid rgba(255,255,255,.15);color:#B9B1A2;font-size:13.5px}
.placeholder{background:#FFF1B8;padding:0 4px;border-radius:3px}
@media print{.site-head,.site-foot,.cta,.nav{display:none}}

/* Eingebettete 3D-Karte */
.embed-map{position:relative;width:100%;height:clamp(320px,60vw,520px);max-height:72vh;border-radius:14px;overflow:hidden;background:#F4EEE2;border:1px solid var(--line);margin:14px 0 6px}
.embed-map .embed-gl{position:absolute!important;inset:0;width:100%;height:100%}
.embed-fallback{position:absolute;inset:0;display:grid;place-items:center}
.embed-fallback svg{width:100%;height:100%;display:block}
.embed-map.live .embed-fallback{display:none}
.embed-map.loading::after{content:"3D-Karte wird geladen …";position:absolute;right:12px;top:12px;z-index:2;background:rgba(255,255,255,.92);border-radius:8px;padding:5px 10px;font-size:14px;color:var(--ink-2)}
.embed-open{position:absolute;left:12px;bottom:12px;z-index:3;box-shadow:var(--shadow);min-height:44px}
.embed-open svg{flex:none}
.embed-load{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;box-shadow:var(--shadow)}
.embed-map.live .embed-load{display:none}
.embed-note{font-size:13.5px;color:var(--ink-3);margin:0 0 18px}
.embed-map .maplibregl-ctrl-group{border-radius:10px}
@media (max-width:820px){.embed-map{margin-left:-20px;margin-right:-20px;border-radius:0;border-left:0;border-right:0;height:clamp(340px,95vw,72vh)}}
.signpole{margin-bottom:30px}

/* Wegenetz-Diagramm (Hütte zu Hütte) */
.netwrap{position:relative;margin:16px 0 8px;width:min(1240px,calc(100vw - 32px));left:50%;transform:translateX(-50%)}
.net{overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--card);border:1px solid var(--line);border-radius:14px;scrollbar-width:thin}
.net svg{display:block;width:100%;min-width:1080px;height:auto}
.net a{cursor:pointer}
.net .nd circle{transition:r .15s}
.net a:hover .nd circle,.net a:focus .nd circle{stroke:#2F6B45;stroke-width:4}
.net a:hover text,.net a:focus text{fill:#2F6B45}
.net a:hover .stg rect{filter:brightness(1.1)}
.net-hint{font-size:13.5px;color:var(--ink-3);margin:6px 0 0}
.net-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13.5px;color:var(--ink-2);margin:8px 0 0}
.net-legend i{border-radius:0;padding:0;background:none;border-left:0;border-right:0;border-bottom:0;display:inline-block;width:22px;height:0;border-top:4px solid var(--red);vertical-align:middle;margin-right:6px}
.net-legend i.l-alt{border-top:3px dashed #8A6A45}
.net-legend i.l-var{border-top:4px solid #3E7B4F}
.net svg{min-width:1400px}
.net-legend i.l-bus{border-top:3px dotted var(--blue)}
@media (min-width:1100px){.net-hint{display:none}}
table.hops td:first-child{white-space:nowrap}

/* Senkrechtes Wegenetz */
.net.net-v{overflow:visible;padding:6px 0}
.net.net-v svg{width:100%;min-width:0;height:auto;max-width:420px;margin:0 auto;display:block}
.netwrap.vert{display:none;width:auto;left:auto;transform:none}
@media (max-width:760px){.netwrap:not(.vert){display:none}.netwrap.vert{display:block}}
.card small+small{display:block;margin-top:6px}
/* Handy: Menü bricht um statt abgeschnitten zu werden */
@media (max-width:720px){.site-head{position:static}.nav{flex-wrap:wrap;overflow:visible;margin:0;padding:0;width:100%;gap:4px}.nav a{font-size:14.5px;padding:6px 10px}}
.gallery figcaption .credit{display:block;font-size:11.5px;color:var(--ink-3);margin-top:2px}
.gallery figcaption .credit a{color:inherit;display:inline;background:none;padding:0;border-radius:0;aspect-ratio:auto;overflow:visible;width:auto;height:auto}
.card small.cr{display:block;font-size:11px;color:var(--ink-3);margin-top:4px}
/* Direkt buchen */
.bk-h{font-size:16px;margin:14px 0 6px}
.bk{display:flex;flex-wrap:wrap;gap:8px}
.bk .btn{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1.15}
.bk .bk-via{display:block;font-size:11.5px;font-weight:500;opacity:.8;margin-top:2px}
.bk-note{font-size:13px;color:var(--ink-3);margin:6px 0 0}
/* Buchungsübersicht */
.avail{margin:18px 0}
span.live{display:inline-block;font:600 12.5px/1.2 var(--sans);padding:3px 8px;border-radius:999px}
span.live.ok{background:#E3F0E6;color:#2F6B45}span.live.few{background:#FCF1D3;color:#7A5300}span.live.full{background:#F7DEDB;color:#A82A21}span.live.closed,span.live.na{background:var(--soft);color:var(--ink-3)}
.callout.bad{border-color:#E7B4AE;background:#FBEDEB}.callout.ok{border-color:#B9D8C1;background:#EEF6F0}.callout.info{background:var(--soft)}
.av-chips{display:flex;flex-wrap:wrap;gap:6px}.av-chips button{font:600 13.5px var(--sans);padding:7px 10px;border-radius:999px;border:1px solid var(--line);background:var(--card);cursor:pointer}
.av-chips button:hover{border-color:var(--green)}
.booktbl td{vertical-align:top}.booktbl .bk{margin-top:6px}
.avail .callout>b:first-child{display:block;margin-bottom:2px}
/* Live-Kalender auf Hüttenseiten */
.live-cal{margin:10px 0 18px}
.lc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;max-width:460px}
.lc-wd{font:600 12px var(--sans);color:var(--ink-3);text-align:center}
.lc{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:38px;border-radius:8px;font:600 13px/1.1 var(--sans)}
.lc small{font:500 10px var(--sans);opacity:.8}
.lc.ok{background:#DCEFE1;color:#2F6B45}.lc.few{background:#FBEBC4;color:#7A5300}.lc.full{background:#F5D3CE;color:#A82A21}.lc.na{background:var(--soft);color:var(--ink-3)}
.lc-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:13px;color:var(--ink-2);margin:10px 0 4px}
.lc-legend .lc{display:inline-block;width:14px;height:14px;min-height:0;border-radius:4px}
/* Freie Plätze, einfache Ansicht */
.av2-form{display:flex;gap:10px;align-items:flex-end;margin:6px 0 18px}
.av2-form label{display:flex;flex-direction:column;gap:5px;font:600 14px var(--sans);flex:1}
.av2-form .av2-ppl{flex:0 0 96px}
.av2-form input,.av2-form select{font:600 18px var(--sans);padding:12px;border:2px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);width:100%}
.av2-form input:focus,.av2-form select:focus{border-color:var(--green);outline:none}
.av-hint{font:600 18px var(--sans);margin:4px 0 8px}
.av-sub{font-size:13.5px;color:var(--ink-3);margin:10px 0 6px}
.av2{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:22px}
.av2-date{font:700 13px var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);margin:0 0 8px}
.hc{display:flex;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px}
.hc+.hc{margin-top:8px}
.hc-img{width:96px;height:96px;border-radius:12px;object-fit:cover;flex:none;background:var(--soft)}
.hc-noimg{display:grid;place-items:center;font-size:34px;color:var(--ink-3)}
.hc-body{display:flex;flex-direction:column;gap:6px;min-width:0}
.hc-name{font:700 19px/1.2 var(--serif, var(--sans))}
.hc-alt{font:600 12px var(--sans);color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}
.hc-st{display:inline-flex;align-items:center;gap:8px;font:700 17px var(--sans);align-self:flex-start;padding:5px 12px 5px 6px;border-radius:999px}
.hc-st i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font-style:normal;font-size:15px;color:#fff}
.hc-st.free{background:#E3F0E6;color:#2F6B45}.hc-st.free i{background:#2F6B45}
.hc-st.full{background:#F7DEDB;color:#A82A21}.hc-st.full i{background:#C8352B}
.hc-st.ask{background:var(--soft);color:var(--ink-2)}.hc-st.ask i{background:#8E877A}
.hc-st.town{background:var(--soft);color:var(--ink-2)}.hc-st.town i{background:#8E877A}
.hc-links{margin:0;font-size:14px;display:flex;flex-wrap:wrap;gap:2px 8px;color:var(--ink-3)}
.hc-links a{color:var(--ink-2)}
.hc.alt{padding:9px 12px;background:transparent;border-style:dashed}
.hc.alt .hc-img{width:64px;height:64px}
.hc.alt .hc-name{font-size:16px}
.hc.alt .hc-st{font-size:15px}.hc.alt .hc-st i{width:22px;height:22px;font-size:13px}
@media (max-width:480px){.hc-img{width:76px;height:76px}.hc.alt .hc-img{width:52px;height:52px}.hc-name{font-size:17px}}
.hc-st.soon{background:#FCF1D3;color:#7A5300}.hc-st.soon i{background:#B8860B}
.hc-st.closed{background:var(--soft);color:var(--ink-3)}.hc-st.closed i{background:#B5AD9F}
.lc-soon{background:#FCF1D3;color:#5C4300;border-radius:12px;padding:10px 12px;font-size:15px}
/* Buchungswege als schlichte Liste */
.bookways{list-style:none;padding:0;margin:12px 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.bookways li{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:11px 13px}
.bookways p{margin:0}
.bw-head b{font-size:16.5px}.bw-head span{font-size:13.5px;color:var(--ink-3)}
.bw-via{font-size:14px;color:var(--ink-2);margin-top:3px!important}
.bw-links{font-size:14px;margin-top:6px!important}
.av2-step{display:flex;gap:6px;align-items:stretch}
.av2-step input{flex:1;min-width:0}
.av2-step button{flex:0 0 48px;font:700 24px/1 var(--sans);border:2px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);cursor:pointer}
.av2-step button:hover{border-color:var(--green);color:var(--green)}
.av2-step button:active{transform:scale(.96)}
/* Handy: Kopfband mit Menü-Knopf statt umgebrochener Navigation */
.mnav{display:none}
@media (max-width:720px){
  .site-head{position:sticky}
  .site-head .wrap{flex-wrap:nowrap;min-height:58px;padding-top:0;padding-bottom:0;gap:10px}
  .site-head .nav{display:none}
  .brand b{font-size:16px}
  .mnav{display:flex;align-items:center;gap:8px;margin-left:auto;position:relative}
  .mnav-map{font:600 14.5px var(--sans);text-decoration:none;color:#fff;background:var(--green);padding:8px 12px;border-radius:10px}
  .mnav-menu summary{list-style:none;display:flex;align-items:center;gap:7px;cursor:pointer;font:600 14.5px var(--sans);padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink)}
  .mnav-menu summary::-webkit-details-marker{display:none}
  .burger,.burger::before,.burger::after{display:block;width:16px;height:2px;background:currentColor;border-radius:2px;position:relative}
  .burger::before,.burger::after{content:"";position:absolute;left:0}.burger::before{top:-5px}.burger::after{top:5px}
  .mnav-menu[open] summary{background:var(--soft)}
  .mnav-menu nav{position:absolute;right:0;top:calc(100% + 8px);background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 30px rgba(40,30,10,.15);padding:6px;min-width:210px;display:flex;flex-direction:column;z-index:20}
  .mnav-menu nav a{padding:11px 12px;border-radius:9px;text-decoration:none;color:var(--ink);font:600 16px var(--sans)}
  .mnav-menu nav a[aria-current]{background:var(--soft)}
  /* Datumszeile kompakter */
  .av2-form{gap:8px}
  .av2-form .av2-ppl{flex:0 0 74px}
  .av2-step{gap:5px}
  .av2-step button{flex:0 0 42px;font-size:22px}
  .av2-form input,.av2-form select{font-size:16px;padding:11px 8px}
}
@media (max-width:720px){
  .mnav-map{white-space:nowrap;font-size:14px;padding:8px 10px}
  .mnav-menu summary{white-space:nowrap}
  .mnav-menu summary::after,.mnav-menu summary::before{content:none!important;display:none!important}
  .brand{min-width:0}.brand b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media (max-width:370px){.brand b{display:none}}
.mnav-menu,.mnav-menu[open]{border:0!important;margin:0!important;padding:0!important;background:none!important;box-shadow:none!important}
/* Buchungsbuttons: Unterzeile erbt die Button-Farbe, langer Text bricht um */
.bk .btn{max-width:100%;white-space:normal;text-align:left}
.bk .btn .bk-via{color:inherit!important;opacity:.85;display:block;margin-top:2px;font-size:11.5px;line-height:1.25;white-space:normal}
@media (max-width:720px){.site-head .brand{flex:1 1 auto;min-width:0}.mnav{flex:none}.site-head .wrap{padding-left:16px;padding-right:16px}}
