/* Permitvia, erzeugt von site_src/build.py */
/* Schriften lokal (SIL Open Font License 1.1, siehe /assets/fonts/OFL.txt). Keine Verbindung zu Google Fonts. Erzeugt von tools/schriften_statisch.py */
@font-face { font-family: 'Archivo'; font-style: normal; font-weight: 900; font-stretch: 75%; font-display: swap; src: url(fonts/archivo-900-75-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Atkinson Hyperlegible Mono'; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/ahm-500-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Atkinson Hyperlegible Next'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/ahn-latin-400.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Atkinson Hyperlegible Next'; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/ahn-latin-700.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Archivo'; font-style: normal; font-weight: 900; font-stretch: 75%; font-display: swap; src: url(fonts/archivo-900-75-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Atkinson Hyperlegible Mono'; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/ahm-500-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Atkinson Hyperlegible Next'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/ahn-latin-ext-400.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Atkinson Hyperlegible Next'; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/ahn-latin-ext-700.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
:root{--paper:#F1ECFB;--surface:#FFFFFF;--surface-sunk:#E8E0F8;--ink:#170F33;--ink-muted:#4C4566;--line:#DCD2F1;--line-strong:#6E6790;--stempel:#5A2FC2;--stempel-stark:#45209E;--on-stempel:#FFFFFF;--stempel-tint:#EAE1FF;--band:#2A1470;--on-band:#FFFFFF;--on-band-muted:#CFC3F5;--band-stempel:#DCCFFF;--focus:#5A2FC2;--status-geprueft:#1C6E45;--status-geprueft-tint:#DDF1E4;--status-wechsel:#7A4E00;--status-wechsel-tint:#FCEFCB;--status-offen:#A8261D;--status-offen-tint:#FBE2DE;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-8:48px;--space-10:64px;--space-12:96px;--radius-sm:6px;--radius-karte:14px;--radius-pill:999px;--tap-min:48px;--wrap:1120px;--text-max:68ch;--font-display:'Archivo', 'Arial Narrow', sans-serif;--font-sans:'Atkinson Hyperlegible Next', system-ui, sans-serif;--font-mono:'Atkinson Hyperlegible Mono', ui-monospace, monospace;color-scheme:light}
:root[data-theme="dark"]{--paper:#0E0920;--surface:#1A1235;--surface-sunk:#0A0618;--ink:#F1EDFB;--ink-muted:#B9AFD6;--line:#2C2250;--line-strong:#8478A8;--stempel:#BCA6FF;--stempel-stark:#D4C6FF;--on-stempel:#170F33;--stempel-tint:#2B1F55;--band:#140B33;--on-band:#F1EDFB;--on-band-muted:#B9AFD6;--band-stempel:#C9B8FF;--focus:#BCA6FF;--status-geprueft:#7BD8A4;--status-geprueft-tint:#10291B;--status-wechsel:#F2C14E;--status-wechsel-tint:#30250A;--status-offen:#FF9A90;--status-offen-tint:#36130F;color-scheme:dark}
@media print{:root[data-theme]{--paper:#F1ECFB;--surface:#FFFFFF;--surface-sunk:#E8E0F8;--ink:#170F33;--ink-muted:#4C4566;--line:#DCD2F1;--line-strong:#6E6790;--stempel:#5A2FC2;--stempel-stark:#45209E;--on-stempel:#FFFFFF;--stempel-tint:#EAE1FF;--band:#2A1470;--on-band:#FFFFFF;--on-band-muted:#CFC3F5;--band-stempel:#DCCFFF;--focus:#5A2FC2;--status-geprueft:#1C6E45;--status-geprueft-tint:#DDF1E4;--status-wechsel:#7A4E00;--status-wechsel-tint:#FCEFCB;--status-offen:#A8261D;--status-offen-tint:#FBE2DE;color-scheme:light}}
/* Permitvia Seiten-CSS. Farben, Abstaende und Schriften nur ueber Tokens (designsystem/project/tokens.json, build.py setzt :root). */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:clip;overscroll-behavior-x:none;scroll-padding-top:84px;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background-color:var(--paper);background-image:radial-gradient(circle,color-mix(in srgb,var(--stempel) 16%,transparent) 1.2px,transparent 1.6px);background-size:24px 24px;color:var(--ink);font:400 17px/1.55 var(--font-sans);overflow-x:clip;padding-bottom:88px}
@media (min-width:900px){body{padding-bottom:0}}
img{max-width:100%;height:auto}
a{color:var(--stempel);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--stempel-stark);text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--space-4)}
@media (min-width:700px){.wrap{padding:0 var(--space-6)}}
.text>*{max-width:var(--text-max)}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--stempel);color:var(--on-stempel);padding:12px 16px;border-radius:var(--radius-pill);font-weight:700}
.skip:focus{left:8px}
h1,h2,h3{margin:0 0 var(--space-3);text-wrap:balance}
.h1,.h2,.ergebnis__kopf h3,.warnung h2{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
.h1{font:900 clamp(36px,8vw,72px)/.98 var(--font-display);font-stretch:75%;letter-spacing:-.005em}
.h2{font:900 clamp(30px,5vw,44px)/1.05 var(--font-display);font-stretch:75%}
.h3{font:700 20px/1.3 var(--font-sans)}
.label{font:700 13px/1.2 var(--font-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted)}
.quelle{font:500 12px/1.45 var(--font-mono);color:var(--ink-muted);letter-spacing:.01em}
.quelle a{color:inherit}
.zahl{font:900 clamp(44px,9vw,64px)/1 var(--font-display);font-stretch:75%;font-variant-numeric:tabular-nums}
p{margin:0 0 var(--space-4)}
.tabnum{font-variant-numeric:tabular-nums}

/* Kopf */
.kopf{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);border-bottom:1px solid var(--line)}
@supports not (backdrop-filter:blur(1px)){.kopf{background:var(--surface)}}
.kopf .wrap{display:flex;align-items:center;gap:var(--space-3);min-height:64px}
.marke{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font:900 26px/1 var(--font-display);font-stretch:75%;letter-spacing:.01em;min-height:48px}
.marke:hover{color:var(--ink);text-decoration:none}
.marke b{color:var(--stempel);font-weight:900}
.marke .pvi{font-size:26px;color:var(--stempel)}
.nav{display:none;margin-left:auto;gap:var(--space-1)}
.nav a{display:inline-flex;align-items:center;min-height:48px;padding:0 14px;border-radius:var(--radius-pill);color:var(--ink);text-decoration:none;font-weight:700;font-size:15px}
.nav a:hover{background:var(--stempel-tint)}
.nav a[aria-current=page]{background:var(--stempel);color:var(--on-stempel)}
@media (min-width:900px){.nav{display:flex}}
.kopf-knopf{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:48px;min-height:48px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);font:700 15px/1 var(--font-sans);cursor:pointer;text-decoration:none}
.kopf-knopf:hover{background:var(--stempel-tint);color:var(--ink)}
.kopf-knopf .pvi{font-size:20px}
.thema{margin-left:auto}
@media (min-width:900px){.thema{margin-left:0}}
.menue{position:relative}
.menue>summary{list-style:none}
.menue>summary::-webkit-details-marker{display:none}
.menue__panel{position:absolute;right:0;top:56px;width:min(340px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-karte);padding:var(--space-3);box-shadow:0 18px 40px rgba(15,30,51,.18);display:grid;gap:var(--space-1)}
.menue__panel .label{padding:var(--space-2) var(--space-2) 0}
.menue__panel a{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--ink);text-decoration:none}
.menue__panel a:hover{background:var(--stempel-tint)}
.menue__panel .pvi{color:var(--stempel);font-size:20px}
.crumbs{font-size:14px;color:var(--ink-muted);padding-top:var(--space-4)}
.crumbs a{color:var(--ink-muted);display:inline-block;padding:12px 0}

