/* Vor Ort – Gäste-Info (QR-Code-Ziel für Gäste im Haus). Lädt nach ../base.css (Farben/Schrift/Buttons); hier nur das Eigene.
   Telefon zuerst: eine Spalte, große Tippflächen, wenig Bilder. Erzeugt von tools/vor-ort/build.py. */
.vo{--vo-max:72rem;--card:#fff;--c-einkaufen:#3f7d5a;--c-essen:#c0623a;--c-praktisch:#4a6a8f;--c-baden:#2a8ca8;--nav-h:0px;font-size:1rem}
.vo h1,.vo h2,.vo h3{letter-spacing:-.015em}
.vo-wrap{width:min(100% - 2 * var(--gutter),var(--vo-max));margin-inline:auto}
html:has(.vo){scroll-padding-top:calc(var(--nav-h) + .75rem)}
/* Kopf: Logo + „Gäste-Info“ + Sprache (scrollt weg), darunter klebende Themen-Leiste */
.vo-top{display:flex;align-items:center;gap:.75rem;padding:.7rem var(--gutter);max-width:calc(var(--vo-max) + 2 * var(--gutter));margin-inline:auto}
.vo-brand{display:block;margin-right:auto;min-height:44px;display:flex;align-items:center}
.vo-brand img{width:clamp(124px,30vw,168px);height:auto}
.vo-tag{font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--c-muted)}
.vo-lang{display:inline-flex;align-items:center;min-height:44px;padding:0 .9rem;border:1px solid var(--c-line);border-radius:999px;font-weight:600;font-size:.9rem;text-decoration:none;color:var(--c-text);background:var(--card)}
.vo-lang:hover{border-color:var(--c-primary);color:var(--c-primary)}
@media (max-width:374px){.vo-tag{display:none}}
/* Unterseiten: klebende Leiste mit ‹ (Zurück zur Hauptseite), Titel und einem Quadrat je Wisch-Seite */
.vo-bar{position:sticky;top:0;z-index:40;display:flex;flex-wrap:wrap;align-items:center;column-gap:.5rem;padding:max(.35rem,env(safe-area-inset-top)) max(var(--gutter),env(safe-area-inset-right)) .35rem max(calc(var(--gutter) - .6rem),env(safe-area-inset-left));background:color-mix(in srgb,var(--c-bg) 90%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);border-bottom:1px solid var(--c-line)}
.vo-back{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--c-text)}
.vo-back:hover{background:var(--c-surface)}
.vo-back .ico{width:1.5rem;height:1.5rem;stroke-width:2.2}
.vo .vo-bar__t{flex:1 1 8rem;min-width:0;margin:0;font-size:1.06rem;font-weight:650;letter-spacing:-.01em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vo-dots ol{list-style:none;margin:0;padding:0;display:flex}
.vo-dots a{display:grid;place-items:center;width:20px;height:44px}
.vo-dots a::before{content:"";width:10px;height:10px;border-radius:2px;background:color-mix(in srgb,var(--c-text) 18%,transparent);transition:background-color .25s,scale .25s var(--ease)}
.vo-dots a:hover::before{background:color-mix(in srgb,var(--c-text) 40%,transparent)}
.vo-dots a[aria-current]::before{background:var(--c-accent);scale:1.3}
/* Sprachwechsel in der Leiste der Wisch-Seiten (keine Fußzeile): EN/DE, immer sichtbar – vor-ort.js nimmt die aktuelle Seite mit */
.vo-bar__lang{flex:none;display:grid;place-items:center;min-width:44px;height:44px;margin-left:auto;margin-right:-.5rem;border-radius:999px;font-size:.82rem;font-weight:650;letter-spacing:.04em;color:var(--c-text);text-decoration:none}
.vo-bar__lang:hover{background:var(--c-surface);color:var(--c-primary)}
/* Wisch-Seiten: die Seite selbst scrollt nicht, jede Wisch-Seite scrollt senkrecht für sich */
body.vo--deck{height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column}
.vo--deck #main{flex:1;min-height:0;display:flex}
.vo-deck{position:relative;flex:1;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}
.vo-deck::-webkit-scrollbar{display:none}
/* position:relative an Leiste und Seiten: sonst beziehen sich absolut positionierte Kinder (z. B. .sr-only-Texte der Herzen) auf das
   Dokument, liegen rechts außerhalb des Bildschirms und machen die ganze Seite breiter (Layout-Viewport 900–1560 px statt 390) –
   iPhones zoomen dann heraus oder die Wischgeste schiebt die Seite statt die Leiste weiter */
.vo-slide{position:relative;flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
.vo-slide__in{padding-block:clamp(1rem,3vw,2rem) calc(5.5rem + env(safe-area-inset-bottom));max-width:min(100% - 2 * var(--gutter),46rem)}
.vo-slide:has(.poi-list):not(:has(.vo-slide__pic)) .vo-slide__in{max-width:min(100% - 2 * var(--gutter),var(--vo-max))}
.vo-slide__h{font-size:clamp(1.6rem,1.3rem + 1.4vw,2.4rem);margin:0 0 .5rem;letter-spacing:-.025em}
.vo-slide .vo-lead{margin-bottom:1.2rem;font-size:1.02rem}
.vo-slide .vo-lead small{display:block;margin-top:.3rem;font-size:.85rem}
.vo-slide__pic{position:relative;margin:0 0 1.1rem}
.vo-slide__pic picture{display:block;border-radius:var(--r);overflow:hidden;aspect-ratio:16 / 10;max-height:52vh;width:100%;box-shadow:var(--shadow)}
.vo-slide__pic img{width:100%;height:100%;object-fit:cover}
.vo-slide__pic .ml-heart--over{position:absolute;top:.7rem;right:.7rem}
.vo-prose{margin:0 0 1rem;font-size:1rem;line-height:1.6}
.vo-prose h3{margin:1.2rem 0 .5rem;font-size:1.08rem}
.vo-grp__h{font-size:1.1rem;margin:1.4rem 0 .6rem;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.5rem}
.vo-grp__h small{font-size:.82rem;font-weight:500;color:var(--c-muted)}
.vo-grp:first-of-type .vo-grp__h{margin-top:.4rem}
.vo-dist{display:flex;gap:.45rem;align-items:flex-start;margin:0 0 .5rem;font-size:.9rem;color:var(--c-muted)}
.vo-dist .ico{flex:none;color:var(--c-primary)}
.vo-links{display:flex;flex-wrap:wrap;column-gap:1.4rem}
.vo-slide .vo-sos,.vo-slide .vo-tip{margin-bottom:1rem}
.vo-tip h3:first-child{margin-top:0}
@media (min-width:760px){.vo-slide:has(.vo-slide__pic) .poi-list{grid-template-columns:1fr 1fr}}
.vo-slide .vo-plan ol{margin-bottom:.5rem}
.vo-next{margin:1.8rem 0 0;padding-top:1rem;border-top:1px solid var(--c-line)}
.vo-next a{display:inline-flex;align-items:center;gap:.35rem;min-height:44px;font-weight:600;text-decoration:none}
.vo-next a:hover{text-decoration:underline}
.poi.is-target{box-shadow:0 0 0 3px color-mix(in srgb,var(--pc) 30%,transparent);border-color:var(--pc)}
/* Rechner: Pfeile am Rand (vor-ort.js) */
.vo-step{display:none}
@media (hover:hover) and (pointer:fine) and (min-width:700px){
  .vo-step{display:grid;place-items:center;position:fixed;z-index:30;top:55%;width:48px;height:48px;border-radius:50%;border:1px solid var(--c-line);background:var(--card);color:var(--c-text);box-shadow:var(--shadow);cursor:pointer}
  .vo-step:hover{border-color:var(--c-primary);color:var(--c-primary)}
  .vo-step[hidden]{display:none}
  .vo-step--prev{left:max(.75rem,calc(50vw - var(--vo-max) / 2 - 4.5rem))}
  .vo-step--next{right:max(.75rem,calc(50vw - var(--vo-max) / 2 - 4.5rem))}
  .vo-step .ico{width:1.4rem;height:1.4rem;stroke-width:2.2}
  .vo-slide__in{padding-inline:3.5rem;max-width:min(100%,49.5rem)}
  .vo-slide:has(.poi-list):not(:has(.vo-slide__pic)) .vo-slide__in{max-width:min(100%,calc(var(--vo-max) + 7rem))}
}
/* Hauptseite: Themen-Kacheln (führen auf die Unterseiten) */
.vo-topics{margin-bottom:1rem}
.vo-topics ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
@media (min-width:760px){.vo-topics ul{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}}
.vo-topics ul{grid-auto-rows:1fr}
.vo-topics a{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;height:100%;box-sizing:border-box;padding:.75rem .85rem .8rem;border-radius:16px;background:var(--card);border:1px solid var(--c-line);color:var(--c-text);text-decoration:none}
.vo-topics a:hover{border-color:var(--tc)}
.vo-topics .ico{margin-bottom:.35rem;width:2.1rem;height:2.1rem;padding:.4rem;box-sizing:border-box;border-radius:10px;background:color-mix(in srgb,var(--tc) 12%,transparent);color:var(--tc)}
.vo-topics .ico use[href="#ml-heart"]{fill:currentColor}
.vo-topics b{font-size:.98rem;font-weight:650;line-height:1.2}
.vo-topics span{font-size:.78rem;color:var(--c-muted);line-height:1.3}
.vo-topic__n{display:inline-block;margin-left:.35rem;min-width:1.25rem;padding:0 .3rem;border-radius:999px;background:var(--c-accent);color:#fff;font-size:.72rem;line-height:1.25rem;text-align:center}
.vo-topic__n[hidden]{display:none}
/* Merkliste in der Gäste-Info (Gerüst wie ../merkliste.html, Styles aus ../merkliste.css) */
.vo-ml .ml-chips{margin-bottom:1rem}

/* Kopfbereiche */
.vo-hero{display:grid;gap:1rem;padding-block:clamp(1.2rem,4vw,3rem) clamp(1.2rem,3vw,2rem);align-items:center}
.vo-hero__pic{border-radius:var(--r);overflow:hidden;aspect-ratio:16 / 7;box-shadow:var(--shadow)}
@media (min-width:860px){.vo-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(2rem,4vw,4rem)}.vo-hero__pic{aspect-ratio:16 / 10}}
.vo-kicker{margin:0 0 .5rem;font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--c-accent)}
.vo h1{font-size:clamp(2rem,1.55rem + 2.2vw,3.25rem);margin:0 0 .6rem;letter-spacing:-.03em}
.vo-lead{margin:0;font-size:clamp(1.05rem,1rem + .3vw,1.25rem);color:var(--c-muted);max-width:40rem}
.vo-head{padding-block:clamp(1.4rem,4vw,3rem) clamp(1rem,2.5vw,1.6rem)}

/* Karten-Raster der Übersicht: Telefon eine Spalte in Wichtigkeits-Reihenfolge, ab Tablet Spalten */
.vo-grid{display:flex;flex-direction:column;gap:1rem}
@media (min-width:760px){.vo-grid{display:block;columns:2 20rem;column-gap:1rem}.vo-grid > *{break-inside:avoid;margin-bottom:1rem}}
@media (min-width:1200px){.vo-grid{columns:3 20rem}}
.vo-card{background:var(--card);border:1px solid var(--c-line);border-radius:var(--r);padding:clamp(1rem,2.5vw,1.4rem)}
.vo-card h2,.vo-sos h2{font-size:clamp(1.25rem,1.15rem + .5vw,1.5rem);margin:0 0 .5rem;display:flex;align-items:center;gap:.5rem}
.vo-card h2 small{font-size:.8rem;font-weight:500;color:var(--c-muted)}
.vo-card h3{font-size:1.05rem;margin:1.1rem 0 .5rem}
.vo-card > p:last-child{margin-bottom:0}
.vo-sub{margin:0 0 .75rem;color:var(--c-muted);font-size:.95rem}
.vo-more{margin:.8rem 0 0}
.vo-more a{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;font-weight:600;text-decoration:none}
.vo-more a:hover{text-decoration:underline}
.vo-fine{margin:.5rem 0 0;font-size:.8rem;color:var(--c-muted)}
/* Aktuelle Temperaturen (vor-ort.js füllt sie aus live.json) */
.vo-live{margin:0 0 .9rem;padding:.65rem .9rem .75rem;border-radius:12px;background:color-mix(in srgb,var(--c-baden) 8%,var(--card));border:1px solid color-mix(in srgb,var(--c-baden) 24%,transparent)}
.vo-live[hidden]{display:none}
.vo-live__h{display:flex;align-items:center;gap:.45rem;margin:0 0 .3rem;font-size:.8rem;font-weight:600}
.vo-live__h i{width:.5rem;height:.5rem;border-radius:50%;background:var(--c-baden);box-shadow:0 0 0 3px color-mix(in srgb,var(--c-baden) 22%,transparent)}
.vo-live__h small{font-size:inherit;font-weight:400;color:var(--c-muted)}
.vo-live ul{display:flex;flex-wrap:wrap;gap:.2rem 1.6rem;margin:0;padding:0;list-style:none}
.vo-live li{display:flex;flex-direction:column}
.vo-live li span{font-size:.8rem;color:var(--c-muted)}
.vo-live li b{font-size:1.45rem;font-weight:650;line-height:1.2;font-variant-numeric:tabular-nums}
.vo-live__solar{margin:.35rem 0 0;font-size:.85rem}
/* Wetter (vor-ort.js füllt die Tage aus wetter.json) */
.vo-wx[hidden],.vo-wx__fc[hidden]{display:none}
.vo-wx .vo-live{margin-bottom:1rem}
.vo-wx__days{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.25rem;margin:0;padding:0;list-style:none;text-align:center}
.vo-wx__days li{display:flex;flex-direction:column;align-items:center;padding:.45rem .1rem .5rem;border-radius:10px}
.vo-wx__days li:first-child{background:var(--c-surface)}
.vo-wx__d{font-size:.8rem;font-weight:600;white-space:nowrap}
.vo-wx__days svg{width:2.6rem;height:2.6rem;margin:.15rem 0}
.vo-wx__days b{font-size:1.05rem;font-weight:650;line-height:1.2;font-variant-numeric:tabular-nums}
.vo-wx__min{font-size:.85rem;color:var(--c-muted);font-variant-numeric:tabular-nums}
.vo-wx__rain{min-height:1.2em;font-size:.72rem;font-weight:600;color:var(--c-water);white-space:nowrap}
.wx-sun circle{fill:#f5b82e}.wx-sun path{stroke:#f5b82e;stroke-width:2.4;stroke-linecap:round}
.wx-cloud{fill:#dfe4ee;stroke:#9aa5bd;stroke-width:1.6;stroke-linejoin:round}.wx-cloud--dark{fill:#c3cad9;stroke:#7d89a3}
.wx-drop{stroke:var(--c-water);stroke-width:2.4;stroke-linecap:round}.wx-flake{fill:#7d89a3}
.wx-bolt{fill:#f5b82e;stroke:#c98a10;stroke-width:1;stroke-linejoin:round}
.wx-fog path{stroke:#9aa5bd;stroke-width:3;stroke-linecap:round}
.vo-src{margin:1.6rem 0 0;font-size:.82rem;color:var(--c-muted);max-width:52rem}
.vo-credit{margin:.35rem 0 0;font-size:.7rem;line-height:1.35;color:var(--c-muted)}
.vo-credit a{color:inherit}

/* Kontakt */
.vo-contact{background:var(--c-dark);border-color:var(--c-dark);color:var(--c-dark-ink)}
.vo-contact p{color:color-mix(in srgb,var(--c-dark-ink) 82%,transparent)}
.vo-contact :focus-visible{outline-color:#fff}
.vo-acts{display:flex;flex-wrap:wrap;gap:.5rem}
.vo-contact .btn{--b:#fff;--bi:var(--c-dark);flex:1 1 auto}
.vo-contact .btn--ghost{color:#fff;border-color:rgb(255 255 255 / .55)}
.vo-contact .btn:first-of-type{flex-basis:100%}

/* Ihr Aufenthalt */
.vo-stay dl{margin:0;display:grid;gap:.15rem}
.vo-stay dl > div{padding:.6rem 0;border-top:1px solid var(--c-line)}
.vo-stay dl > div:first-child{border-top:0;padding-top:.1rem}
.vo-stay dt{font-weight:650}
.vo-stay dd{margin:.1rem 0 0;color:var(--c-muted);font-size:.93rem;line-height:1.5}

/* kompakte Liste (Übersicht, Karte) */
.mini{list-style:none;margin:0;padding:0}
.mini li + li{border-top:1px solid var(--c-line)}
.mini a{display:grid;gap:.1rem;padding:.65rem .25rem;color:var(--c-text);text-decoration:none;border-radius:10px}
.mini a:hover{background:var(--c-surface)}
.mi-sub{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pc)}
.mini b{font-size:1.02rem;font-weight:600;line-height:1.3}
.mi-tm{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;margin-top:.2rem}
.mi-oh{font-size:.82rem;color:var(--c-muted);line-height:1.4}

/* Wegzeiten-Pillen (Listen) */
.poi-tm,.mi-tm{font-variant-numeric:tabular-nums}
.poi-tm > span,.mi-tm > span{display:inline-flex;align-items:center;gap:.25rem;font-size:.8rem;font-weight:600;padding:.15rem .5rem .15rem .4rem;border-radius:999px;background:var(--c-surface);color:var(--c-text)}
.poi-tm .ico,.mi-tm .ico{width:1.05rem;height:1.05rem;color:var(--c-primary)}
.poi-tm > .poi-km,.mi-tm > .poi-km{background:none;padding-inline:.15rem;font-weight:500;color:var(--c-muted)}

/* Notruf */
.vo-sos{background:color-mix(in srgb,var(--c-accent) 7%,var(--card));border:1.5px solid color-mix(in srgb,var(--c-accent) 45%,transparent);border-radius:var(--r);padding:clamp(1rem,2.5vw,1.4rem)}
.vo-sos h2{color:var(--c-accent)}
.vo-sos ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.45rem}
.vo-sos a{display:flex;flex-direction:column;justify-content:center;min-height:60px;padding:.45rem .75rem;border-radius:12px;background:var(--card);border:1px solid color-mix(in srgb,var(--c-accent) 25%,var(--c-line));color:var(--c-text);text-decoration:none;line-height:1.2}
.vo-sos a:hover{border-color:var(--c-accent)}
.vo-sos b{font-size:1.4rem;color:var(--c-accent);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.vo-sos span{font-size:.82rem;color:var(--c-muted)}
.vo-sos p{margin:.75rem 0 0;font-size:.82rem;color:var(--c-muted)}

/* Kacheln „Ausflüge & Ideen“ */
.tiles{list-style:none;margin:0;padding:0}
.tiles li + li{border-top:1px solid var(--c-line)}
.tiles a{display:grid;grid-template-columns:1fr auto;column-gap:.75rem;align-items:center;padding:.7rem .25rem;color:var(--c-text);text-decoration:none;border-radius:10px}
.tiles a:hover{background:var(--c-surface)}
.tiles b{font-weight:600}
.tiles span{grid-column:1;font-size:.85rem;color:var(--c-muted);line-height:1.4}
.tiles .ico{grid-column:2;grid-row:1 / span 2;color:var(--c-primary)}
.vo-rain{list-style:none;margin:0;padding:0}
.vo-rain li + li{border-top:1px solid var(--c-line)}
.vo-rain a{display:grid;gap:.1rem;padding:.65rem .25rem;color:var(--c-text);text-decoration:none;border-radius:10px}
.vo-rain a:hover{background:var(--c-surface)}
.vo-rain span{font-size:.88rem;color:var(--c-muted);line-height:1.45}

/* Themen-Seiten: Filter + Listen */
.vo-list{padding-bottom:1rem}
.vo-list > .vo-card,.vo-list > .vo-sos{margin-bottom:1rem}
.vo-chips{display:flex;gap:.35rem;flex-wrap:wrap;margin:0 0 1rem}
.nk-chips{display:flex;flex-wrap:wrap;gap:.35rem}
.vo-chips button,.nk-chip{display:inline-flex;align-items:center;gap:.4rem;min-height:40px;padding:.3rem .8rem;border-radius:999px;border:1px solid var(--c-line);background:var(--card);color:var(--c-text);font:500 .86rem/1.1 var(--f);cursor:pointer;white-space:nowrap}
.vo-chips small,.nk-chip small{font-size:.75rem;font-weight:600;color:var(--c-muted)}
.vo-chips button:hover,.nk-chip:hover{background:var(--c-surface)}
.vo-chips button[aria-pressed="true"],.nk-chip[aria-pressed="true"]{background:var(--c-dark);border-color:var(--c-dark);color:#fff}
.vo-chips button[aria-pressed="true"] small,.nk-chip[aria-pressed="true"] small{color:rgb(255 255 255 / .75)}
@media (max-width:699px){.vo-chips,.nk-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1 * var(--gutter));padding:0 var(--gutter) .15rem}.vo-chips::-webkit-scrollbar,.nk-chips::-webkit-scrollbar{display:none}.vo-chips button,.nk-chip{flex:none}}
.vo-grp{margin:0 0 1.6rem}
.vo-grp[hidden]{display:none}
.vo-grp > h2{font-size:clamp(1.3rem,1.15rem + .6vw,1.6rem);margin:0 0 .75rem;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.6rem}
.vo-grp > h2 small{font-size:.85rem;font-weight:500;color:var(--c-muted);letter-spacing:0}
.vo-grp > h2 i{width:.7rem;height:.7rem;border-radius:50%;background:var(--pc);align-self:center}
.vo-grp > .vo-sub{margin-top:-.4rem}
.poi-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
@media (min-width:760px){.poi-list{grid-template-columns:1fr 1fr}}
@media (min-width:1200px){.poi-list{grid-template-columns:1fr 1fr 1fr}}
.poi{display:flex;flex-direction:column;gap:.2rem;padding:.85rem 1rem .5rem;border-radius:16px;background:var(--card);border:1px solid var(--c-line);border-left:4px solid var(--pc);scroll-margin-top:calc(var(--nav-h) + 1rem)}
.poi[hidden]{display:none}
.poi:target{box-shadow:0 0 0 3px color-mix(in srgb,var(--pc) 30%,transparent);border-color:var(--pc)}
.poi-h h3{margin:0;font-size:1.08rem;line-height:1.25}
.poi-sub{margin:.1rem 0 0;font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--pc)}
.poi-tm{margin:.3rem 0 0;display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}
.poi-note{margin:.25rem 0 0;font-size:.85rem;font-weight:600;color:var(--c-accent)}
.poi-oh{margin:.25rem 0 0;display:flex;gap:.35rem;align-items:flex-start;font-size:.85rem;line-height:1.4}
.poi-oh .ico{width:1rem;height:1rem;margin-top:.1rem;color:var(--c-muted)}
.poi-addr{margin:.15rem 0 0;font-size:.82rem;color:var(--c-muted)}
.poi-x{margin:auto 0 0;padding-top:.3rem;display:flex;flex-wrap:wrap;column-gap:1rem}
.poi-x a{display:inline-flex;align-items:center;gap:.3rem;min-height:44px;font-size:.88rem;font-weight:600;text-decoration:none;overflow-wrap:anywhere}
.poi-x a:hover{text-decoration:underline}
.poi-x .ico{width:1.05rem;height:1.05rem}
.vo-tip{background:var(--c-surface);border-color:transparent}
.vo-pool{background:color-mix(in srgb,var(--c-baden) 10%,var(--card))}

/* Regentage */
.ideas{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.75rem}
@media (min-width:760px){.ideas{grid-template-columns:1fr 1fr}}
.idea > a{display:grid;grid-template-columns:minmax(6.5rem,34%) 1fr;gap:.9rem;padding:.6rem;border-radius:var(--r);background:var(--card);border:1px solid var(--c-line);color:var(--c-text);text-decoration:none;flex:1}
.idea{display:flex;flex-direction:column}
.idea > a:hover{border-color:var(--c-primary)}
.idea__pic{border-radius:calc(var(--r) - 6px);overflow:hidden;aspect-ratio:1;align-self:start}
.idea__tx{display:flex;flex-direction:column;gap:.2rem;min-width:0;padding:.15rem .2rem .1rem 0}
.idea__k{margin:0;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c-accent)}
.idea h2{font-size:1.1rem;margin:0;line-height:1.25}
.idea p{margin:0;font-size:.88rem;line-height:1.45}
.idea .idea__d{color:var(--c-muted);font-size:.8rem}
.idea__go{margin-top:auto;padding-top:.2rem;display:inline-flex;align-items:center;gap:.3rem;font-size:.86rem;font-weight:600;color:var(--c-primary)}
.idea .vo-credit{padding-inline:.6rem}
.vo-plan ol{list-style:none;margin:0;padding:0;display:grid;gap:.1rem}
.vo-plan ol > li{display:grid;grid-template-columns:6.5rem 1fr;gap:.8rem;padding:.6rem 0;border-top:1px solid var(--c-line)}
.vo-plan ol > li:first-child{border-top:0}
.vo-plan ol b{font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--c-primary);padding-top:.15rem}
.vo-plan h3{margin:0 0 .15rem;font-size:1rem}
.vo-plan p{margin:0;font-size:.9rem;color:var(--c-muted)}
@media (max-width:420px){.vo-plan ol > li{grid-template-columns:1fr;gap:.2rem}}
/* Englisch: „Alternatively“ ist breiter als die Zeitspalte */
@media (min-width:421px){html[lang="en"] .vo-plan ol > li{grid-template-columns:7.75rem 1fr}}

/* Gut zu wissen */
@media (min-width:1000px){.vo-info{columns:2 24rem;column-gap:1rem}.vo-info > *{break-inside:avoid}}
.vo-steps{list-style:none;margin:0;padding:0}
.vo-steps li{display:grid;grid-template-columns:5.5rem 1fr;gap:.75rem;padding:.55rem 0;border-top:1px solid var(--c-line)}
.vo-steps li:first-child{border-top:0}
.vo-steps b{font-variant-numeric:tabular-nums;color:var(--c-primary)}
.vo-steps span{font-size:.93rem}
.vo-ticks{list-style:none;margin:0 0 .8rem;padding:0;display:grid;gap:.4rem}
.vo-ticks li{display:flex;gap:.5rem;font-size:.93rem;line-height:1.45}
.vo-ticks .ico{color:var(--c-primary);margin-top:.1rem}

/* Fuß */
.vo-foot{margin-top:clamp(2rem,5vw,4rem);padding:1.6rem 0 calc(1.6rem + env(safe-area-inset-bottom));background:var(--c-dark);color:var(--c-dark-ink);font-size:.9rem}
.vo-foot p{margin:0 0 .6rem}
.vo-foot a{color:inherit}
.vo-foot__links{color:color-mix(in srgb,var(--c-dark-ink) 75%,transparent);font-size:.82rem}
.vo-foot :focus-visible{outline-color:#fff}

/* ------------------------------------------------------------------ Karte rund ums Haus */
.nk{--nk-land:#f3f2ed;--nk-out:#e7e8e3;--nk-lake:#a7cbe8;--nk-lake-s:#6fa3d1;--nk-wet:#d3e2c9;scroll-margin-top:calc(var(--nav-h) + .5rem)}
.nk-body{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(1.2rem,3vw,2.5rem)}
.nk-mapcol{display:flex;flex-direction:column;gap:.7rem;min-width:0}
.nk-list{min-width:0}
@media (min-width:1000px){
.nk-body{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start}
.nk-body .nk-mapcol{position:sticky;top:calc(var(--nav-h) + 1rem)}
.nk-body .nk-map{aspect-ratio:auto;height:calc(100svh - var(--nav-h) - 9rem);min-height:26rem;max-height:46rem}
}
.nk-map{position:relative;aspect-ratio:1/1.05;overflow:hidden;overflow:clip;border-radius:var(--r);background:var(--nk-out);box-shadow:var(--shadow);user-select:none;-webkit-user-select:none;contain:layout paint;touch-action:pan-y}
@media (min-width:600px){.nk-map{aspect-ratio:4/3}}
.nk-svg{position:absolute;inset:0;width:100%;height:100%}
.nk-svg *{vector-effect:non-scaling-stroke;fill:none}
.nk-svg .nk-out{fill:var(--nk-out)}
.nk-svg .nk-land{fill:var(--nk-land)}
.nk-svg .nk-wl{fill:var(--nk-wet);stroke:#a9c49a;stroke-width:.8}
.nk-svg .nk-lk{fill:var(--nk-lake);stroke:var(--nk-lake-s);stroke-width:.8}
.nk-svg .nk-rv{stroke:#7fb0dc;stroke-width:1.6}
.nk-svg .nk-rl{stroke:#8d93a3;stroke-width:1.2;stroke-dasharray:5 3}
.nk-svg .nk-rc{stroke:#d6d0c2;stroke-width:4.2;stroke-linecap:round;stroke-linejoin:round}
.nk-svg .nk-rd{stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.nk-svg .nk-rc--primary{stroke:#cfa65c;stroke-width:5}
.nk-svg .nk-rd--primary{stroke:#f2d7a1;stroke-width:3.2}
.nk-svg .nk-ring{stroke:var(--c-primary);stroke-width:1.4;stroke-dasharray:4 4;fill:color-mix(in srgb,var(--c-primary) 4%,transparent);opacity:.75}
.nk-svg .nk-ring--500{fill:color-mix(in srgb,var(--c-primary) 9%,transparent)}
.nk-ov{position:absolute;inset:0;pointer-events:none}
.nk-ov > *{position:absolute;left:calc((var(--x) - var(--vx)) / var(--vw) * 100%);top:calc((var(--y) - var(--vy)) / var(--vh) * 100%)}
.nk-t{transform:translate(-50%,-50%);font:500 11.5px/1.15 var(--f);color:#5d6478;white-space:nowrap;text-shadow:0 0 2px var(--nk-land),0 0 2px var(--nk-land),0 0 4px var(--nk-land);transition:opacity .3s}
.nk-t--village,.nk-t--town{font-weight:650;color:#3f475c;font-size:12px}
.nk-t--w{font-style:italic;color:#2f6ea8;text-shadow:0 0 3px #fff}
.nk-rlab{transform:translate(-50%,-50%);font:600 10.5px/1 var(--f);color:var(--c-primary);background:rgb(255 255 255 / .85);padding:2px 6px;border-radius:999px;white-space:nowrap;transition:opacity .3s}
.nk-rlab.is-off,.nk-t.is-off{opacity:0}
.nk-home{width:28px;height:28px;margin:-14px 0 0 -14px;border-radius:50%;background:var(--c-accent);box-shadow:0 0 0 3px #fff,0 2px 8px rgb(20 30 60 / .5);z-index:1;display:grid;place-items:center}
.nk-home svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nk-home b{position:absolute;right:36px;top:50%;transform:translateY(-50%);white-space:nowrap;font:600 12px/1 var(--f);padding:4px 8px;border-radius:999px;background:var(--c-accent);color:#fff;box-shadow:0 1px 3px rgb(20 30 60 / .25)}
.nk-home.is-r b{right:auto;left:36px}
@media (max-width:599px){.nk-home b{display:none}}
.nk-pin{width:30px;height:30px;margin:-15px 0 0 -15px;padding:0;border:0;background:none;border-radius:50%;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent;z-index:2}
.nk-pin::before{content:"";position:absolute;left:9px;top:9px;width:12px;height:12px;box-sizing:border-box;border-radius:50%;background:var(--pc);border:2px solid #fff;box-shadow:0 1px 3px rgb(20 30 60 / .45);transition:transform .3s var(--ease)}
.nk-pin:hover,.nk-pin:focus-visible{z-index:6}
.nk-pin:hover::before,.nk-pin:focus-visible::before{transform:scale(1.4)}
.nk-pin.is-on{z-index:7}
.nk-pin.is-on::before{transform:scale(1.75);box-shadow:0 0 0 5px color-mix(in srgb,var(--pc) 30%,transparent),0 2px 6px rgb(20 30 60 / .45)}
.nk-pin.is-off{display:none}
.nk-pop{z-index:9;width:max-content;max-width:min(17rem,70vw);transform:translate(var(--px,-50%),calc(-100% - 16px));padding:.6rem .8rem .65rem;border-radius:12px;background:var(--c-bg);box-shadow:0 8px 28px -8px rgb(20 30 60 / .45),0 0 0 1px var(--c-line);pointer-events:auto;font-size:.82rem;line-height:1.35}
.nk-pop.is-below{transform:translate(var(--px,-50%),16px)}
.nk-pop b{display:block;font-size:.95rem;margin-bottom:.1rem}
.nk-pop span{display:block;color:var(--c-muted)}
.nk-pop .nk-pop__s{color:var(--pc,var(--c-primary));font-weight:600;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}
.nk-pop a{display:inline-flex;align-items:center;min-height:32px;margin-top:.15rem;font-weight:600}
.nk-views{position:absolute;z-index:8;left:8px;top:8px;display:flex;gap:2px;padding:3px;border-radius:999px;background:rgb(255 255 255 / .92);box-shadow:0 1px 4px rgb(20 30 60 / .2)}
.nk-views button{border:0;background:none;font:600 .78rem/1 var(--f);color:var(--c-muted);padding:0 .7rem;min-height:36px;border-radius:999px;cursor:pointer;white-space:nowrap}
.nk-views button[aria-pressed="true"]{background:var(--c-dark);color:#fff}
.nk-north{position:absolute;z-index:8;top:10px;right:10px;width:30px;height:30px;border-radius:50%;background:rgb(255 255 255 / .92);display:grid;place-items:center;font:700 12px/1 var(--f);color:var(--c-dark);box-shadow:0 1px 3px rgb(20 30 60 / .2)}
.nk-north::before{content:"";position:absolute;top:-1px;border-bottom:7px solid var(--c-accent);border-inline:4px solid transparent}
.nk-sb{position:absolute;z-index:8;left:8px;bottom:6px;padding:3px 5px 4px;box-sizing:content-box;background:rgb(255 255 255 / .9);border-radius:4px;display:flex;flex-direction:column;gap:2px;font:600 10.5px/1 var(--f);color:#3f475c;width:80px}
.nk-sb i{height:5px;border:1.5px solid #3f475c;border-top:0}
.nk-attr{position:absolute;z-index:8;right:0;bottom:0;padding:3px 7px;font:400 10px/1.2 var(--f);color:#4e5873;background:rgb(255 255 255 / .82);border-top-left-radius:6px;text-decoration:none}
.nk-legend{margin:0;font-size:.8rem;color:var(--c-muted);display:flex;gap:.5rem;align-items:flex-start;line-height:1.45}
.nk-legend__ring{flex:none;margin-top:.05rem;width:16px;height:16px;border-radius:50%;border:1.5px dashed var(--c-primary)}
.nk-chip i{width:10px;height:10px;border-radius:50%;background:var(--pc);box-shadow:0 0 0 2px #fff}
.nk-list .vo-grp{margin-bottom:1.2rem}
.nk-list .vo-grp > h2{font-size:1.2rem;margin-bottom:.3rem;align-items:center}

@media (prefers-reduced-motion:reduce){.vo *,.vo *::before{transition:none !important;animation:none !important}}
@media print{.vo-dots,.vo-step,.vo-next,.vo-lang,.vo-bar__lang,.nk-views{display:none}.vo-card,.poi{break-inside:avoid}body.vo--deck{height:auto;overflow:visible;display:block}.vo-deck{display:block;overflow:visible}.vo-slide{overflow:visible}}
.vo-sosline{display:flex;gap:.5rem;align-items:center;margin:1rem 0 0;padding-top:.8rem;border-top:1px solid rgb(255 255 255 / .2);font-size:.92rem}
.vo-sosline .ico{flex:none;color:#ffb3c9}
.vo-sosline a{color:#fff;font-weight:700}
/* Merkliste (../merkliste.css/.js): Herz an jeder Adresse */
.poi-h{position:relative;padding-right:2.9rem}
.poi-h .ml-heart{position:absolute;top:-.2rem;right:-.35rem}
.mini li.mi{position:relative}
.mini li.mi > a{padding-right:3.2rem}
.mini li.mi > .ml-heart{position:absolute;top:50%;right:.15rem;translate:0 -50%}
.idea.ml-host .idea__tx{padding-right:2.4rem}
.idea .ml-heart--over{top:.9rem;right:.9rem;width:40px;height:40px;border:1px solid var(--c-line);box-shadow:none;background:var(--card)}
/* Region-Ziele in den Wisch-Seiten (Inhalte aus region.json, wie auf der Website) */
.vo-season{display:flex;gap:.45rem;align-items:flex-start;margin:0 0 1rem;font-size:.9rem;color:var(--c-muted)}
.vo-season .ico{flex:none;width:1.05rem;height:1.05rem;margin-top:.15rem;color:var(--c-primary)}
.vo-box{margin:0 0 .8rem;padding:.9rem 1rem .3rem;border-radius:var(--r);background:var(--card);border:1px solid var(--c-line)}
.vo-box h3{margin:0 0 .6rem;font-size:1rem}
.vo-box--tips{background:color-mix(in srgb,var(--c-accent) 6%,var(--card));border-color:color-mix(in srgb,var(--c-accent) 22%,var(--c-line))}
.vo-box--tips .ico{color:var(--c-accent)}
.vo-prose p{margin:0 0 .9rem}
/* Hauptseite: Ausflüge & Region als Foto-Kacheln */
.vo-trips2{margin-block:clamp(1.5rem,4vw,2.5rem) .5rem}
.vo-trips2 h2{font-size:clamp(1.4rem,1.2rem + .8vw,1.9rem);margin:0 0 .3rem}
.vo-trips2 ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
@media (min-width:760px){.vo-trips2 ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}}
@media (min-width:1100px){.vo-trips2 ul{grid-template-columns:repeat(7,minmax(0,1fr));row-gap:1.2rem}}
.vo-trips2 a{display:flex;flex-direction:column;gap:.1rem;color:var(--c-text);text-decoration:none}
.vo-trips2 picture{display:block;aspect-ratio:3 / 2;border-radius:14px;overflow:hidden;margin-bottom:.4rem;background:var(--c-surface)}
.vo-trips2 img{width:100%;height:100%;object-fit:cover;transition:scale .4s var(--ease)}
.vo-trips2 a:hover img{scale:1.04}
.vo-trips2 b{font-size:.98rem;font-weight:650;line-height:1.25}
.vo-trips2 span{font-size:.8rem;color:var(--c-muted)}
/* Viele Wisch-Seiten (Radtouren): kleinere Quadrate */
.vo-dots ol:has(li:nth-child(11)) a{width:15px}
.vo-dots ol:has(li:nth-child(11)) a::before{width:8px;height:8px}
/* Radtouren: Ausschnitt der Tourenkarte je Tour (Grundkarte einmal je Seite, #vt-base) */
.vt-map{margin:0 0 1rem}
.vt-map svg{display:block;width:100%;height:auto;aspect-ratio:1.25;border-radius:var(--r);background:#f3f2ed;box-shadow:var(--shadow)}
.vt-land{fill:#f3f2ed}
.vt-water path{fill:#a7cbe8;stroke:#6fa3d1;stroke-width:.8;vector-effect:non-scaling-stroke}
.vt-riv path{fill:none;stroke:#7fb0dc;stroke-width:1.4;vector-effect:non-scaling-stroke}
.vt-border path{fill:none;stroke:#8d93a3;stroke-width:1.2;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}
.vt-lab text{fill:#5d6478;font-family:var(--f);font-weight:500;text-anchor:middle;paint-order:stroke;stroke:#f3f2ed;stroke-width:3px;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.vt-tour{fill:none;stroke:var(--lc);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.vt-start{fill:#fff;stroke:var(--lc);stroke-width:2.5;vector-effect:non-scaling-stroke}
.vt-home{fill:var(--c-accent);stroke:#fff;stroke-width:2.5;vector-effect:non-scaling-stroke}
.vt-map figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.4rem;font-size:.75rem;color:var(--c-muted)}
.vt-k{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;background:var(--c-accent)}
.vt-k--t{width:1rem;height:3px;border-radius:2px;background:var(--lc);margin-left:.4rem}
.vt-badges{display:flex;gap:.35rem;flex-wrap:wrap;margin:0 0 1rem}
.vt-badges span{font-size:.75rem;font-weight:650;padding:.2rem .6rem;border-radius:999px;background:var(--c-surface)}
.vt-hrt{position:relative;float:right;margin:.2rem 0 0 .5rem}
.vt-hrt .ml-heart--over{position:static}
.vt-dl{display:grid;grid-template-columns:auto 1fr;gap:.45rem 1rem;margin:0 0 1rem;font-size:.9rem}
.vt-dl dt{font-weight:650}
.vt-dl dd{margin:0;color:var(--c-muted)}
@media (max-width:480px){.vt-dl{grid-template-columns:1fr;gap:.1rem}.vt-dl dd{margin-bottom:.5rem}}
.vt-toc span{font-size:.8rem}

/* ---------------------------------------------------------------- Themenseiten (Listen aus region.json, tools/vor-ort/build.py build_theme)
   Leiste: ‹ + Titel, darunter waagrecht scrollende Abschnitts-Chips. Je Abschnitt eine Karte mit aufklappbaren Zeilen
   (<div class="rt-w"><details class="rt">…</details><span class="ml-slot"></span></div>), wie Listen in einer App: Vorschaubild, Name,
   Weg, (Termin,) erster Satz, Abzeichen; das Herz (merkliste.js → .ml-slot) liegt neben der <summary>, über deren rechter oberer Ecke. */
.vo--thema{--rt-max:50rem}
.rt-page .vo-wrap{width:min(100% - 2 * var(--gutter),var(--rt-max))}
.rt-chips{flex:1 0 100%;order:10;min-width:0;margin:0 calc(-1 * max(var(--gutter),env(safe-area-inset-right))) 0 calc(-1 * max(calc(var(--gutter) - .6rem),env(safe-area-inset-left)))}
.rt-chips ul{list-style:none;margin:0;padding:.1rem max(var(--gutter),env(safe-area-inset-right)) .25rem max(var(--gutter),env(safe-area-inset-left));display:flex;gap:.35rem;overflow-x:auto;scrollbar-width:none;scroll-padding-inline:var(--gutter);overscroll-behavior-x:contain}
.rt-chips ul::-webkit-scrollbar{display:none}
@media (min-width:860px){
  .vo--thema .vo-bar{padding-inline:max(var(--gutter),calc((100% - var(--rt-max)) / 2 - 3.25rem))}
  .rt-chips{margin:0}
  .rt-chips ul{flex-wrap:nowrap;padding:.15rem 0 .1rem calc(44px + .5rem);scroll-padding-inline:calc(44px + .5rem) 0}   /* eine Zeile, wie am Handy (vor-ort.js scrollt den aktuellen Chip ins Bild) */
}
.rt-chips li{flex:none}
.rt-chips a{display:inline-flex;align-items:center;gap:.35rem;min-height:36px;padding:.25rem .8rem;border-radius:999px;border:1px solid var(--c-line);background:var(--card);color:var(--c-text);font-size:.84rem;font-weight:550;line-height:1.1;text-decoration:none;white-space:nowrap;transition:background-color .2s,border-color .2s,color .2s}
.rt-chips a small{font-size:.72rem;font-weight:650;color:var(--c-muted)}
.rt-chips a:hover{border-color:var(--pc,var(--c-primary))}
.rt-chips a[aria-current]{background:var(--pc,var(--c-dark));border-color:var(--pc,var(--c-dark));color:#fff}
.rt-chips a[aria-current] small{color:rgb(255 255 255 / .8)}
.vo--thema .vo-bar:has(.rt-chips){padding-bottom:.4rem}

.rt-head{padding-block:clamp(1rem,3vw,1.8rem) .4rem}
.rt-head .vo-lead{font-size:clamp(1.02rem,.98rem + .3vw,1.18rem);color:var(--c-text);max-width:none}
.rt-count{margin:.55rem 0 0;font-size:.84rem;color:var(--c-muted)}
.rt-count a{color:inherit;font-weight:600}
.rt-links{display:grid;gap:.5rem;margin-top:1rem}
.rt-link{display:flex;align-items:center;gap:.8rem;min-height:56px;padding:.6rem .9rem;border-radius:16px;background:var(--card);border:1px solid var(--c-line);color:var(--c-text);text-decoration:none}
.rt-link:hover{border-color:var(--pc)}
.rt-link > .ico:first-child{width:2.2rem;height:2.2rem;padding:.45rem;border-radius:10px;background:color-mix(in srgb,var(--pc) 13%,transparent);color:var(--pc)}
.rt-link span{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.rt-link b{font-weight:650;font-size:.98rem}
.rt-link small{font-size:.8rem;color:var(--c-muted)}
.rt-link > .ico:last-child{color:var(--pc)}

.rt-sec{margin-top:clamp(1.4rem,3.5vw,2.2rem);scroll-margin-top:calc(var(--nav-h) + .4rem)}
.rt-sec > h2{display:flex;align-items:baseline;gap:.5rem;margin:0 0 .6rem;font-size:clamp(1.18rem,1.08rem + .5vw,1.45rem);letter-spacing:-.015em}
.rt-sec > h2::before{content:"";flex:none;align-self:center;width:.6rem;height:.6rem;border-radius:3px;background:var(--pc)}
.rt-sec > h2 small{font-size:.82rem;font-weight:500;color:var(--c-muted)}
.rt-list{background:var(--card);border:1px solid var(--c-line);border-radius:var(--r)}
.rt{scroll-margin-top:calc(var(--nav-h) + .5rem)}
.rt-w{position:relative}
.rt-w + .rt-w{border-top:1px solid var(--c-line)}
.rt-list{--rr:var(--r)}
.rt-w:first-child > .rt > .rt-sum{border-radius:var(--rr) var(--rr) 0 0}
.rt-w:last-child > .rt:not([open]) > .rt-sum{border-radius:0 0 var(--rr) var(--rr)}
.rt-w:only-child > .rt:not([open]) > .rt-sum{border-radius:var(--rr)}
.rt-sum{position:relative;display:grid;grid-template-columns:88px minmax(0,1fr);column-gap:.8rem;align-items:start;padding:.75rem .6rem .75rem .75rem;cursor:pointer;list-style:none;-webkit-tap-highlight-color:transparent;transition:background-color .2s}
.rt-sum::-webkit-details-marker{display:none}
.rt-sum::marker{content:""}
@media (hover:hover){.rt-sum:hover{background:color-mix(in srgb,var(--pc) 5%,var(--card))}}
.rt-sum:active{background:color-mix(in srgb,var(--pc) 8%,var(--card))}
.rt-sum:focus-visible{outline-offset:-3px;border-radius:12px}
.rt-ph{grid-row:1 / span 2;width:88px;height:88px;border-radius:12px;overflow:hidden;background:var(--c-surface)}
.rt-ph picture{width:100%;height:100%}
.rt-ph img{width:100%;height:100%;object-fit:cover}
.rt-ph--none{display:grid;place-items:center;background:color-mix(in srgb,var(--pc) 12%,var(--card));color:var(--pc)}
.rt-ph--none .ico{width:2rem;height:2rem;stroke-width:1.6}
.rt-tx{display:flex;flex-direction:column;gap:.18rem;min-width:0;padding-top:.05rem}
.rt-name{font-size:1.02rem;font-weight:650;line-height:1.25;letter-spacing:-.01em;overflow-wrap:anywhere}
.rt-dist{display:flex;flex-wrap:wrap;align-items:center;column-gap:.45rem;row-gap:.1rem;font-size:.8rem;font-weight:600;line-height:1.3;color:color-mix(in srgb,var(--pc) 70%,var(--c-text))}
.rt-tm{position:relative;display:inline-flex;align-items:center;gap:.2rem;white-space:nowrap}   /* sr-only-Text bleibt im Chip (Wisch-Seiten sonst breiter) */
.vo-dist.rt-dist{margin:.6rem 0}
.rt-tm .ico{width:1rem;height:1rem;stroke-width:2}
.rt-short{font-size:.86rem;line-height:1.42;color:var(--c-muted);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
.rt[open] .rt-short{display:none}
.rt-badges{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.2rem}
.rt-badges > span,.rt-cards h3 > span{display:inline-block;padding:.18rem .5rem;border-radius:6px;font-size:.7rem;font-weight:650;line-height:1.2;letter-spacing:.01em}
.b-ac{background:#e3f1e8;color:#25613d}
.b-ac--ermaessigt{background:#eef5e9;color:#3d6a2a}
.b-kc{background:#fdf0d8;color:#8a5300}
.b-kc--ermaessigt,.b-kc--bonus{background:#fdf5e6;color:#8f5f12}
.b-st--zu{background:#f6e3e7;color:#8c1d3c}
.rt-w > .ml-slot{position:absolute;z-index:1;top:.6rem;right:.55rem}
.rt-tx{padding-right:2.6rem}   /* ganze Textspalte frei vom Herz (40 px) und vom Pfeil unten rechts */
.ml-slot .ml-heart--ico{width:40px;height:40px}
.rt-w:has(> .ml-slot:empty) .rt-tx{padding-right:1.6rem}
.rt-wh{display:flex;align-items:center;gap:.3rem;font-size:.8rem;font-weight:600;line-height:1.3;color:color-mix(in srgb,var(--pc) 70%,var(--c-text))}
.rt-wh .ico{flex:none;width:1rem;height:1rem;stroke-width:2}
.rt-chev{position:absolute;right:1.05rem;bottom:.8rem;width:1.15rem;height:1.15rem;color:var(--c-muted);transition:rotate .25s var(--ease)}
.rt[open] > .rt-sum .rt-chev{rotate:180deg;color:var(--pc)}
.rt[open] > .rt-sum{background:color-mix(in srgb,var(--pc) 6%,var(--card))}
.rt--zu .rt-ph,.rt--zu .rt-name,.rt--zu .rt-short{opacity:.6}
.rt.is-target > .rt-sum{box-shadow:inset 4px 0 0 var(--pc)}

.rt-body{padding:.9rem clamp(.85rem,3vw,1.4rem) 1.1rem;border-top:1px solid color-mix(in srgb,var(--pc) 14%,var(--c-line))}
.rt-pic{margin:0 0 1rem}
.rt-pic .vo-zoom{display:block;border-radius:12px;overflow:hidden}
.rt-pic picture{aspect-ratio:16 / 10;width:100%;max-height:22rem}
.rt-pic img{width:100%;height:100%;object-fit:cover}
.rt-body .vo-prose{font-size:.98rem}
.rt-body .vo-prose p:last-child{margin-bottom:0}
.rt-meta{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.4rem}
.rt-meta li{display:flex;gap:.5rem;align-items:flex-start;font-size:.88rem;line-height:1.45;color:var(--c-muted)}
.rt-meta .ico{flex:none;width:1.05rem;height:1.05rem;margin-top:.13rem;color:var(--pc)}
.rt-meta .rt-m--zu{color:#8c1d3c;font-weight:600}
.rt-meta .rt-m--zu .ico{color:#8c1d3c}
.rt-meta .rt-m--warn{color:#7a5a12}
.rt-meta .rt-m--warn .ico{color:#a5791a}
.rt-body .vo-box{padding:.8rem .9rem .2rem;border-radius:12px;background:var(--c-bg)}
.rt-body .vo-box--facts .vo-ticks .ico{color:var(--pc)}
.rt-body .vo-box--tips{background:color-mix(in srgb,var(--c-accent) 5%,var(--c-bg))}
.rt-body .vo-box h3{font-size:.95rem}
.rt-x{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0 0}
.rt-x a{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:.35rem .95rem;border-radius:999px;border:1px solid var(--c-line);background:var(--card);color:var(--c-text);font-size:.88rem;font-weight:600;text-decoration:none;max-width:100%}
.rt-x a:first-child{background:var(--pc);border-color:var(--pc);color:#fff}
.rt-x a:hover{border-color:var(--pc)}
.rt-x a:first-child:hover{filter:brightness(1.08)}
.rt-x .ico{width:1.1rem;height:1.1rem}
.rt-host{font-weight:500;color:var(--c-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:420px){.rt-host{display:none}}
.rt-body .vo-credit{margin-top:.4rem}

.rt-cards{margin-top:clamp(1.6rem,4vw,2.6rem);scroll-margin-top:calc(var(--nav-h) + .5rem)}
.rt-cards > h2{font-size:clamp(1.18rem,1.08rem + .5vw,1.45rem);margin:0 0 .6rem}
.rt-card{padding:.9rem 1rem .3rem;margin-bottom:.6rem;border-radius:16px;background:var(--card);border:1px solid var(--c-line)}
.rt-card h3{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .45rem;font-size:1rem}
.rt-card p{margin:0 0 .6rem;font-size:.9rem;line-height:1.5;color:var(--c-muted)}
.rt-card a{display:inline-flex;align-items:center;gap:.35rem;min-height:40px;font-weight:600;text-decoration:none}
.rt-card a:hover{text-decoration:underline}

@media (min-width:760px){
  .rt-sum{grid-template-columns:104px minmax(0,1fr);column-gap:1rem;padding:.85rem .8rem .85rem .85rem}
  .rt-w > .ml-slot{top:.75rem;right:.75rem}
  .rt-ph{width:104px;height:104px}
  .rt-body{padding-left:calc(104px + 1.85rem);padding-right:1.6rem}
  .rt-links{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}
}
@media print{.rt-chips,.rt-x,.ml-slot,.rt-chev{display:none}.rt-w{break-inside:avoid}}
