@import url("../fonts/zz-glock.css");
/* =============================================================================
   zz-land.css — Land und Sprache (Operator 27.10.2026)
   Varianten per ?land=a|b|c (ZZR-107): c Standard = Overlay von unten (Telefon) /
   Vollbild (ab 900 px); a = Vollseite auf jedem Geraet; b = Karte in der Mitte.
   Raster v1: <600 4 Spalten, Rand 24, Steg 16; ab 900 12 Spalten, Rand 48, Steg 24;
   ab 1280 Rand 64. Paper/Ink (ZZR-057), Glock nur H1 (ZZR-101), eckig, keine
   System-Auswahllisten, Zeilenfall ZZR-106.
   ============================================================================= */
@font-face{font-family:"PP Neue Montreal";src:url("../fonts/PPNeueMontreal-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"PP Neue Montreal";src:url("../fonts/PPNeueMontreal-Semibold.otf") format("opentype");font-weight:500 700;font-display:swap}
@font-face{font-family:"NotoSerifDisplay";src:url("../fonts/NotoSerifDisplay_ExtraCondensed-Bold.ttf") format("truetype");font-weight:700;font-display:swap}
.zzl{--zzl-paper:#F3EEE4;--zzl-ink:#141311;--zzl-mid:color-mix(in srgb,#141311 62%,#F3EEE4);--zzl-line:color-mix(in srgb,#141311 16%,#F3EEE4);
  --zzl-rand:24px;--zzl-steg:16px;--zzl-sans:"PP Neue Montreal",system-ui,sans-serif;
  position:fixed;inset:0;z-index:2147483600;pointer-events:none;font:400 15px/1.6 var(--zzl-sans);color:var(--zzl-ink);letter-spacing:0}
@media (min-width:900px){.zzl{--zzl-rand:48px;--zzl-steg:24px}}
@media (min-width:1280px){.zzl{--zzl-rand:64px}}
.zzl *{box-sizing:border-box;border-radius:0;margin:0}
.zzl p{text-wrap:pretty}
.zzl button,.zzl input{font:inherit;color:inherit}
.zzl button{cursor:pointer}
.zzl :focus-visible{outline:2px solid var(--zzl-ink);outline-offset:2px}
.zzl-schleier{position:absolute;inset:0;background:rgba(20,19,17,.6);opacity:0;transition:opacity .45s}
.zzl-overlay{position:absolute;left:0;right:0;bottom:0;background:var(--zzl-paper);max-height:88svh;display:flex;flex-direction:column;
  transform:translateY(100%);transition:transform .6s cubic-bezier(.65,0,.35,1)}
.zzl.offen{pointer-events:auto}
.zzl.offen .zzl-schleier{opacity:1}
.zzl.offen .zzl-overlay{transform:none}
.zzl-header{flex:none;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;height:64px;padding:0 calc(var(--zzl-rand) - 12px)}
.zzl-wm{grid-column:2;justify-self:center;font-family:"NotoSerifDisplay",Didot,serif;font-weight:700;font-size:18px;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;line-height:1}
.zzl-zu{grid-column:3;justify-self:end;width:48px;height:48px;display:grid;place-items:center;background:none;border:0;padding:0}
.zzl-innen{flex:1;overflow:auto;overscroll-behavior:contain;padding:0 var(--zzl-rand) 24px}
.zzl-text{container-type:inline-size}
.zzl-h1{font-family:var(--zz-h1,"Glock Grotesk"),sans-serif;font-weight:500;text-transform:uppercase;line-height:1.3;letter-spacing:.04em;font-size:min(2rem,9cqi);
  font-variant-ligatures:none;margin-top:16px;text-wrap:balance}
.zzl-satz{color:var(--zzl-mid);margin-top:16px;text-wrap:balance}
.zzl-etikett{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--zzl-mid);margin:48px 0 8px}
.zzl-sprachen{display:flex;gap:24px;height:48px;align-items:center}
.zzl-sprachen button{background:none;border:0;padding:0;height:48px;color:var(--zzl-mid);font-size:16px}
.zzl-sprachen button[aria-pressed=true]{color:var(--zzl-ink);text-decoration:underline;text-underline-offset:.4em;text-decoration-thickness:1px}
.zzl-hinweis{font-size:13px;color:var(--zzl-mid);margin-top:8px}
.zzl-suche{display:flex;align-items:center;gap:16px;height:48px;border-bottom:1px solid var(--zzl-ink)}
.zzl-suche input{border:0;background:none;outline:none;width:100%;font-size:16px;appearance:none}
.zzl-regionen{margin-top:16px}
.zzl-region h2{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--zzl-mid);font-weight:400;margin:24px 0 0;min-height:32px;display:flex;align-items:center;line-height:1.4}
.zzl-region ul{list-style:none;padding:0;margin:0}
.zzl-region li{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;cursor:pointer;font-size:16px;line-height:1.3;padding:8px 0}
.zzl-region li+li{border-top:1px solid var(--zzl-line)}
.zzl-region li[aria-selected=true]{font-weight:500}
.zzl-an{flex:none;width:16px;height:16px;visibility:hidden}
.zzl-region li[aria-selected=true] .zzl-an{visibility:visible}
.zzl-leer{color:var(--zzl-mid);padding:16px 0}
.zzl-footer{flex:none;padding:16px var(--zzl-rand) calc(24px + env(safe-area-inset-bottom,0px))}
.zzl .zzl-speichern{width:100%;height:56px;background:var(--zzl-ink);color:var(--zzl-paper);border:0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.zzl .zzl-speichern:hover,.zzl .zzl-speichern:focus-visible{opacity:.86;color:var(--zzl-paper)}
.zzl-nur-desktop{display:none}
.zzl-feld{display:none}

/* Variante A: Vollseite auf jedem Geraet */
.zzl-v-a .zzl-overlay{top:0;max-height:none}

/* Variante B: Karte in der Mitte, Laenderliste klappt erst auf Wunsch auf */
.zzl-v-b .zzl-overlay{left:16px;right:16px;bottom:auto;top:50%;max-width:520px;margin:0 auto;max-height:calc(100svh - 32px);transform:translateY(-46%);opacity:0;transition:transform .5s cubic-bezier(.65,0,.35,1),opacity .4s}
.zzl-v-b.offen .zzl-overlay{transform:translateY(-50%);opacity:1}
.zzl-v-b .zzl-feld{display:flex;align-items:center;justify-content:space-between;width:100%;height:48px;background:none;border:0;border-bottom:1px solid var(--zzl-ink);padding:0;font-size:16px;text-align:left}
.zzl-v-b .zzl-liste{display:none}
.zzl-v-b.liste-auf .zzl-liste{display:block}
.zzl-v-b.liste-auf .zzl-feld{display:none}
.zzl-v-b .zzl-etikett{margin-top:32px}

@media (min-width:900px){
  .zzl-nur-desktop{display:block}
  .zzl-nur-mobil{display:none}
  .zzl-v-c .zzl-overlay,.zzl-v-a .zzl-overlay{top:0;max-height:none;transform:translateY(24px);opacity:0;transition:transform .5s cubic-bezier(.65,0,.35,1),opacity .4s}
  .zzl-v-c.offen .zzl-overlay,.zzl-v-a.offen .zzl-overlay{transform:none;opacity:1}
  .zzl-v-c .zzl-header,.zzl-v-a .zzl-header{height:80px}
  .zzl-v-c .zzl-innen,.zzl-v-a .zzl-innen{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--zzl-steg);overflow:hidden;padding-bottom:0}
  .zzl-v-c .zzl-links,.zzl-v-a .zzl-links{grid-column:1/span 4;padding-top:32px}
  .zzl-v-c .zzl-links .zzl-speichern,.zzl-v-a .zzl-links .zzl-speichern{margin-top:48px;max-width:360px}
  .zzl-v-c .zzl-rechts,.zzl-v-a .zzl-rechts{grid-column:6/span 7;display:flex;flex-direction:column;min-height:0;padding-top:32px}
  .zzl-v-c .zzl-rechts .zzl-etikett,.zzl-v-a .zzl-rechts .zzl-etikett{margin-top:0}
  .zzl-v-c .zzl-liste,.zzl-v-a .zzl-liste{flex:1;min-height:0;display:flex;flex-direction:column}
  .zzl-v-c .zzl-regionen,.zzl-v-a .zzl-regionen{flex:1;overflow:auto;overscroll-behavior:contain;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--zzl-steg);align-items:start;padding-bottom:48px}
  .zzl-v-c .zzl-region h2,.zzl-v-a .zzl-region h2{margin-top:16px;min-height:40px;align-items:flex-end;padding-bottom:4px}
  .zzl-v-c .zzl-region li,.zzl-v-a .zzl-region li{font-size:14px;min-height:40px}
  .zzl-v-c .zzl-footer,.zzl-v-a .zzl-footer{display:none}
  .zzl-v-c .zzl-h1,.zzl-v-a .zzl-h1{font-size:min(3rem,10cqi)}
  .zzl-voraus .zzl-region h2{margin-top:48px}
  .zzl-voraus .zzl-region li{max-width:360px}
  .zzl-v-b .zzl-nur-desktop{display:none}
  .zzl-v-b .zzl-nur-mobil{display:block}
}
@media (min-width:1280px){.zzl-v-c .zzl-regionen,.zzl-v-a .zzl-regionen{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){.zzl-overlay,.zzl-schleier{transition:none}}
/* B am kleinsten Telefon: mehr Breite, damit kein Satzrest allein steht (ZZR-106). */
@media (max-width:359px){.zzl-v-b .zzl-overlay{left:8px;right:8px}.zzl-v-b .zzl-innen,.zzl-v-b .zzl-footer{padding-left:16px;padding-right:16px}.zzl-v-b .zzl-header{padding:0 4px}}
