/* Bildschirm-Layouts: Bühne 1920 x 1080 (quer) bzw. 1080 x 1920 (hochkant), Einheit --p */
.scr-box { container-type: inline-size; }
.scr, .scr * { box-sizing: border-box; }
.scr { --p: calc(100cqw / 1920); --z: calc(var(--p) * var(--f, 1)); position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; -webkit-font-smoothing: antialiased; }
.scr.portrait { --p: calc(100cqw / 1080); aspect-ratio: 9 / 16; }

/* ---------- Sportwirt ---------- */
.scr.sw { background: #fff; color: #3b3129; font-family: Jost, sans-serif; display: grid; grid-template-columns: calc(var(--p) * 290) minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); }
.sw-band { position: relative; background: #3b3b3b; overflow: hidden; }
.sw-logo { position: absolute; left: calc(var(--p) * 28); top: calc(var(--p) * 28); width: calc(var(--p) * 234); height: calc(var(--p) * 290); border: calc(var(--p) * 2) solid #9d9d9d; display: grid; place-items: center; }
.sw-logo img { width: 72%; }
.sw-vert { position: absolute; left: 50%; top: calc(var(--p) * 360); transform: translateX(-50%) rotate(180deg); writing-mode: vertical-rl; font-family: Jost, sans-serif; font-weight: 300; font-size: calc(var(--p) * 25); letter-spacing: .3em; color: #ededed; white-space: nowrap; }
.sw-fork { position: absolute; left: 50%; transform: translateX(-50%); bottom: 0; width: calc(var(--p) * 88); fill: #cdcdcd; }
.sw-main { display: flex; flex-direction: column; min-height: 0; padding: calc(var(--p) * 64) calc(var(--p) * 90) calc(var(--p) * 44); }
.sw-h1 { font-family: Oswald, sans-serif; font-weight: 300; font-size: calc(var(--p) * 86); line-height: 1; text-transform: uppercase; color: #2e2e2e; white-space: nowrap; }
.sw-h1 span, .sw-date span { margin: 0 .25em; }
.sw-date { font-size: calc(var(--p) * 38); color: #7b7b7b; text-transform: uppercase; letter-spacing: .02em; margin-top: calc(var(--p) * 14); white-space: nowrap; }
.sw-cols { flex: 1; min-height: 0; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: minmax(0, 1fr); gap: calc(var(--p) * 80); margin-top: calc(var(--p) * 26); }
.sw-col { min-height: 0; overflow: hidden; }
.sw-sec { font-weight: 700; font-size: calc(var(--z) * 30); letter-spacing: .07em; text-transform: uppercase; color: #4b4036; margin: calc(var(--z) * 34) 0 calc(var(--z) * 18); padding-bottom: calc(var(--z) * 10); border-bottom: calc(var(--p) * 2) solid #ddd7cf; }
.sw-col > .sw-sec:first-child { margin-top: calc(var(--z) * 12); }
.sw-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: calc(var(--z) * 30); margin-bottom: calc(var(--z) * 26); align-items: baseline; }
.sw-de { font-weight: 600; font-size: calc(var(--z) * 40); line-height: 1.2; }
.sw-it { font-size: calc(var(--z) * 32); line-height: 1.25; color: #6b5f55; margin-top: calc(var(--z) * 4); }
.sw-al { font-size: calc(var(--z) * 19); color: #8a8a8a; letter-spacing: .06em; margin-top: calc(var(--z) * 6); }
.sw-pr { font-size: calc(var(--z) * 38); font-weight: 500; white-space: nowrap; }
.sw-bis { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: calc(var(--z) * 20); font-size: calc(var(--z) * 25); color: #6b5f55; margin-top: calc(var(--z) * 10); }
.sw-bis b { font-weight: 700; color: #3b3129; letter-spacing: .05em; text-transform: uppercase; }
.sw-note { font-size: calc(var(--p) * 24); color: #8a8a8a; text-align: center; line-height: 1.45; white-space: pre-line; margin-top: calc(var(--p) * 16); }
.sw-empty .sw-date { margin-top: calc(var(--p) * 40); }
.scr.sw.portrait { grid-template-columns: calc(var(--p) * 170) minmax(0, 1fr); }
.scr.sw.portrait .sw-logo { left: calc(var(--p) * 16); top: calc(var(--p) * 16); width: calc(var(--p) * 138); height: calc(var(--p) * 172); }
.scr.sw.portrait .sw-vert { top: calc(var(--p) * 250); font-size: calc(var(--p) * 38); }
.scr.sw.portrait .sw-fork { width: calc(var(--p) * 110); }
.scr.sw.portrait .sw-main { padding: calc(var(--p) * 90) calc(var(--p) * 60) calc(var(--p) * 50); }
.scr.sw.portrait .sw-h1 { font-size: calc(var(--p) * 56); }
.scr.sw.portrait .sw-date { font-size: calc(var(--p) * 30); }
.scr.sw.portrait .sw-cols { grid-template-columns: 1fr; margin-top: calc(var(--p) * 30); }

/* ---------- A&P: Stil des Original-PDFs, weißer Grund, Aubergine #3d3245 ---------- */
.scr.ap { --k: #3d3245; background: #fff; color: #111; display: flex; flex-direction: column; padding: calc(var(--p) * 44) calc(var(--p) * 80) calc(var(--p) * 40); }
.s-ph { position: absolute; z-index: 0; pointer-events: none; }
.s-tag { left: calc(var(--p) * -70); bottom: calc(var(--p) * -80); width: calc(var(--p) * 230); }
.s-bowl { right: calc(var(--p) * -70); bottom: calc(var(--p) * -60); width: calc(var(--p) * 290); }
.s-head, .s-cols, .s-note, .s-empty { position: relative; z-index: 1; }
.s-head { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; }
.s-gabel { width: calc(var(--p) * 240); aspect-ratio: 520 / 340; display: block; }
.s-title { display: flex; flex-direction: column; align-items: center; }
.s-title .t1 { display: block; width: calc(var(--p) * 470); aspect-ratio: 2388 / 712; }
.s-title .t2 { font-family: 'Contrail One', sans-serif; text-transform: uppercase; font-style: italic; font-size: calc(var(--p) * 58); line-height: .8; color: #111; align-self: flex-end; margin: calc(var(--p) * -4) calc(var(--p) * 30) 0 0; }
.s-week { text-align: right; font-family: 'League Gothic', sans-serif; text-transform: uppercase; line-height: 1; }
.s-week b { display: block; font-weight: 400; font-size: calc(var(--p) * 58); color: var(--k); white-space: nowrap; }
.s-week span { font-size: calc(var(--p) * 30); color: #8b8490; letter-spacing: .06em; }
.s-cols { flex: 1; min-height: 0; display: grid; grid-template-columns: 1.12fr 1fr 1fr; grid-template-rows: minmax(0, 1fr); gap: calc(var(--p) * 70); margin-top: calc(var(--p) * 24); }
.s-col { min-height: 0; overflow: hidden; }
.s-blk + .s-blk { margin-top: calc(var(--z) * 38); }
.s-h { font-family: 'League Gothic', sans-serif; text-transform: uppercase; font-size: calc(var(--z) * 62); line-height: .92; color: var(--k); display: flex; justify-content: space-between; align-items: baseline; gap: calc(var(--z) * 20); }
.s-hp { font-family: Mont, Montserrat, sans-serif; font-weight: 700; font-size: calc(var(--z) * 30); color: var(--k); }
.s-s { font-family: 'League Gothic', sans-serif; text-transform: uppercase; font-style: italic; font-size: calc(var(--z) * 32); line-height: 1; color: #111; margin: calc(var(--z) * 4) 0 0 calc(var(--z) * 56); }
.s-h3 { font-family: 'League Gothic', sans-serif; text-transform: uppercase; font-size: calc(var(--z) * 38); line-height: 1; color: var(--k); margin-top: calc(var(--z) * 28); }
.s-h3 i, .s-dn i { font-style: italic; }
.s-it { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: calc(var(--z) * 24); margin-top: calc(var(--z) * 18); }
.s-de { font-family: Mont, Montserrat, sans-serif; font-weight: 700; font-size: calc(var(--z) * 27); line-height: 1.25; color: #111; }
.s-pr { grid-column: 2; grid-row: 1; font-family: Mont, Montserrat, sans-serif; font-weight: 700; font-size: calc(var(--z) * 27); white-space: nowrap; color: var(--k); }
.s-itx { grid-column: 1; font-family: Mont, Montserrat, sans-serif; font-style: italic; font-weight: 400; font-size: calc(var(--z) * 23); line-height: 1.3; color: #222; margin-top: calc(var(--z) * 3); }
.s-nudl .s-it { margin-top: calc(var(--z) * 10); }
.s-nudl .s-itx { padding-left: calc(var(--z) * 30); margin-top: 0; }
.s-day { margin-top: calc(var(--z) * 16); padding: calc(var(--z) * 6) 0 calc(var(--z) * 6) calc(var(--z) * 20); border-left: calc(var(--z) * 6) solid transparent; }
.s-day .s-it { margin-top: calc(var(--z) * 6); }
.s-dn { font-family: 'League Gothic', sans-serif; text-transform: uppercase; font-size: calc(var(--z) * 36); line-height: 1; color: var(--k); }
.s-dn em { font-style: normal; background: var(--k); color: #fff; padding: 0 calc(var(--z) * 10); margin-right: calc(var(--z) * 12); }
.s-day.today { border-left-color: var(--k); background: #f3eef6; padding-top: calc(var(--z) * 14); padding-bottom: calc(var(--z) * 14); }
.s-day.past { opacity: .4; }
.s-note { font-family: 'League Gothic', sans-serif; text-transform: uppercase; font-style: italic; font-size: calc(var(--p) * 36); text-align: center; color: var(--k); margin-top: calc(var(--p) * 14); }
.s-note i { color: #111; }
.s-empty { flex: 1; display: grid; place-items: center; font-family: 'League Gothic', sans-serif; text-transform: uppercase; font-size: calc(var(--p) * 60); color: var(--k); }
.scr.ap.portrait { padding: calc(var(--p) * 60) calc(var(--p) * 56) calc(var(--p) * 44); }
.scr.ap.portrait .s-gabel { width: calc(var(--p) * 200); }
.scr.ap.portrait .s-title .t1 { width: calc(var(--p) * 400); }
.scr.ap.portrait .s-week b { font-size: calc(var(--p) * 40); }
.scr.ap.portrait .s-cols { grid-template-columns: 1fr 1fr; grid-template-rows: auto minmax(0, 1fr); gap: calc(var(--p) * 44) calc(var(--p) * 50); margin-top: calc(var(--p) * 40); }
.scr.ap.portrait .s-col:first-child { grid-column: 1 / -1; }
.scr.ap.portrait .s-tag { width: calc(var(--p) * 170); }
.scr.ap.portrait .s-bowl { width: calc(var(--p) * 200); bottom: calc(var(--p) * -70); }