/* Baender und Abschnitte */
.band{background:var(--band);color:var(--on-band)}
.band a{color:var(--band-stempel)}
.band .label,.band .quelle{color:var(--on-band-muted)}
.held{position:relative;overflow:hidden;padding:var(--space-8) 0 var(--space-8);background:radial-gradient(120% 90% at 100% 0%,color-mix(in srgb,var(--stempel) 55%,var(--band)) 0%,var(--band) 60%)}
.held>.wrap{position:relative;z-index:1}
.held::before{content:"\e013";font-family:"PV Icons";position:absolute;right:-6vw;top:-4vw;font-size:clamp(280px,46vw,640px);line-height:1;color:var(--band-stempel);opacity:.1;pointer-events:none}
.held::after{content:"";position:absolute;left:0;right:0;bottom:28px;height:2px;background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--band-stempel) 45%,transparent) 0 14px,transparent 14px 26px);pointer-events:none}
.held .kicker{display:inline-flex;align-items:center;gap:8px;font:500 13px/1.2 var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--band-stempel);margin-bottom:var(--space-4)}
.held p.unter{font-size:19px;max-width:56ch;color:var(--on-band)}
.abschnitt{padding:var(--space-8) 0}
.abschnitt+.abschnitt{padding-top:0}
.seitenkopf{padding:var(--space-6) 0 var(--space-5)}
.seitenkopf .antwort{font-size:19px;max-width:62ch}

