/* Prüfstand: Protokoll-Optik, strenges Raster, eckige Formen, Signalgelb als einziger Akzent */
@font-face { font-family: "Barlow Condensed"; font-weight: 600; font-display: swap; src: url(fonts/barlow-condensed-latin-600-normal.woff2) format("woff2"); }
@font-face { font-family: "Barlow Condensed"; font-weight: 700; font-display: swap; src: url(fonts/barlow-condensed-latin-700-normal.woff2) format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-weight: 400; font-display: swap; src: url(fonts/source-sans-3-latin-400-normal.woff2) format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-weight: 400; font-style: italic; font-display: swap; src: url(fonts/source-sans-3-latin-400-italic.woff2) format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-weight: 600; font-display: swap; src: url(fonts/source-sans-3-latin-600-normal.woff2) format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-weight: 700; font-display: swap; src: url(fonts/source-sans-3-latin-700-normal.woff2) format("woff2"); }

:root {
	--papier: #e8eaeb;
	--weiss: #ffffff;
	--tinte: #16191d;
	--graphit: #2b3036;
	--grau: #5d636b;
	--linie: #c9ccd1;
	--fein: #dfe2e4;
	--stahl: #1d4f7a;
	--signal: #ffd200;
	--n1: #1e7a46;
	--n2: #5c8f22;
	--n3: #a67c00;
	--n4: #c45c16;
	--n5: #b0281d;
	--kopf: "Barlow Condensed", "Arial Narrow", sans-serif;
	--text: "Source Sans 3", "Segoe UI", Arial, sans-serif;
	--breite: 1180px;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--papier); color: var(--tinte); font: 400 17px/1.6 var(--text); font-variant-numeric: tabular-nums; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--stahl); text-underline-offset: 2px; }
