/*PG-GRAPHIT*/
/* R45 „Hallenlicht x klarer Weg“ – ausschließlich mobil (≤960px). Desktop bleibt R44. Hero (.r7-hero) wird nicht selektiert. */
@font-face { font-family:"R45 Seg"; src:url("../fonts/DSEG7Classic-Regular.woff2") format("woff2"); font-display:swap; }
@font-face { font-family:"R45 Seg14"; src:url("../fonts/DSEG14Classic-Regular.woff2") format("woff2"); font-display:swap; }

.r45-home, .r45-finale, .r45-area, .r45-menu, .r45-timeline, .r45-m, .r45-after-tl { display:none; }

@media (max-width:960px) {
body.r45 {
  --h-night:#2c2a23; --h-hall:#322f27; --h-hall-2:#37352c; --h-table:#4b4636; --h-table-2:#dcc676;
  --h-line:#f9f8f6; --h-casing:#292822; --h-casing-line:#565248;
  --h-neon:#ff9648; --h-neon-hi:#ffc685; --h-glow:0 0 9px rgba(255,120,40,.5);
  --h-rubber:#dcc676; --h-rubber-dark:#474333; --h-bande:#39362f;
  --h-ink:#f4f3ee; --h-ink-2:#d2cec4; --h-ink-3:#aea896; --h-card:rgba(255,255,255,.045); --h-card-line:rgba(255,255,255,.13);
  --h-r:10px; --h-ease:cubic-bezier(.2,.8,.2,1);
  background:var(--h-night); color:var(--h-ink);
}
.r45-home, .r45-finale, .r45-area, .r45-timeline, .r45-m { display:block; }
.r45-after-tl { display:block; }
.r45-menu { display:block; }
body.r45 .r44-sheet .r44-menu-list, body.r45 .r44-sheet .r44-menu-shortcuts, body.r45 .r44-sheet .r40-menu-foot, body.r45 .r44-sheet .r40-menu-scroll { display:none !important; }
body.r45 .r44-home-content { display:none; }
body.r45 .r43-section { display:none !important; }

/* ---------- Grundfläche: dunkle Halle statt Papier ---------- */
body.r45 :is(.r44-main, main#main:not(:has(.r7-hero)), .archive-hub) { background:var(--h-hall); color:var(--h-ink); }
body.r45 main :is(.on-light, .section, .section-tight, .r44-section, .legal-content, .legal-related, .archive-directory, .archive-search-band, .memorial) { background:transparent !important; color:var(--h-ink); }
body.r45 main :is(h1,h2,h3,h4) { color:#fff; }
body.r45 main :is(p, li, address, dd, dt, td, th, figcaption, label, small, blockquote) { color:inherit; }
body.r45 main :is(.lead, .r44-lead, .r44-body-lead, .teaser, .r44-data-status, .archive-group-copy, .contact-help, .contact-route p, .contact-hall-phone, .r44-who small, .r44-when, .role, .credit, .gb-entry, .meta, .legal-document p) { color:var(--h-ink-2) !important; }
body.r45 main a:not([class]) { color:#dfd9c0; }
body.r45 .net { display:none; }

/* Unterseiten-Opener */
body.r45 :is(.r44-intro, .page-hero, .archive-hero) { background:radial-gradient(90% 70% at 20% -10%, rgba(255,214,90,0.12), transparent 70%), var(--h-hall-2) !important; border-bottom:0; padding:22px 0 26px !important; position:relative; }
body.r45 :is(.r44-intro, .page-hero, .archive-hero)::after { content:""; position:absolute; left:0; right:0; bottom:0; height:6px; background:linear-gradient(180deg,var(--h-table-2),var(--h-table)); box-shadow:0 2px 0 var(--h-line); }
body.r45 :is(.r44-intro, .page-hero) .wrap::before { display:none !important; }
body.r45 .page-hero .ball-deco, body.r45 .archive-hero-mark { display:none; }
body.r45 :is(.r44-intro, .page-hero, .archive-hero) h1 { font-size:clamp(32px,9.4vw,42px) !important; line-height:1.02 !important; letter-spacing:-.025em !important; font-weight:860; font-variation-settings:"wdth" 108 !important; -webkit-hyphens:auto; hyphens:auto; overflow-wrap:break-word; text-wrap:balance; color:#fff; max-width:100%; }
body.r45 .archive-hero h1 em { color:var(--h-neon-hi); font-style:normal; }
body.r45 :is(.r44-intro .r44-kicker, .page-hero .kicker, .archive-eyebrow, .r44-kicker, .kicker, .g40-eyebrow, .legal-eyebrow) { color:#f9e376 !important; letter-spacing:.16em; font-size:12px !important; }
body.r45 .r45-kno { display:none; }
body.r45 main .archive-index { display:none !important; }
body.r45 .kicker::before { display:none; }
body.r45 :is(.r44-breadcrumb, .crumbs, .r44-jumps, .page-hero .subnav) { display:none !important; }
body.r45 .r44-intro-media { margin-top:6px; border-radius:var(--h-r); border:0; position:relative; }
body.r45 .r44-intro-media::after { content:""; position:absolute; inset:7px; border:2px solid rgba(255,255,255,.85); border-radius:5px; pointer-events:none; }
body.r45 .r44-intro-media img { height:210px; }
body.r45 .r44-lead, body.r45 .page-hero .lead, body.r45 .archive-intro { color:var(--h-ink-2) !important; font-size:16.5px; margin-top:14px; }

/* Abschnitte */
body.r45 .r44-section { padding:40px 0 !important; border-bottom:1px solid rgba(255,255,255,.08); }
body.r45 .r44-section:nth-of-type(even) { background:var(--h-night) !important; }
body.r45 .r44-section-heading { margin-bottom:20px; }
body.r45 .r44-main h2, body.r45 main .section-head h2, body.r45 main > section h2 { font-size:clamp(26px,7.4vw,32px) !important; line-height:1.06 !important; letter-spacing:-.02em; font-variation-settings:"wdth" 106 !important; -webkit-hyphens:auto; hyphens:auto; overflow-wrap:break-word; }
body.r45 main :is(h1,h2,h3) { max-width:100%; overflow-wrap:break-word; }

/* Karten/Flächen */
body.r45 main :is(.r44-info-card, .r44-result, .r44-fixture, .r44-team-card, .contact-person, .contact-post, .article, .g40-report, .r44-disclosure, .archive-group, .tile, .gb-entry, .legal-block, .person, .r44-board-grid .person) { background:var(--h-card) !important; border:1px solid var(--h-card-line) !important; color:var(--h-ink) !important; box-shadow:none !important; border-radius:var(--h-r) !important; }
body.r45 main :is(.article .body, .article-text .teaser, .r44-info-card p, .r44-team-card p, .contact-person p, .g40-report p) { color:var(--h-ink-2) !important; }
body.r45 main .article .body p, body.r45 main .article .body { color:#e4e2db !important; }
body.r45 main :is(.chip) { background:rgba(255,255,255,.1) !important; color:#eeece5 !important; }
body.r45 main .chip.red { background:rgba(222,200,125,0.2) !important; color:#e6e2cf !important; }
body.r45 main .article summary, body.r45 main .r44-disclosure > summary, body.r45 main .g40-report > summary { color:#fff !important; }
body.r45 main .article summary::after { background:rgba(255,255,255,.14); color:#fff; }
body.r45 main .article-media { background:#35322a; }
body.r45 main .filters button { background:transparent !important; color:#fff !important; box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35) !important; min-height:44px; }
body.r45 main .filters button[aria-pressed="true"] { background:#fff !important; color:var(--h-night) !important; }
body.r45 main :is(.r44-inline-link, .r44-source, .r44-source-link a, .r44-result a, .r44-team-card a, .contact-direct a, .contact-person a, .contact-text-link, .person-body a, .archive-links a, .linklist a) { color:#e3dec8 !important; }
body.r45 main .archive-links a { border-color:rgba(255,255,255,.12) !important; }
body.r45 main .archive-index { color:var(--h-ink-3) !important; background:transparent !important; }
body.r45 main :is(.r44-cta) { background:#fff; color:var(--h-night); border-color:#fff; min-height:52px; }
body.r45 main .r44-cta.is-secondary { background:transparent; color:#fff; border-color:rgba(255,255,255,.7); }
body.r45 main .r44-steps b { background:transparent; border-color:rgba(255,255,255,.35); color:#fff; }
body.r45 main .r44-steps span, body.r45 main .r44-steps strong { color:var(--h-ink) !important; }
body.r45 main .r44-weekdays { display:none; }
body.r45 main :is(input, select, textarea) { background:#302e27 !important; color:#fff !important; border:1px solid rgba(255,255,255,.3) !important; }
body.r45 main :is(input, select, textarea):focus { border-color:var(--h-neon-hi) !important; outline:2px solid rgba(255,198,133,.35); }
body.r45 main :is(.contact-action) { background:var(--h-rubber) !important; border-color:var(--h-rubber) !important; color:#fff !important; }
body.r45 main .contact-draft { background:rgba(63,138,92,.18) !important; color:#cfeedd !important; border-color:rgba(63,138,92,.5) !important; }
body.r45 main .contact-field label, body.r45 main .contact-field label span { color:#fff !important; }
body.r45 main .contact-error { color:#ff9aa2 !important; }
body.r45 main .logo-wall img { background:#fff; border-radius:8px; }
body.r45 main table { color:var(--h-ink); }
body.r45 main :is(th, td) { border-color:rgba(255,255,255,.15) !important; }
body.r45 main hr { border-color:rgba(255,255,255,.15); }

/* Ergebnis-/Spielplan-Karten auf der Spiele-Seite im Tafel-Look */
body.r45 main .r44-result { background:linear-gradient(180deg,#323129,#24231f) !important; border-color:var(--h-casing-line) !important; }
body.r45 main .r44-score { font-family:"R45 Seg", monospace; font-weight:400; font-size:26px !important; color:var(--h-neon); text-shadow:var(--h-glow); letter-spacing:.04em; }
body.r45 main .r44-result[data-outcome="loss"] .r44-score { color:#8b949e; text-shadow:none; }
body.r45 main .r44-result :is(.r44-outcome) { background:transparent !important; color:var(--h-ink-2) !important; border-color:rgba(255,255,255,.25) !important; }
body.r45 main .r44-result[data-outcome="win"] .r44-outcome { color:#33271b !important; background:var(--h-neon) !important; border-color:var(--h-neon) !important; }
body.r45 main .r44-result-head strong, body.r45 main .r44-scoreline .is-ttf { color:#fff !important; }
body.r45 main .r44-scoreline span { color:#d4d0c7; }
body.r45 main .r44-when { background:var(--h-casing); border-radius:6px; padding:9px 6px; justify-items:center; box-shadow:inset 0 0 0 1px var(--h-casing-line); }
body.r45 main .r44-when :is(b,time) { font-family:"R45 Seg", monospace; font-weight:400; font-size:17px !important; color:var(--h-neon) !important; text-shadow:var(--h-glow); }
body.r45 main .r44-when span, body.r45 main .r44-fixture-year { color:#dddbd1 !important; }
body.r45 main .r44-who strong { color:#fff; }
body.r45 main .r44-who .r44-badge { background:var(--h-neon); color:#33271b; border:0; }

/* Restflächen aus R39–R44, die helle Farben hart setzen */
body.r45 main :is(.r44-result-meta span, .r44-match-meta, .r44-result-head, .r44-result-head time, .r44-fixture-year, .g40-note, .tile-count, .contact-tag, .contact-role, .archive-hint, .archive-status, .archive-group-label, .archive-search-heading p, .archive-directory-head p, .r44-archive-note, .r44-archive-note span) { color:var(--h-ink-2) !important; }
body.r45 main :is(.contact-person h3, .contact-arrival h2, .contact-arrival address, .archive-group h3, .legal-document h2, .legal-document h3, .legal-document strong) { color:#fff !important; }
body.r45 main .contact-tag { color:var(--h-neon-hi) !important; }
body.r45 main :is(.contact-arrival a[href^="tel:"], .r44-archive-note a) { color:#e3dec8 !important; }
body.r45 main :is(.archive-search-widget, .legal-document, .legal-imprint, .legal-sidebar, .legal-contents, .legal-opening-note, .linklist a, .archive-results li, .archive-results a, .r44-archive-note) { background:var(--h-card) !important; border-color:var(--h-card-line) !important; color:var(--h-ink) !important; }
body.r45 main .legal-document :is(p, li, dd, address) { color:#e4e2db !important; }
body.r45 main .archive-search-widget label, body.r45 main .archive-search-widget p { color:var(--h-ink-2) !important; }
body.r45 main .archive-search-widget button, body.r45 main .archive-more { background:#fff !important; color:var(--h-night) !important; border-color:#fff !important; }
body.r45 main :is(.linklist a) b, body.r45 main .linklist a small { color:#fff !important; }
body.r45 main .linklist a small { color:var(--h-ink-2) !important; }
body.r45 main .archive-results :is(a, span, small, strong, b) { color:var(--h-ink) !important; }
body.r45 main :is(a span, .ext, .archive-outro p, .contact-form-bottom p, .gb-entry time, .gb-entry header, h2 span, .wrap > p, .prose p, .prose li) { color:var(--h-ink-2) !important; }
body.r45 main a span[aria-hidden="true"], body.r45 main .ext, body.r45 main .r44-cta > span { color:var(--h-neon-hi) !important; }
body.r45 main .r44-cta:not(.is-secondary) > span { color:var(--h-rubber) !important; }
body.r45 main .legal-contents-mobile :is(a, span), body.r45 main .legal-back { color:#fff !important; }
body.r45 main .gb-entry .hp { color:#e3dec8 !important; }
body.r45 main :is(.info-card) { background:var(--h-card) !important; border:1px solid var(--h-card-line) !important; color:var(--h-ink) !important; }
body.r45 main .info-card :is(p, li, span) { color:var(--h-ink-2) !important; }

/* ---------- Header ---------- */
body.r45 .site-header { background:rgba(44,42,35,0.9); border-bottom-color:rgba(255,255,255,.08); }

/* ---------- Dock: 4 Bereiche + Ball ---------- */
body.r45 .dock ul { grid-template-columns:minmax(0,1fr) minmax(0,1fr) 66px minmax(0,1fr) minmax(0,1fr); max-width:100vw; }
body.r45 .dock { width:100vw; max-width:100vw; }
body.r45 .dock a { min-height:48px; }
body.r45 .dock li { display:grid; min-width:0; }
body.r45 .dock li > a { justify-self:stretch; width:auto; min-width:0; margin-inline:2px; }
body.r45 .dock a span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:100%; }
@media (max-width:374px) { body.r45 .dock a { font-size:10px !important; letter-spacing:0 !important; text-transform:none !important; } }
body.r45 .dock a[aria-current] { color:#fff !important; border-color:#8a7c64; border-top-color:#a58f6e; background:linear-gradient(120deg,#413d33,#322f28 58%,#2d2b24) !important; }
body.r45 .dock a[aria-current] svg { color:var(--h-neon-hi) !important; }
body.r45 .dock a span { overflow:hidden; text-overflow:ellipsis; max-width:100%; }

/* ---------- Menü ---------- */
body.r45 .r44-sheet .sheet-panel { background:linear-gradient(180deg,#38362d,#302e26 45%) !important; }
body.r45 .r44-sheet .sheet-head strong { color:#fff; }
body.r45 .r45-menu { flex:1 1 auto; min-height:0; padding:4px 0 calc(16px + env(safe-area-inset-bottom,0px)); overflow:auto; overscroll-behavior:contain; }
.r45-areas { display:grid; gap:6px; }
.r45-ar { display:grid; grid-template-columns:minmax(0,1fr) 48px; align-items:center; border-radius:12px; background:linear-gradient(180deg,#333229,#282620); border:1px solid var(--h-casing-line); }
.r45-ar.is-current { border-color:rgba(255,198,133,.6); box-shadow:inset 3px 0 0 var(--h-neon); }
.r45-ar:not(:has(.r45-ar-more)) { grid-template-columns:1fr; }
.r45-ar-link { display:grid; grid-template-columns:40px minmax(0,1fr); gap:12px; align-items:center; min-height:62px; padding:9px 12px; color:#fff; text-decoration:none; }
.r45-ar-ico { display:grid; place-items:center; width:40px; height:40px; border-radius:9px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); color:#ebe9e2; }
.r45-ar-ico svg { width:21px; height:21px; }
.r45-ar.is-current .r45-ar-ico { color:var(--h-neon-hi); border-color:rgba(255,198,133,.45); }
.r45-ar-link strong { display:block; font-size:17.5px; font-weight:780; line-height:1.15; }
.r45-ar-link small { display:block; margin-top:3px; font-size:12.5px; color:#bcb8a9; line-height:1.3; }
.r45-ar-more { display:grid; place-items:center; width:44px; height:44px; margin-right:4px; border:0; border-radius:50%; background:rgba(255,255,255,.07); color:#fff; cursor:pointer; }
.r45-ar-more svg { width:18px; height:18px; transition:transform .25s var(--h-ease); }
.r45-ar-more[aria-expanded="true"] svg { transform:rotate(45deg); }
.r45-sub { grid-column:1/-1; list-style:none; margin:0; padding:2px 10px 10px 64px; display:grid; gap:2px; }
.r45-sub[hidden] { display:none; }
.r45-sub a { display:flex; align-items:center; min-height:44px; padding:0 10px; border-radius:8px; color:#edebe5; text-decoration:none; font-size:15px; font-weight:600; }
.r45-sub a::before { content:""; width:6px; height:6px; margin-right:10px; border-radius:50%; background:rgba(255,255,255,.35); flex:none; }
.r45-sub a:active { background:rgba(255,255,255,.08); }
.r45-short { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.r45-short a { display:inline-flex; align-items:center; min-height:44px; padding:0 15px; border-radius:999px; border:1px solid rgba(255,255,255,.3); color:#fff; text-decoration:none; font-weight:700; font-size:14px; }
.r45-short a.is-hot { background:var(--h-rubber); border-color:var(--h-rubber); }
.r45-menu-legal { display:flex; gap:18px; margin:14px 0 0; font-size:13px; }
.r45-menu-legal a { display:inline-flex; align-items:center; min-height:44px; color:#d1cdc3; }

/* ---------- Bereichsnavigation (Unterseiten) ---------- */
.r45-area { position:sticky; top:62px; z-index:40; background:rgba(44,42,35,0.94); border-bottom:1px solid rgba(255,255,255,.1); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
.r45-area details { width:min(100% - 32px, 620px); margin:0 auto; }
.r45-area summary { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:50px; list-style:none; cursor:pointer; }
.r45-area summary::-webkit-details-marker { display:none; }
.r45-area-where { display:flex; align-items:center; gap:7px; min-width:0; font-size:14px; color:var(--h-ink-3); white-space:nowrap; overflow:hidden; }
.r45-area-where a { color:var(--h-ink-2); text-decoration:none; font-weight:700; display:inline-flex; align-items:center; min-height:44px; }
.r45-area-where b { color:#fff; font-weight:750; overflow:hidden; text-overflow:ellipsis; }
.r45-area-toggle { display:inline-flex; align-items:center; gap:6px; flex:none; padding:0 12px; min-height:36px; border-radius:999px; border:1px solid rgba(255,255,255,.28); font-size:12.5px; font-weight:750; color:#fff; }
.r45-area-toggle svg { width:14px; height:14px; transition:transform .25s var(--h-ease); }
.r45-area details[open] .r45-area-toggle svg { transform:rotate(45deg); }
.r45-area-grid { list-style:none; margin:0; padding:2px 0 14px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; max-height:calc(100dvh - 62px - 50px - var(--dock-h,72px) - env(safe-area-inset-bottom,0px) - 16px); overflow:auto; overscroll-behavior:contain; }
body.r45 .r45-area .r45-area-grid a { display:flex; align-items:center; min-height:46px; height:100%; padding:8px 12px; border-radius:8px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.14); color:#fff !important; text-decoration:none; font-size:14px; font-weight:650; line-height:1.2; }
body.r45 .r45-area .r45-area-grid a[aria-current] { background:#fff; color:var(--h-night) !important; border-color:#fff; }
body.r45 .r45-area .r45-area-where a { color:var(--h-ink-2) !important; min-width:44px; padding-right:4px; }
body.r45 main :is(.legal-read, .legal-contents-mobile, .legal-contents-mobile summary, .legal-contents-mobile > *) { background:var(--h-card) !important; color:#fff !important; border-color:var(--h-card-line) !important; }

/* ---------- Typo-Bausteine ---------- */
.r45-kick { display:flex; align-items:center; gap:10px; margin:0 0 12px; font:800 12px/1 Archivo, system-ui, sans-serif; letter-spacing:.18em; text-transform:uppercase; color:#e0d3a5; }
.r45-kick::before { content:""; width:22px; height:2px; background:var(--h-line); border-radius:2px; }
.r45-h1 { margin:0; color:#fff; font-weight:860; font-variation-settings:"wdth" 112; letter-spacing:-.03em; line-height:1; font-size:clamp(33px,9.6vw,40px); text-wrap:balance; }
.r45-h2 { margin:0; color:#fff; font-weight:840; font-variation-settings:"wdth" 110; letter-spacing:-.025em; line-height:1.03; font-size:clamp(28px,8vw,34px); text-wrap:balance; }
.r45-h3 { margin:30px 0 12px; color:#fff; font-size:19px; font-weight:800; letter-spacing:-.01em; }
.r45-lead { margin:14px 0 0; color:var(--h-ink-2); font-size:16.5px; line-height:1.55; }
.r45-note { margin:12px 0 0; color:var(--h-ink-3); font-size:13.5px; line-height:1.5; }

/* ---------- Kapitel ---------- */
.r45-edge { position:relative; height:24px; background:var(--h-hall); }
.r45-edge::before { content:""; position:absolute; left:0; right:0; top:0; height:9px; background:linear-gradient(180deg,var(--h-table-2),var(--h-table)); box-shadow:0 2px 0 var(--h-line), 0 10px 18px rgba(0,0,0,.55); }
.r45-ch { position:relative; isolation:isolate; padding:44px 0 50px; background:var(--h-hall); overflow:hidden; }
.r45-ch::before { content:""; position:absolute; inset:0 0 auto; height:340px; z-index:-1; pointer-events:none; background:radial-gradient(60% 70% at 18% -18%, rgba(230,208,154,0.12), transparent 70%), radial-gradient(60% 70% at 82% -22%, rgba(230,208,154,0.1), transparent 70%); }
.r45-ch.is-deep { background:var(--h-night); }
.r45-ch.has-court::after { content:""; position:absolute; left:-20%; right:-20%; bottom:-130px; height:330px; z-index:-1; pointer-events:none; opacity:.5; background:radial-gradient(closest-side, transparent 97%, rgba(222,200,125,0.55) 98%, transparent 100%) 50% 0/520px 300px no-repeat, linear-gradient(90deg, transparent calc(50% - 1px), rgba(85,82,73,0.45) calc(50% - 1px) calc(50% + 1px), transparent calc(50% + 1px)); }
.r45-bande { display:flex; align-items:center; height:44px; padding:0; background:linear-gradient(180deg,#3b3931,#312f28); border-block:3px solid #2c2a24; box-shadow:inset 0 1px 0 rgba(255,255,255,.08); overflow:hidden; white-space:nowrap; }
.r45-bande span { font:860 12.5px/1 Archivo, sans-serif; font-variation-settings:"wdth" 125; letter-spacing:.2em; text-transform:uppercase; color:#f0efec; }
.r45-bande i { width:5px; height:5px; border-radius:50%; background:rgba(255,255,255,.55); flex:none; }
/* Laufband wie eine Hallenbande: gleichmäßig seitlich, nur transform (kein Neuzeichnen), pausiert außerhalb des Sichtbereichs */
.r45-bande-run { display:flex; flex:none; will-change:transform; animation:r45-bande 38s linear infinite; }
.r45-bande-set { display:flex; align-items:center; gap:14px; padding-right:14px; flex:none; }
.r45-bande.is-off .r45-bande-run { animation-play-state:paused; }
@keyframes r45-bande { to { transform:translate3d(-50%,0,0); } }
@media (prefers-reduced-motion: reduce) { .r45-bande-run { animation:none; } .r45-bande { justify-content:center; } }

/* Foto im Tischrahmen */
.r45-plate { position:relative; margin:22px 0 0; border-radius:var(--h-r); overflow:hidden; background:var(--h-table); }
.r45-plate img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.r45-plate::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,transparent 62%,rgba(44,42,35,0.55)); }
.r45-plate figcaption { position:absolute; left:16px; bottom:16px; z-index:2; padding:6px 11px; border-radius:999px; background:rgba(44,42,35,0.84); color:#fff; font-size:12px; letter-spacing:.1em; text-transform:uppercase; }

/* Schritte: ruhige Tischlinie statt Nummern */
.r45-steps { list-style:none; margin:22px 0 0; padding:0 0 0 22px; position:relative; display:grid; gap:14px; }
.r45-steps::before { content:""; position:absolute; left:6px; top:8px; bottom:8px; width:2px; background:rgba(255,255,255,.7); border-radius:2px; }
.r45-steps li { position:relative; font-size:16px; font-weight:650; color:#fff; line-height:1.35; }
.r45-steps li::before { content:""; position:absolute; left:-22px; top:4px; width:14px; height:14px; border-radius:50%; background:radial-gradient(circle at 35% 30%,#fff,#e9e7e2 55%,#c9c5ba); box-shadow:0 2px 4px rgba(0,0,0,.5); }

/* Buttons */
.r45-btns { display:grid; gap:10px; margin-top:24px; }
.r45-btn { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:56px; padding:0 22px; border-radius:999px; font:780 16px/1.1 Archivo, system-ui, sans-serif; text-decoration:none; transition:transform .08s var(--h-ease), box-shadow .08s var(--h-ease), background-color .15s; touch-action:manipulation; }
.r45-btn svg { width:20px; height:20px; flex:none; }
.r45-btn.is-rubber { color:#fff; background:linear-gradient(180deg,#ddc981,var(--h-rubber)); box-shadow:0 4px 0 var(--h-rubber-dark), 0 12px 24px -10px rgba(222,200,125,0.6); }
.r45-btn.is-rubber:active { transform:translateY(3px); box-shadow:0 1px 0 var(--h-rubber-dark); }
.r45-btn.is-line { color:#fff; box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.8); }
.r45-btn.is-line:active { background:rgba(255,255,255,.08); transform:scale(.985); }
.r45-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; color:#fff; font-weight:750; font-size:15px; text-decoration:none; border-bottom:0; }
.r45-link svg { width:18px; height:18px; color:var(--h-neon-hi); }

/* Hallenplan */
.r45-plan { margin-top:4px; }
.r45-switch { display:grid; grid-template-columns:1fr 1fr; gap:4px; padding:4px; border-radius:12px; background:rgba(0,0,0,.3); border:1px solid rgba(255,255,255,.12); }
.r45-switch button { min-height:44px; padding:6px 8px; border:0; border-radius:9px; background:transparent; color:var(--h-ink-2); font:700 13.5px/1.2 Archivo, system-ui, sans-serif; cursor:pointer; }
.r45-switch button[aria-pressed="true"] { background:#fff; color:var(--h-night); }
.r45-slots { display:grid; gap:8px; margin-top:10px; }
.r45-slots[hidden] { display:none; }
.r45-slot { display:grid; grid-template-columns:58px minmax(0,1fr) auto; align-items:center; gap:14px; padding:11px 14px; border-radius:var(--h-r); background:var(--h-card); border:1px solid var(--h-card-line); }
.r45-slot.is-next { border-color:rgba(255,150,72,.7); background:linear-gradient(90deg,rgba(255,150,72,.13),rgba(255,150,72,.02)); }
/* Nur der nächste mögliche Trainingstag leuchtet; die anderen Tage sind „ausgeschaltete“ Segmente */
.r45-day { display:grid; place-items:center; height:46px; border-radius:6px; background:var(--h-casing); box-shadow:inset 0 0 0 1px var(--h-casing-line); font:400 16px/1 "R45 Seg14", monospace; letter-spacing:.08em; color:#aca694; }
.r45-slot.is-next .r45-day { color:var(--h-neon); text-shadow:var(--h-glow); }
.r45-slot-main strong { display:block; color:#fff; font-size:16px; line-height:1.2; }
.r45-slot-main small { display:block; margin-top:3px; color:var(--h-ink-2); font-size:14px; font-variant-numeric:tabular-nums; }
.r45-tables { display:grid; justify-items:end; gap:2px; color:var(--h-ink-3); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.r45-tables b { color:#fff; font-size:18px; letter-spacing:0; }
.r45-today { display:inline-block; margin-left:7px; padding:2px 7px; border-radius:999px; background:var(--h-neon); color:#33271b; font:850 10px/1.4 Archivo, sans-serif; letter-spacing:.1em; text-transform:uppercase; vertical-align:2px; }

/* Spieltafel */
.r45-board { margin-top:14px; border-radius:12px; background:linear-gradient(180deg,#323129,#24231f); border:1px solid var(--h-casing-line); box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 18px 40px -18px #000; overflow:hidden; }
.r45-board-head { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 14px; border-bottom:1px solid #3e3a32; font:800 11.5px/1 Archivo, sans-serif; letter-spacing:.14em; text-transform:uppercase; color:#b3ae9d; }
.r45-live { display:inline-flex; align-items:center; gap:7px; color:#fff; }
.r45-live::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--h-neon); box-shadow:var(--h-glow); }
.r45-res { position:relative; padding:12px 14px 13px 18px; border-top:1px solid #38362d; }
.r45-res:first-child { border-top:0; }
.r45-res::before { content:""; position:absolute; left:0; top:12px; bottom:12px; width:3px; border-radius:0 2px 2px 0; background:#34393f; }
.r45-res[data-out="win"]::before { background:var(--h-neon); box-shadow:var(--h-glow); }
.r45-res-top { display:flex; align-items:baseline; justify-content:space-between; gap:8px; font-size:12.5px; color:#b3ae9d; }
.r45-res-top strong { color:#fff; font-size:12.5px; letter-spacing:.1em; text-transform:uppercase; }
.r45-res-line { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:10px; align-items:center; margin-top:7px; font-size:14px; color:#d4d0c7; }
.r45-res-line span { min-width:0; overflow-wrap:anywhere; line-height:1.25; }
.r45-res-line span:last-child { text-align:right; }
.r45-res-line .is-ttf { color:#fff; font-weight:800; }
.r45-score { font:400 24px/1 "R45 Seg", monospace; letter-spacing:.04em; color:var(--h-neon); text-shadow:var(--h-glow); min-width:3em; text-align:center; font-variant-numeric:tabular-nums; }
.r45-score.is-loss { color:#8b949e; text-shadow:none; }
.r45-res.is-youth .r45-score:not(.is-loss) { color:#e6cc7f; text-shadow:0 0 9px rgba(230,195,114,.5); }
.r45-board-msg { margin:0; padding:18px 14px; color:#a6a190; font-size:14px; }
.r45-board-msg a { color:#e3dec8; }

/* Countdown */
.r45-next { display:grid; gap:12px; margin-top:22px; padding:16px; border-radius:12px; background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025)); border:1px solid rgba(255,255,255,.16); }
.r45-next[hidden] { display:none; }
.r45-next-badge { justify-self:start; padding:5px 10px; border-radius:999px; background:#fff; color:var(--h-night); font:850 11px/1 Archivo, sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.r45-next-teams { color:#fff; font-weight:820; font-size:19px; line-height:1.2; }
.r45-next-teams small { display:block; margin-top:5px; font-weight:500; font-size:14px; color:var(--h-ink-2); }
.r45-cd { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.r45-cd div { display:grid; justify-items:center; gap:6px; padding:10px 4px 9px; border-radius:8px; background:var(--h-casing); box-shadow:inset 0 0 0 1px var(--h-casing-line); }
.r45-cd b { font:400 28px/1 "R45 Seg", monospace; color:var(--h-neon); text-shadow:var(--h-glow); letter-spacing:.04em; }
.r45-cd span { font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#b0ab9a; }

/* Spielerkarten */
.r45-cards { display:grid; grid-auto-flow:column; grid-auto-columns:74%; gap:12px; margin:22px -16px 0; padding:4px 16px 12px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:16px; scrollbar-width:none; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; }
.r45-cards::-webkit-scrollbar { display:none; }
.r45-cards:focus-visible { outline:2px solid var(--h-neon-hi); outline-offset:2px; }
.r45-pcard { scroll-snap-align:start; position:relative; display:grid; border-radius:14px; padding:8px; background:linear-gradient(160deg,#dcc676,#625e4d 60%,#4b463a); box-shadow:0 16px 30px -16px #000, inset 0 0 0 1px rgba(255,255,255,.18); }
.r45-pcard-photo { position:relative; border-radius:8px; overflow:hidden; aspect-ratio:4/5; background:#403d32; }
.r45-pcard-photo img { width:100%; height:100%; object-fit:cover; object-position:50% 4%; }
.r45-pcard-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 52%,rgba(44,42,35,0.88)); }
.r45-initials { display:grid; place-items:center; height:100%; font:860 64px/1 Archivo, sans-serif; color:rgba(255,255,255,.85); letter-spacing:-.03em; background:radial-gradient(circle at 50% 35%, #dcc676, #4b463a 70%); }
.r45-pcard-name { position:absolute; left:18px; right:18px; bottom:70px; z-index:1; }
.r45-pcard-name small { display:block; font:800 11px/1 Archivo, sans-serif; letter-spacing:.16em; text-transform:uppercase; color:#f2efe3; }
.r45-pcard-name strong { display:block; margin-top:6px; color:#fff; font-weight:840; font-variation-settings:"wdth" 110; font-size:21px; line-height:1.05; }
.r45-pcard-foot { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:52px; padding:6px 4px 0 8px; }
.r45-pcard-foot q { font-size:13px; font-style:italic; color:#efece3; quotes:"„" "“"; line-height:1.3; }
.r45-pcard-foot a { display:grid; place-items:center; flex:none; width:44px; height:44px; border-radius:50%; background:var(--h-line); color:var(--h-table); }
.r45-pcard-foot a svg { width:20px; height:20px; }
body.r45 .r45-m .r45-cards { margin-top:0; margin-bottom:10px; }
body.r45 .r45-m + .r44-board-grid { display:none; }

/* Zeitreise-Diashow */
.r45-timeline { background:var(--h-night); padding-bottom:30px; }
.r45-slides { margin-top:22px; }
.r45-track { display:grid; grid-auto-flow:column; grid-auto-columns:88%; gap:12px; padding:0 16px 6px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:16px; scrollbar-width:none; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; }
.r45-track::-webkit-scrollbar { display:none; }
.r45-track:focus-visible { outline:2px solid var(--h-neon-hi); outline-offset:-2px; }
/* Diaprojektor: das Bild wird vollständig auf eine Leinwand „projiziert“ (kein Beschnitt), warmes Projektorlicht */
.r45-slides { position:relative; }
.r45-slides::before { content:""; position:absolute; left:50%; top:-26px; width:130%; height:260px; transform:translateX(-50%); pointer-events:none; background:radial-gradient(ellipse 50% 60% at 50% 0%,rgba(255,238,202,.14),transparent 70%); }
.r45-slide { scroll-snap-align:start; display:grid; grid-template-rows:auto 1fr; border-radius:14px; overflow:hidden; background:linear-gradient(180deg,#32312a,#2d2b25); }
.r45-slide figure { margin:0; position:relative; aspect-ratio:4/3; background:radial-gradient(ellipse 75% 70% at 50% 45%,#414039,#2c2b28 70%,#262420); display:grid; place-items:center; overflow:hidden; }
.r45-slide figure img { position:relative; z-index:1; width:100%; height:100%; object-fit:contain; filter:sepia(.14) saturate(1.05) contrast(1.03) brightness(1.03); transition:opacity .32s ease, filter .32s ease; }
.r45-slide figure::after { content:""; position:absolute; inset:0; z-index:2; pointer-events:none; background:radial-gradient(ellipse 80% 75% at 50% 45%,rgba(255,245,218,.10),transparent 55%,rgba(0,0,0,.42) 100%); }
.r45-slide:not(.is-cur) figure img { opacity:.55; filter:sepia(.3) saturate(.8) brightness(.8); }
.r45-slide-body { position:relative; padding:14px 16px 14px; z-index:1; display:grid; align-content:start; }
.r45-when { justify-self:start; padding:6px 10px; border-radius:6px; background:var(--h-casing); box-shadow:inset 0 0 0 1px var(--h-casing-line); font:800 14px/1 Archivo, sans-serif; letter-spacing:.06em; color:#fff; }
.r45-slide-body h3 { margin:12px 0 0; color:#fff; font-size:20px; line-height:1.15; font-weight:820; letter-spacing:-.01em; }
.r45-slide-body p { margin:8px 0 4px; color:var(--h-ink-2); font-size:15px; line-height:1.5; }
.r45-slide-ui { display:grid; gap:12px; margin-top:14px; }
.r45-rail { position:relative; list-style:none; margin:0; padding:0 4px; display:flex; justify-content:space-between; height:20px; align-items:center; }
.r45-rail::before { content:""; position:absolute; left:10px; right:10px; top:9px; height:2px; background:rgba(255,255,255,.35); }
.r45-rail li { position:relative; display:grid; place-items:center; width:14px; }
.r45-rail i { width:10px; height:10px; border-radius:50%; background:#4c4739; box-shadow:0 0 0 2px var(--h-night); transition:transform .2s var(--h-ease), background-color .2s; }
.r45-rail li.is-cur i { background:radial-gradient(circle at 35% 30%,#fff,#e9e7e2 55%,#c9c5ba); transform:scale(1.45); }
@media (prefers-reduced-motion: reduce) { .r45-slide figure img { transition:none; } }
/* Hero-Karten auf der Platte (nur mobil): großer Pfeil nach oben + „Klick für mehr“, Tageskürzel als Leuchtziffer */
@media (max-width:960px) {
  .r14-home .r14-arrow.r45-up { display:flex; align-items:flex-end; gap:calc(7px * var(--r26-type-scale)); width:auto; height:auto; padding-top:calc(8px * var(--r26-type-scale)); }
  .r14-home .r14-arrow.r45-up svg { width:calc(22px * var(--r26-type-scale)); height:calc(31px * var(--r26-type-scale)); flex:none; color:#fff; }
  .r14-home .r14-arrow.r45-up .r29-arrow-hint { position:static; font-size:calc(11.5px * var(--r26-type-scale)); font-weight:650; letter-spacing:.03em; line-height:1.1; color:#f0eee9; white-space:nowrap; padding-bottom:calc(2px * var(--r26-type-scale)); text-align:left; }
  .r14-home [data-kind="match"] .r14-arrow.r45-up { flex-direction:row-reverse; }
  .r14-home [data-kind="match"] .r14-arrow.r45-up .r29-arrow-hint { text-align:right; }
  html.r14-home body.r45 .r14-card-date .r45-tday { font:400 1em/1 "R45 Seg14", monospace; letter-spacing:.06em; color:#ff8a34 !important; text-shadow:0 0 9px rgba(255,120,40,.55); }
}
.r45-slide-ctrl { display:flex; align-items:center; justify-content:space-between; }
.r45-slide-ctrl button { display:grid; place-items:center; width:48px; height:48px; border-radius:50%; border:1px solid rgba(255,255,255,.35); background:transparent; color:#fff; cursor:pointer; }
.r45-slide-ctrl button:disabled { opacity:.35; }
.r45-slide-ctrl svg { width:20px; height:20px; }
.r45-slide-count { color:var(--h-ink-2); font-size:14px; font-weight:700; font-variant-numeric:tabular-nums; }
.r45-after-tl { padding:0 0 44px; background:var(--h-night); }
body.r45 .r45-home + .r44-home-content { display:none; }
.r45-home .r45-after-tl { width:auto; padding:0 16px 44px; }

/* Schluss-Kapitel */
.r45-finale { position:relative; isolation:isolate; padding:44px 0 40px; text-align:center; background:radial-gradient(130% 90% at 50% 0%, var(--h-table-2) 0%, var(--h-table) 45%, #484437 100%); color:#fff; }
.r45-finale::before { content:""; position:absolute; inset:12px; z-index:-1; border:2px solid var(--h-line); border-radius:6px; background:linear-gradient(90deg, transparent calc(50% - 1px), rgba(255,255,255,.4) calc(50% - 1px) calc(50% + 1px), transparent calc(50% + 1px)) top/100% 40px no-repeat, linear-gradient(90deg, transparent calc(50% - 1px), rgba(255,255,255,.4) calc(50% - 1px) calc(50% + 1px), transparent calc(50% + 1px)) bottom/100% 30px no-repeat; pointer-events:none; }
.r45-fin-crest { width:56px; height:56px; margin:0 auto 14px; }
.r45-finale h2 { margin:0; color:#fff; font:860 30px/1.04 Archivo, system-ui, sans-serif; font-variation-settings:"wdth" 110; letter-spacing:-.03em; text-wrap:balance; }
.r45-fin-days { display:grid; justify-items:center; gap:10px; margin:16px 0 0; font-size:14px; color:#f2efe5; }
.r45-days { display:inline-flex; gap:6px; }
.r45-days span { padding:7px 8px 6px; border-radius:4px; background:var(--h-casing); box-shadow:inset 0 0 0 1px var(--h-casing-line); font:400 14px/1 "R45 Seg14", monospace; letter-spacing:.08em; color:var(--h-neon); text-shadow:var(--h-glow); }
.r45-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:22px auto 0; max-width:420px; }
.r45-act { display:grid; justify-items:center; align-content:center; gap:7px; min-height:72px; padding:8px 4px; border-radius:var(--h-r); background:rgba(44,42,35,0.35); border:1px solid rgba(255,255,255,.35); color:#fff; text-decoration:none; font-size:13.5px; font-weight:760; transition:transform .08s var(--h-ease); }
.r45-act svg { width:22px; height:22px; }
.r45-act.is-primary { background:#fff; color:var(--h-table); border-color:#fff; }
.r45-act:active { transform:scale(.97); }
.r45-fin-addr { margin:16px 0 0; font-size:14px; color:#f2efe5; }
body.r45 .r44-footer { background:var(--h-night); }
body.r45 .r44-footer-top > p { display:none; }

/* Fokus */
body.r45 :is(.r45-btn,.r45-act,.r45-ar-link,.r45-ar-more,.r45-sub a,.r45-short a,.r45-area-grid a,.r45-area summary,.r45-switch button,.r45-slide-ctrl button,.r45-rail button,.r45-link,.r45-pcard-foot a):focus-visible { outline:3px solid var(--h-neon-hi); outline-offset:2px; }

/* Einmaliges Aufdecken: nur Maske + Deckkraft, Glyphen bewegen sich nicht */
.js body.r45 .r45-rv { opacity:0; clip-path:inset(0 0 100% 0); transition:opacity .6s var(--h-ease), clip-path .75s var(--h-ease); }
.js body.r45 .r45-rv.is-in { opacity:1; clip-path:inset(0 0 0 0); }

@media (prefers-reduced-motion:reduce) {
  .js body.r45 .r45-rv { opacity:1; clip-path:none; transition:none; }
  .r45-ar-more svg, .r45-area-toggle svg, .r45-rail i, .r45-btn, .r45-act { transition:none; }
}
}
@media (max-width:374px) {
  body.r45 .r45-cards { grid-auto-columns:82%; }
  .r45-slot { grid-template-columns:52px minmax(0,1fr) auto; gap:10px; padding:10px 11px; }
  .r45-area-grid { grid-template-columns:1fr; }
  .r45-act { font-size:12.5px; }
}

/*PG-TONE-1*/