/* Knoepfe */
.knopf{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:var(--radius-pill);background:var(--stempel);color:var(--on-stempel);border:2px solid var(--stempel);font:700 17px/1 var(--font-sans);text-decoration:none;cursor:pointer}
.knopf:hover{background:var(--stempel-stark);border-color:var(--stempel-stark);color:var(--on-stempel);text-decoration:none}
.knopf--ruhig{background:transparent;color:var(--ink);border-color:var(--line-strong)}
.knopf--ruhig:hover{background:var(--stempel-tint);color:var(--ink);border-color:var(--stempel)}
.band .knopf{background:#fff;border-color:#fff;color:var(--band)}
.band .knopf:hover{background:var(--on-band);border-color:var(--on-band);color:var(--band)}
.band .knopf--ruhig{background:transparent;color:var(--on-band);border-color:var(--on-band-muted)}

/* Der Weg: drei nummerierte Einstiege, verbunden durch die Weg-Linie (via) */
.weg{list-style:none;margin:var(--space-6) 0 0;padding:0;display:grid;gap:var(--space-3)}
@media (min-width:800px){.weg{grid-template-columns:repeat(3,1fr);gap:var(--space-4)}}
.weg li{position:relative}
.weg a{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-items:start;height:100%;padding:var(--space-4);border-radius:var(--radius-karte);background:color-mix(in srgb,var(--on-band) 7%,transparent);border:1px solid color-mix(in srgb,var(--on-band) 22%,transparent);color:var(--on-band);text-decoration:none;min-height:48px}
.weg li:first-child a{background:color-mix(in srgb,var(--band-stempel) 18%,transparent);border-color:var(--band-stempel)}
.weg a:hover{border-color:var(--band-stempel);background:color-mix(in srgb,var(--band-stempel) 14%,transparent);color:var(--on-band)}
.weg .nr{grid-row:span 2;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:2px solid var(--band-stempel);color:var(--band-stempel);font:900 24px/1 var(--font-display);font-stretch:75%}
.weg b{font-size:18px}
.weg span.k{font-size:15px;color:var(--on-band-muted)}
@media (min-width:800px){.weg li:not(:last-child)::after{content:"";position:absolute;top:38px;right:-18px;width:20px;border-top:2px dashed var(--band-stempel)}}

/* Scheinkarte: Grundbaustein fuer jeden Schein und jede Regel */
.karten{display:grid;gap:var(--space-4)}
.karten+.quelle{margin-top:var(--space-3)}
@media (min-width:700px){.karten--2{grid-template-columns:repeat(2,1fr)}.karten--3{grid-template-columns:repeat(3,1fr)}}
.karte{position:relative;background:var(--surface);border:1px solid var(--line);box-shadow:0 1px 0 var(--line),0 10px 24px -18px color-mix(in srgb,var(--stempel) 60%,transparent);border-radius:var(--radius-karte);padding:var(--space-4) var(--space-4) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}
.karte__kopf{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}
.karte__titel{display:flex;align-items:center;gap:10px;font:700 20px/1.25 var(--font-sans);margin:0}
.karte__titel .pvi{font-size:26px;color:var(--stempel)}
.karte p{margin:0}
.karte .mehr-link{margin-top:auto;padding-top:var(--space-2);display:inline-flex;align-items:center;gap:6px;min-height:48px;font-weight:700}
a.karte{color:var(--ink);text-decoration:none}
a.karte:hover{border-color:var(--stempel);box-shadow:0 0 0 1px var(--stempel)}
.karte--chip::before{content:"";position:absolute;left:var(--space-4);top:-1px;width:44px;height:4px;background:var(--stempel);border-radius:0 0 4px 4px}

/* Stempel: Stand-Ampel je Regel, immer mit Wort */
.stempel{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:2px solid currentColor;border-radius:var(--radius-pill);font:500 12px/1.2 var(--font-mono);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.stempel .pvi{font-size:14px}
.stempel--geprueft{color:var(--status-geprueft);background:var(--status-geprueft-tint)}
.stempel--wechsel{color:var(--status-wechsel);background:var(--status-wechsel-tint)}
.stempel--offen{color:var(--status-offen);background:var(--status-offen-tint)}

/* Regel-Tabelle */
.regeln{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-karte);overflow:hidden}
.regeln th,.regeln td{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid var(--line)}
.regeln thead th{background:var(--surface-sunk);font:700 13px/1.2 var(--font-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted)}
.regeln tr:last-child td{border-bottom:0}
.tabelle-rahmen{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (max-width:640px){.regeln--stapel thead{display:none}.regeln--stapel tr{display:block;border-bottom:1px solid var(--line);padding:6px 0}.regeln--stapel td{display:block;border:0;padding:4px 14px}.regeln--stapel td[data-k]::before{content:attr(data-k);display:block;font:700 12px/1.2 var(--font-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted)}}

/* Finder */
.finder{background:var(--surface);border:1px solid var(--line);box-shadow:0 18px 40px -28px color-mix(in srgb,var(--stempel) 70%,transparent);border-radius:var(--radius-karte);padding:var(--space-5) var(--space-4)}
@media (min-width:700px){.finder{padding:var(--space-6)}}
.finder form{counter-reset:frage}
.finder fieldset:not([hidden]){counter-increment:frage}
.finder legend .nr::before{content:counter(frage)}
.finder fieldset{border:0;margin:0 0 var(--space-5);padding:0;min-width:0}
.finder legend{display:flex;align-items:center;gap:10px;font:700 19px/1.3 var(--font-sans);margin-bottom:var(--space-3);padding:0}
.finder legend .nr{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:var(--stempel);color:var(--on-stempel);font:900 19px/1 var(--font-display);font-stretch:75%}
.wahl{display:grid;gap:var(--space-2)}
@media (min-width:640px){.wahl{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}
.wahl label{display:flex;align-items:center;gap:12px;min-height:56px;padding:10px 14px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;font-weight:700}
.wahl label small{display:block;font-weight:400;color:var(--ink-muted);font-size:14px}
.wahl input{appearance:none;-webkit-appearance:none;flex:none;width:22px;height:22px;border:2px solid var(--line-strong);border-radius:50%;margin:0;display:grid;place-items:center}
.wahl input:checked{border-color:var(--stempel)}
.wahl input:checked::after{content:"";width:12px;height:12px;border-radius:50%;background:var(--stempel)}
.wahl label:has(input:checked){border-color:var(--stempel);background:var(--stempel-tint);box-shadow:0 0 0 1px var(--stempel)}
.wahl label .pvi{font-size:24px;color:var(--stempel)}
.finder [hidden]{display:none!important}
.ergebnis{border-radius:var(--radius-karte);overflow:hidden;border:2px solid var(--stempel);background:var(--surface)}
.ergebnis__kopf{background:linear-gradient(120deg,var(--band),color-mix(in srgb,var(--stempel) 70%,var(--band)));color:var(--on-band);padding:var(--space-4);display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}
.ergebnis__kopf .pvi{font-size:34px;color:var(--band-stempel)}
.ergebnis__kopf .label{color:var(--on-band-muted)}
.ergebnis__kopf h3{margin:0;font:900 30px/1.05 var(--font-display);font-stretch:75%}
.ergebnis__inhalt{padding:var(--space-4)}
.ergebnis__inhalt ul{margin:0 0 var(--space-3);padding-left:20px}
.ergebnis__inhalt li{margin-bottom:6px}
.ergebnis__aktionen{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}

/* Rechner */
.rechner{display:grid;gap:var(--space-4)}
@media (min-width:900px){.rechner{grid-template-columns:1.1fr .9fr;align-items:start}}
.feld{display:grid;gap:6px;margin-bottom:var(--space-4)}
.feld label,.feld .feld-titel{font-weight:700}
.feld small{color:var(--ink-muted);font-size:14px}
.feld select,.feld input[type=number]{width:100%;min-height:52px;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-sunk);color:var(--ink);font:400 17px/1 var(--font-sans)}
.check{display:flex;gap:12px;align-items:flex-start;min-height:48px;padding:10px 0;cursor:pointer}
.check input{flex:none;width:22px;height:22px;margin:2px 0 0;accent-color:var(--stempel)}
.check small{display:block;color:var(--ink-muted)}
.summe{position:sticky;top:84px;border-radius:var(--radius-karte);overflow:hidden;border:2px solid var(--stempel);background:var(--surface)}
.summe__kopf{background:linear-gradient(120deg,var(--band),color-mix(in srgb,var(--stempel) 70%,var(--band)));color:var(--on-band);padding:var(--space-4)}
.summe__kopf .label{color:var(--on-band-muted)}
.summe__kopf .zahl{color:var(--on-band);font-size:clamp(34px,7vw,50px);line-height:1.05}
.summe__kopf .spanne{font:500 14px/1.4 var(--font-mono);color:var(--band-stempel)}
.summe__inhalt{padding:var(--space-4)}
.bon{width:100%;border-collapse:collapse;font:500 14px/1.45 var(--font-mono);font-variant-numeric:tabular-nums}
.bon td{padding:6px 0;border-bottom:1px dashed var(--line);vertical-align:top}
.bon td:last-child{text-align:right;padding-left:12px;min-width:7.2em}
.bon .nw{white-space:nowrap}
@media (max-width:480px){.bon,.bon tbody,.bon tr,.bon td{display:block;width:100%}.bon tr{border-bottom:1px dashed var(--line);padding:6px 0}.bon td{border:0;padding:2px 0}.bon td:last-child{text-align:left;padding-left:0;min-width:0;font-weight:700}.bon tr.gesamt{border-bottom:0;border-top:2px solid var(--ink);padding-top:10px}.bon tr.gesamt td{border:0;padding:2px 0}}
.bon tr.gesamt td{border-bottom:0;border-top:2px solid var(--ink);font-weight:700;padding-top:10px}
.bon .art{display:block;font:400 12px/1.4 var(--font-sans);color:var(--ink-muted);margin-top:2px}

/* Akkordeon (FAQ, Rechenweg, Details) */
.acc{border:1px solid var(--line-strong);border-radius:var(--radius-karte);background:var(--surface);margin-bottom:var(--space-2)}
.acc>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:56px;padding:12px var(--space-4);font-weight:700}
.acc>summary::-webkit-details-marker{display:none}
.acc>summary::after{content:"\e018";font-family:"PV Icons";color:var(--stempel);font-weight:400;flex:none}
.acc[open]>summary::after{content:"\e019"}
.acc__inhalt{padding:0 var(--space-4) var(--space-4)}
.acc__inhalt>:last-child{margin-bottom:0}

/* Warnung: Scheine kann man nicht kaufen */
.warnung{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);align-items:start;padding:var(--space-4);border-radius:var(--radius-karte);background:var(--status-offen-tint);border:2px solid var(--status-offen);color:var(--ink)}
.warnung a{display:inline-flex;align-items:center;min-height:48px;font-weight:700}
.warnung>.pvi{font-size:34px;color:var(--status-offen)}
.warnung h2,.warnung h3{margin:0 0 var(--space-2);font:900 26px/1.1 var(--font-display);font-stretch:75%}
.warnung p{margin:0 0 var(--space-2)}
.warnung .liste-saubere .pvi{color:var(--status-offen)}

