/*
Theme Name: fz
Description: ferienz.de — Nachrichtenangebot zu Ferien, Feiertagen, Verkehr und Energie.
             Ausschließlich heller Hintergrund, keine Webfonts, nur wenig JavaScript (Navigation, Suche).
Version: 1.4.0
Requires PHP: 8.1
Text Domain: fz
*/

/* ── Farben: ausschließlich heller Hintergrund. Keine Umschaltung nach Systemfarbe. ── */
:root{
  color-scheme:light only;
  --pap:#ffffff;        /* Seitenhintergrund — immer weiß */
  --flae:#f7f5f2;       /* leicht getönte Fläche */
  --creme:#faf7f2;
  --txt:#111111;
  --txt2:#2b2723;
  --mut:#5d5954;
  --lin:#e3ded7;
  --lin2:#cfc8bf;
  --akz:#c2410c;        /* Ressortfarbe / Akzent */
  --akz-d:#9a3412;
  --akz-b:#fff3ec;
  --gruen:#1f6b3a;
  --rot:#a3231b;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --serif:Georgia,"Times New Roman",serif;
  --breit:74rem;
  --schmal:46rem;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:#ffffff;scroll-padding-top:60px}
body{margin:0;background:#ffffff;color:var(--txt);font:17px/1.62 var(--sans);overflow-wrap:break-word}
img,svg{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.14em}
a:focus-visible,button:focus-visible{outline:3px solid var(--akz);outline-offset:2px}
.fz-skip{position:absolute;left:-9999px}
.fz-skip:focus{left:8px;top:8px;background:#fff;padding:.5rem;z-index:99;border:2px solid var(--akz)}
.fz-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.wrap{max-width:var(--breit);margin:0 auto;padding:0 20px}

/* ── Oberer Streifen ── */
.ust{background:var(--creme);border-bottom:1px solid var(--lin);font-size:.8rem}
.ust .wrap{display:flex;align-items:center;gap:1rem;min-height:36px;flex-wrap:wrap}
.ust-datum{color:var(--mut);font-weight:600;letter-spacing:.02em}
.ust nav{margin-left:auto;display:flex;gap:1.1rem;flex-wrap:wrap}
.ust nav a{color:var(--txt2);font-weight:600}
.ust nav a:hover{color:var(--akz)}

/* ── Kopf (Logo mittig) ── */
.mast{background:var(--pap);text-align:center;padding:1.2rem 0 0}
.mast-logo{display:inline-block;line-height:0;color:inherit}
.mast-logo:hover{text-decoration:none}
.mast-ad{margin:0;line-height:0;font-size:1rem}
/* Inline-SVG hat keine Intrinsic-Größe: Höhe setzen, Breite aus viewBox. */
.mast-logo .mast-marke{height:clamp(40px,7vw,58px);width:auto;max-width:86vw;display:inline-block}
.mast-alt{margin:.6rem 0 0;font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;color:var(--mut)}
.mast .wrap::after{content:"";display:block;margin-top:.9rem;border-top:3px solid var(--txt);
  box-shadow:0 3px 0 -2px var(--txt)}

/* ── Ressort-Navigation ── */
.ress{background:var(--pap);border-bottom:1px solid var(--lin)}
.ress .wrap{display:flex;align-items:center;gap:.6rem}
.ress ul{list-style:none;margin:0;padding:0;display:flex;gap:1.4rem;flex-wrap:wrap;justify-content:center;
  align-items:center;min-height:48px;flex:1 1 auto;min-width:0}
.ress li{flex:none}
.ress a{display:flex;align-items:center;min-height:44px;font-size:.84rem;font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;border-bottom:2px solid transparent;color:var(--txt)}
.ress a:hover{text-decoration:none;color:var(--akz)}
.ress li.on a{color:var(--akz);border-bottom-color:var(--akz)}
.ress-ok{display:none}
.ress .such-knopf{flex:none;display:inline-flex;align-items:center;gap:.4rem;height:34px;min-height:0;padding:0 .9rem 0 .75rem;
  border:0;border-radius:17px;background:var(--txt);color:#fff;font:700 .8rem/1 var(--sans);letter-spacing:.07em;
  text-transform:uppercase;cursor:pointer}
.ress .such-knopf:hover{background:var(--akz);text-decoration:none;color:#fff}
.ress .such-knopf svg{flex:none;width:17px;height:17px}

/* ── Typo ── */
h1,h2,h3,.hl{font-family:var(--serif);letter-spacing:-.012em}
h1{font-size:clamp(1.6rem,4vw,2.15rem);line-height:1.16;margin:.35rem 0 .55rem;font-weight:700}
h2{font-size:clamp(1.18rem,2.6vw,1.36rem);line-height:1.25;margin:2rem 0 .7rem;font-weight:700}
h3{font-size:1.1rem;margin:0 0 .3rem;font-weight:700}
.dach{font-family:var(--sans);font-size:.74rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:var(--akz);margin:0 0 .25rem}
.lead{font-size:1.14rem;line-height:1.55;color:var(--txt2);margin:.3rem 0 1.1rem;font-weight:500}
.meta{font-size:.82rem;color:var(--mut);margin:.2rem 0 1rem}
.meta time{font-variant-numeric:tabular-nums}
main{padding:1.2rem 0 2.6rem}

/* ── Aufmacher + Raster ── */
.grid-top{display:grid;grid-template-columns:2fr 1fr;gap:2.2rem;padding:.8rem 0 0}
.auf{border-bottom:1px solid var(--lin);padding-bottom:1.4rem}
.auf .hl{display:block;font-size:clamp(1.65rem,4.4vw,2.35rem);line-height:1.13;font-weight:700;margin:.2rem 0 .5rem}
.auf .lead{font-size:1.12rem}
.kenn{display:inline-flex;align-items:baseline;gap:.45rem;background:var(--akz-b);
  border-left:3px solid var(--akz);padding:.42rem .7rem;margin:.1rem 0 .7rem}
.kenn b{font-family:var(--serif);font-size:1.5rem;line-height:1;color:var(--akz)}
.kenn span{font-size:.79rem;color:var(--mut);text-transform:uppercase;letter-spacing:.06em}
.spalte h2:first-child{margin-top:0}
.liste{list-style:none;margin:0;padding:0}
.liste li{padding:.72rem 0;border-bottom:1px solid var(--lin)}
.liste li:last-child{border-bottom:0}
.liste .hl{font-size:1.02rem;line-height:1.3;display:block;font-weight:700}
.liste .meta{margin:.22rem 0 0;font-size:.78rem}
.karten{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1.5rem 2rem;
  padding:1.4rem 0;border-top:1px solid var(--lin2);margin-top:1.8rem}
.karte .hl{display:block;font-size:1.14rem;line-height:1.26;font-weight:700;margin:.1rem 0 .3rem}
.karte p{margin:.25rem 0 0;font-size:.93rem;color:#33302c;line-height:1.5}

/* ── Artikel ── */
.artikel{max-width:44rem}
.artikel .text p{margin:0 0 1.05rem}
.artikel .bild{margin:0 0 1.1rem}
.artikel .bild img{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#f3f1ee}
.artikel .bild-atif{font-size:.74rem;color:var(--mut);margin:.35rem 0 0}
.artikel .bild-atif a{color:inherit}
.artikel .text p:first-of-type{font-size:1.06rem}
.fakten{margin:1.4rem 0;padding:.9rem 1.1rem;background:var(--akz-b);border-left:3px solid var(--akz)}
.fakten h2{font-size:1rem;margin:0 0 .5rem}
.fakten ul{margin:0;padding-left:1.1rem}
.fakten li{margin:.25rem 0;font-size:.93rem}
.quelle{font-size:.83rem;color:var(--mut);border-top:1px solid var(--lin);margin-top:1.6rem;padding-top:.8rem}
.stand{font-size:.83rem;color:var(--mut);margin:.3rem 0}
.weiter{border-top:1px solid var(--lin2);margin-top:2rem;padding-top:1rem}

/* ── Tabellen ── */
.tab,.fz-tab{width:100%;border-collapse:collapse;margin:.5rem 0 1.1rem;font-size:.95rem;background:var(--pap)}
.tab th,.tab td,.fz-tab th,.fz-tab td{text-align:left;padding:.55rem .65rem;border-bottom:1px solid var(--lin);vertical-align:top}
.tab thead th,.fz-tab thead th{font-size:.73rem;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);
  border-bottom:2px solid var(--lin2);font-weight:700}
.fz-tab tbody th{font-weight:600}
.tab tbody tr:nth-child(even),.fz-tab tbody tr:nth-child(even){background:var(--flae)}
.tab td:nth-child(n+2),.fz-tab td:nth-child(n+2){font-variant-numeric:tabular-nums}
.fz-tab tr.fz-schulfrei td{background:#fdf3e3}
.fz-tab tr.fz-aktuell td,.fz-tab tr.fz-aktuell th{background:#fff1e3}
.fz-tab tr.fz-aktuell td:first-child,.fz-tab tr.fz-aktuell th:first-child{box-shadow:inset 3px 0 0 var(--akz)}
.fz-tab a{color:var(--akz-d);font-weight:600}
.tag,.fz-tag{display:inline-block;font-size:.7rem;padding:.1rem .4rem;border:1px solid var(--lin2);
  border-radius:3px;color:var(--mut);vertical-align:.08em;background:var(--pap)}
/* Breite Tabellen scrollen in ihrem Kasten, nie die Seite. Schatten zeigen, dass es weitergeht. */
.scroll,.fz-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;margin:.5rem 0 1.1rem;
  background:linear-gradient(90deg,#fff 30%,rgba(255,255,255,0)) 0 0/28px 100% no-repeat local,
             linear-gradient(270deg,#fff 30%,rgba(255,255,255,0)) 100% 0/28px 100% no-repeat local,
             radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.14),transparent) 0 0/10px 100% no-repeat scroll,
             radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.14),transparent) 100% 0/10px 100% no-repeat scroll}
.scroll > .fz-tab,.fz-scroll > .fz-tab,.scroll > .tab,.fz-scroll > .tab{margin:0;background:transparent}
.fz-matrix td{white-space:nowrap}
/* Ladenöffnung je Land (WB-0385): satır başlıklı kural tablosu + yasa alıntısı */
.fz-regeln tbody th{width:11.5rem;color:var(--mut);font-size:.85rem;font-weight:600}
.fz-zitat{margin:.4rem 0 .6rem;padding:.7rem 1rem;border-left:3px solid var(--akz);background:#fbf7f3;font-style:italic}
.fz-zitat p{margin:0}
@media (max-width:560px){.fz-regeln tr,.fz-regeln tbody th,.fz-regeln td{display:block;width:auto;border:0}
  .fz-regeln tr{border-bottom:1px solid var(--lin);padding:.3rem 0}.fz-regeln tbody th{padding-bottom:0}}
.fz-matrix td:first-child,.fz-matrix th:first-child{white-space:normal}
.fz-matrix tbody th,.fz-matrix tbody td:first-child{position:sticky;left:0;background:var(--pap);z-index:1}
.fz-matrix tbody tr:nth-child(even) th,.fz-matrix tbody tr:nth-child(even) td:first-child{background:var(--flae)}

/* ── Jahreskalender (HTML) ── */
.fz-jahr{display:grid;grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr));gap:1rem 1.4rem;margin:.6rem 0 .8rem}
.fz-monat{border-collapse:collapse;width:100%;font-size:.86rem;font-variant-numeric:tabular-nums;text-align:center}
.fz-monat caption{font-family:var(--serif);font-weight:700;font-size:1.02rem;text-align:left;padding:0 0 .3rem}
.fz-monat th{font-size:.68rem;color:var(--mut);font-weight:700;padding:.2rem 0;border-bottom:1px solid var(--lin2)}
.fz-monat td{padding:.28rem 0;border-bottom:1px solid var(--lin)}
.fz-monat .kw{color:var(--mut);font-weight:600;font-size:.7rem;width:2.2em;border-right:1px solid var(--lin)}
.fz-monat td.we{color:var(--akz-d)}
.fz-monat td.ft{background:#bcd9c2;font-weight:700;color:var(--txt)}
.fz-monat td.rt{background:#e3f0e6}
.fz-monat td.heute{outline:2px solid var(--akz);outline-offset:-2px;font-weight:700}
.fz-key.ft{background:#bcd9c2}.fz-key.rt{background:#e3f0e6}.fz-key.we{background:#fff;border-color:var(--akz-d)}
.fz-kw td:first-child{width:4rem}

/* ── Wetter: Stufenfarben (hell) ── */
.fz-pollen td,.fz-uv td,.fz-hitze td{font-variant-numeric:tabular-nums}
.fz-pollen td.p1,.fz-pollen td.p2{background:#eef6e9}.fz-pollen td.p3{background:#fff4c7}.fz-pollen td.p4{background:#ffe2a8}
.fz-pollen td.p5{background:#ffc98f;font-weight:700}.fz-pollen td.p6{background:#f7a88a;font-weight:700}
.fz-uv td.uv3,.fz-uv td.uv4,.fz-uv td.uv5{background:#fff4c7}.fz-uv td.uv6,.fz-uv td.uv7{background:#ffd9a3}
.fz-uv td.uv8,.fz-uv td.uv9,.fz-uv td.uv10{background:#f7b3a0;font-weight:700}.fz-uv td.uv11{background:#e6a5d6;font-weight:700}
.fz-hitze td.h-gering{background:#fff4c7}.fz-hitze td.h-mittel{background:#ffd9a3}.fz-hitze td.h-stark{background:#f7b3a0;font-weight:700}
.fz-hitze td.h-extrem{background:#e6a5d6;font-weight:700}.fz-bio td.b-gef{background:#fff4c7}

/* ── Strompreis je Stunde ── */
.fz-strom tr.min td{background:#e3f0e6;font-weight:700}.fz-strom tr.max td{background:#fde4d8;font-weight:700}
.fz-strom tr.neg td{background:#cfe8d5;font-weight:700;color:var(--gruen)}

/* ── Kalender-SVG (hell) ── */
.fz-kal{width:100%;height:auto;margin:.6rem 0 .3rem;max-width:560px}
.fz-kal .fz-d{fill:#ffffff;stroke:var(--lin);stroke-width:.5}
.fz-kal .fz-we{fill:#efece7}
.fz-kal .fz-fe{fill:#f6c98a}
.fz-kal .fz-sf{fill:#fbe6c6}
.fz-kal .fz-ft{fill:#bcd9c2}
.fz-kal-ax{font-size:9px;fill:var(--mut)}
.fz-legende{font-size:.82rem;color:var(--mut);display:flex;gap:.9rem;flex-wrap:wrap;align-items:center}
.fz-key{display:inline-block;width:.8rem;height:.8rem;border-radius:2px;border:1px solid var(--lin2);
  vertical-align:-.1em;margin-right:.25rem}
.fz-key.fz-fe{background:#f6c98a}.fz-key.fz-sf{background:#fbe6c6}
.fz-key.fz-ft{background:#bcd9c2}.fz-key.fz-we{background:#efece7}
.fz-chart{width:100%;height:auto;max-width:640px;margin:.6rem 0}
.fz-chart .fz-ch-bar{fill:var(--akz);opacity:.85}
.fz-chart .fz-ch-lbl{font-size:11px;fill:var(--txt)}
.fz-chart .fz-ch-val{font-size:11px;fill:var(--mut)}

/* ── Listen und Seitenbausteine ── */
.kacheln{list-style:none;padding:0;display:grid;gap:.4rem 1rem;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr))}
.kacheln li{padding:.3rem 0;border-bottom:1px solid var(--lin)}
.fz-laender,.fz-themen{list-style:none;padding:0;display:grid;gap:0 1rem;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))}
.fz-laender li a,.fz-themen li a{display:flex;align-items:center;min-height:44px;border-bottom:1px solid var(--lin)}
.fz-themen{grid-template-columns:1fr}
.fz-themen li{padding:.2rem 0}
.fz-nav{display:flex;gap:.5rem 1.1rem;flex-wrap:wrap;margin:1.8rem 0 0;padding-top:.9rem;
  border-top:1px solid var(--lin2);font-size:.94rem;font-weight:600}
.fz-nav a{display:inline-flex;align-items:center;min-height:44px}
.fz-quelle,.fz-stand{font-size:.83rem;color:var(--mut);margin:.3rem 0}
.fz-fussnote{font-size:.85rem;color:var(--mut);border-left:2px solid var(--lin2);padding-left:.7rem}
.fz-lead{font-size:1.1rem;color:var(--txt2);margin:.2rem 0 1.2rem}
.fz-antwort{font-size:1.1rem;line-height:1.55;margin:.2rem 0 1.3rem;max-width:var(--schmal);
  padding:.8rem 1rem;background:var(--akz-b);border-left:4px solid var(--akz)}
.fz-antwort strong{color:var(--akz-d)}
.fz-box{border:1px solid var(--lin2);border-left:4px solid var(--akz);background:var(--akz-b);
  padding:.75rem 1rem .6rem;margin:0 0 1.5rem;max-width:var(--schmal)}
.fz-box h2{font-size:1rem;margin:0 0 .35rem}
.fz-box ul{margin:0;padding-left:1.1rem}
.fz-box li{margin:.15rem 0}
.fz-text{max-width:var(--schmal);margin:1.8rem 0 1.6rem;padding-top:.4rem;border-top:1px solid var(--lin)}
.fz-text p{margin:0 0 1rem;line-height:1.66}
.fz-summe{font-size:.92rem;margin:.3rem 0 1.1rem}
.fz-aenderungen,.fz-recht{padding-left:1.1rem;max-width:var(--schmal)}
.fz-aenderungen li,.fz-recht li{margin:.25rem 0}
.fz-hinweis,.fz-recht{font-size:.88rem;color:var(--mut)}
p.fz-recht{padding-left:0}
.fz-eintrag{display:grid;grid-template-columns:minmax(8rem,12rem) 1fr;gap:.15rem .9rem;margin:0 0 .9rem;
  padding:.55rem .7rem;border:1px solid var(--lin);max-width:52rem;font-size:.94rem}
.fz-eintrag dt{color:var(--mut);font-weight:600}
.fz-eintrag dd{margin:0}
ul.fz-eintrag{display:block;list-style:none}
ul.fz-eintrag li{padding:.2rem 0}
.fz-sss{max-width:var(--schmal);margin:2rem 0 1.4rem}
.fz-sss dl{margin:0;border-top:1px solid var(--lin)}
.fz-sss dt{font-weight:700;margin:0;padding:.8rem 0 .2rem}
.fz-sss dd{margin:0;padding:0 0 .8rem;border-bottom:1px solid var(--lin);color:var(--txt2)}
.fz-chips ul{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:.1rem 0 1rem}
.fz-chips a,.fz-chips span{display:inline-flex;align-items:center;min-height:44px;padding:0 .95rem;border:1px solid var(--lin2);
  border-radius:22px;font-weight:700;font-size:.92rem;font-variant-numeric:tabular-nums}
.fz-chips a:hover{border-color:var(--akz);color:var(--akz);text-decoration:none}
.fz-chips span[aria-current]{background:var(--txt);color:#fff;border-color:var(--txt)}
main > .wrap > .fz-stand{margin:-.2rem 0 .8rem}
.fz-verwandt{margin:2rem 0 0}
.fz-verwandt h2{font-family:var(--sans);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin:0 0 .6rem}
.fz-verwandt ul,.fz-jahre{display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:0 0 1rem;list-style:none}
.fz-verwandt li a,.fz-jahre li a{display:inline-flex;align-items:center;min-height:44px;padding:0 .9rem;
  border:1px solid var(--lin2);border-radius:22px;background:var(--pap);font-size:.92rem;font-weight:600}
.fz-verwandt li a:hover,.fz-jahre li a:hover{border-color:var(--akz);color:var(--akz);text-decoration:none}

/* ── Fuß ── */
.fuss{border-top:3px solid var(--txt);background:var(--flae);margin-top:2.4rem;font-size:.9rem;color:var(--mut)}
.fuss-raster{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1.4rem 2rem;padding:1.6rem 0 .6rem}
.fuss-h{font-family:var(--sans);font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;color:var(--txt);margin:0 0 .4rem}
.fuss-raster ul{list-style:none;margin:0;padding:0}
.fuss-raster li a{display:flex;align-items:center;min-height:36px;color:var(--txt2)}
.fuss-in{display:flex;gap:1.2rem;flex-wrap:wrap;justify-content:space-between;padding:1.1rem 0 1.9rem;border-top:1px solid var(--lin2)}
.fuss a{color:var(--mut)}
.fuss-in nav a{display:inline-block;padding:.35rem 0}
.fuss-logo{width:150px;opacity:.75;margin-bottom:.4rem}

/* ── Suche ── */
html.such-offen{overflow:hidden}
.such-schicht{position:fixed;inset:0;z-index:100001;display:flex;justify-content:center;align-items:flex-start;
  padding:8vh 16px 16px;background:rgba(17,17,17,.55)}
.such-schicht[hidden]{display:none}
.such-panel{width:100%;max-width:720px;max-height:84vh;display:flex;flex-direction:column;background:var(--pap);
  border-top:4px solid var(--akz);box-shadow:0 18px 50px rgba(0,0,0,.3)}
.such-form{display:flex;align-items:center;gap:.6rem;padding:.7rem .9rem;border-bottom:1px solid var(--lin)}
.such-form input{flex:1 1 auto;min-width:0;height:44px;border:1px solid var(--lin2);border-radius:6px;padding:0 .8rem;
  font:inherit;font-size:1.05rem;background:var(--pap);color:var(--txt)}
.such-form button{height:44px;min-width:44px;border:0;border-radius:6px;background:var(--txt);color:#fff;font:700 1rem var(--sans);
  padding:0 1rem;cursor:pointer}
.such-zu{font-size:1.5rem!important;padding:0!important;background:none!important;color:var(--txt)!important}
.such-liste{list-style:none;margin:0;padding:.3rem .9rem .8rem;overflow-y:auto}
.such-liste li{border-bottom:1px solid var(--lin);padding:.15rem 0}
.such-liste li a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.such-leer{padding:.8rem 0!important;color:var(--mut)}
main .such-form{padding:0;border:0;max-width:var(--schmal);margin:.4rem 0 1rem}
main .such-liste{padding:0;max-width:var(--schmal)}

/* ── Große Bildschirme: Such-Knopf rechts, Menü mittig ── */
@media (min-width:881px){
  .ress .wrap::before{content:"";flex:none;width:96px}
}

/* ── Schmaler Bildschirm ── */
@media (max-width:880px){
  body{font-size:16.5px}
  .grid-top{grid-template-columns:1fr;gap:1.4rem}
  /* Oberer Streifen: links Datum + KW, rechts zwei Schnellzugriffe untereinander. */
  .ust .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:.8rem;padding-block:.3rem}
  .ust-datum{font-size:.74rem;line-height:1.35}
  .ust-kw{display:block}
  .ust-punkt{display:none}
  .ust nav{flex-direction:column;align-items:flex-end;gap:0;margin-left:0;flex-wrap:nowrap}
  .ust nav a{display:flex;align-items:center;min-height:26px;white-space:nowrap}
  .ust nav .ust-breit{display:none}
  .mast{padding-top:.8rem}
  .mast-alt{font-size:.66rem;letter-spacing:.2em;margin-top:.45rem}
  .mast .wrap::after{margin-top:.7rem}
  /* Navigation: eine Zeile, waagerecht scrollbar, haftet oben (assets/nav.js). */
  .ress{position:sticky;top:0;z-index:60;transition:box-shadow .2s ease}
  .ress--haftet{box-shadow:0 3px 10px rgba(17,17,17,.10)}
  .ress .wrap{padding-inline:2px;gap:0}
  .ress ul{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;gap:1.25rem;padding-inline:10px;min-height:46px;
    scrollbar-width:none;-webkit-overflow-scrolling:touch;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12px,#000 calc(100% - 12px),transparent 100%);
            mask-image:linear-gradient(90deg,transparent 0,#000 12px,#000 calc(100% - 12px),transparent 100%)}
  .ress ul::-webkit-scrollbar{display:none}
  .ress a{font-size:.78rem;white-space:nowrap}
  .ress-ok{display:flex;flex:none;align-items:center;justify-content:center;width:28px;padding:0;border:0;
    background:none;color:var(--akz);cursor:pointer;-webkit-tap-highlight-color:transparent}
  .ress-ok svg{fill:currentColor;width:10px;height:12px}
  .ress-ok--l svg{transform:scaleX(-1)}
  .ress-ok.soluk{color:var(--lin2);cursor:default}
  .ress .such-knopf{height:34px;width:40px;justify-content:center;margin:0 8px 0 2px;padding:0}
  .ress .such-knopf .such-wort{display:none}
  html{scroll-padding-top:56px}
}

/* ── Telefon: Tabellen werden Karten, sonst dichter ── */
@media (max-width:560px){
  .wrap{padding:0 16px}
  .tab th,.tab td,.fz-tab th,.fz-tab td{padding:.45rem .4rem;font-size:.88rem}
  .fz-tab thead th{font-size:.66rem;letter-spacing:.04em}
  .fz-eintrag{grid-template-columns:1fr}
  .fz-eintrag dd{margin-bottom:.3rem}
  .fz-karte,.fz-karte tbody,.fz-karte tr,.fz-karte td,.fz-karte tbody th{display:block;width:100%}
  .fz-karte thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .fz-karte tr{border:1px solid var(--lin);border-radius:6px;margin:0 0 .6rem;padding:.35rem .7rem;background:var(--pap)}
  .fz-karte tbody tr:nth-child(even){background:var(--pap)}
  .fz-karte td,.fz-karte tbody th{border:0;padding:.22rem 0;white-space:normal;position:static}
  .fz-karte td:first-child,.fz-karte tbody th{font-weight:700;font-size:1rem;border-bottom:1px solid var(--lin);padding-bottom:.35rem;margin-bottom:.2rem}
  .fz-karte td[data-e]:not(:first-child)::before{content:attr(data-e) ": ";color:var(--mut);font-size:.8rem;
    text-transform:uppercase;letter-spacing:.04em;font-weight:600}
  .fz-karte tr.fz-aktuell{border-color:var(--akz);box-shadow:inset 3px 0 0 var(--akz)}
  .fz-karte tr.fz-aktuell td,.fz-karte tr.fz-aktuell th{background:transparent;box-shadow:none}
  .fz-scroll:has(> .fz-karte){background:none;overflow:visible}
  .fz-antwort{font-size:1.02rem;padding:.7rem .85rem}
  .fuss-raster{grid-template-columns:1fr 1fr}
}
/* ── Hinweis "als App" (assets/app.js) ── */
.app-band{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:900;max-width:560px;
  margin-inline:auto;display:flex;align-items:center;gap:12px;padding:10px 8px 10px 12px;background:var(--pap);color:var(--txt);
  border:1px solid var(--lin);border-top:3px solid var(--akz);border-radius:10px;box-shadow:0 10px 30px rgba(17,17,17,.2);
  font-size:.88rem;line-height:1.35}
.app-band__ikon{flex:none;width:44px;height:44px;border-radius:10px}
.app-band__text{flex:1 1 auto;min-width:0}
.app-band__text strong{display:block;font-size:.95rem}
.app-band__text span{color:var(--mut);font-size:.82rem}
.app-band__teilen{display:inline-block;width:13px;height:15px;vertical-align:-2px;fill:none;stroke:var(--akz-d);stroke-width:1.6}
.app-band__knopf{flex:none;min-height:44px;padding:0 14px;border:0;border-radius:6px;background:var(--akz);color:#fff;
  font:700 .88rem/1 var(--sans);cursor:pointer}
.app-band__zu{flex:none;align-self:flex-start;width:36px;height:36px;margin:-6px -2px 0 -4px;padding:0;border:0;background:none;
  color:var(--mut);font-size:1.4rem;line-height:1;cursor:pointer}
@media (prefers-reduced-motion:no-preference){.app-band{animation:app-ein .28s ease-out}}
@keyframes app-ein{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
@media print{.ust,.mast,.fuss,.fz-nav,.ress,.fz-verwandt,.app-band{display:none}body{background:#fff;color:#000}}
