/* =====================================================================
   Verein & Jugend: kompaktes Handy-Layout unter 768 px fuer ALLE Seiten
   des Bereichs (Vorgabe Doc/SPIELPLAN-REDESIGN.md, auf den Bereich uebertragen).
   - heller Grund, ein kompakter Kopf (Wappen, Suche, Menue, Titel) mit Balkeneffekt
   - Inhalte als abgerundete Polish-Blau-Karten, Reiter als Chips, Buttons rund
   - Bottom-Navigation Home / News / Teams / Spielplan / Mehr (js/mobil-verein.js)
   Ab 768 px aendert sich nichts. Die Spielplan-Seite hat ihr eigenes Layout
   (css/spielplan-mobil.css) und nutzt hieraus nur die Grundregeln.
   ===================================================================== */
.mv-head, .mv-nav, .mv-herobar, .mv-tabs, .mv-spiele { display: none; }
@media (min-width: 768px) { .mv-head, .mv-nav, .mv-herobar, .mv-tabs, .mv-spiele { display: none !important; } }   /* nur Handy-Layout */

@media (max-width: 767.98px) {
  :root {
    --sg-blue: #1119B5; --sg-blue-dark: #0A0F7A;
    --sg-polish: linear-gradient(345deg,#020a52 0%,#0616a8 38%,#0a1cd6 60%,#04127e 100%);
    --sg-red: #E2412B; --sg-red-strong: #C8321D;
    --sg-bg: #F3F4FA; --sg-surface: #FFFFFF; --sg-ink: #0616a8; --sg-muted: #4A4F75;
    --sg-line: #E1E3F0; --sg-chip-line: #C9CCE3;
    --sg-on-blue-2: #DDE0FF; --sg-on-blue-3: #C3C7FF; --sg-on-blue-sub: #D6D9FF;
    --sg-stripe-blue: repeating-linear-gradient(90deg, #0A16BD 0 2.67px, #05159D 2.67px 5.33px);
    --sg-stripe-red:  repeating-linear-gradient(90deg, #A13041 0 2.67px, #842637 2.67px 5.33px);
    --sg-card-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 8px 18px rgba(16,25,201,.25);
    --sg-card-border: 1px solid rgba(255,255,255,.12);
    --sg-radius: 5px;
    --sg-spring: cubic-bezier(.34, 1.45, .64, 1); --sg-out: cubic-bezier(.22, 1, .36, 1);
    --sg-font-display: var(--font-display, 'SG Display', sans-serif);
    --sg-font-body: var(--font-body, 'SG Text', sans-serif);
  }

  /* ---------- Grund ---------- */
  body.mv-page { background: #fff; color: var(--sg-ink); }   /* weisse Trennstreifen zwischen den Abschnitten */
  body.mv-page #main { padding-top: 0 !important; margin-top: 0 !important; padding-bottom: 0; }
  body.mv-page .page-head, body.mv-page .partner-fab, body.mv-page .mo-progress, body.mv-page .nb-fx, body.mv-page .ns-layer { display: none !important; }
  body.mv-page .site-footer { padding-bottom: calc(100px + env(safe-area-inset-bottom)); }

  /* Menueleiste: Zeile unsichtbar, nur der aufklappbare Drawer bleibt (Symbole im neuen Kopf) */
  body:is(.mv-page, .spm-page) .site-header { padding: 0 !important; pointer-events: none; }
  body:is(.mv-page, .spm-page) .site-header .inner { min-height: 0 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; overflow: visible !important; }
  body:is(.mv-page, .spm-page) .site-header .inner > :not(.main-nav) { display: none !important; }
  body:is(.mv-page, .spm-page) .site-header .main-nav { pointer-events: auto; }
  body:is(.mv-page, .spm-page) .site-header .inner::before, body:is(.mv-page, .spm-page) .site-header .inner::after { display: none !important; content: none !important; }   /* weisse Leistenflaeche der Desktop-Navbar nicht hinter dem Menue zeichnen */

  /* ---------- Kopf ---------- */
  .mv-herobar { display: flex; }
  .mv-head { display: block; position: relative; overflow: hidden; background: var(--sg-polish); color: #fff;
    box-shadow: inset 0 -1px 0 rgba(255,255,255,.12); padding: calc(12px + env(safe-area-inset-top)) 16px 26px; font-family: var(--sg-font-body); }
  .mv-head__bars { position: absolute; top: 0; bottom: 0; left: 0; display: flex; pointer-events: none;
    -webkit-mask-image: linear-gradient(145deg, #000 0%, rgba(0,0,0,.75) 40%, transparent 90%);
            mask-image: linear-gradient(145deg, #000 0%, rgba(0,0,0,.75) 40%, transparent 90%); }
  .mv-head__bars span { width: 16px; } .mv-head__bars span:first-child { width: 15px; }
  .mv-head__bars .b { background: var(--sg-stripe-blue); } .mv-head__bars .r { background: var(--sg-stripe-red); }
  .mv-head__row { position: relative; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
  .mv-head__right { margin-top: 0; }
  .mv-head__logo { display: block; flex: none; } .mv-head__logo img { display: block; height: 54px; width: auto; }
  .mv-head__right { display: flex; flex-direction: column; align-items: flex-end; min-width: 0; flex: 1; }
  .mv-head__icons { display: flex; gap: 4px; margin: -9px -10px 0 0; }   /* Symbolmitte auf Hoehe der Logo-Oberkante + 13 px: Oberkanten der 26-px-Symbole buendig mit dem Logo */
  .mv-head__icons button { width: 44px; height: 44px; border: 0; background: transparent; color: #fff; padding: 0; display: flex; align-items: center; justify-content: center; cursor: pointer; border-radius: 3px; }
  .mv-head__icons button:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
  .mv-head__icons svg { width: 26px; height: 26px; }
  .mv-head__title { margin: 6px 0 0; text-align: right; color: #fff; font: 700 30px/1.02 var(--sg-font-display); text-transform: uppercase; letter-spacing: .01em; overflow-wrap: anywhere; }
  body.mv-page #main .mv-head .mv-head__title, body.mv-page #main .mv-head .mv-head__sub, body.mv-page #main .mv-head p { color: #fff !important; }   /* Kopf jeder Seite: Schrift weiss */
  body.mv-page #main .hero .inner :is(h1, p, .sub, .line, span) { color: #fff !important; }
  body.mv-page #main .hero .inner .kicker { color: #ff9d9d !important; }                 /* kleine Ueberschrift im leichten Rotton */
  body.mv-page #main .hero .inner h1 .accent-line { color: #E2412B !important; }         /* rote Zeile der grossen Ueberschrift: dunkles Rot */
  body.mv-page #main .mv-head__sub, .mv-head__sub { margin: 4px 0 0; text-align: right; font-size: 14px; line-height: 1.3; color: var(--sg-on-blue-sub); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

  /* ---------- Abschnitte: keine blauen Flaechen, kein Wasserzeichen, kompakte Abstaende ---------- */
  body.mv-page #main > section:not(.hero), body.mv-page #main .wm-section, body.mv-page #main .dsn-card, body.mv-page #main .section-alt, body.mv-page #main .cta-band {
    background: transparent !important; box-shadow: none !important; padding: 8px 0 !important; margin: 0 !important; border: 0 !important; min-height: 0 !important; color: var(--sg-ink); }
  body.mv-page #main .dsn-card::before, body.mv-page #main .dsn-card::after, body.mv-page #main .cta-band::before, body.mv-page #main .cta-band::after { display: none !important; }
  body.mv-page #main .container { padding-left: 16px !important; padding-right: 16px !important; margin: 0 !important; width: auto !important; max-width: none !important; }   /* ueberall 16 px Rand neben den Karten */
  body.mv-page #main .container .container { padding: 0 !important; }
  body.mv-page #main p:not(.hero *), body.mv-page #main li:not(.hero *), body.mv-page #main dd, body.mv-page #main dt { color: var(--sg-ink); }
  body.mv-page #main h2, body.mv-page #main h3, body.mv-page #main h4 { color: var(--sg-ink); }
  body.mv-page #main a:not(.button) { color: var(--sg-blue); }
  body.mv-page #main .kicker:not(.hero *) { color: var(--sg-red-strong); }
  body.mv-page #main .hero .inner :is(h1, p, .sub, .line, .accent-line + *) { color: #fff; }   /* Hero-Text weiss wie im alten Design */

  /* Abschnittskopf (.ph-head): ohne Wappen, Ueberschrift blau wie der Datumskopf im Spielplan */
  body.mv-page .ph-head { display: block !important; width: 100% !important; max-width: none !important; transform: none !important; margin: 10px 0 10px !important; padding: 0 !important; }
  body.mv-page .ph-head .ph-logo { display: none !important; }
  body.mv-page .ph-head .ph-txt { padding: 0 !important; margin: 0 !important; text-align: left !important; transform: none !important; }
body.mv-page .ph-head .ph-txt .kicker::after { display: none !important; content: none !important; }
  body.mv-page .ph-head .ph-txt .kicker { display: block; color: var(--sg-muted) !important; font: 600 11px/1.3 var(--sg-font-display) !important; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 2px !important; padding: 0 !important; }
  body.mv-page .ph-head .ph-txt h2 { color: var(--sg-blue) !important; font: 700 20px/1.1 var(--sg-font-display) !important; text-transform: uppercase; margin: 0 !important; }
  body.mv-page .ph-head .ph-txt h2 br { display: none; }

  /* ---------- Hero (Startseite): bleibt wie bisher, darueber Wappen + Suche/Menue in Polish-Blau ---------- */
  body.mv-page .hero { position: relative; }
  body.mv-page .hero .inner { padding-top: calc(110px + env(safe-area-inset-top)); }   /* Platz fuer Wappen und Symbole */
  body.mv-page .hero .hero-logo-3d, body.mv-page .hero .hero-logo { display: none !important; }
  .mv-herobar { position: absolute; top: calc(14px + env(safe-area-inset-top)); left: 16px; right: 16px; z-index: 5; display: flex; align-items: flex-start; justify-content: space-between; pointer-events: none; }
  .mv-herobar > * { pointer-events: auto; }
  .mv-herobar__logo img { display: block; height: 88px; width: auto; filter: drop-shadow(0 6px 14px rgba(4,8,40,.5)); }
  .mv-herobar__icons { display: flex; gap: 8px; margin: -8px -8px 0 0; }   /* Symbol-Oberkante buendig mit der Logo-Oberkante */
  /* Symbole ohne Flaeche: weiss mit dunklem Schattensaum, damit sie sich auf jedem Bild abheben */
  .mv-herobar__icons button { width: 44px; height: 44px; border: 0; padding: 0; cursor: pointer; color: #fff; border-radius: 4px; background: transparent;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,.9)) drop-shadow(0 3px 8px rgba(0,0,0,.55));
    display: flex; align-items: center; justify-content: center; }
  .mv-herobar__icons button:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
  .mv-herobar__icons svg { width: 28px; height: 28px; stroke-width: 2.4; }

  /* ---------- Karten: Polish-Blau, 12 px rund, ohne rote Streifen ----------
     Alle Kaesten, die am Desktop eine eigene Flaeche haben, werden hier zu einer Karte. */
  body.mv-page #main :is(.card, .team-card, .news-card, .fs-card, .jb-card, .mt-album, .tnews-feature, .tnews-item, .org-card, .match-card, .tf-card, .vid-card,
    .dq-verweis, .ek-form, .nl-form, .table-wrap, .tt-wrap, .tk-table-wrap, .bl-card, .bl-next, .nd-article, .nd-box, .team-sched, .sb-pane, .contact-card, .form-card, .contact-layout > form, .office-card) {
    background: var(--sg-polish) !important; color: #fff !important; border: var(--sg-card-border) !important; border-radius: var(--sg-radius) !important;
    box-shadow: var(--sg-card-shadow) !important; overflow: hidden; }
  body.mv-page #main :is(.card, .team-card, .org-card, .match-card, .table-wrap, .vid-card, .card-stripe, .bl-card, .bl-next, .nd-article, .mt-album, .ek-form)::before,
  body.mv-page #main :is(.card, .team-card, .org-card, .match-card, .vid-card, .card-stripe, .bl-card, .bl-next, .nd-article, .mt-album, .ek-form)::after,
body.mv-page #main .dsn-card .card:not(.news-card):not(.team-cat)::after { display: none !important; content: none !important; }
  /* Text in Karten: weiss bzw. helles Blau, Kicker in hellem Rot, Links weiss */
  body.mv-page #main :is(.card, .team-card, .news-card, .fs-card, .jb-card, .mt-album, .tnews-feature, .tnews-item, .org-card, .match-card, .tf-card, .vid-card, .dq-verweis, .ek-form, .nl-form,
    .table-wrap, .tt-wrap, .tk-table-wrap, .bl-card, .bl-next, .nd-article, .nd-box, .team-sched, .sb-pane, .contact-card, .form-card, .contact-layout > form, .office-card)
    :is(h2, h3, h4, strong, b, th, .price, .name, .nm, .team, label, legend, .score) { color: #fff !important; }
  body.mv-page #main :is(.card, .team-card, .news-card, .fs-card, .jb-card, .mt-album, .tnews-feature, .tnews-item, .org-card, .match-card, .tf-card, .vid-card, .dq-verweis, .ek-form, .nl-form,
    .table-wrap, .tt-wrap, .tk-table-wrap, .bl-card, .bl-next, .nd-article, .nd-box, .team-sched, .sb-pane, .contact-card, .form-card, .contact-layout > form, .office-card)
    :is(p, li, dd, dt, span, small, time, td, em, .nd-lead, .nd-body, .tnews-itembody) { color: var(--sg-on-blue-2) !important; }
  body.mv-page #main :is(.card, .team-card, .news-card, .fs-card, .jb-card, .mt-album, .tnews-feature, .tnews-item, .org-card, .match-card, .tf-card, .vid-card, .dq-verweis, .ek-form, .nl-form,
    .table-wrap, .tt-wrap, .tk-table-wrap, .bl-card, .bl-next, .nd-article, .nd-box, .team-sched, .sb-pane, .contact-card, .form-card, .contact-layout > form, .office-card)
    :is(.kicker, .league, .meta, .date, .when, .mt-album-head .kicker, dt, .label) { color: #FFB3A8 !important; }
  body.mv-page #main :is(.card, .team-card, .news-card, .fs-card, .jb-card, .mt-album, .tnews-feature, .tnews-item, .org-card, .match-card, .tf-card, .vid-card, .dq-verweis, .ek-form, .nl-form,
    .table-wrap, .tt-wrap, .tk-table-wrap, .bl-card, .bl-next, .nd-article, .nd-box, .team-sched, .sb-pane, .contact-card, .form-card, .contact-layout > form, .office-card)
    a:not(.button) { color: #fff !important; text-decoration: underline; }
  body.mv-page #main :is(.card, .team-card, .news-card, .tnews-feature, .tnews-item, .mt-album) a:not(.button) { text-decoration: none; }
  body.mv-page #main .nd-textcard { background: transparent !important; box-shadow: none !important; }
  body.mv-page #main :is(.nd-textcard, .nd-body, .nd-lead) { border-left: 0 !important; }
  body.mv-page #main [data-ghost]::before, body.mv-page #main [data-ghost]::after, body.mv-page #main .section-head::before { content: none !important; display: none !important; }
  body.mv-page .team-grid, body.mv-page .news-grid, body.mv-page .fs-grid, body.mv-page .jb-grid, body.mv-page .org-grid, body.mv-page .office-grid { gap: 12px !important; }

  /* Sponsoren: Logos als kleine weisse Kacheln, zwei nebeneinander */
  body.mv-page .sp-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
  body.mv-page .sp-grid .sp-tile { display: flex !important; align-items: center; justify-content: center; aspect-ratio: 4 / 3; padding: 14px !important; margin: 0 !important;
    background: #fff !important; border: 1px solid var(--sg-line) !important; border-top: 1px solid var(--sg-line) !important; border-radius: var(--sg-radius) !important; box-shadow: 0 4px 14px rgba(14,18,64,.08) !important; }
  body.mv-page .sp-grid .sp-tile::before, body.mv-page .sp-grid .sp-tile::after { display: none !important; }
  body.mv-page .sp-grid .sp-tile img { max-width: 100%; max-height: 100%; width: auto !important; height: auto !important; object-fit: contain; }
  body.mv-page .sp-group h3 { color: var(--sg-ink) !important; font: 700 16px/1.2 var(--sg-font-display) !important; text-transform: uppercase; margin: 14px 0 8px !important; }
  body.mv-page .sp-group h3::after { display: none !important; }

  /* ---------- Reiter als Chips ---------- */
  body.mv-page .sz-tabs { display: flex !important; gap: 8px; overflow-x: auto; scrollbar-width: none; background: transparent !important; box-shadow: none !important; padding: 0 0 4px !important; margin: 0 0 12px !important; }
  body.mv-page .sz-tabs::-webkit-scrollbar { display: none; }
  body.mv-page .sz-tabs [role="tab"] { flex: none; min-height: 40px; padding: 0 14px !important; border-radius: 999px !important; font: 600 14px var(--sg-font-body) !important; text-transform: none !important; letter-spacing: 0 !important;
    background: #fff !important; color: var(--sg-ink) !important; border: 1px solid var(--sg-chip-line) !important; box-shadow: none !important; transition: background .25s ease, color .25s ease, border-color .25s ease; }
  body.mv-page .sz-tabs [role="tab"][aria-selected="true"] { background: var(--sg-blue) !important; border-color: var(--sg-blue) !important; color: #fff !important; }
body.mv-page .sz-tabs [role="tab"]::after { display: none !important; content: none !important; }

  /* ---------- Buttons ---------- */
  body.mv-page .button { border-radius: 4px !important; overflow: hidden; min-width: 0 !important; width: 100%; max-width: 100%; filter: none !important; font-size: .9rem; padding-block: .8rem; }
  body.mv-page .button-primary, body.mv-page .button-blue { box-shadow: 0 6px 14px rgba(16,25,201,.22) !important; }
  body.mv-page .actions, body.mv-page .dq-aktionen { display: flex; flex-direction: column; gap: 8px; }
  body.mv-page .text-link { color: var(--sg-blue) !important; }

  /* ---------- Formulare ---------- */
  body.mv-page input:not([type="checkbox"]):not([type="radio"]), body.mv-page select, body.mv-page textarea { border-radius: 4px !important; background: #fff !important; color: var(--sg-ink) !important; border: 1px solid var(--sg-chip-line) !important; }
  body.mv-page .ek-form input, body.mv-page .ek-form textarea, body.mv-page .ek-form select { color: var(--sg-ink) !important; }
  body.mv-page label { color: inherit; }

  /* ---------- Partner-Leisten: weisse Karte ---------- */
  body.mv-page .partner-bar, body.mv-page .marquee-band { margin: 8px 16px !important; border-radius: var(--sg-radius); background: #fff !important; box-shadow: 0 4px 14px rgba(14,18,64,.08) !important; width: auto !important; }
  body.mv-page .partner-bar::before { display: none !important; }
  body.mv-page #main > section.partner-bar, body.mv-page #main > .partner-bar { margin: 8px 16px !important; padding: 10px 0 !important; border-radius: var(--sg-radius) !important; }   /* gleicher 16-px-Rand wie die Karten */

  /* ---------- Footer: kompakt, rund oben ---------- */
  body.mv-page .site-footer { margin-top: 8px; border-radius: 0; background: var(--sg-polish) !important; }
  body.mv-page .site-footer::before, body.mv-page .site-footer .footer-grid::after { display: none !important; }

  /* ---------- Bottom-Navigation ---------- */
  .mv-nav { display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; height: calc(68px + env(safe-area-inset-bottom)); min-height: 68px;
    background: #fff; border-radius: 10px 10px 0 0; box-shadow: 0 -6px 20px rgba(14,18,64,.10); padding-bottom: env(safe-area-inset-bottom); font-family: var(--sg-font-body); }
  .mv-nav__track { position: absolute; top: -33px; left: 0; width: 20%; height: 66px; transform: translateX(calc(var(--idx, 0) * 100%)); transition: transform .55s var(--sg-spring); pointer-events: none; }
  .mv-nav.no-active .mv-nav__track { display: none; }
  .mv-nav__dot { width: 66px; height: 66px; margin: 0 auto; box-sizing: border-box; border-radius: 50%; background: var(--sg-blue); border: 7px solid var(--sg-bg); box-shadow: 0 6px 14px rgba(17,25,181,.30); }
  .mv-nav__items { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); height: 68px; margin: 0; padding: 0; list-style: none; }
  .mv-nav__item { border: 0; background: transparent; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 14px 0 0; text-decoration: none; width: 100%; font-family: inherit; }
  .mv-nav__icon { display: flex; color: var(--sg-muted); transition: transform .55s var(--sg-spring), color .3s ease; } .mv-nav__icon svg { width: 24px; height: 24px; }
  .mv-nav__label { font-size: 12px; line-height: 1; font-weight: 500; color: var(--sg-muted); transition: color .3s ease, transform .45s var(--sg-spring); }
  .mv-nav__item.is-active .mv-nav__icon { transform: translateY(-26px); color: #fff; }
  .mv-nav__item.is-active .mv-nav__label { transform: translateY(-6px); color: var(--sg-blue); font-weight: 600; }
  .mv-nav.mv-noanim .mv-nav__track, .mv-nav.mv-noanim .mv-nav__icon, .mv-nav.mv-noanim .mv-nav__label { transition: none; }

  /* Startseite, Abschnitt "Aktuelles / SGBBM News": Polish-Blau-Flaeche, Kopf rechtsbuendig */
  body.mv-page #main section:is([aria-labelledby="news-title"], [aria-labelledby="spiele-title"], [aria-labelledby="profis-title"], [aria-labelledby="teams-title"], [aria-labelledby="cta-title"], [aria-label="Impressionen"], [aria-labelledby="newsletter-title"], [aria-labelledby="sponsoren-title"], [aria-labelledby="partner-title"], [aria-labelledby="werden-title"], [aria-labelledby="mt-title"], [aria-labelledby="team-title"], [aria-labelledby="tnews-title"], [aria-labelledby="fakten-title"], [aria-labelledby="staff-title"]) { background: var(--sg-polish) !important; margin: 8px 0 !important; padding: 14px 0 16px !important;
    border-radius: 0; border: 0 !important; box-shadow: var(--sg-card-shadow) !important; }
  body.mv-page #main section:is([aria-labelledby="news-title"], [aria-labelledby="spiele-title"], [aria-labelledby="profis-title"], [aria-labelledby="teams-title"], [aria-labelledby="cta-title"], [aria-label="Impressionen"], [aria-labelledby="newsletter-title"], [aria-labelledby="sponsoren-title"], [aria-labelledby="partner-title"], [aria-labelledby="werden-title"], [aria-labelledby="mt-title"], [aria-labelledby="team-title"], [aria-labelledby="tnews-title"], [aria-labelledby="fakten-title"], [aria-labelledby="staff-title"]) .container { margin: 0 !important; width: auto !important; }
  body.mv-page #main section:is([aria-labelledby="news-title"], [aria-labelledby="spiele-title"], [aria-labelledby="profis-title"], [aria-labelledby="teams-title"], [aria-labelledby="cta-title"], [aria-label="Impressionen"], [aria-labelledby="newsletter-title"], [aria-labelledby="sponsoren-title"], [aria-labelledby="partner-title"], [aria-labelledby="werden-title"], [aria-labelledby="mt-title"], [aria-labelledby="team-title"], [aria-labelledby="tnews-title"], [aria-labelledby="fakten-title"], [aria-labelledby="staff-title"]) .ph-head { text-align: right !important; }
  body.mv-page #main section:is([aria-labelledby="news-title"], [aria-labelledby="spiele-title"], [aria-labelledby="profis-title"], [aria-labelledby="teams-title"], [aria-labelledby="cta-title"], [aria-label="Impressionen"], [aria-labelledby="newsletter-title"], [aria-labelledby="sponsoren-title"], [aria-labelledby="partner-title"], [aria-labelledby="werden-title"], [aria-labelledby="mt-title"], [aria-labelledby="team-title"], [aria-labelledby="tnews-title"], [aria-labelledby="fakten-title"], [aria-labelledby="staff-title"]) .ph-head .ph-txt { display: block; width: 100%; text-align: right !important; }
  body.mv-page #main section:is([aria-labelledby="news-title"], [aria-labelledby="spiele-title"], [aria-labelledby="profis-title"], [aria-labelledby="teams-title"], [aria-labelledby="cta-title"], [aria-label="Impressionen"], [aria-labelledby="newsletter-title"], [aria-labelledby="sponsoren-title"], [aria-labelledby="partner-title"], [aria-labelledby="werden-title"], [aria-labelledby="mt-title"], [aria-labelledby="team-title"], [aria-labelledby="tnews-title"], [aria-labelledby="fakten-title"], [aria-labelledby="staff-title"]) .ph-head .ph-txt h2, body.mv-page #main section:is([aria-labelledby="news-title"], [aria-labelledby="spiele-title"], [aria-labelledby="profis-title"], [aria-labelledby="teams-title"], [aria-labelledby="cta-title"], [aria-label="Impressionen"], [aria-labelledby="newsletter-title"], [aria-labelledby="sponsoren-title"], [aria-labelledby="partner-title"], [aria-labelledby="werden-title"], [aria-labelledby="mt-title"], [aria-labelledby="team-title"], [aria-labelledby="tnews-title"], [aria-labelledby="fakten-title"], [aria-labelledby="staff-title"]) .ph-head .ph-txt .kicker { text-align: right !important; display: block; width: 100%; }
  body.mv-page #main section:is([aria-labelledby="news-title"], [aria-labelledby="spiele-title"], [aria-labelledby="profis-title"], [aria-labelledby="teams-title"], [aria-labelledby="cta-title"], [aria-label="Impressionen"], [aria-labelledby="newsletter-title"], [aria-labelledby="sponsoren-title"], [aria-labelledby="partner-title"], [aria-labelledby="werden-title"], [aria-labelledby="mt-title"], [aria-labelledby="team-title"], [aria-labelledby="tnews-title"], [aria-labelledby="fakten-title"], [aria-labelledby="staff-title"]) .ph-head .ph-txt h2 { color: #fff !important; }
  body.mv-page #main section:is([aria-labelledby="news-title"], [aria-labelledby="spiele-title"], [aria-labelledby="profis-title"], [aria-labelledby="teams-title"], [aria-labelledby="cta-title"], [aria-label="Impressionen"], [aria-labelledby="newsletter-title"], [aria-labelledby="sponsoren-title"], [aria-labelledby="partner-title"], [aria-labelledby="werden-title"], [aria-labelledby="mt-title"], [aria-labelledby="team-title"], [aria-labelledby="tnews-title"], [aria-labelledby="fakten-title"], [aria-labelledby="staff-title"]) .ph-head .ph-txt .kicker { color: #FFB3A8 !important; }
  body.mv-page #main section:is([aria-labelledby="news-title"], [aria-labelledby="spiele-title"], [aria-labelledby="profis-title"], [aria-labelledby="teams-title"], [aria-labelledby="cta-title"], [aria-label="Impressionen"], [aria-labelledby="newsletter-title"], [aria-labelledby="sponsoren-title"], [aria-labelledby="partner-title"], [aria-labelledby="werden-title"], [aria-labelledby="mt-title"], [aria-labelledby="team-title"], [aria-labelledby="tnews-title"], [aria-labelledby="fakten-title"], [aria-labelledby="staff-title"]) .news-card { border: 1px solid rgba(255,255,255,.22) !important; box-shadow: 0 8px 18px rgba(4,8,60,.35) !important; }
  body.mv-page #main section[aria-labelledby="news-title"] .news-foot .text-link-btn[href="news.html"] { display: none !important; }   /* "Alle News" entfaellt mobil */
  body.mv-page #main section[aria-labelledby="news-title"] .news-foot { margin: 0 !important; padding: 0 !important; min-height: 0 !important; }
  body.mv-page #main section[aria-labelledby="news-title"] .news-foot:not(:has(.nf-controls:not([hidden]) .ns-btn)) { display: none !important; }

  /* "Naechste Spiele": Verweis-Karte in Polish-Weiss mit dunkler Schrift, Button in Polish-Blau; Link "Kompletter Spielplan" entfaellt */
  body.mv-page #main section:is([aria-labelledby="spiele-title"], [aria-labelledby="fakten-title"]) .dq-verweis { background: linear-gradient(160deg,#FFFFFF 0%,#F6F4F0 52%,#E8E4DC 100%) !important; color: var(--sg-ink) !important; border: 0 !important;
    box-shadow: 0 8px 18px rgba(4,8,60,.3) !important; }
  body.mv-page #main section:is([aria-labelledby="spiele-title"], [aria-labelledby="fakten-title"]) .dq-verweis :is(h3, strong) { color: var(--sg-ink) !important; }
  body.mv-page #main section:is([aria-labelledby="spiele-title"], [aria-labelledby="fakten-title"]) .dq-verweis :is(p, span, small, li) { color: #2a3aa6 !important; }
  body.mv-page #main section:is([aria-labelledby="spiele-title"], [aria-labelledby="fakten-title"]) .dq-verweis .kicker { color: var(--sg-red-strong) !important; }
  body.mv-page #main section:is([aria-labelledby="spiele-title"], [aria-labelledby="fakten-title"]) .dq-verweis .dq-cc:not(.button) { color: var(--sg-blue) !important; }
  body.mv-page #main section:is([aria-labelledby="spiele-title"], [aria-labelledby="fakten-title"]) .dq-verweis .button { background: linear-gradient(165deg,#0a1cd6 0%,#0616a8 55%,#04127e 100%) !important; color: #fff !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 8px 18px rgba(4,8,40,.35) !important; padding-left: 1rem !important; }
body.mv-page #main section:is([aria-labelledby="spiele-title"], [aria-labelledby="fakten-title"]) .dq-verweis .button::after { display: none !important; content: none !important; }
  body.mv-page #main section[aria-labelledby="spiele-title"] :is(.text-link-btn[href="spielplan.html"], p:has(> .text-link-btn[href="spielplan.html"])) { display: none !important; }

  /* "Naechstes Heimspiel der Profis": Paarung mittig auf der Karte, Anpfiff-Plakette rund */
  body.mv-page #main .container .bl-next { background: linear-gradient(160deg,#FFFFFF 0%,#F6F4F0 52%,#E8E4DC 100%) !important;   /* hoehere Spezifitaet als die Karten-Sammelregel */ color: var(--sg-ink) !important; border: 0 !important; box-shadow: 0 8px 18px rgba(4,8,60,.3) !important; }
  body.mv-page #main .bl-next .team .nm, body.mv-page #main .bl-next .when, body.mv-page #main .bl-next .when :is(span, small, b) { color: var(--sg-ink) !important; }
  body.mv-page #main .bl-next .team .nm small { color: var(--sg-muted) !important; }
  body.mv-page #main .container .bl-next .when .date { color: var(--sg-red-strong) !important; }
  body.mv-page #main .bl-next .when .venue { color: var(--sg-muted) !important; }
  body.mv-page #main .bl-next .vs { color: var(--sg-red) !important; }
  body.mv-page #main .bl-next .team img { filter: drop-shadow(0 6px 14px rgba(4,8,40,.25)) !important; }
  body.mv-page #main .bl-next .when { border-top-color: rgba(14,18,64,.12) !important; }
  body.mv-page #main .bl-next { padding: 18px 16px 16px !important; grid-template-columns: 1fr auto 1fr !important; justify-items: center; gap: 10px !important; text-align: center; }
  body.mv-page #main .bl-next::before { display: none !important; }
  body.mv-page #main .bl-next .team, body.mv-page #main .bl-next .team.away { flex-direction: column !important; align-items: center !important; justify-content: center; text-align: center !important; gap: 8px !important; width: 100%; }
  body.mv-page #main .bl-next .team img { height: 84px !important; }
  body.mv-page #main .bl-next .team .nm { font-size: 1.1rem !important; text-align: center; }
  body.mv-page #main .bl-next .vs { align-self: center; font-size: 2rem !important; }
  body.mv-page #main .bl-next .when { justify-content: center !important; text-align: center; flex-direction: column; gap: 6px !important; width: 100%; }
  body.mv-page #main .bl-next .when .button { margin: 6px 0 0 !important; width: 100%; }
  body.mv-page #main .bl-next .nc-countdown { display: none !important; }   /* kein Countdown / "Anpfiff!" mobil */
  /* Button: nur "Tickets", Polish-Blau, ohne Logo und Saum */
  body.mv-page #main .bl-next .when .button { font-size: 0 !important; line-height: 0; background: linear-gradient(165deg,#0a1cd6 0%,#0616a8 55%,#04127e 100%) !important; color: #fff !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 8px 18px rgba(4,8,40,.35) !important; padding: .95rem 1rem !important; }
  body.mv-page #main .bl-next .when .button::after { content: "Tickets" !important; display: inline !important; position: static !important; width: auto !important; height: auto !important; background: none !important;
    transform: none !important; font: 700 .95rem/1 var(--sg-font-display) !important; letter-spacing: .06em; text-transform: uppercase; color: #fff; }

  /* "Unsere Mannschaften": Einleitung weiss, Karten kompakt (Zahl + Titel in einer Zeile), "Zu den Teams" im Rotton */
  body.mv-page #main section[aria-labelledby="teams-title"] > .container > p, body.mv-page #main section[aria-labelledby="teams-title"] .ph-head + p { color: var(--sg-on-blue-2) !important; text-align: right; }
  body.mv-page #main section[aria-labelledby="teams-title"] .team-cat-grid { display: grid; gap: 10px !important; }
  body.mv-page #main .container .team-cat { display: grid !important; grid-template-columns: 72px minmax(0,1fr) !important; grid-template-rows: auto auto; column-gap: 12px; row-gap: 2px; align-items: center;
    padding: 12px 14px !important; margin: 0 !important; border: 0 !important; text-align: right;
    background: linear-gradient(160deg,#FFFFFF 0%,#F6F4F0 52%,#E8E4DC 100%) !important; color: var(--sg-ink) !important; box-shadow: 0 8px 18px rgba(4,8,60,.3) !important; }
body.mv-page #main .container .team-cat::after { display: none !important; content: none !important; }
  body.mv-page #main .container .team-cat .count { grid-row: 1 / 3; margin: 0 !important; font: 900 34px/1 var(--sg-font-display) !important; color: var(--sg-blue) !important; text-align: center; }
  body.mv-page #main .container .team-cat .count small { display: block; font: 600 8px/1.2 var(--sg-font-display) !important; letter-spacing: .02em; text-transform: uppercase; color: var(--sg-muted) !important; margin-top: 2px; white-space: nowrap; }
  body.mv-page #main .container .team-cat h3 { margin: 0 !important; font: 700 18px/1.1 var(--sg-font-display) !important; color: var(--sg-ink) !important; text-align: right; }
  body.mv-page #main .container .team-cat p:not(.count) { margin: 0 !important; font-size: 13px !important; line-height: 1.35; color: #2a3aa6 !important; text-align: right; }
  body.mv-page #main .container .team-cat .text-link { grid-column: 2; margin: 2px 0 0 !important; font: 700 12px/1 var(--sg-font-display) !important; letter-spacing: .1em; text-transform: uppercase; color: var(--sg-red-strong) !important; text-align: right; justify-self: end; }
body.mv-page #main .container .team-cat .text-link::after { display: none !important; content: none !important; }

  /* Weisse Karten auf blauer Flaeche (Probetraining, Newsletter-Formular) mit blauem Button - gleiches Rezept wie "Naechste Spiele" */
  body.mv-page #main .container :is(.cta-band .card, .nl-form) { background: linear-gradient(160deg,#FFFFFF 0%,#F6F4F0 52%,#E8E4DC 100%) !important; color: var(--sg-ink) !important; border: 0 !important;
    box-shadow: 0 8px 18px rgba(4,8,60,.3) !important; padding: 16px !important; display: block !important; }
  body.mv-page #main .container :is(.cta-band .card, .nl-form) :is(h2, h3, strong, label, legend) { color: var(--sg-ink) !important; }
  body.mv-page #main .container :is(.cta-band .card, .nl-form) :is(p, span, small, li) { color: #2a3aa6 !important; }
  body.mv-page #main .container :is(.cta-band .card, .nl-form) a:not(.button) { color: var(--sg-blue) !important; }
  body.mv-page #main .cta-band .container .card h2 { font: 700 22px/1.1 var(--sg-font-display) !important; text-transform: uppercase; margin: 0 0 6px !important; }
  body.mv-page #main .cta-band .container .card p { margin: 0 0 12px !important; font-size: 14px; }
  body.mv-page #main .container :is(.cta-band .card, .nl-form, section[aria-labelledby="sponsoren-title"]) .button,
  body.mv-page #main .container :is(.cta-band .card, .nl-form) .button-primary,
  body.mv-page #main section[aria-labelledby="sponsoren-title"] .text-link[href="sponsoren.html"] {
    display: block; width: 100%; text-align: center; border-radius: 4px !important; min-width: 0 !important; margin: 0 !important; text-decoration: none !important;
    background: linear-gradient(165deg,#0a1cd6 0%,#0616a8 55%,#04127e 100%) !important; color: #fff !important; font: 700 .95rem/1 var(--sg-font-display) !important; letter-spacing: .06em; text-transform: uppercase; padding: .95rem 1rem !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 8px 18px rgba(4,8,40,.35) !important; filter: none !important; }
  body.mv-page #main .container :is(.cta-band .card, .nl-form) .button::after,
body.mv-page #main section[aria-labelledby="sponsoren-title"] .text-link::after { display: none !important; content: none !important; }
  /* Newsletter: Einleitung und Punkte hell auf Blau */
  body.mv-page #main section[aria-labelledby="newsletter-title"] .prose :is(p, li) { color: var(--sg-on-blue-2) !important; text-align: right; }
  body.mv-page #main section[aria-labelledby="newsletter-title"] .nl-points { padding: 0; list-style: none; }
  body.mv-page #main section[aria-labelledby="newsletter-title"] .nl-points li { padding: 0 !important; }
  body.mv-page #main section[aria-labelledby="newsletter-title"] .nl-points li::before { display: none !important; }
  body.mv-page #main section[aria-labelledby="newsletter-title"] .nl-points li::before, body.mv-page #main section[aria-labelledby="newsletter-title"] .nl-points li::marker { color: #FFB3A8; }
  body.mv-page #main section[aria-labelledby="newsletter-title"] .nl-grid { display: grid; gap: 12px; }
  body.mv-page #main .container .nl-form .form-grid { display: grid; gap: 10px; }
  body.mv-page #main .container .nl-form .nl-actions { display: grid; gap: 8px; }
  body.mv-page #main .container .nl-form .form-status { color: var(--sg-muted) !important; }
  /* Impressionen: Bilder abgerundet */
  body.mv-page #main section[aria-label="Impressionen"] .fslider, body.mv-page #main section[aria-label="Impressionen"] .fslide, body.mv-page #main section[aria-label="Impressionen"] .fslide img { border-radius: var(--sg-radius); }
  /* Talentschmiede-Partner: weisse Leiste innerhalb der blauen Flaeche, "Partner werden" als Button */
  body.mv-page #main section[aria-labelledby="sponsoren-title"] .partner-bar { margin: 4px 16px 12px !important; }
  body.mv-page #main section[aria-labelledby="sponsoren-title"] .container[style] { margin-top: 0 !important; }

  /* Blaue Abschnitte stossen ohne hellen Streifen aneinander, feine Trennlinie dazwischen */
  /* zwischen allen Abschnitten ein weisser Trennstreifen (8 px, wie vor dem Footer) */
  body.mv-page #main section:is([aria-labelledby="teams-title"], [aria-labelledby="cta-title"], [aria-label="Impressionen"], [aria-labelledby="newsletter-title"], [aria-labelledby="sponsoren-title"]) { margin: 8px 0 !important; box-shadow: none !important; }
  body.mv-page #main section.dsn-card { border-top: 0 !important; }

  body.mv-page #main section[aria-labelledby="sponsoren-title"] { padding-bottom: 20px !important; }
  /* Bildslider: Pfeile rund */
  body.mv-page #main section[aria-label="Impressionen"] :is(.ns-btn, .fs-arrow) { border-radius: 50% !important; width: 40px !important; height: 40px !important; background: rgba(14,18,64,.55) !important; color: #fff !important; backdrop-filter: blur(4px); }
  /* Newsletter: Einleitung vor dem Formular */
  body.mv-page #main section[aria-labelledby="newsletter-title"] .nl-grid .prose { order: -1; }
  /* Partner-Leiste abgerundet */
  body.mv-page #main section[aria-labelledby="sponsoren-title"] .partner-bar { border-radius: var(--sg-radius) !important; overflow: hidden; }

  /* Balkeneffekt wie im Seitenkopf: 5 nadelgestreifte Bahnen am linken Rand jeder blauen Flaeche, von unten nach oben auslaufend */
  body.mv-page #main section.dsn-card:is([aria-labelledby="news-title"], [aria-labelledby="spiele-title"], [aria-labelledby="profis-title"], [aria-labelledby="teams-title"], [aria-labelledby="cta-title"], [aria-label="Impressionen"], [aria-labelledby="newsletter-title"], [aria-labelledby="sponsoren-title"], [aria-labelledby="partner-title"], [aria-labelledby="werden-title"], [aria-labelledby="mt-title"], [aria-labelledby="team-title"], [aria-labelledby="tnews-title"], [aria-labelledby="fakten-title"], [aria-labelledby="staff-title"]) { position: relative; overflow: hidden; isolation: isolate; }
  body.mv-page #main section.dsn-card:is([aria-labelledby="news-title"], [aria-labelledby="spiele-title"], [aria-labelledby="profis-title"], [aria-labelledby="teams-title"], [aria-labelledby="cta-title"], [aria-label="Impressionen"], [aria-labelledby="newsletter-title"], [aria-labelledby="sponsoren-title"], [aria-labelledby="partner-title"], [aria-labelledby="werden-title"], [aria-labelledby="mt-title"], [aria-labelledby="team-title"], [aria-labelledby="tnews-title"], [aria-labelledby="fakten-title"], [aria-labelledby="staff-title"])::after {
    content: "" !important; display: block !important; position: absolute; left: 0; top: 0; bottom: 0; width: 79px; z-index: 0; pointer-events: none; transform: none;
    background: var(--sg-stripe-blue) 0 0 / 15px 100% no-repeat, var(--sg-stripe-red) 15px 0 / 16px 100% no-repeat, var(--sg-stripe-blue) 31px 0 / 16px 100% no-repeat,
      var(--sg-stripe-red) 47px 0 / 16px 100% no-repeat, var(--sg-stripe-blue) 63px 0 / 16px 100% no-repeat;
    -webkit-mask-image: linear-gradient(345deg, #000 0%, rgba(0,0,0,.75) 30%, transparent 75%); mask-image: linear-gradient(345deg, #000 0%, rgba(0,0,0,.75) 30%, transparent 75%); }   /* unten voll, nach oben auslaufend */
  body.mv-page #main section.dsn-card:is([aria-labelledby="news-title"], [aria-labelledby="spiele-title"], [aria-labelledby="profis-title"], [aria-labelledby="teams-title"], [aria-labelledby="cta-title"], [aria-label="Impressionen"], [aria-labelledby="newsletter-title"], [aria-labelledby="sponsoren-title"], [aria-labelledby="partner-title"], [aria-labelledby="werden-title"], [aria-labelledby="mt-title"], [aria-labelledby="team-title"], [aria-labelledby="tnews-title"], [aria-labelledby="fakten-title"], [aria-labelledby="staff-title"]) > * { position: relative; z-index: 1; }

  /* ---------- Hover- und Tipp-Rueckmeldung ----------
     Am Handy gibt es kein Hover: Karten und Buttons druecken sich beim Antippen leicht ein (:active).
     Auf Geraeten mit Maus/Trackpad (hover: hover) heben sich Karten an und Buttons hellen auf. */
  body.mv-page #main :is(.card, .team-card, .news-card, .team-cat, .fs-card, .jb-card, .tnews-item, .tnews-feature, .mt-album, .sg-hall, .bl-next, .dq-verweis),
  body.mv-page .button, body.mv-page #main .sz-tabs [role="tab"], .mv-nav__item, .mv-herobar__icons button, .mv-head__icons button, body.mv-page .sp-grid .sp-tile, body.mv-page #main .fs-arrow {
    transition: transform .22s var(--sg-out), box-shadow .22s var(--sg-out), filter .22s ease, background-color .22s ease, opacity .22s ease; }
  body.mv-page #main :is(.card, .team-card, .news-card, .team-cat, .fs-card, .jb-card, .tnews-item, .tnews-feature, .mt-album, .sg-hall, .bl-next, .dq-verweis):active { transform: scale(.985); }
  body.mv-page .button:active, body.mv-page #main .sz-tabs [role="tab"]:active, body.mv-page .sp-grid .sp-tile:active, body.mv-page #main .fs-arrow:active { transform: scale(.96); filter: brightness(1.08); }
  .mv-nav__item:active .mv-nav__icon { transform: scale(.85); }
  .mv-nav__item.is-active:active .mv-nav__icon { transform: translateY(-26px) scale(.9); }
  .mv-herobar__icons button:active, .mv-head__icons button:active { transform: scale(.88); }
  @media (hover: hover) and (pointer: fine) {
    body.mv-page #main :is(.card, .team-card, .news-card, .team-cat, .fs-card, .jb-card, .tnews-item, .tnews-feature, .mt-album, .sg-hall, .bl-next):hover { transform: translateY(-3px); box-shadow: 0 14px 28px rgba(4,8,60,.38) !important; }
    body.mv-page #main .container .team-cat:hover .text-link, body.mv-page #main .news-card:hover .text-link { text-decoration: underline; }
    body.mv-page .button:hover, body.mv-page #main .text-link[href="sponsoren.html"]:hover { transform: translateY(-2px); filter: brightness(1.12); box-shadow: 0 12px 24px rgba(4,8,40,.45) !important; }
    body.mv-page #main .sz-tabs [role="tab"]:not([aria-selected="true"]):hover { background: #EEF0FF !important; border-color: var(--sg-blue) !important; }
    body.mv-page .sp-grid .sp-tile:hover { transform: translateY(-3px); box-shadow: 0 10px 22px rgba(14,18,64,.16) !important; }
    body.mv-page .sp-grid .sp-tile img { transition: transform .25s var(--sg-out); } body.mv-page .sp-grid .sp-tile:hover img { transform: scale(1.06); }
    .mv-nav__item:hover .mv-nav__icon, .mv-nav__item:hover .mv-nav__label { color: var(--sg-blue); }
    .mv-nav__item:not(.is-active):hover .mv-nav__icon { transform: translateY(-2px); }
    .mv-herobar__icons button:hover, .mv-head__icons button:hover { transform: scale(1.1); }
    body.mv-page #main .fs-arrow:hover { background: var(--sg-blue) !important; }
    body.mv-page #main .news-card img, body.mv-page #main .team-card .tc-photo img { transition: transform .5s var(--sg-out); }
    body.mv-page #main .news-card:hover img, body.mv-page #main .team-card:hover .tc-photo img { transform: scale(1.04); }
  }
  @media (prefers-reduced-motion: reduce) {
    body.mv-page #main :is(.card, .team-card, .news-card, .team-cat, .fs-card, .jb-card, .tnews-item, .tnews-feature, .mt-album, .sg-hall, .bl-next, .dq-verweis), body.mv-page .button, .mv-nav__item .mv-nav__icon, .mv-herobar__icons button, .mv-head__icons button, body.mv-page .sp-grid .sp-tile, body.mv-page .sp-grid .sp-tile img, body.mv-page #main .news-card img { transition: none !important; transform: none !important; }
  }

  /* Mannschaftskarten: Foto ueber die ganze Kartenbreite, Platzhalter-SG im Polish-Weiss */
  body.mv-page #main .team-grid .team-card { padding: 14px 16px 16px !important; }
  body.mv-page #main .team-grid .team-card .tc-photo { margin: -14px -16px 12px !important; width: calc(100% + 32px) !important; max-width: none !important; height: auto !important; aspect-ratio: 1.66; border-radius: 0 !important; border: 0 !important; }
  body.mv-page #main .team-grid .team-card .tc-photo > img { width: 100% !important; height: 100% !important; object-fit: cover; }
  body.mv-page #main .team-grid .team-card .tc-photo-empty > img { content: url("../img/wasserzeichen/sg-buchstaben-polish-silberblau.svg"); width: auto !important; height: 48% !important; max-width: 55% !important; object-fit: contain; filter: drop-shadow(0 6px 18px rgba(4,8,40,.55)); }

  /* "Lust auf Handball?": wie die anderen Abschnitte - Kicker in Rot, Ueberschrift und Text rechtsbuendig, Button blau */
  body.mv-page #main .cta-band .container .card { text-align: right; }
  body.mv-page #main .cta-band .container .card h2::before { content: "Probetraining"; display: block; font: 600 11px/1.3 var(--sg-font-display); letter-spacing: .08em; text-transform: uppercase; color: var(--sg-red-strong); margin-bottom: 4px; }
  body.mv-page #main .cta-band .container .card h2 { text-align: right; }
  body.mv-page #main .cta-band .container .card p { text-align: right; }
  /* Newsletter: Formularkarte im gleichen Raster, Felder voll breit, Einwilligung links lesbar, Button blau */
  body.mv-page #main .container .nl-form label:not(.nl-consent) { display: block; text-align: right; font: 600 13px/1.3 var(--sg-font-body); color: var(--sg-ink) !important; margin-bottom: 4px; }
  body.mv-page #main .container .nl-form input:not([type="checkbox"]) { width: 100%; text-align: right; padding: 12px 14px; font-size: 15px; }
  body.mv-page #main .container .nl-form .nl-consent { display: flex; gap: 10px; align-items: flex-start; text-align: left; font-size: 13px; line-height: 1.4; }
  body.mv-page #main .container .nl-form .nl-consent input { margin-top: 3px; }

  /* Sponsoren-Seite: Gruppen-Ueberschriften und Hinweise rechtsbuendig, weiss bzw. hell; Karten "Partner werden" in Polish-Weiss */
  body.mv-page #main section[aria-labelledby="partner-title"] .sp-group h3 { color: #fff !important; text-align: right; }
  body.mv-page #main section[aria-labelledby="partner-title"] .sp-group h3 .sp-count { color: #FFB3A8 !important; }
  body.mv-page #main section[aria-labelledby="partner-title"] .sp-note, body.mv-page #main section[aria-labelledby="werden-title"] .lead { color: var(--sg-on-blue-2) !important; text-align: right; }
  body.mv-page #main section[aria-labelledby="werden-title"] .container .card { background: linear-gradient(160deg,#FFFFFF 0%,#F6F4F0 52%,#E8E4DC 100%) !important; color: var(--sg-ink) !important; border: 0 !important; box-shadow: 0 8px 18px rgba(4,8,60,.3) !important; text-align: right; }
  body.mv-page #main section[aria-labelledby="werden-title"] .container .card.team-cat { display: block !important; padding: 14px 16px !important; }
  body.mv-page #main section[aria-labelledby="werden-title"] .container .card.team-cat h3 { margin: 0 0 4px !important; font: 700 18px/1.1 var(--sg-font-display) !important; text-align: right; }
  body.mv-page #main section[aria-labelledby="werden-title"] .container .card.team-cat p { margin: 0 !important; font-size: 13px !important; line-height: 1.4; text-align: right; }
  body.mv-page #main section[aria-labelledby="werden-title"] .lead { margin-bottom: 14px !important; }
  body.mv-page #main section[aria-labelledby="werden-title"] .container .card :is(h3, strong) { color: var(--sg-ink) !important; }
  body.mv-page #main section[aria-labelledby="werden-title"] .container .card :is(p, li, span) { color: #2a3aa6 !important; }
  body.mv-page #main section[aria-labelledby="werden-title"] .container .card .kicker { color: var(--sg-red-strong) !important; }
  body.mv-page #main section[aria-labelledby="werden-title"] .container .button { background: linear-gradient(165deg,#0a1cd6 0%,#0616a8 55%,#04127e 100%) !important; color: #fff !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 8px 18px rgba(4,8,40,.35) !important; padding-left: 1rem !important; }
body.mv-page #main section[aria-labelledby="werden-title"] .container .button::after { display: none !important; content: none !important; }

  /* ---------- SG-Zeichen vor jedem Button-Text ----------
     Standard (Polish-Weiss-Buttons): SG in Polish-Blau. Blaue Buttons setzen --sg-btn-logo auf die weisse Variante. */
  body.mv-page { --sg-btn-logo: url("../img/wasserzeichen/sg-buchstaben-polish-blau.svg"); --sg-btn-logo-w: url("../img/wasserzeichen/sg-buchstaben-polish-silberblau.svg"); }
  body.mv-page .button, body.mv-page .sg-support__btn, body.mv-page #main .text-link[href="sponsoren.html"] { display: inline-flex !important; align-items: center; justify-content: center; gap: 9px; }
  body.mv-page .button::before, body.mv-page .sg-support__btn::before, body.mv-page #main .text-link[href="sponsoren.html"]::before {
    content: "" !important; display: inline-block !important; position: static !important; flex: none; width: 20px !important; height: 21px !important; margin: 0 !important; padding: 0 !important;
    transform: none !important; opacity: 1 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; z-index: auto !important; top: auto !important; left: auto !important; right: auto !important; bottom: auto !important;
    background: var(--sg-btn-logo) center / contain no-repeat !important; filter: drop-shadow(0 1px 2px rgba(4,8,40,.25)); }
  /* Buttons in Polish-Blau: weisses SG */
  body.mv-page #main section:is([aria-labelledby="spiele-title"], [aria-labelledby="fakten-title"]) .dq-verweis .button, body.mv-page #main .bl-next .when .button, body.mv-page #main .cta-band .container .button,
  body.mv-page #main .container .nl-form .button, body.mv-page #main section[aria-labelledby="sponsoren-title"] .text-link[href="sponsoren.html"],
  body.mv-page #main section[aria-labelledby="werden-title"] .container .button { --sg-btn-logo: var(--sg-btn-logo-w); }
  /* "Tickets": Text haengt am ::after, Reihenfolge Logo - Text bleibt */
  body.mv-page #main .bl-next .when .button::after { margin-left: 0; }
  body.mv-page .button-primary::after:not(.bl-next *) { }

  /* Text auf Polish-Weiss-Buttons in Polish-Blau (Verlauf ueber background-clip; Fallback einfarbig) */
  body.mv-page .button-primary, body.mv-page .button-blue, body.mv-page .button-outline, body.mv-page .cc-box .button { color: #1019C9 !important; }
  @supports (-webkit-background-clip: text) or (background-clip: text) {
    body.mv-page :is(.button-primary, .button-blue, .button-outline, .cc-box .button) > span, body.mv-page :is(.button-primary, .button-blue, .button-outline, .cc-box .button) .btn-txt { background: var(--sg-polish); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
  }

  /* Mediathek: blaue Flaeche, Reiter als Chips rechtsbuendig, Album-Kopf und Teamfoto-Ueberschriften rechtsbuendig */
  body.mv-page #main section[aria-labelledby="mt-title"] .mt-bar { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; margin: 0 0 12px !important; }
  body.mv-page #main section[aria-labelledby="mt-title"] .mt-bar .sz-tabs { justify-content: flex-end; margin: 0 !important; width: 100%; }
  body.mv-page #main section[aria-labelledby="mt-title"] .mt-bar .sz-tabs [role="tab"] { display: inline-flex !important; align-items: center; justify-content: center; text-align: center; gap: 6px; line-height: 1 !important; padding: 0 16px !important; }
  body.mv-page #main section[aria-labelledby="mt-title"] .mt-bar .sz-tabs [role="tab"] small { margin: 0 !important; line-height: 1; }
  body.mv-page #main section[aria-labelledby="mt-title"] .mt-heft, body.mv-page #main section[aria-labelledby="mt-title"] .vid-note { display: none !important; }   /* mobil: kein Bundesliga-Link, kein Bedienhinweis */
  body.mv-page #main section[aria-labelledby="mt-title"] .mt-heft-x { display: inline-flex; align-items: center; gap: 6px; color: #fff !important; border: 1px solid rgba(255,255,255,.45) !important; background: transparent !important; border-radius: 999px; padding: 8px 14px; font: 600 13px/1 var(--sg-font-body); text-decoration: none; margin: 0 !important; }
  body.mv-page #main section[aria-labelledby="mt-title"] .mt-heft span { color: #fff !important; }
  body.mv-page #main section[aria-labelledby="mt-title"] .mt-album { background: transparent !important; border: 0 !important; box-shadow: none !important; }
  body.mv-page #main section[aria-labelledby="mt-title"] .mt-album-head { display: block; text-align: right; margin: 6px 0 10px; }
  body.mv-page #main section[aria-labelledby="mt-title"] .mt-album-head .kicker { display: block; color: #FFB3A8 !important; font: 600 11px/1.3 var(--sg-font-display) !important; letter-spacing: .08em; text-transform: uppercase; }
  body.mv-page #main section[aria-labelledby="mt-title"] .mt-album-head h3 { color: #fff !important; font: 700 20px/1.1 var(--sg-font-display) !important; text-transform: uppercase; margin: 2px 0 0 !important; }
  body.mv-page #main section[aria-labelledby="mt-title"] .mt-album-head a:not(.button), body.mv-page #main section[aria-labelledby="mt-title"] .mt-album-head .text-link { color: #FFB3A8 !important; font: 700 12px/1 var(--sg-font-display) !important; letter-spacing: .1em; text-transform: uppercase; display: inline-block; margin-top: 6px; }
  body.mv-page #main section[aria-labelledby="mt-title"] :is(h3, h4, .mt-teamfoto h3, .mt-teamfoto figcaption, .mt-teamfoto .league) { text-align: right; color: #fff !important; }
  body.mv-page #main section[aria-labelledby="mt-title"] :is(p, figcaption, .mt-credit, small) { color: var(--sg-on-blue-2) !important; text-align: right; }
  body.mv-page #main section[aria-labelledby="mt-title"] :is(.mt-fotos, .nd-gallery, .mt-album-grid, .mt-teamfotos) { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
  body.mv-page #main section[aria-labelledby="mt-title"] :is(.mt-fotos a, .nd-gallery a, .mt-teamfoto) { border-radius: var(--sg-radius); overflow: hidden; box-shadow: var(--sg-card-shadow); background: var(--sg-polish); }
  body.mv-page #main section[aria-labelledby="mt-title"] :is(.mt-fotos a, .nd-gallery a) img { width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
  body.mv-page #main section[aria-labelledby="mt-title"] .mt-teamfoto { padding: 0 0 8px; }
  body.mv-page #main section[aria-labelledby="mt-title"] .mt-teamfoto img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
  body.mv-page #main section[aria-labelledby="mt-title"] .mt-teamfoto figcaption { padding: 8px 10px 2px !important; font: 700 12px/1.2 var(--sg-font-display) !important; letter-spacing: .06em; text-transform: uppercase; text-align: right; color: #fff !important; }
  body.mv-page #main section[aria-labelledby="mt-title"] .mt-teamfoto figcaption a { display: inline !important; aspect-ratio: auto !important; background: none !important; box-shadow: none !important; border-radius: 0 !important; color: #fff !important; }
  body.mv-page #main section[aria-labelledby="mt-title"] .mt-teamfoto > a { display: block; border-radius: 0; box-shadow: none; }

  /* Mannschaften-Seite: Abschnitte blau, Kopf rechtsbuendig (Kicker "Aktive"/"Nachwuchs" rot), Einleitung hell rechtsbuendig,
     Ansprechpartner-Karte in Polish-Weiss mit rechtsbuendigem Kopf */
  body.mv-page #main section:is([aria-labelledby="frauen-title"], [aria-labelledby="maenner-title"], [aria-labelledby="jugend-title"]) > .container > .lead { color: var(--sg-on-blue-2) !important; text-align: right; }

  /* Mannschaften-Seite: Abschnitte auf Polish-Weiss statt Blau, Kopf rechtsbuendig (Kicker rot, Titel dunkel) */
  body.mv-page #main section:is([aria-labelledby="frauen-title"], [aria-labelledby="maenner-title"], [aria-labelledby="jugend-title"]) { background: linear-gradient(160deg,#FFFFFF 0%,#F6F4F0 52%,#E8E4DC 100%) !important; padding: 14px 0 16px !important; margin: 8px 0 !important; }
  body.mv-page #main section:is([aria-labelledby="frauen-title"], [aria-labelledby="maenner-title"], [aria-labelledby="jugend-title"]) .ph-head { text-align: right !important; }
  body.mv-page #main section:is([aria-labelledby="frauen-title"], [aria-labelledby="maenner-title"], [aria-labelledby="jugend-title"]) .ph-head .ph-txt { display: block; width: 100%; text-align: right !important; }
  body.mv-page #main section:is([aria-labelledby="frauen-title"], [aria-labelledby="maenner-title"], [aria-labelledby="jugend-title"]) .ph-head .ph-txt h2 { color: var(--sg-ink) !important; text-align: right !important; display: block; width: 100%; }
  body.mv-page #main section:is([aria-labelledby="frauen-title"], [aria-labelledby="maenner-title"], [aria-labelledby="jugend-title"]) .ph-head .ph-txt .kicker { color: var(--sg-red-strong) !important; text-align: right !important; display: block; width: 100%; }
  body.mv-page #main section:is([aria-labelledby="frauen-title"], [aria-labelledby="maenner-title"], [aria-labelledby="jugend-title"]) > .container > .lead { color: #2a3aa6 !important; text-align: right; }

  body.mv-page #main section:is([aria-labelledby="frauen-title"], [aria-labelledby="maenner-title"], [aria-labelledby="jugend-title"]) h3:not(.org-card *):not(.team-card *) { text-align: right; color: var(--sg-ink) !important; }

  /* Organisation / Ansprechpartner: Rahmenkarte weiss, jede Person als eigene Polish-Blau-Karte (alle Seiten) */
  body.mv-page #main .container .org-card { background: transparent !important; color: inherit !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; border-radius: 0 !important; overflow: visible !important; }   /* kein Rahmen: Personen-Karten laufen in voller Kartenbreite */
  body.mv-page #main .container .org-card .org-head { text-align: right; margin-bottom: 12px; }
  body.mv-page #main .container .org-card .org-head .kicker { color: var(--sg-red-strong) !important; display: block; font: 600 11px/1.3 var(--sg-font-display) !important; letter-spacing: .08em; text-transform: uppercase; }
  body.mv-page #main .container .org-card .org-head :is(h2, h3) { color: #fff !important; font: 700 20px/1.1 var(--sg-font-display) !important; text-transform: uppercase; margin: 2px 0 0 !important; }
  body.mv-page #main .container .org-card .org-head .kicker { color: #FFB3A8 !important; }
  body.mv-page #main .container .org-card .org-group { color: var(--sg-on-blue-2) !important; }
  /* auf Polish-Weiss-Abschnitten (Mannschaften-Seite) dunkel */
  body.mv-page #main section:is([aria-labelledby="frauen-title"], [aria-labelledby="maenner-title"], [aria-labelledby="jugend-title"]) .container .org-card .org-head :is(h2, h3) { color: var(--sg-ink) !important; }
  body.mv-page #main section:is([aria-labelledby="frauen-title"], [aria-labelledby="maenner-title"], [aria-labelledby="jugend-title"]) .container .org-card .org-head .kicker { color: var(--sg-red-strong) !important; }
  body.mv-page #main section:is([aria-labelledby="frauen-title"], [aria-labelledby="maenner-title"], [aria-labelledby="jugend-title"]) .container .org-card .org-group { color: var(--sg-ink) !important; }
  body.mv-page #main .container .org-card .org-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; }
  body.mv-page #main .container .org-card .org-person { display: grid !important; grid-template-columns: 72px minmax(0,1fr) !important; gap: 12px !important; align-items: center !important;
    padding: 10px 12px 10px 10px !important; margin: 0 !important; background: var(--sg-polish) !important; color: #fff !important; border: var(--sg-card-border) !important; border-radius: var(--sg-radius) !important; box-shadow: var(--sg-card-shadow) !important; }
  body.mv-page #main .container .org-card .org-person .org-photo { width: 72px !important; height: 92px !important; border-radius: 3px !important; overflow: hidden; flex: none; }
  body.mv-page #main .container .org-card .org-person .org-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; text-align: right; }
  body.mv-page #main .container .org-card .org-person strong { color: #fff !important; font: 700 15px/1.2 var(--sg-font-display) !important; text-transform: uppercase; }
  body.mv-page #main .container .org-card .org-person .org-role { color: #FFB3A8 !important; font: 600 11px/1.3 var(--sg-font-display) !important; letter-spacing: .06em; text-transform: uppercase; }
  body.mv-page #main .container .org-card .org-person .org-contact, body.mv-page #main .container .org-card .org-person .org-contact a { color: var(--sg-on-blue-2) !important; font-size: 13px; overflow-wrap: anywhere; }
  body.mv-page #main .container .org-card .org-person .org-photo-placeholder span { color: #fff !important; }

  body.mv-page #main .container .org-card .org-group { text-align: right; color: var(--sg-ink) !important; font: 700 13px/1.3 var(--sg-font-display) !important; letter-spacing: .08em; text-transform: uppercase; margin: 10px 0 8px !important; padding: 0 !important; }

  /* Textfarben in den Personen-Karten gewinnen gegen die Seiten-Regeln (Teams-Abschnitte in Polish-Weiss) */
  body.mv-page #main .container .org-card .org-person :is(strong, strong *) { color: #fff !important; }
  body.mv-page #main .container .org-card .org-person :is(.org-role, .org-role *) { color: #FFB3A8 !important; }
  body.mv-page #main .container .org-card .org-person :is(.org-contact, .org-contact a, .org-contact span, .org-body > span:not(.org-role), .org-body > a) { color: var(--sg-on-blue-2) !important; }
  body.mv-page #main .container .org-card .org-person .org-body :is(p, span, small, dd, dt, li):not(.org-role) { color: var(--sg-on-blue-2) !important; }

  /* News-Filter: Chips wie die Reiter der anderen Seiten (weiss / aktiv Polish-Blau), horizontal scrollbar, rechtsbuendig */
  body.mv-page #main .news-filter { display: flex !important; flex-wrap: nowrap !important; justify-content: flex-end; gap: 8px; overflow-x: auto; scrollbar-width: none; margin: 0 -16px 12px !important; padding: 0 16px 4px !important; }
  body.mv-page #main .news-filter::-webkit-scrollbar { display: none; }
  body.mv-page #main .news-filter button { flex: none; display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 16px !important; border-radius: 999px !important;
    font: 600 14px/1 var(--sg-font-body) !important; text-transform: none !important; letter-spacing: 0 !important;
    background: #fff !important; color: var(--sg-ink) !important; border: 1px solid var(--sg-chip-line) !important; box-shadow: none !important; transition: background .25s ease, color .25s ease, border-color .25s ease; }
  body.mv-page #main .news-filter button[aria-pressed="true"] { background: var(--sg-blue) !important; border-color: var(--sg-blue) !important; color: #fff !important; }

  /* ---------- Hamburger-Menue: Polish-Blau, Kopfzeile ebenfalls, Schrift weiss ---------- */
  body:is(.mv-page, .spm-page) .site-header .main-nav { background: var(--sg-polish) !important; box-shadow: 0 18px 40px rgba(4,8,40,.45) !important; border-left: 0 !important; border-image: none !important; }
  body:is(.mv-page, .spm-page) .site-header .inner > .main-nav.open::before, body:is(.mv-page, .spm-page) .site-header .main-nav::before { background-color: transparent !important; color: #fff !important; border-bottom: 1px solid rgba(255,255,255,.18) !important; background: url("../img/SG_Logo_Splitter.svg") no-repeat left .8rem center / 40px auto transparent !important; }
  body:is(.mv-page, .spm-page) .site-header .main-nav::after { display: none !important; }
  body:is(.mv-page, .spm-page) .site-header .main-nav a:not(.button), body:is(.mv-page, .spm-page) .site-header .main-nav .nav-sub-label, body:is(.mv-page, .spm-page) .site-header .main-nav .nav-sub a { color: #fff !important; }
  body:is(.mv-page, .spm-page) .site-header .main-nav a:not(.button):hover, body:is(.mv-page, .spm-page) .site-header .main-nav a[aria-current="page"] { color: #fff !important; background: rgba(255,255,255,.12) !important; }
  body:is(.mv-page, .spm-page) .site-header .main-nav a[aria-current="page"] { box-shadow: inset 4px 0 0 var(--sg-red) !important; }
  body:is(.mv-page, .spm-page) .site-header .main-nav a::after { background: var(--sg-red) !important; }
  body:is(.mv-page, .spm-page) .site-header .main-nav > a, body:is(.mv-page, .spm-page) .site-header .main-nav .has-sub { border-color: rgba(255,255,255,.14) !important; }
  body:is(.mv-page, .spm-page) .site-header .main-nav .nav-sub { background: rgba(4,8,60,.25) !important; border-radius: 0 !important; }
  /* Kopfzeile des Menues hoeher (72 px), Wappen 48 px, X mittig auf der Zeile */
  body:is(.mv-page, .spm-page) .site-header .inner > .main-nav.open::before, body:is(.mv-page, .spm-page) .site-header .main-nav::before { min-height: calc(72px + env(safe-area-inset-top)) !important; height: auto !important;
    padding: calc(env(safe-area-inset-top) + 12px) 4rem 12px calc(1rem + 48px + .75rem) !important; background-position: 1rem calc(env(safe-area-inset-top) + 12px) !important; background-size: 48px 48px !important;
    font-size: 1.05rem !important; display: flex !important; align-items: center !important; }
  body:is(.mv-page, .spm-page) .site-header .inner > .main-nav.open > .nav-close, body:is(.mv-page, .spm-page) .site-header .nav-close { position: absolute !important; top: calc(env(safe-area-inset-top) + 36px) !important; bottom: auto !important; transform: translateY(-50%) !important; right: 1rem !important; width: 36px !important; height: 36px !important; margin: 0 !important; }
  /* Abstaende im Menue: Bundesliga-Button oben/unten gleich (14 px), nach "Kontakt" ein Trennstrich, dann Probetraining */
  body:is(.mv-page, .spm-page) .site-header .inner > .main-nav.open > a.button-primary.nav-cta.nav-switch, body:is(.mv-page, .spm-page) .site-header .main-nav a.button-primary.nav-cta.nav-switch { margin: 14px .8rem !important; margin-bottom: 14px !important; }
  body:is(.mv-page, .spm-page) .site-header .main-nav a[href="kontakt.html"]:not(.nav-cta) { border-bottom: 1px solid rgba(255,255,255,.14) !important; }
  body:is(.mv-page, .spm-page) .site-header .main-nav a.button-primary.nav-cta:not(.nav-switch) { margin: 14px .8rem 0 !important; }
  body:is(.mv-page, .spm-page) .site-header .nav-close span { background: #fff !important; }
  body:is(.mv-page, .spm-page) .site-header .nav-close:hover span { background: var(--sg-red) !important; }
  /* Buttons im Menue (Bundesliga, Probetraining): Polish-Weiss mit blauer Schrift, SG in Blau */
  body:is(.mv-page, .spm-page) .site-header .main-nav a.button-primary.nav-cta { background: linear-gradient(270deg,#D5DCE8 0%,#E6EBF3 30%,#F4F6FA 62%,#FFFFFF 100%) !important; color: #1019C9 !important; border-radius: 0 !important; box-shadow: 0 8px 18px rgba(4,8,40,.35) !important; }
  body:is(.mv-page, .spm-page) .site-header .main-nav a.button-primary.nav-cta::after { display: none !important; content: none !important; }
  body:is(.mv-page, .spm-page) .site-header .main-nav a.button-primary.nav-cta::before { background-image: url("../img/SG_Logo_Splitter.svg") !important; }
  body:is(.mv-page, .spm-page) .site-header .main-nav a.button-primary.nav-cta img { display: none; }
  /* Social-Kacheln im Menue: weiss mit blauem Symbol */
  body:is(.mv-page, .spm-page) .site-header .nav-social a, body:is(.mv-page, .spm-page) .site-header .nav-social a svg { background: #fff !important; color: #1019C9 !important; border-radius: 0 !important; }
  body:is(.mv-page, .spm-page) .site-header .nav-social a svg { background: transparent !important; }
  body:is(.mv-page, .spm-page) .site-header .nav-social a:hover { background: #fff !important; color: var(--sg-red) !important; }

  /* Reiterleiste Mannschaften (Frauen / Maenner / Jugend): Chips wie auf den anderen Seiten, mittig */
  body.mv-page #main .mv-tabs { display: flex !important; justify-content: center; gap: 8px; margin: 12px 16px 4px !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; }
  body.mv-page #main .mv-tabs [role="tab"] { flex: 1 1 0; min-height: 40px; padding: 0 12px !important; border-radius: 999px !important; font: 600 14px/1 var(--sg-font-body) !important; text-transform: none !important; letter-spacing: 0 !important;
    background: #fff !important; color: var(--sg-ink) !important; border: 1px solid var(--sg-chip-line) !important; box-shadow: none !important; }
  body.mv-page #main .mv-tabs [role="tab"][aria-selected="true"] { background: var(--sg-blue) !important; border-color: var(--sg-blue) !important; color: #fff !important; }
  body.mv-page #main section[hidden] { display: none !important; }

  /* Mannschaften-Seite mobil: Bereichskopf ("Aktive / Frauen", "Nachwuchs / Jugend") und Einleitung entfallen - die Reiterleiste benennt den Bereich */
  body.mv-page #main section:is([aria-labelledby="frauen-title"], [aria-labelledby="maenner-title"], [aria-labelledby="jugend-title"]) > .container > .ph-head,
  body.mv-page #main section:is([aria-labelledby="frauen-title"], [aria-labelledby="maenner-title"], [aria-labelledby="jugend-title"]) > .container > .lead { display: none !important; }

  /* Karten mit Foto (Mannschaftskarten, Mannschaftsfotos der Mediathek): kein heller Rand */
  body.mv-page #main .team-grid .team-card, body.mv-page #main .mt-teamfoto, body.mv-page #main .mt-fotos a, body.mv-page #main .nd-gallery a { border: 0 !important; box-shadow: 0 6px 16px rgba(4,8,60,.28), 0 1px 3px rgba(4,8,60,.18) !important; }

  body.mv-page #main section[aria-labelledby="spiele-title"] :is(#homeRange, .sched-range) { color: var(--sg-on-blue-2) !important; text-align: right; font-size: 11px; }

  /* Startseite: Naechste Spiele als Spielplan-Karten (Tabelle ausgeblendet, sobald Karten da sind) */
  body.mv-page .mv-spiele { display: block; }
  body.mv-page.mv-hat-spielkarten section[aria-labelledby="spiele-title"] .table-wrap { display: none !important; }
  body.mv-page #main section[aria-labelledby="spiele-title"] .mv-spiele .sg-group__head { color: #fff !important; text-align: left; }
  body.mv-page #main section[aria-labelledby="spiele-title"] .mv-spiele .sg-card { border: 1px solid rgba(255,255,255,.18) !important; box-shadow: 0 8px 18px rgba(4,8,60,.35) !important; }
  body.mv-page #main section[aria-labelledby="spiele-title"] .mv-spiele :is(.sg-card__home, .sg-card__home *, .sg-card__time, .sg-card__team, .sg-card__logo--ini, .sg-card__hall, .sg-card__hall span) { color: #fff !important; text-decoration: none !important; }
  body.mv-page #main section[aria-labelledby="spiele-title"] .mv-spiele :is(.sg-card__away, .sg-card__away *) { color: var(--sg-on-blue-2) !important; }
  body.mv-page #main section[aria-labelledby="spiele-title"] .mv-spiele :is(.sg-card__meta, .sg-card__liga) { color: var(--sg-on-blue-3) !important; }

  /* Mannschaftsseiten: Steckbrief-Karte in Polish-Weiss (wie die Mannschaftskarten der Startseite), Foto-Legende und Hinweise lesbar */
  body.mv-page #main section[aria-labelledby="fakten-title"] .container .team-card { background: linear-gradient(160deg,#FFFFFF 0%,#F6F4F0 52%,#E8E4DC 100%) !important; border: 0 !important; box-shadow: 0 8px 18px rgba(4,8,60,.3) !important; }
  body.mv-page #main section[aria-labelledby="fakten-title"] .container .team-card :is(h3, dd, dd *, strong) { color: var(--sg-ink) !important; }
  body.mv-page #main section[aria-labelledby="fakten-title"] .container .team-card :is(.league, dt) { color: var(--sg-red-strong) !important; }
  body.mv-page #main section[aria-labelledby="fakten-title"] .container .team-card a:not(.button) { color: var(--sg-blue) !important; }
  body.mv-page #main section[aria-labelledby="team-title"] .pl-label { color: #FFB3A8 !important; }
  body.mv-page #main section[aria-labelledby="team-title"] .pl-players { color: #fff !important; }
  body.mv-page #main section[aria-labelledby="team-title"] :is(.photo-legend, .photo-legend *, .photo-note, .team-photo + p, .team-photo ~ p) { color: inherit; }
  body.mv-page #main section[aria-labelledby="team-title"] :is(.pl-note, .photo-legend > p, .photo-note) { color: var(--sg-on-blue-3) !important; }
  body.mv-page #main section[aria-labelledby="staff-title"] .staff-grid, body.mv-page #main section[aria-labelledby="staff-title"] .staff-grid * { color: var(--sg-on-blue-2) !important; text-align: right; }

  /* "Das Team": Mannschaftsfoto und Legende als abgerundete Karten */
  body.mv-page #main section[aria-labelledby="team-title"] :is(.team-photo, .photo-legend) { border-radius: var(--sg-radius) !important; overflow: hidden; border: 0 !important; box-shadow: 0 8px 18px rgba(4,8,60,.35) !important; }
  body.mv-page #main section[aria-labelledby="team-title"] .photo-legend { background: var(--sg-polish) !important; padding: 14px 16px !important; }

  /* Mannschafts-News: Text in den Karten einheitlich mit Innenabstand (vorher klebte er bei den kleinen Karten am linken Rand) */
  body.mv-page #main :is(.tnews-feature, .tnews-item) { display: block !important; padding: 0 !important; border: 0 !important; box-shadow: 0 8px 18px rgba(4,8,60,.35) !important; }
  body.mv-page #main :is(.tnews-feature, .tnews-item) :is(.tnews-body, .tnews-itembody) { padding: 14px 16px 16px !important; }
  body.mv-page #main :is(.tnews-feature, .tnews-item) :is(.tnews-img, .tnews-thumb) { display: block; width: 100% !important; }
  body.mv-page #main :is(.tnews-feature, .tnews-item) .tnews-img img, body.mv-page #main :is(.tnews-feature, .tnews-item) .tnews-thumb img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
  body.mv-page #main :is(.tnews-feature, .tnews-item) :is(h3, h4) { margin: 6px 0 6px !important; font-size: 17px !important; line-height: 1.2 !important; overflow-wrap: anywhere; }
  body.mv-page #main :is(.tnews-feature, .tnews-item) p { margin: 0 !important; font-size: 14px; line-height: 1.5; }
  body.mv-page #main .tnews-list { display: grid; gap: 12px; }
  body.mv-page #main .container :is(.tnews-feature, .tnews-item), body.mv-page #main .container .container :is(.tnews-feature, .tnews-item) { border: 0 !important; }

  /* Abschnittskoepfe wie Bundesliga (css/trikotkante.css): Logo sichtbar, Wasserzeichen-Wort neben dem Logo, Balken + Kicker darueber */
  body.mv-page #main .dsn-card .ph-head .ph-logo { display: block !important; }
  body.mv-page #main .dsn-card .ph-head .ph-txt { display: contents !important; }
  body.mv-page #main .dsn-card .ph-head .ph-txt .kicker { color: #FFB3A8 !important; font: 700 .7rem/1.35 var(--sg-font-display) !important; letter-spacing: .18em !important; text-align: right; }
  body.mv-page #main .dsn-card .ph-head .ph-txt[data-ghost]::before { color: rgba(255,255,255,.1) !important; }
  body.mv-page #main section:is([aria-labelledby="frauen-title"], [aria-labelledby="maenner-title"], [aria-labelledby="jugend-title"]) .ph-head .ph-txt[data-ghost]::before { color: rgba(14,18,64,.12) !important; }

  /* ---------- Einzelfaelle ---------- */
  body.mv-page #main .todo-note { background: #FFF1EF !important; color: var(--sg-ink) !important; border: 1px solid #F3C3BC !important; border-left: 4px solid var(--sg-red-strong) !important; border-radius: var(--sg-radius) !important; }
  body.mv-page #main .todo-note * { color: var(--sg-ink) !important; }
  body.mv-page #main .pay-bar { background: var(--sg-polish) !important; border-radius: var(--sg-radius) !important; border: var(--sg-card-border) !important; box-shadow: var(--sg-card-shadow) !important; }
  body.mv-page #main .pay-bar p, body.mv-page #main .pay-bar .lead { color: var(--sg-on-blue-2) !important; }
  body.mv-page .cart-fab { bottom: calc(84px + env(safe-area-inset-bottom)) !important; border-radius: 999px !important; }
  body.mv-page .cart-drawer { z-index: 60; }

  @media (prefers-reduced-motion: reduce) { .mv-nav__track, .mv-nav__icon, .mv-nav__label, body.mv-page .sz-tabs [role="tab"] { transition: none !important; } }
}
/* Hamburger-Menue: Buttons, Kacheln und Untermenue mit 90-Grad-Ecken */
@media (max-width:900px){ #mainNav :is(.button, .nav-cta, .nav-social a, .nav-sub, .nav-close){ border-radius:0 !important; } }

/* ===== Handy-Layout Verein & Jugend: alles mit 90-Grad-Ecken (Karten, Buttons, Chips, Bilder, Leisten).
   Ausnahme: der runde Kreis der unteren Navigation, er ist Teil der Animation. ===== */
@media (max-width: 767.98px) {
  body:is(.mv-page, .spm-page) { --sg-radius: 0px; }
  html body:is(.mv-page, .spm-page):not(#e1):not(#e2):not(#e3):not(#e4) *:not(.mv-nav__dot):not(.sg-nav__dot),
  html body:is(.mv-page, .spm-page):not(#e1):not(#e2):not(#e3):not(#e4) *:not(.mv-nav__dot):not(.sg-nav__dot)::before,
  html body:is(.mv-page, .spm-page):not(#e1):not(#e2):not(#e3):not(#e4) *:not(.mv-nav__dot):not(.sg-nav__dot)::after { border-radius: 0 !important; }
}

/* Bottom-Navigation mit farbigen SG-Icons (wie Bundesliga, css/mobil-bundesliga.css) */
@media (max-width: 767.98px) {
  .mv-sgicons .mv-nav__icon { margin-top: -3px; }
  .mv-sgicons .bl-ic { display: block; width: 30px; height: 30px; object-fit: contain; transition: filter .3s ease, width .3s ease, height .3s ease; }
  .mv-sgicons .mv-nav__item.is-active .bl-ic { width: 32px; height: 32px; filter: brightness(0) invert(1); }
  .mv-sgicons .bl-ic-sg { width: 28px; height: 28px; }
  .mv-sgicons .mv-nav__dot { background: linear-gradient(165deg, #0a1cd6 0%, #0616a8 55%, #04127e 100%); }
  .mv-sgicons .bl-ic-mehr { display: block; font: 800 22px/30px var(--sg-font-body); letter-spacing: 1px;
    background: linear-gradient(165deg, #0a1cd6 0%, #0616a8 55%, #04127e 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
  .mv-sgicons .mv-nav__item.is-active .bl-ic-mehr { background: none; color: #fff; }
}

/* ===========================================================================
   Ergebnisse Verein & Jugend im Stil F3 (Wunsch 05.11.2026): rechteckiges helles Feld im
   Silber-Polish, Zahlen in Polish-Blau, dahinter ein quadratisches Kaestchen S (gruen, Sieg),
   N (rot, Niederlage) oder U (blau, Unentschieden) aus Sicht der SG. Alle Boxen gleich gross
   (feste Breite, Ziffern gleich breit). Diese Datei laedt nur im Bereich Verein & Jugend,
   Bundesliga bleibt beim dunklen Feld. Gilt fuer Tabellen, Startseite, Mannschaftsseiten
   und die Ergebniskarten im Handy-Spielplan.
   =========================================================================== */
html body:not(#vf1):not(#vf2):not(#vf3):not(#vf4):not(#vf5):not(#vf6):not(#vf7):not(#vf8):not(#vf9):not(#vf10):not(#vf11):not(#vf12):not(#vf13):not(#vf14)
  :is(.score.win, .score.lose, .score.draw, #spm .sg-card__score) {
  display: inline-grid !important; grid-template-columns: 1fr 26px !important; justify-items: center !important; align-items: center !important; column-gap: .45rem !important;
  box-sizing: border-box !important; width: 7.6rem !important; min-width: 0 !important; height: auto !important; min-height: 0 !important;
  padding: .3rem .3rem .3rem .6rem !important; margin: 0 !important;
  background: linear-gradient(160deg, #FFFFFF 0%, #F4F6FA 34%, #E6EBF3 68%, #D5DCE8 100%) !important;
  border: 0 !important; border-radius: 0 !important; box-shadow: 0 6px 14px rgba(2, 8, 40, .3) !important;
  color: #04127e !important; -webkit-text-fill-color: #04127e !important; -webkit-text-stroke: 0 !important; text-shadow: none !important;
  font-family: var(--font-body) !important; font-weight: 800 !important; font-synthesis: none !important; font-size: 20px !important; line-height: 1 !important;
  letter-spacing: .03em !important; word-spacing: -.285em !important;   /* Leerzeichen in "34 : 32" entfernen: SG-Gothic-Leerzeichen .255 em + Sperrung .03 em */ font-variant-numeric: tabular-nums !important; white-space: nowrap !important; text-decoration: none !important; }
html body:not(#vf1):not(#vf2):not(#vf3):not(#vf4):not(#vf5):not(#vf6):not(#vf7):not(#vf8):not(#vf9):not(#vf10):not(#vf11):not(#vf12):not(#vf13):not(#vf14)
  :is(.score.win, .score.lose, .score.draw, #spm .sg-card__score)::after {
  content: "N"; display: grid; place-items: center; width: 26px; height: 26px; background: #e2412b; color: #fff; -webkit-text-fill-color: #fff;
  font: 800 14px/1 var(--font-body); letter-spacing: 0; word-spacing: 0; }
html body:not(#vf1):not(#vf2):not(#vf3):not(#vf4):not(#vf5):not(#vf6):not(#vf7):not(#vf8):not(#vf9):not(#vf10):not(#vf11):not(#vf12):not(#vf13):not(#vf14)
  :is(.score.win, #spm .sg-card__score.is-win)::after { content: "S"; background: #1fa64a; }
html body:not(#vf1):not(#vf2):not(#vf3):not(#vf4):not(#vf5):not(#vf6):not(#vf7):not(#vf8):not(#vf9):not(#vf10):not(#vf11):not(#vf12):not(#vf13):not(#vf14)
  :is(.score.draw, #spm .sg-card__score.is-draw)::after { content: "U"; background: #0616a8; }
/* Handy-Spielplan: Karte ohne Ausgang (keine SG-Partie) bekommt kein Kaestchen */
html body:not(#vf1):not(#vf2):not(#vf3):not(#vf4):not(#vf5):not(#vf6):not(#vf7):not(#vf8):not(#vf9):not(#vf10):not(#vf11):not(#vf12):not(#vf13):not(#vf14)
  #spm .sg-card__score:not(.is-win):not(.is-lose):not(.is-draw) { grid-template-columns: 1fr !important; padding-right: .6rem !important; }
html body:not(#vf1):not(#vf2):not(#vf3):not(#vf4):not(#vf5):not(#vf6):not(#vf7):not(#vf8):not(#vf9):not(#vf10):not(#vf11):not(#vf12):not(#vf13):not(#vf14)
  #spm .sg-card__score:not(.is-win):not(.is-lose):not(.is-draw)::after { content: none; }
@media (max-width: 720px) {
  html body:not(#vf1):not(#vf2):not(#vf3):not(#vf4):not(#vf5):not(#vf6):not(#vf7):not(#vf8):not(#vf9):not(#vf10):not(#vf11):not(#vf12):not(#vf13):not(#vf14)
    :is(.score.win, .score.lose, .score.draw, #spm .sg-card__score) { width: 6.9rem !important; font-size: 18px !important; grid-template-columns: 1fr 24px !important; }
  html body:not(#vf1):not(#vf2):not(#vf3):not(#vf4):not(#vf5):not(#vf6):not(#vf7):not(#vf8):not(#vf9):not(#vf10):not(#vf11):not(#vf12):not(#vf13):not(#vf14)
    :is(.score.win, .score.lose, .score.draw, #spm .sg-card__score)::after { width: 24px; height: 24px; font-size: 13px; }
}
/* Spielplan Verein & Jugend (05.11.2026): Liga in einer Zeile */
@media (min-width: 768px) {
  html body:not(#lz1):not(#lz2):not(#lz3):not(#lz4):not(#lz5):not(#lz6):not(#lz7):not(#lz8) table.schedule td[data-label="Liga"] { white-space: nowrap !important; }
}
/* Mannschaftsseiten, "Letzte Ergebnisse" (05.11.2026): Ergebnis rechts genau auf der Hoehe der Begegnung
   (Teamnamen), in allen Karten gleich. Raster statt float: Datum oben, darunter Begegnung und Ergebnis nebeneinander. */
html body:not(#tm1):not(#tm2):not(#tm3):not(#tm4):not(#tm5):not(#tm6):not(#tm7):not(#tm8):not(#tm9):not(#tm10):not(#tm11):not(#tm12):not(#tm13):not(#tm14):not(#tm15) .ts-item:has(> .score) {
  display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important; column-gap: 1rem !important; align-items: center !important; }
html body:not(#tm1):not(#tm2):not(#tm3):not(#tm4):not(#tm5):not(#tm6):not(#tm7):not(#tm8):not(#tm9):not(#tm10):not(#tm11):not(#tm12):not(#tm13):not(#tm14):not(#tm15) .ts-item:has(> .score) > .d { grid-column: 1 / -1 !important; grid-row: 1 !important; }
html body:not(#tm1):not(#tm2):not(#tm3):not(#tm4):not(#tm5):not(#tm6):not(#tm7):not(#tm8):not(#tm9):not(#tm10):not(#tm11):not(#tm12):not(#tm13):not(#tm14):not(#tm15) .ts-item:has(> .score) > .p { grid-column: 1 !important; grid-row: 2 !important; }
html body:not(#tm1):not(#tm2):not(#tm3):not(#tm4):not(#tm5):not(#tm6):not(#tm7):not(#tm8):not(#tm9):not(#tm10):not(#tm11):not(#tm12):not(#tm13):not(#tm14):not(#tm15) .ts-item:has(> .score) > .m { grid-column: 1 / -1 !important; grid-row: 3 !important; }
html body:not(#tm1):not(#tm2):not(#tm3):not(#tm4):not(#tm5):not(#tm6):not(#tm7):not(#tm8):not(#tm9):not(#tm10):not(#tm11):not(#tm12):not(#tm13):not(#tm14):not(#tm15) .ts-item > .score { float: none !important; grid-column: 2 !important; grid-row: 2 !important; margin: 0 !important; justify-self: end !important; }

/* ===== Verein & Jugend am Handy wie Bundesliga (08.11.2026) =====
   1) Section-Verlauf wie Bundesliga (css/trikotkante.css .dsn-card): tief unten rechts, hell in der Mitte, tief oben links.
   2) Pause-Knopf im Hero rund wie bei Bundesliga (die 90-Grad-Regel oben nimmt ihn aus).
   3) Partner-Leisten ueber die volle Breite wie bei Bundesliga, gleiche Hoehe, keine 16-px-Einrueckung. */
@media (max-width: 767.98px) {
  html body.mv-page:not(#vb1):not(#vb2):not(#vb3):not(#vb4):not(#vb5):not(#vb6):not(#vb7) #main section.dsn-card {
    background-image: linear-gradient(345deg,#020a52 0%,#0616a8 38%,#0a1cd6 60%,#04127e 100%) !important; }
  html body.mv-page:not(#vb1):not(#vb2):not(#vb3):not(#vb4):not(#vb5):not(#vb6):not(#vb7) .hero .hero-pause { border-radius: 50% !important; }
  html body.mv-page:not(#vb1):not(#vb2):not(#vb3):not(#vb4):not(#vb5):not(#vb6):not(#vb7) #main > :is(section.partner-bar, .partner-bar) {
    margin: 8px 0 !important; width: 100% !important; padding: 17px 0 18px !important; box-shadow: none !important; }
}
/* Teams-Seite am Handy (08.11.2026): Ueberschriften direkt auf der blauen Section weiss statt Polish-Blau
   ("Ansprechpartner Aktive Frauen/Maenner", "Ansprechpartner Jugendbereich", "Maennliche Jugend", "Weibliche Jugend", "Minis"). */
@media (max-width: 767.98px) {
  html body.mv-page:not(#ow1):not(#ow2):not(#ow3):not(#ow4):not(#ow5):not(#ow6):not(#ow7) #main section.dsn-card :is(.org-head h3, .org-head h3 *, .container > h3) {
    color: #fff !important; -webkit-text-fill-color: #fff !important; }
}