/* Erklaerkarte */
.karte-svg{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-karte);padding:var(--space-3)}
.karte-svg svg{display:block;width:100%;height:auto}
.karte-svg .meer{fill:color-mix(in srgb,var(--stempel) 22%,var(--surface))}
.karte-svg .binnen-see{fill:color-mix(in srgb,var(--stempel) 45%,var(--surface))}
.karte-svg .land{fill:var(--surface-sunk);stroke:var(--line-strong);stroke-width:.6}
.karte-svg .see-gewaesser{fill:color-mix(in srgb,var(--stempel) 22%,var(--surface))}
.karte-svg .fluss{fill:none;stroke:color-mix(in srgb,var(--stempel) 45%,var(--surface));stroke-width:1.1;stroke-linejoin:round;stroke-linecap:round}
.karte-svg .fluss--rhein{stroke:var(--status-wechsel);stroke-width:2.6}
.karte-svg .kueste{fill:none;stroke:var(--stempel);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;opacity:.55}
.karte-svg .ort{fill:var(--stempel);stroke:var(--surface);stroke-width:1.5}
.karte-svg .bodensee{fill:var(--status-offen-tint);stroke:var(--status-offen);stroke-width:2}
.karte-svg text{font:700 19px var(--font-sans);fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:3px}
.legende{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);font-size:15px}
.legende li{display:flex;align-items:center;gap:8px}
.legende i{display:inline-block;width:22px;height:12px;border-radius:3px}

