/*PG-GRAPHIT*/
/* DK 03.10.: Ergebnis-Seite – Herren/Jugend als zwei Hallentafeln zum Aufklappen (Graphit & Gold). */
.gs { --gs-gold:#cbbc9a; --gs-gold-2:#c9ab65; --gs-lemon:#efe296; --gs-loss:#e07a5f; --win:#7fcf8f; --win2:#4fa865; --gs-ink:#f4f1e8; --gs-ink-2:#cfc9b8; --gs-ink-3:#a39d8c;
  display:grid; gap:18px; margin-top:22px; }
@media (min-width:961px) { .gs { grid-template-columns:1fr 1fr; align-items:start; gap:26px; } }
.gs-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

.gs-board { --acc:var(--gs-gold); position:relative; border-radius:18px; overflow:hidden; color:var(--gs-ink);
  background:radial-gradient(120% 70% at 0% 0%, color-mix(in srgb, var(--acc) 16%, transparent), transparent 60%),
             linear-gradient(170deg, #57534a, #423f37 55%, #3a3832);
  box-shadow:0 18px 40px -22px rgba(0,0,0,.75), inset 0 0 0 1px rgba(203,188,154,.20), inset 0 1px 0 rgba(255,245,218,.08); }
.gs-board[data-gs-group="jugend"] { --acc:var(--gs-lemon);
  background:radial-gradient(120% 70% at 100% 0%, color-mix(in srgb, var(--acc) 15%, transparent), transparent 60%),
             linear-gradient(190deg, #57534a, #423f37 55%, #3a3832); }
/* Leuchtkante oben: Gold verläuft ins Graphit */
.gs-board::before { content:""; position:absolute; inset:0 0 auto 0; height:3px; background:linear-gradient(90deg, var(--acc), color-mix(in srgb, var(--acc) 35%, transparent) 45%, transparent 85%); }
.gs-board[data-gs-group="jugend"]::before { background:linear-gradient(270deg, var(--acc), color-mix(in srgb, var(--acc) 35%, transparent) 45%, transparent 85%); }

.gs-toggle { all:unset; box-sizing:border-box; display:grid; grid-template-columns:1fr auto; gap:14px 12px; width:100%; padding:20px 18px 18px; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.gs-toggle:focus-visible { outline:2px solid var(--acc); outline-offset:-4px; border-radius:16px; }
.gs-head { display:grid; gap:4px; min-width:0; }
.gs-kick { font:800 11px/1.2 Archivo, sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--acc); display:flex; gap:10px; align-items:center; }
.gs-count { color:var(--gs-ink-3); letter-spacing:.12em; }
.gs-title { font:900 clamp(30px, 8.4vw, 40px)/1 Archivo, sans-serif; letter-spacing:-.01em; color:var(--gs-ink); margin:0; }
.gs-chev { align-self:start; display:grid; place-items:center; width:42px; height:42px; border-radius:50%;
  background:color-mix(in srgb, var(--acc) 14%, transparent); box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--acc) 45%, transparent); color:var(--acc); }
.gs-chev svg { width:18px; height:18px; transition:transform .45s cubic-bezier(.2,.7,.2,1); }
.gs-board.is-open .gs-chev svg { transform:rotate(180deg); }

/* Fallblatt-Tafel: je Mannschaft das letzte Spiel (wir : Gegner), Leuchtstrich grün = Sieg, rot = Niederlage */
.gs-lampbar { grid-column:1 / -1; display:grid; gap:9px; padding:10px 8px 9px; border-radius:12px;
  background:linear-gradient(180deg, #33322b, #2d2b26); box-shadow:inset 0 0 0 1px #5a564a, inset 0 1px 0 rgba(255,245,218,.05); }
.gs-lamps { display:flex; gap:6px; }
.gs-tile { flex:1 1 0; min-width:0; display:grid; justify-items:center; gap:6px; }
.gs-tile-lab { font:800 9.5px/1 Archivo, sans-serif; letter-spacing:.12em; text-transform:uppercase; color:var(--gs-ink-3); white-space:nowrap; }
.gs-tile-d { display:flex; justify-content:center; align-items:center; gap:2px; max-width:100%; }
.gs-fl { position:relative; flex:0 1 19px; min-width:13px; height:30px; border-radius:3px; display:grid; place-items:center;
  font:800 20px/1 Archivo, Arial, sans-serif; color:#f1ede2; overflow:hidden;
  background:linear-gradient(180deg, #44423a 0 49%, #272520 49% 51%, #3b3932 51%); box-shadow:0 1px 0 #000, inset 0 0 0 1px rgba(255,255,255,.03); }
.gs-fl-c { flex:none; width:7px; text-align:center; font:800 16px/1 Archivo, sans-serif; color:var(--gs-ink-3); }
.gs-tile.is-win .gs-fl { color:#eafaee; }
.gs-tile.is-none .gs-fl { color:#6b665c; }
.gs-fl.is-flip { animation:gs-flip .07s linear; }
@keyframes gs-flip { 0% { clip-path:inset(0 0 50% 0); } 100% { clip-path:inset(0 0 0 0); } }
.gs-tile-st { width:72%; height:4px; border-radius:2px; background:#5a564a; }
.gs-tile.is-win .gs-tile-st { background:var(--win); box-shadow:0 0 9px rgba(127,207,143,.6); }
.gs-tile.is-loss .gs-tile-st { background:var(--gs-loss); box-shadow:0 0 8px rgba(224,122,95,.45); }
.gs-tile.is-draw .gs-tile-st { background:#cfc9b8; }
.gs-tally { justify-self:stretch; display:flex; justify-content:space-between; gap:10px; font:650 12px/1.2 Archivo, sans-serif; color:var(--gs-ink-2); white-space:nowrap; }
.gs-tally::before { content:"Wir : Gegner"; font:700 10px/1.2 Archivo, sans-serif; letter-spacing:.12em; text-transform:uppercase; color:var(--gs-ink-3); align-self:center; }
.gs-board[data-gs-group="jugend"] .gs-lamps { max-width:70%; margin-inline:auto; width:100%; }
@media (max-width:359px) { .gs-lamps { gap:4px; } .gs-fl { height:27px; font-size:18px; } .gs-tile-lab { font-size:8.5px; letter-spacing:.08em; } }
@media (prefers-reduced-motion:reduce) { .gs-fl.is-flip { animation:none; } }

/* Neuestes Ergebnis (immer sichtbar) */
.gs-latest { grid-column:1 / -1; display:grid; gap:8px; }
.gs-latest-k { font:700 12px/1.3 Archivo, sans-serif; letter-spacing:.06em; color:var(--gs-ink-3); }
.gs-latest-line, .gs-line { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:10px; font:700 15px/1.25 Archivo, sans-serif; color:var(--gs-ink-2); }
.gs-latest-line > span:last-child, .gs-line > span:last-child { text-align:right; }
:is(.gs-latest-line, .gs-line) .is-ttf { color:var(--gs-ink); font-weight:850; }
.gs-score { font:400 26px/1 "R45 Seg", monospace; letter-spacing:.04em; color:var(--gs-ink-3); }
.gs-score.is-win { color:var(--win); text-shadow:0 0 12px color-mix(in srgb, var(--win) 45%, transparent); }
.gs-score.is-loss { color:var(--gs-loss); text-shadow:0 0 10px rgba(224,122,95,.35); }
.gs-latest .gs-score { font-size:32px; }

/* Aufklappbereich */
.gs-panel { display:grid; grid-template-rows:0fr; transition:grid-template-rows .55s cubic-bezier(.2,.7,.2,1); }
.gs-board.is-open .gs-panel { grid-template-rows:1fr; }
.gs-panel-in { min-height:0; overflow:hidden; }
.gs-panel-body { padding:0 18px 20px; display:grid; gap:18px; opacity:0; transition:opacity .35s ease .05s; }
.gs-board.is-open .gs-panel-body { opacity:1; transition-delay:.15s; }
.gs-sub { margin:4px 0 0; font:800 11px/1.2 Archivo, sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--acc); display:flex; align-items:center; gap:10px; }
.gs-sub::after { content:""; flex:1; height:1px; background:linear-gradient(90deg, color-mix(in srgb, var(--acc) 45%, transparent), transparent); }
.gs-results, .gs-fixtures { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.gs-row { position:relative; padding:12px 14px 12px 16px; border-radius:12px; background:rgba(255,245,218,.035); box-shadow:inset 0 0 0 1px rgba(203,188,154,.12); display:grid; gap:8px; }
.gs-row::before { content:""; position:absolute; left:0; top:10px; bottom:10px; width:3px; border-radius:0 3px 3px 0; background:#5a564a; }
.gs-row.is-win::before { background:var(--win); }
.gs-row.is-loss::before { background:var(--gs-loss); }
.gs-row-top { display:flex; justify-content:space-between; gap:10px; align-items:baseline; }
.gs-row-top strong { font:850 12.5px/1.2 Archivo, sans-serif; letter-spacing:.1em; text-transform:uppercase; color:var(--gs-ink); }
.gs-row-top span { font:600 12px/1.2 Archivo, sans-serif; color:var(--gs-ink-3); white-space:nowrap; }
.gs-row-meta { display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; font:500 12px/1.35 Archivo, sans-serif; color:var(--gs-ink-3); }
.gs-src { color:var(--acc) !important; text-decoration:none; font-weight:700; white-space:nowrap; }
.gs-src:hover, .gs-src:focus-visible { text-decoration:underline; }
.gs-fix { display:grid; grid-template-columns:auto 1fr; gap:6px 10px; align-items:center; padding:12px 14px; border-radius:12px; background:rgba(255,245,218,.035); box-shadow:inset 0 0 0 1px rgba(203,188,154,.12); }
.gs-fix-when { grid-column:1 / -1; font:400 15px/1 "R45 Seg14", monospace; letter-spacing:.05em; color:var(--acc); }
.gs-fix-badge { font:850 10.5px/1 Archivo, sans-serif; letter-spacing:.12em; text-transform:uppercase; padding:5px 7px 4px; border-radius:4px; background:var(--acc); color:#413e36; }
.gs-fix-badge.is-away { background:transparent; color:var(--acc); box-shadow:inset 0 0 0 1px var(--acc); }
.gs-fix strong { font:750 14px/1.3 Archivo, sans-serif; color:var(--gs-ink); }
.gs-fix.is-empty { display:block; font:500 13.5px/1.45 Archivo, sans-serif; color:var(--gs-ink-2); }

.gs-reduce .gs-panel, .gs-reduce .gs-panel-body, .gs-reduce .gs-chev svg { transition:none !important; }
@media (prefers-reduced-motion:reduce) { .gs-panel, .gs-panel-body, .gs-chev svg { transition:none !important; } }
@media (max-width:359px) { .gs-toggle { padding:18px 14px 16px; } .gs-panel-body { padding:0 14px 18px; } .gs-latest .gs-score { font-size:28px; } .gs-latest-line, .gs-line { font-size:14px; } }

/* ===== DK 03.10.: Spiele-Seite aufgeräumt – ein System für alle Abschnitte ===== */
/* Abschnitte: gleicher Rhythmus, keine wechselnden Hintergrundbänder, nur eine feine Trennlinie */
body main.r44-games > .r44-section.gs-section, body main.r44-games > .r44-section.gb-section { background:transparent !important; border-bottom:0 !important; padding:22px 0 26px !important; }
body main.r44-games > .r44-section.gb-section { border-top:1px solid rgba(203,188,154,.12) !important; padding-bottom:40px !important; }
@media (min-width:961px) { body main.r44-games > .r44-section.gs-section { padding-top:36px !important; } body main.r44-games > .r44-section.gb-section { padding:34px 0 56px !important; } }
/* Kopfzeile je Abschnitt: Titel links, Metainfo rechts – überall gleich */
.gx-head { display:flex; align-items:baseline; justify-content:space-between; gap:6px 14px; flex-wrap:wrap; margin:0 0 14px; }
html body main.r44-main .gx-head :is(h1, h2) { margin:0 !important; font-family:var(--display, Archivo, sans-serif) !important; font-weight:900 !important; font-size:clamp(26px, 6.6vw, 34px) !important; line-height:1 !important; letter-spacing:-.01em !important; color:var(--h-ink, #f4f1e8) !important; max-width:none !important; }
.gx-meta { font:650 12px/1.3 Archivo, sans-serif; letter-spacing:.04em; color:#a39d8c; }
.gx-link { display:inline-block; margin-top:14px; font:700 13px/1.3 Archivo, sans-serif; color:#cbbc9a !important; text-decoration:none !important; }
.gx-link:hover, .gx-link:focus-visible { text-decoration:underline !important; }
.gs-section .gs { margin-top:0; }

/* Tafel-Detailzeilen: Liga + Links */
.gs-row-top span { white-space:normal !important; text-align:right; }
.gs-links { display:inline-flex; gap:14px; }

/* Berichte: eine Box, Datum links wie ein Kalenderblatt */
.gb-box { border-radius:16px; overflow:hidden; background:linear-gradient(170deg, #49463c, #423f37 60%, #3d3a32); box-shadow:inset 0 0 0 1px rgba(203,188,154,.18), 0 18px 40px -26px rgba(0,0,0,.7); }
.gb-list { list-style:none; margin:0; padding:0; }
.gb-list > li + li, .gb-more > .gb-list > li:first-child, .gb-box > .gb-list + .gb-more, .gb-archive { border-top:1px solid rgba(203,188,154,.10); }
body .gb-section .gb-item { border:0 !important; border-radius:0 !important; background:none !important; box-shadow:none !important; margin:0 !important; }
body .gb-section .gb-item > summary { list-style:none; display:grid !important; grid-template-columns:52px 1fr 24px; gap:12px; align-items:center; padding:12px 14px !important; min-height:0 !important; cursor:pointer; }
body .gb-section .gb-item > summary::-webkit-details-marker { display:none; }
body .gb-section .gb-item > summary::after { content:none !important; }
.gb-date { display:grid; justify-items:center; align-content:center; gap:1px; width:52px; height:52px; border-radius:10px; background:#36342d; box-shadow:inset 0 0 0 1px #5a564a; color:#f4f1e8; }
.gb-date b { font:900 18px/1 Archivo, sans-serif; }
.gb-date span { font:800 10px/1 Archivo, sans-serif; letter-spacing:.06em; text-transform:uppercase; color:#cbbc9a; }
.gb-date small { font:600 9.5px/1 Archivo, sans-serif; color:#a39d8c; }
.gb-date.is-season span { font-size:9px; color:#a39d8c; letter-spacing:.08em; }
.gb-date.is-season small { font:800 11px/1 Archivo, sans-serif; color:#cbbc9a; }
.gb-date.is-none { color:#5a564a; font:800 18px/1 Archivo, sans-serif; }
.gb-txt { display:grid; gap:3px; min-width:0; }
.gb-tag { font:800 10px/1.2 Archivo, sans-serif; letter-spacing:.14em; text-transform:uppercase; color:#c9ab65; }
.gb-title { font:750 14.5px/1.3 Archivo, sans-serif; color:#f4f1e8; }
.gb-plus { width:24px; height:24px; border-radius:50%; background:rgba(203,188,154,.12); position:relative; flex:none; }
.gb-plus::before, .gb-plus::after { content:""; position:absolute; left:50%; top:50%; width:10px; height:2px; margin:-1px 0 0 -5px; border-radius:1px; background:#cbbc9a; transition:transform .3s ease; }
.gb-plus::after { transform:rotate(90deg); }
.gb-item[open] > summary .gb-plus::after, .gb-more[open] > summary .gb-plus::after { transform:rotate(0deg); }
.gb-item[open] > summary { background:rgba(203,188,154,.06); }
body .gb-section .gb-item > article { padding:4px 14px 18px 78px; margin:0 !important; border:0 !important; border-radius:0 !important; background:none !important; box-shadow:none !important; min-block-size:0 !important; }
@media (max-width:420px) { body .gb-section .gb-item > article { padding-left:14px; } }
body .gb-section .gb-item > article :is(.article-inner, .article-text) { padding:0 !important; margin:0 !important; background:none !important; border:0 !important; box-shadow:none !important; display:block !important; }
body .gb-section .gb-item > article img { max-width:100%; height:auto; border-radius:10px; }
body .gb-section .gb-item > article :is(.meta, h2, .teaser) { display:none !important; }
body .gb-section .gb-item > article details > summary { display:none; }
body .gb-section .gb-item > article .body p { margin:0 0 .8em; font-size:14.5px; line-height:1.55; color:#d9d4c5; }
/* Fußzeilen der Box: „Alle anzeigen“ und „Vereinsarchiv“ gleich gebaut */
.gb-more > summary::-webkit-details-marker { display:none; }
.gb-foot { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 14px; font:750 13.5px/1.2 Archivo, sans-serif; color:#cbbc9a !important; text-decoration:none !important; background:rgba(255,245,218,.02); }
.gb-foot:hover, .gb-foot:focus-visible { background:rgba(203,188,154,.07); }
.gb-foot:focus-visible { outline:2px solid #cbbc9a; outline-offset:-2px; }
.gb-more .gb-more-close, .gb-more[open] .gb-more-open { display:none; }
.gb-more[open] .gb-more-close { display:inline; }
.gb-archive svg { width:18px; height:18px; flex:none; }
.gb-more[open] > .gb-foot { border-bottom:1px solid rgba(203,188,154,.10); }
.gb-more[open] { display:flex; flex-direction:column-reverse; }
/* DK 04.10.: Handy – Herren- und Jugend-Tafel passen zusammen in den ersten Bildschirm */
@media (max-width:960px) {
  body main.r44-games > .r44-section.gs-section { padding-top:12px !important; padding-bottom:20px !important; }
  .gs-section .gx-head { margin-bottom:10px; }
  html body main.r44-main .gx-head :is(h1, h2) { font-size:24px !important; }
  .gs { gap:10px; margin-top:0; }
  .gs-board { border-radius:14px; }
  .gs-toggle { gap:8px 10px; padding:12px 12px 11px; }
  .gs-head { gap:2px; }
  .gs-kick { font-size:9.5px; letter-spacing:.14em; }
  .gs-title { font-size:22px; }
  .gs-chev { width:32px; height:32px; }
  .gs-chev svg { width:15px; height:15px; }
  .gs-lampbar { gap:6px; padding:7px 6px 6px; border-radius:10px; }
  .gs-tile { gap:4px; }
  .gs-tile-lab { font-size:8.5px; }
  .gs-fl { height:24px; font-size:16px; flex-basis:16px; min-width:12px; }
  .gs-fl-c { font-size:13px; width:6px; }
  .gs-tile-st { height:3px; }
  .gs-tally { font-size:11px; }
  .gs-tally::before { font-size:9px; }
  .gs-latest { gap:4px; }
  .gs-latest-k { font-size:10.5px; }
  .gs-latest-line { font-size:13px; gap:8px; }
  .gs-latest .gs-score { font-size:22px; }
}
/* DK 04.10.: feste Positionen in den Ergebniszeilen */
/* Raster: Name | Ergebnis (feste Breite, exakt mittig) | Name. Namen max. 2 Zeilen, jede Zeile gleich hoch. */
.gs-row { padding-inline:12px 10px !important; }
.gs-line, .gs-latest-line { grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr) !important; gap:8px !important; align-items:center; }
.gs-line { min-height:2.4em; }
.gs-line > span, .gs-latest-line > span { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden;
  font-size:13.5px; line-height:1.2; letter-spacing:-.005em; overflow-wrap:anywhere; }
.gs-line > span:first-child, .gs-latest-line > span:first-child { text-align:left; }
.gs-line > span:last-child, .gs-latest-line > span:last-child { text-align:right; }
.gs-line .gs-score, .gs-latest-line .gs-score { width:64px; justify-self:center; text-align:center; font-size:22px; white-space:nowrap; letter-spacing:0; }
.gs-score.is-wide { font-size:18px !important; }
.gs-row-top { min-height:16px; align-items:center; }
.gs-row-top span { white-space:nowrap !important; overflow:hidden; text-overflow:ellipsis; min-width:0; }
.gs-row-meta { align-items:center; }
@media (min-width:700px) { .gs-line, .gs-latest-line { grid-template-columns:minmax(0,1fr) 84px minmax(0,1fr) !important; } .gs-line .gs-score, .gs-latest-line .gs-score { width:84px; font-size:26px; } .gs-line > span, .gs-latest-line > span { font-size:14.5px; } }
@media (max-width:370px) { .gs-line > span, .gs-latest-line > span { font-size:12.5px; } }
/* DK 04.10.: Spiele-Tafeln füllen genau den ersten Bildschirm (nichts von „Berichte“ sichtbar) */
/* --gs-top (Abstand Seitenanfang→Tafelbereich) und --gs-dock (Handy-Leiste unten) misst games-split.js einmalig.
   lvh = große Ansicht (Browserleisten eingeklappt) -> auch dann bleibt der nächste Abschnitt unter dem Rand. */
body main.r44-games > .r44-section.gs-section { box-sizing:border-box; display:flex; flex-direction:column;
  min-height:calc(100vh - var(--gs-top, 62px)) !important; min-height:calc(100lvh - var(--gs-top, 62px)) !important; }
body main.r44-games > .r44-section.gs-section > .wrap { align-self:center; display:flex; flex-direction:column;
  min-height:calc(100vh - var(--gs-top, 62px) - var(--gs-dock, 0px) - 32px); min-height:calc(100svh - var(--gs-top, 62px) - var(--gs-dock, 0px) - 32px); }
@media (max-width:960px) {
  .gs-section .gs { flex:1 1 auto; display:flex !important; flex-direction:column; }
  .gs-section .gs > .gs-board { flex:1 1 auto; display:flex; flex-direction:column; }
  .gs-section .gs > .gs-board:not(.is-open) > .gs-toggle { flex:1 1 auto; align-content:space-evenly; }
  .gs-section .gx-link { margin-top:12px; }
}
@media (max-width:960px) and (min-height:760px) {
  .gs-title { font-size:26px; }
  .gs-kick { font-size:10.5px; }
  .gs-tile-lab { font-size:9.5px; }
  .gs-fl { height:30px; font-size:20px; flex-basis:19px; }
  .gs-fl-c { font-size:16px; }
  .gs-tile-st { height:4px; }
  .gs-lampbar { padding:10px 8px 9px; }
  .gs-latest .gs-score { font-size:26px; }
  .gs-latest-line { font-size:14px; }
}
@media (min-width:961px) {
  /* Desktop: Tafeln behalten ihre Höhe; Gruppe sitzt leicht oberhalb der Mitte, „Berichte“ beginnt erst unter dem Rand */
  html.d62 body main.r44-games > .r44-section.gs-section > .wrap { justify-content:center; padding-bottom:6vh; box-sizing:border-box; }
  html.d62 .gs-section .gs { flex:none; }
}


/*PG-TONE-1*/