a:hover { color: var(--tinte); background: var(--signal); text-decoration: none; }
h1, h2, h3 { font-family: var(--kopf); font-weight: 700; line-height: 1.12; letter-spacing: .01em; margin: 1.6em 0 .5em; }
h1 { font-size: clamp(2rem, 4.2vw, 2.9rem); margin: .2em 0 .35em; }
h2 { font-size: 1.7rem; border-top: 3px solid var(--tinte); padding-top: .45em; }
h3 { font-size: 1.3rem; }
p, ul, ol, table, dl, blockquote { margin: 0 0 1em; }
.pz-vh { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pz-sprung:focus { position: fixed !important; left: 8px; top: 8px; width: auto; height: auto; clip: auto; background: var(--signal); color: var(--tinte); padding: 8px 12px; z-index: 99; }
.pz-rahmen { max-width: var(--breite); margin: 0 auto; padding: 0 16px; }
.pz-schmal { max-width: 760px; padding-top: 40px; padding-bottom: 60px; }

/* Kopfleiste und Titelzeile */
.pz-leiste { background: var(--tinte); color: #d9dbde; font-size: .82rem; }
.pz-leiste .pz-rahmen { display: flex; flex-wrap: wrap; gap: 4px 16px; align-items: center; padding-top: 6px; padding-bottom: 6px; }
.pz-leiste a { color: var(--signal); }
.pz-leiste a:hover { color: var(--tinte); }
.pz-leiste__alter { display: inline-block; background: var(--signal); color: var(--tinte); font: 700 .8rem/1 var(--kopf); padding: 3px 5px; }
.pz-leiste__stand { margin-left: auto; color: #9aa0a7; }
.pz-titelzeile { background: var(--weiss); border-bottom: 1px solid var(--linie); position: sticky; top: 0; z-index: 20; }
.pz-titelzeile__innen { display: flex; align-items: center; justify-content: space-between; min-height: 64px; }
.pz-marke-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--tinte); }
.pz-marke-logo:hover { background: none; }
.pz-marke-logo__bild { max-height: 44px; width: auto; }
.pz-marke-logo__zeichen { width: 38px; height: 38px; display: grid; place-items: center; border: 3px solid var(--tinte); font: 700 1.4rem/1 var(--kopf); box-shadow: 4px 4px 0 var(--signal); }
.pz-marke-logo__name { font: 700 1.45rem/1 var(--kopf); text-transform: uppercase; letter-spacing: .04em; }
.pz-menueknopf { display: none; border: 2px solid var(--tinte); background: var(--weiss); font: 700 1rem var(--kopf); text-transform: uppercase; padding: 6px 10px; cursor: pointer; }
.pz-menueknopf span { display: inline-block; width: 16px; height: 2px; background: var(--tinte); box-shadow: 0 -5px 0 var(--tinte), 0 5px 0 var(--tinte); margin-right: 8px; vertical-align: middle; }
.pz-register { background: var(--graphit); }
.pz-register__liste { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; }
.pz-register__liste > li { position: relative; }
.pz-register__liste a { display: block; color: #eef0f2; text-decoration: none; font: 600 1.05rem/1 var(--kopf); text-transform: uppercase; letter-spacing: .05em; padding: 13px 14px 11px; border-bottom: 4px solid transparent; }
.pz-register__liste a:hover, .pz-register__liste .current-menu-item > a, .pz-register__liste .current-menu-ancestor > a { background: none; color: #fff; border-bottom-color: var(--signal); }
.pz-register__liste .sub-menu { display: none; position: absolute; left: 0; top: 100%; min-width: 240px; list-style: none; margin: 0; padding: 6px 0; background: var(--weiss); border: 2px solid var(--tinte); z-index: 30; }
.pz-register__liste li:hover > .sub-menu, .pz-register__liste li:focus-within > .sub-menu { display: block; }
.pz-register__liste .sub-menu a { color: var(--tinte); text-transform: none; letter-spacing: 0; font: 600 .98rem/1.3 var(--text); padding: 7px 14px; border: 0; }
.pz-register__liste .sub-menu a:hover { background: var(--signal); }

/* Pfad und Kopf */
.pz-pfad { font-size: .85rem; color: var(--grau); padding-top: 18px; }
.pz-pfad ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; }
.pz-pfad li + li::before { content: "/"; margin: 0 7px; color: var(--linie); }
.pz-pfad a { color: var(--grau); }
.pz-kopf { padding: 14px 0 6px; max-width: 900px; }
.pz-kennzeile { display: inline-flex; margin: 0 0 10px; font: 700 .85rem/1 var(--kopf); text-transform: uppercase; letter-spacing: .12em; border: 2px solid var(--tinte); }
.pz-kennzeile span { padding: 5px 9px 4px; }
.pz-kennzeile span:first-child { background: var(--signal); border-right: 2px solid var(--tinte); }
.pz-kopf__lead { font-size: 1.15rem; color: var(--graphit); max-width: 760px; }

/* Text */
.pz-textraster { display: grid; gap: 32px; margin: 24px 0; }
.pz-textraster--mit { grid-template-columns: 230px minmax(0, 1fr); }
.pz-textraster__seite { position: relative; }
.pz-textraster__seite .pz-inhalt { position: sticky; top: 120px; }
.pz-text { max-width: 780px; background: var(--weiss); border: 1px solid var(--linie); padding: 8px 32px 24px; }
.pz-text > h2:first-child { margin-top: .9em; }
.pz-text ul li::marker { color: var(--grau); }
.pz-text blockquote { border-left: 6px solid var(--signal); margin-left: 0; padding: 6px 0 6px 16px; color: var(--graphit); }
.pz-text table, .pz-matrix, .pz-datenblatt, .pz-tipps, .pz-liste table { width: 100%; border-collapse: collapse; font-size: .95rem; background: var(--weiss); }
.pz-text th, .pz-text td, .pz-matrix th, .pz-matrix td, .pz-datenblatt th, .pz-datenblatt td, .pz-tipps th, .pz-tipps td, .pz-liste th, .pz-liste td { border: 1px solid var(--linie); padding: 7px 10px; text-align: left; vertical-align: top; }
.pz-text thead th, .pz-matrix thead th, .pz-tipps thead th, .pz-liste thead th { background: var(--graphit); color: #fff; font: 600 .95rem/1.2 var(--kopf); text-transform: uppercase; letter-spacing: .05em; border-color: var(--graphit); }
.pz-text tbody tr:nth-child(even) td { background: #f4f5f6; }
.pz-text { overflow-wrap: break-word; }
.pz-inhalt { border: 2px solid var(--tinte); background: var(--weiss); padding: 12px 14px; font-size: .9rem; }
.pz-inhalt__titel { font: 700 1rem var(--kopf); text-transform: uppercase; letter-spacing: .1em; margin: 0 0 6px; }
.pz-inhalt ol { margin: 0; padding-left: 20px; }
.pz-inhalt li { margin: 3px 0; }

/* Knöpfe, Marken, Chips */
.pz-knopf { display: inline-block; background: var(--tinte); color: #fff; text-decoration: none; font: 700 1.05rem/1 var(--kopf); text-transform: uppercase; letter-spacing: .06em; padding: 13px 18px 11px; border: 2px solid var(--tinte); box-shadow: 4px 4px 0 var(--signal); }
.pz-knopf:hover { background: var(--signal); color: var(--tinte); box-shadow: 4px 4px 0 var(--tinte); }
.pz-knopf--klein { font-size: .9rem; padding: 8px 10px 7px; box-shadow: 3px 3px 0 var(--signal); }
.pz-knopf--still { background: var(--weiss); color: var(--tinte); box-shadow: none; }
.pz-weiter { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 18px 0; }
.pz-weiter__hinweis { font-size: .8rem; color: var(--grau); }
.pz-marke { display: inline-block; font: 700 .85rem/1 var(--kopf); text-transform: uppercase; letter-spacing: .06em; padding: 4px 7px 3px; border: 2px solid; }
.pz-marke--ok { color: var(--n1); }
.pz-marke--warn { color: var(--n5); }
.pz-chip { display: inline-block; min-width: 2.6em; text-align: center; color: #fff; font: 700 1rem/1 var(--kopf); padding: 5px 6px 4px; }
.pz-n0 { --nf: var(--grau); } .pz-n1 { --nf: var(--n1); } .pz-n2 { --nf: var(--n2); } .pz-n3 { --nf: var(--n3); } .pz-n4 { --nf: var(--n4); } .pz-n5 { --nf: var(--n5); }
.pz-chip { background: var(--nf, var(--grau)); }

/* Prüfsiegel */
.pz-siegel { width: 150px; flex: 0 0 auto; display: flex; flex-direction: column; align-items: stretch; text-align: center; background: var(--weiss); border: 3px solid var(--tinte); box-shadow: 6px 6px 0 var(--signal); }
.pz-siegel__kopf { background: var(--tinte); color: #fff; font: 700 .85rem/1 var(--kopf); letter-spacing: .2em; text-transform: uppercase; padding: 7px 0 6px; }
.pz-siegel__zahl { font: 700 3.4rem/1 var(--kopf); padding: 12px 0 0; }
.pz-siegel__wort { font: 700 1.15rem/1.2 var(--kopf); text-transform: uppercase; letter-spacing: .06em; padding: 2px 0 10px; }
.pz-siegel__fuss { background: var(--nf, var(--grau)); color: #fff; font: 600 .72rem/1.2 var(--text); padding: 5px 4px; }
.pz-siegel--klein { width: 96px; box-shadow: 4px 4px 0 var(--signal); }
.pz-siegel--klein .pz-siegel__zahl { font-size: 2rem; padding-top: 6px; }
.pz-siegel--klein .pz-siegel__wort { font-size: .8rem; padding-bottom: 6px; }
.pz-siegel--klein .pz-siegel__fuss { display: none; }

/* Befund im Prüfbericht */
.pz-befund { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 24px; margin: 18px 0 10px; }
.pz-befund__urteil { display: flex; gap: 22px; align-items: flex-start; background: var(--weiss); border: 1px solid var(--linie); padding: 20px; }
.pz-urteil { flex: 1; min-width: 0; }
.pz-urteil__titel, .pz-tafel__titel, .pz-verweise__titel, .pz-protokoll__titel, .pz-liste__titel { font: 700 1rem/1 var(--kopf); text-transform: uppercase; letter-spacing: .12em; margin: 0 0 10px; }
.pz-urteil__fazit { font-size: 1.05rem; font-weight: 600; }
.pz-urteil__spalten { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.pz-urteil__plus, .pz-urteil__minus { font: 700 .95rem var(--kopf); text-transform: uppercase; margin: 0 0 4px; }
.pz-urteil__plus { color: var(--n1); } .pz-urteil__minus { color: var(--n5); }
.pz-plus, .pz-minus { list-style: none; padding: 0; margin: 0; font-size: .93rem; }
.pz-plus li, .pz-minus li { padding-left: 20px; position: relative; margin-bottom: 5px; }
.pz-plus li::before, .pz-minus li::before { position: absolute; left: 0; top: 0; font-weight: 700; }
.pz-plus li::before { content: "+"; color: var(--n1); } .pz-minus li::before { content: "\2212"; color: var(--n5); }
.pz-datenblatt caption, .pz-matrix caption { text-align: left; font: 700 1rem var(--kopf); text-transform: uppercase; letter-spacing: .12em; padding: 0 0 8px; }
.pz-datenblatt th { width: 44%; font-weight: 600; background: #eef0f1; }
.pz-aktion { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; background: var(--weiss); border: 2px solid var(--tinte); padding: 14px 18px; margin: 18px 0; }
.pz-aktion p { margin: 0; font-size: .9rem; color: var(--grau); }
.pz-warnung { border: 3px solid var(--n5); background: #fff6f4; padding: 14px 18px; margin: 18px 0; }
.pz-warnung__titel { color: var(--n5); font: 700 1.15rem var(--kopf); text-transform: uppercase; letter-spacing: .06em; margin: 0 0 4px; }
.pz-warnung p:last-child { margin: 0; }
.pz-matrixblock { max-width: 780px; margin: 0 0 24px; }
.pz-matrix td b { margin-left: 8px; }
.pz-matrix tfoot th, .pz-matrix tfoot td { background: var(--signal); font-weight: 700; }
.pz-balken { display: inline-block; vertical-align: middle; width: 110px; height: 10px; background: var(--fein); }
.pz-balken span { display: block; height: 100%; background: var(--nf, var(--grau)); }
.pz-matrix__fuss { font-size: .85rem; color: var(--grau); }
.pz-bezug { display: flex; gap: 16px; align-items: center; background: var(--weiss); border: 1px solid var(--linie); padding: 12px 16px; margin: 14px 0; }
.pz-bezug p { margin: 0; }

/* Vergleichstabelle */
.pz-vorab { margin: 16px 0 6px; }
.pz-liste td { vertical-align: middle; }
.pz-liste__rang { font: 700 1.5rem/1 var(--kopf); width: 56px; text-align: center !important; background: #eef0f1; }
.pz-liste__name a { font-weight: 700; }
.pz-liste__name small, .pz-liste td small { display: block; color: var(--grau); font-size: .8rem; }
.pz-liste__aktion { width: 1%; white-space: nowrap; }
.pz-liste__fuss { font-size: .8rem; color: var(--grau); margin-top: 6px; }

/* Karteikarten */
.pz-index { margin: 14px 0 6px; }
.pz-kartei { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; }
.pz-kartei__karte { position: relative; background: var(--weiss); border: 1px solid var(--linie); border-top: 4px solid var(--tinte); padding: 14px 14px 12px 14px; }
.pz-kartei__nr { position: absolute; right: 10px; top: 8px; font: 700 1.6rem/1 var(--kopf); color: var(--fein); }
.pz-kartei__karte a { font: 700 1.2rem/1.15 var(--kopf); text-decoration: none; color: var(--tinte); display: block; padding-right: 36px; }
.pz-kartei__karte a::after { content: ""; position: absolute; inset: 0; }
.pz-kartei__karte:hover { border-top-color: var(--signal); }
.pz-kartei__karte:hover a { background: none; }
.pz-kartei__karte p { margin: 6px 0 0; font-size: .9rem; color: var(--grau); }

/* Spielautomat */
.pz-geraet { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; margin: 16px 0 6px; align-items: start; }
.pz-geraet__bild { margin: 0; border: 3px solid var(--tinte); background: var(--weiss); }
.pz-skala { margin-top: 12px; }
.pz-skala__titel { font: 700 .85rem var(--kopf); text-transform: uppercase; letter-spacing: .12em; }
.pz-skala ol { list-style: none; padding: 0; margin: 6px 0 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 3px; }
.pz-skala li { font-size: .78rem; text-align: center; padding: 6px 2px; background: var(--fein); color: var(--grau); }
.pz-skala li.an { background: var(--tinte); color: #fff; }
.pz-skala li.an:last-of-type { background: var(--signal); color: var(--tinte); }

/* Feeds */
.pz-feed { border: 2px solid var(--tinte); background: var(--weiss); padding: 14px 16px; margin: 18px 0; }
.pz-feed__stand { font: 700 .9rem var(--kopf); text-transform: uppercase; letter-spacing: .08em; }
.pz-feed__hinweis { font-size: .8rem; color: var(--grau); margin: 10px 0 0; }
.pz-feed__leer { color: var(--grau); }
.pz-ziehung { border-top: 1px solid var(--fein); padding: 10px 0; }
.pz-ziehung__kopf { margin: 0 0 6px; }
.pz-zahlen { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.pz-zahlen li, .pz-zahlen b { width: 40px; height: 40px; display: inline-grid; place-items: center; border: 2px solid var(--tinte); font: 700 1.25rem/1 var(--kopf); background: var(--weiss); }
.pz-zahlen--zusatz b { background: var(--signal); }
.pz-ziehung__zusatz { margin: 8px 0 0; }
.pz-ziehung__extras { display: grid; grid-template-columns: auto 1fr; gap: 2px 12px; margin: 8px 0 0; font-size: .95rem; }
.pz-ziehung__extras dt { font-weight: 600; }
.pz-ziehung__extras dd { margin: 0; letter-spacing: .12em; font-weight: 700; }

/* Fragen, Verweise, Protokoll */
.pz-fragen { max-width: 1040px; margin: 30px 0; }
.pz-fragen dl { margin: 0; border-top: 2px solid var(--tinte); }
.pz-fragen__paar { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--linie); }
.pz-fragen dt { font-weight: 700; }
.pz-fragen dt span { display: inline-block; font: 700 .8rem/1 var(--kopf); background: var(--tinte); color: #fff; padding: 3px 5px 2px; margin-right: 8px; vertical-align: 2px; }
.pz-fragen dd { margin: 0; }
.pz-verweise { margin: 24px 0; }
.pz-verweise ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pz-verweise li a { display: inline-block; border: 1px solid var(--tinte); padding: 6px 10px; text-decoration: none; color: var(--tinte); background: var(--weiss); font-weight: 600; font-size: .92rem; }
.pz-verweise li a:hover { background: var(--signal); }
.pz-protokoll { border: 2px dashed var(--grau); padding: 16px 18px; margin: 30px 0 50px; background: var(--weiss); }
.pz-protokoll__raster { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 20px; align-items: start; }
.pz-protokoll__person { display: flex; gap: 12px; align-items: center; }
.pz-protokoll__person img, .pz-protokoll__platzhalter { width: 64px; height: 64px; border: 2px solid var(--tinte); object-fit: cover; }
.pz-protokoll__platzhalter { display: grid; place-items: center; font: 700 1.8rem var(--kopf); background: var(--signal); }
.pz-protokoll__person p { margin: 0; }
.pz-protokoll dl { display: grid; grid-template-columns: auto 1fr; gap: 4px 14px; margin: 0; font-size: .92rem; }
.pz-protokoll dt { font: 700 .9rem var(--kopf); text-transform: uppercase; letter-spacing: .08em; color: var(--grau); }
.pz-protokoll dd { margin: 0; }

/* Startseite */
.pz-tafel { background: var(--weiss); border-bottom: 1px solid var(--linie); padding: 34px 0; }
.pz-tafel__raster { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 36px; align-items: start; }
.pz-tafel__wege { list-style: none; padding: 0; margin: 18px 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; max-width: 520px; }
.pz-tafel__wege a { display: block; border: 2px solid var(--tinte); padding: 10px 12px; font: 700 1.1rem var(--kopf); text-transform: uppercase; letter-spacing: .05em; color: var(--tinte); text-decoration: none; }
.pz-tafel__wege a::after { content: " \2192"; }
.pz-tafel__noten { border: 3px solid var(--tinte); padding: 16px; box-shadow: 8px 8px 0 var(--signal); background: var(--weiss); }
.pz-notenliste { list-style: none; counter-reset: n; padding: 0; margin: 0; }
.pz-notenliste li { counter-increment: n; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--fein); }
.pz-notenliste li::before { content: counter(n, decimal-leading-zero); font: 700 1.1rem var(--kopf); color: var(--grau); width: 30px; }
.pz-notenliste li a { flex: 1; font-weight: 700; }
.pz-tafel__fuss { margin: 10px 0 0; font-size: .9rem; }
.pz-zahlenband { background: var(--tinte); color: #fff; }
.pz-zahlenband ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pz-zahlenband li { padding: 20px 16px; border-left: 1px solid #3c424a; }
.pz-zahlenband li:first-child { border-left: 0; }
.pz-zahlenband b { display: block; font: 700 2.3rem/1 var(--kopf); color: var(--signal); }
.pz-zahlenband span { font-size: .9rem; color: #c9cdd2; }

/* Wettrechner */
.pz-rechner { border: 2px solid var(--tinte); background: var(--weiss); padding: 16px; margin: 18px 0; display: grid; gap: 10px; }
.pz-rechner fieldset { border: 0; padding: 0; margin: 0; display: flex; gap: 16px; flex-wrap: wrap; }
.pz-rechner legend { font: 700 .9rem var(--kopf); text-transform: uppercase; letter-spacing: .1em; margin-bottom: 4px; }
.pz-rechner label { display: flex; flex-direction: column; gap: 4px; font-weight: 600; font-size: .92rem; }
.pz-rechner fieldset label, .pz-rechner__steuer { flex-direction: row !important; align-items: center; }
.pz-rechner input[type=text] { font: 600 1.1rem var(--text); border: 2px solid var(--tinte); padding: 7px 9px; max-width: 220px; background: #fff; }
.pz-rechner__quoten { display: flex; flex-wrap: wrap; gap: 10px; }
.pz-rechner__ergebnis th { width: 50%; }
.pz-rechner__ergebnis td { font-weight: 700; }
.pz-rechner__hinweis { font-size: .8rem; color: var(--grau); margin: 0; }

/* Fußzeile */
.pz-fusszeile { background: var(--graphit); color: #c9cdd2; padding: 36px 0 24px; font-size: .92rem; }
.pz-fusszeile a { color: #fff; }
.pz-fusszeile a:hover { color: var(--tinte); }
.pz-fusszeile__raster { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 28px; }
.pz-fusszeile__name { font: 700 1.4rem var(--kopf); color: #fff; text-transform: uppercase; letter-spacing: .05em; margin: 0 0 6px; }
.pz-fusszeile__titel { font: 700 .95rem var(--kopf); text-transform: uppercase; letter-spacing: .12em; color: #fff; margin: 0 0 8px; }
.pz-fusszeile ul { list-style: none; padding: 0; margin: 0; }
.pz-fusszeile li { padding: 3px 0; }
.pz-fusszeile__regeln b { color: var(--signal); }
.pz-fusszeile__warnung { border-top: 1px solid #454b53; margin-top: 24px; padding-top: 16px; }
.pz-fusszeile__klein { font-size: .8rem; color: #8f959c; }
.pz-fehler h1 { margin-top: .3em; }

/* Schmale Bildschirme */
@media (max-width: 900px) {
	.pz-textraster--mit { grid-template-columns: minmax(0, 1fr); }
	.pz-textraster__seite { display: none; }
	.pz-befund, .pz-geraet, .pz-tafel__raster, .pz-protokoll__raster { grid-template-columns: minmax(0, 1fr); }
	.pz-fusszeile__raster { grid-template-columns: 1fr; }
	.pz-zahlenband ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pz-zahlenband li:nth-child(3) { border-left: 0; }
	.pz-menueknopf { display: inline-block; }
	.pz-register { display: none; }
	.pz-register.offen { display: block; }
	.pz-register__liste { flex-direction: column; padding: 6px 0 12px; }
	.pz-register__liste .sub-menu { display: block; position: static; border: 0; background: transparent; padding: 0 0 6px 12px; }
	.pz-register__liste .sub-menu a { color: #d9dbde; padding: 6px 14px; }
	.pz-titelzeile { position: relative; }
}
@media (max-width: 640px) {
	body { font-size: 16px; }
	.pz-text { padding: 4px 16px 16px; border-left: 0; border-right: 0; margin: 0 -16px; }
	.pz-befund__urteil { flex-direction: column; }
	.pz-urteil__spalten, .pz-fragen__paar { grid-template-columns: 1fr; gap: 6px; }
	.pz-leiste__stand { display: none; }
	.pz-liste table, .pz-liste tbody, .pz-liste tr, .pz-liste td, .pz-tipps, .pz-tipps tbody, .pz-tipps tr, .pz-tipps td { display: block; width: 100%; }
	.pz-liste thead, .pz-tipps thead { display: none; }
	.pz-liste tr, .pz-tipps tr { border: 2px solid var(--tinte); margin-bottom: 10px; background: var(--weiss); }
	.pz-liste td, .pz-tipps td { border: 0; border-bottom: 1px solid var(--fein); }
	.pz-liste td[data-l]::before, .pz-tipps td[data-l]::before { content: attr(data-l); display: block; font: 700 .75rem var(--kopf); text-transform: uppercase; letter-spacing: .1em; color: var(--grau); }
	.pz-liste__rang { text-align: left !important; width: auto; }
	.pz-liste__aktion { width: auto; }
	.pz-text table { display: block; overflow-x: auto; }
	.pz-tafel__wege { grid-template-columns: 1fr; }
	.pz-balken { width: 70px; }
}

/* Titelbilder */
.pz-kopf--bild { max-width: none; display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 28px; align-items: center; }
.pz-kopf__bild { margin: 0; border: 3px solid var(--tinte); background: var(--weiss); box-shadow: 6px 6px 0 var(--signal); }
.pz-kopf__bild img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.pz-kartei__bild { width: calc(100% + 28px); max-width: none; margin: -14px -14px 10px; aspect-ratio: 16 / 9; object-fit: cover; border-bottom: 1px solid var(--linie); }
.pz-fehler__bild { margin: 16px 0; border: 2px solid var(--tinte); }
@media (max-width: 900px) { .pz-kopf--bild { grid-template-columns: minmax(0, 1fr); } .pz-kopf__bild { max-width: 520px; } }

/* Betreiberlogos */
.pz-logo { display: block; width: 120px; height: 40px; object-fit: contain; object-position: left center; margin-bottom: 4px; }
.pz-datenblatt__logo { margin: 0 0 8px; }
.pz-datenblatt__logo .pz-logo { width: 180px; height: 60px; }

/* Porträt auf /redaktion/ */
.pz-portraet { display: flex; gap: 14px; align-items: center; margin: 10px 0 0; }
.pz-portraet img { width: 120px; height: 120px; border: 3px solid var(--tinte); box-shadow: 5px 5px 0 var(--signal); object-fit: cover; }
.pz-portraet figcaption { font-size: .9rem; color: var(--grau); max-width: 360px; }

/* Keine Silbentrennung mitten im Wort: Namen, Kopfzeilen und Zellen brechen nur an Leerzeichen */
.pz-text table, .pz-liste table, .pz-matrix, .pz-datenblatt, .pz-tipps { word-break: normal; overflow-wrap: normal; hyphens: manual; }
.pz-text thead th, .pz-liste thead th, .pz-matrix thead th, .pz-tipps thead th { white-space: nowrap; }
.pz-liste { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.pz-liste table { min-width: 760px; }
.pz-liste__name { min-width: 150px; white-space: nowrap; }
.pz-liste__name a { white-space: nowrap; }
.pz-liste__name small { white-space: nowrap; }
.pz-liste td:nth-child(3) { white-space: nowrap; }
.pz-liste td:nth-child(4) { min-width: 220px; }
.pz-liste td:nth-child(5) { min-width: 150px; }
.pz-liste .pz-logo { width: 130px; height: 36px; }
.pz-notenliste li a, .pz-kartei__karte a, .pz-pfad li, .pz-chip, .pz-marke, .pz-knopf { overflow-wrap: normal; word-break: normal; }
.pz-text td a, .pz-datenblatt td { overflow-wrap: break-word; }
@media (max-width: 640px) {
	.pz-liste table { min-width: 0; }
	.pz-liste__name, .pz-liste td:nth-child(4), .pz-liste td:nth-child(5) { min-width: 0; }
}
/* Textspalte nie breiter als der Bildschirm: Tabellen scrollen in sich */
.pz-textraster { grid-template-columns: minmax(0, 1fr); }
.pz-textraster--mit { grid-template-columns: 230px minmax(0, 1fr); }
.pz-text, .pz-feed, .pz-liste, .pz-vorab, .pz-befund > * { min-width: 0; }
.pz-feed { overflow-x: auto; }
@media (max-width: 900px) { .pz-textraster--mit { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) { .pz-text thead th { white-space: normal; } }
/* Vergleichstabelle passt in die Textspalte, ohne Scrollen auf dem Desktop */
.pz-text { max-width: 860px; }
.pz-liste table { min-width: 700px; }
.pz-liste td:nth-child(4) { min-width: 180px; }
.pz-liste td:nth-child(5) { min-width: 130px; }
@media (max-width: 640px) { .pz-liste table { min-width: 0; } .pz-liste td:nth-child(4), .pz-liste td:nth-child(5) { min-width: 0; } }