/* Fuss und Tabs */
.fuss{position:relative;overflow:hidden;margin-top:var(--space-10);background:var(--band);color:var(--on-band);padding:var(--space-8) 0 var(--space-8);font-size:15px}
.fuss .wrap{position:relative;z-index:1;display:grid;gap:var(--space-3)}
.fuss::before{content:"\e00e";font-family:"PV Icons";position:absolute;right:-40px;bottom:-60px;font-size:360px;line-height:1;color:var(--band-stempel);opacity:.08;pointer-events:none}
.fuss a{color:var(--band-stempel);display:inline-flex;align-items:center;min-height:48px}
.fuss .marke{color:var(--on-band)}
.fuss .marke b{color:var(--band-stempel)}
.fuss .quelle{color:var(--on-band-muted)}
.tabs{position:fixed;left:var(--space-3);right:var(--space-3);bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px));z-index:45;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:4px;border-radius:30px;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(18px) saturate(170%);-webkit-backdrop-filter:blur(18px) saturate(170%);border:1px solid var(--line-strong);box-shadow:0 10px 30px rgba(15,30,51,.18)}
@supports not (backdrop-filter:blur(1px)){.tabs{background:var(--surface)}}
.tabs a{display:grid;justify-items:center;align-content:center;gap:2px;min-height:56px;border-radius:26px;color:var(--ink);text-decoration:none;font:700 12px/1.1 var(--font-sans)}
.tabs a .pvi{font-size:22px}
.tabs a[aria-current=page]{background:var(--stempel);color:var(--on-stempel)}
@media (min-width:900px){.tabs{display:none}}

/* Sonstiges */
.hinweis-recht{font-size:15px;color:var(--ink-muted);border-left:3px solid var(--line-strong);padding-left:var(--space-3)}
.liste-saubere{list-style:none;padding:0;margin:0 0 var(--space-3);display:grid;gap:var(--space-2)}
.liste-saubere li{display:flex;gap:10px;align-items:flex-start}
.liste-saubere .pvi{color:var(--stempel);margin-top:3px;flex:none}
.geld-slot{display:none}
.linkbtn{background:none;border:0;padding:0;min-height:48px;color:var(--band-stempel);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.zwei{display:grid;gap:var(--space-5)}
@media (min-width:900px){.zwei{grid-template-columns:1fr 1fr}}
.saison{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;align-items:end;height:140px;margin:var(--space-3) 0 6px}
.saison div{background:var(--stempel);border-radius:4px 4px 0 0;min-height:4px}
.saison-achse{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;font:500 11px/1 var(--font-mono);color:var(--ink-muted);text-align:center}
/* Einwilligungshinweis (nur mit GA4): unten, ueber der Tab-Leiste, beide Knoepfe gleich gross */
.consent{position:fixed;left:var(--space-3);right:var(--space-3);bottom:calc(88px + env(safe-area-inset-bottom,0px));z-index:60;max-width:560px;margin:0 auto;max-height:70vh;overflow:auto;background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--radius-karte);padding:var(--space-4);box-shadow:0 20px 50px -20px color-mix(in srgb,var(--stempel) 60%,transparent);font-size:15px}
@media (min-width:900px){.consent{bottom:var(--space-4);right:var(--space-4);left:auto}}
.consent p{margin:0 0 var(--space-2)}
.consent-mehr{margin:0 0 var(--space-2)}
.consent-mehr summary{cursor:pointer;min-height:48px;display:flex;align-items:center;font-weight:700;color:var(--stempel)}
.consent-mehr ul{margin:0;padding-left:18px;font-size:14px}
.consent-links a{display:inline-flex;align-items:center;min-height:48px}
.consent-knoepfe{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}
.consent-knoepfe .knopf{width:100%;padding:0 12px}
.fuss .linkbtn{color:var(--band-stempel)}
@media print{.kopf,.tabs,.fuss,.skip,.menue,.thema{display:none!important}body{padding:0}}

/* PV Icons: eigener Iconfont von Permitvia (tools/build_iconfont.py, nicht von Hand aendern). Nutzung: <i class="pvi pvi-boot" aria-hidden="true"></i> plus sichtbarer Text oder aria-label */
@font-face{font-family:"PV Icons";src:url(fonts/pvicons.woff2?v=30573d5b) format("woff2");font-display:block}
.pvi{font-family:"PV Icons";font-style:normal;font-weight:400;line-height:1;display:inline-block;width:1em;height:1em;text-align:center;speak:never;-webkit-font-smoothing:antialiased;text-transform:none;letter-spacing:0;vertical-align:-0.125em;flex:none}
.pvi-wegweiser::before{content:"\e000"}
.pvi-finder::before{content:"\e001"}
.pvi-kosten::before{content:"\e002"}
.pvi-paragraf::before{content:"\e003"}
.pvi-boot::before{content:"\e004"}
.pvi-segel::before{content:"\e005"}
.pvi-see::before{content:"\e006"}
.pvi-binnen::before{content:"\e007"}
.pvi-anker::before{content:"\e008"}
.pvi-funk::before{content:"\e009"}
.pvi-pyro::before{content:"\e00a"}
.pvi-charter::before{content:"\e00b"}
.pvi-frei::before{content:"\e00c"}
.pvi-warnung::before{content:"\e00d"}
.pvi-stempel::before{content:"\e00e"}
.pvi-ausweis::before{content:"\e00f"}
.pvi-safe::before{content:"\e010"}
.pvi-kalender::before{content:"\e011"}
.pvi-pin::before{content:"\e012"}
.pvi-route::before{content:"\e013"}
.pvi-quelle::before{content:"\e014"}
.pvi-lernen::before{content:"\e015"}
.pvi-info::before{content:"\e016"}
.pvi-check::before{content:"\e017"}
.pvi-plus::before{content:"\e018"}
.pvi-minus::before{content:"\e019"}
.pvi-pfeil::before{content:"\e01a"}
.pvi-menue::before{content:"\e01b"}
.pvi-mond::before{content:"\e01c"}
.pvi-sonne::before{content:"\e01d"}
.pvi-teilen::before{content:"\e01e"}
.pvi-extern::before{content:"\e01f"}
.pvi-drohne::before{content:"\e020"}
.pvi-schild::before{content:"\e021"}
.pvi-kennung::before{content:"\e022"}
.pvi-kamera::before{content:"\e023"}
.pvi-hoehe::before{content:"\e024"}
