/* Alle Regeln sind auf die aktivierte Smartphone-Ansicht begrenzt. */
html.hga-phone { --hga-green:#078b43; --hga-top:calc(68px + env(safe-area-inset-top,0px)); --hga-bottom:calc(72px + env(safe-area-inset-bottom,0px)); scroll-padding-top:calc(var(--hga-top) + 12px); }
html.hga-phone {height:auto!important;width:100%!important;max-width:100%!important;overflow-x:clip!important;overflow-y:visible!important;}
html.hga-phone body {position:static!important;inset:auto!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;height:auto!important;min-height:100dvh;margin:0!important;padding-top:var(--hga-top)!important;padding-bottom:var(--hga-bottom)!important;background:#f3f6f3!important;overflow-x:clip!important;overflow-y:visible!important;}
html.hga-phone body.hg-news-modal-open {overflow-y:hidden!important;}
html.hga-phone .hg-nav,html.hga-phone .hg-menu-panel,html.hga-phone .hg-menu-backdrop {display:none!important;}
html.hga-phone .hga-panel-hidden {display:none!important;}
.hga-phone .hga-top {position:fixed;top:0;left:0;right:0;height:var(--hga-top);padding:env(safe-area-inset-top,0px) 16px 0;display:flex;align-items:center;justify-content:space-between;background:#fff;box-shadow:0 1px 0 #dce5de;z-index:8000;box-sizing:border-box;}
.hga-phone .hga-brand {display:flex;align-items:center;gap:10px;min-width:0;color:#152e20;text-decoration:none;}
.hga-phone .hga-logo {display:block;width:44px!important;height:44px!important;flex:0 0 44px;object-fit:contain;}
.hga-phone .hga-brand-text {display:block;min-width:0;}
html.hga-phone body .hga-brand .hga-brand-name {display:block;font-family:var(--hg-nav,Inter,Arial,sans-serif)!important;font-size:15px!important;font-weight:800;line-height:1.2;letter-spacing:.055em;}
html.hga-phone body .hga-brand .hga-brand-claim {display:block!important;font-family:var(--hg-subheading,"Roboto Condensed",Arial,sans-serif)!important;font-size:10px!important;font-weight:500;line-height:1.25;color:var(--hg-green-light,#078b43);margin-top:3px;}
.hga-phone .hga-top-menu {background:#edf5ef;border:0;color:var(--hga-green);width:44px;height:44px;border-radius:14px;display:grid;place-items:center;cursor:pointer;}
.hga-phone .hga-app-nav {position:fixed;bottom:0;left:0;right:0;z-index:8000;height:var(--hga-bottom);padding:6px 5px calc(6px + env(safe-area-inset-bottom,0px));box-sizing:border-box;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#fffffffa;border-top:1px solid #dbe5de;backdrop-filter:blur(18px);box-shadow:0 -5px 25px #2448310a;}
.hga-phone .hga-app-nav a,.hga-phone .hga-app-nav button {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:48px;padding:5px 1px;border:0;border-radius:13px;background:transparent;color:#66756b;font:650 11px/1.1 system-ui,sans-serif;text-decoration:none;cursor:pointer;}
.hga-phone .hga-app-nav [aria-current],.hga-phone .hga-app-nav .is-active {background:#e7f4ea;color:#007c38;}
.hga-phone .hga-app-nav svg,.hga-phone .hga-top-menu svg {width:23px;height:23px;}
.hga-phone :focus-visible {outline:3px solid #78b987;outline-offset:3px;}
.hga-phone .hg-hero {height:230px!important;min-height:0!important;max-height:none!important;margin:12px!important;width:calc(100% - 24px)!important;border-radius:22px;overflow:hidden;background:#123b28!important;}
html.hga-phone body .hg-hero,html.hga-phone body .hg-start-ticker,html.hga-phone body .hg-teams-ticker,html.hga-phone body .td-heading-ticker {display:none!important;}
html.hga-phone body #hgHeroSporthalle {inset:0!important;width:100%!important;height:100%!important;transform:none!important;clip-path:none!important;border-radius:0!important;background-size:cover!important;background-position:center 55%!important;}
html.hga-phone body .hg-hero .hg-hero__copy,html.hga-phone body .hg-hero .hg-hero__ball,html.hga-phone body .hg-hero .hg-hero__player,html.hga-phone body .hg-hero .hg-hero__claim {display:none!important;}
.hga-phone .hg-shell {width:calc(100% - 32px)!important;max-width:calc(100% - 32px)!important;min-width:0!important;box-sizing:border-box!important;margin-inline:auto!important;}
/* Nur die Karten bewegen sich beim Wischen, nicht die gesamte Seite. */
html.hga-phone body #teams {width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;overflow-x:clip!important;}
html.hga-phone body #teams .hg-team-layout {display:block!important;min-width:0!important;}
html.hga-phone body #teams .hg-team-layout>*,html.hga-phone body #teams .hg-swipe-area {min-width:0!important;max-width:100%!important;box-sizing:border-box!important;}
html.hga-phone body #teams .hg-swipe-area {width:100%!important;overflow:hidden!important;}
html.hga-phone body #teams .hg-swipe {display:flex!important;width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;padding:4px 0 14px!important;gap:14px!important;overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;touch-action:pan-x pan-y;}
html.hga-phone body #teams .hg-team-card {flex:0 0 88%!important;width:88%!important;min-width:0!important;max-width:340px!important;box-sizing:border-box!important;scroll-snap-align:start;overflow:hidden!important;overflow-wrap:anywhere;}
.hga-phone .hg-section-label {font-size:11px!important;letter-spacing:.09em!important;}
.hga-phone h2.hg-type-section-heading,.hga-phone .hg-news-stage__head h2 {font-size:32px!important;line-height:1.06!important;letter-spacing:-.025em!important;}
.hga-phone .hg-news-stage,.hga-phone .hg-teams,.hga-phone .hg-dashboard,.hga-phone .hg-history,.hga-phone .hg-partner-join,.hga-phone .ar-main {padding-top:24px!important;padding-bottom:24px!important;background:#f3f6f3!important;}
.hga-phone .hg-news-card,.hga-phone .hg-panel,.hga-phone .hg-team-card {border-radius:20px!important;box-shadow:0 6px 24px #173b2210!important;}
.hga-phone .hg-news-card h3,.hga-phone .hg-news-card:first-child h3 {font-size:23px!important;line-height:1.15!important;}
.hga-phone .hg-dashboard .hg-dashboard__grid {display:flex!important;flex-direction:column!important;overflow:visible!important;gap:16px!important;scroll-snap-type:none!important;}
.hga-phone .hg-dashboard .hg-dashboard__grid>.hg-panel {width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;flex:none!important;box-sizing:border-box;}
.hga-phone .hg-dashboard .hg-panel>.hg-panel__fit {width:100%!important;transform:none!important;}
.hga-phone .hg-btn,.hga-phone .ar-button {min-height:44px;box-sizing:border-box;}
.hga-phone input,.hga-phone select,.hga-phone textarea {font-size:16px!important;}
.hga-phone .ar-inputrow {flex-wrap:wrap;}
.hga-phone .ar-inputrow input {flex-basis:100%;}
.hga-phone .ar-list {grid-template-columns:1fr!important;}
.hga-phone .ar-gallery {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px;}
.hga-phone .ar-section>summary {padding:16px;font-size:17px;}
.hga-phone .ar-content {padding:0 14px 16px;}
.hga-phone .ar-overview {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.hga-phone .hg-news-modal {padding:0!important;z-index:10000!important;}
.hga-phone .hg-news-modal__dialog {width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;margin:0!important;box-sizing:border-box!important;}
.hga-phone .hg-news-modal__head {padding-top:env(safe-area-inset-top,0px)!important;}
.hga-phone .hg-news-modal__close {min-width:44px!important;min-height:44px!important;top:calc(12px + env(safe-area-inset-top,0px))!important;}
.hga-phone .hg-news-modal__body {padding:22px 18px calc(32px + env(safe-area-inset-bottom,0px))!important;}
.hga-phone .hg-news-modal__gallery {border-radius:0!important;}
.hga-phone .hg-footer {padding:24px 0!important;}
.hga-phone .hga-sheet {position:fixed;inset:auto 0 0;width:100%;max-width:none;max-height:85dvh;margin:0;padding:24px 20px calc(24px + env(safe-area-inset-bottom,0px));box-sizing:border-box;border:0;border-radius:26px 26px 0 0;background:#fff;color:#183c26;overflow:auto;}
.hga-phone .hga-sheet::backdrop {background:#06241399;backdrop-filter:blur(4px);}
.hga-phone .hga-sheet-head {display:flex;align-items:center;justify-content:space-between;gap:12px;}
.hga-phone .hga-sheet-head h2 {font:800 23px/1.2 system-ui,sans-serif;margin:0;}
.hga-phone .hga-sheet-head button {width:44px;height:44px;border:0;background:#edf5ef;border-radius:50%;color:#126c35;font-size:28px;cursor:pointer;}
.hga-phone .hga-menu-links {display:grid;gap:8px;margin-top:20px;}
.hga-phone .hga-menu-links a {display:block;padding:16px;border-radius:14px;background:#f0f6f1;color:#214b30;font:650 16px/1.2 system-ui,sans-serif;text-decoration:none;}
.hga-phone .hga-sheet p {font:400 12px/1.5 system-ui,sans-serif;color:#748279;margin-top:20px;}
@media(prefers-reduced-motion:reduce){.hga-phone * {scroll-behavior:auto!important;}}

/* Die Beschriftung bleibt auch bei zentralen Typografie-Regeln sichtbar. */
html.hga-phone body .hga-app-nav {display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;}
html.hga-phone body .hga-app-nav>a,html.hga-phone body .hga-app-nav>button {display:flex!important;visibility:visible!important;opacity:1!important;}
html.hga-phone body .hga-app-nav>a>span,html.hga-phone body .hga-app-nav>button>span {display:block!important;visibility:visible!important;font-size:11px!important;line-height:1.2!important;white-space:nowrap!important;}

/* Mannschaftsdetail: kein 100vw-Überstand und keine negativen Seitenränder. */
html.hga-phone body .td-wrap,html.hga-phone body .hga {width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;overflow-x:clip!important;}
html.hga-phone body .td-wrap>.hg-shell {width:calc(100% - 32px)!important;max-width:calc(100% - 32px)!important;margin-inline:auto!important;}
html.hga-phone body .td-top {display:flex!important;flex-wrap:wrap!important;gap:12px;min-width:0!important;max-width:100%!important;}
html.hga-phone body .td-top>* {min-width:0!important;max-width:100%!important;overflow-wrap:anywhere;}
html.hga-phone body .td-detail-track {display:flex!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;margin:10px 0 0!important;padding:0 0 14px!important;gap:12px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scroll-padding-inline:0!important;}
html.hga-phone body .td-detail-track>.td-row {display:contents!important;margin:0!important;padding:0!important;}
html.hga-phone body .td-detail-track>.td-row>.td-card {flex:0 0 100%!important;width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;grid-column:auto!important;grid-row:auto!important;scroll-snap-align:start;overflow-wrap:anywhere;}
html.hga-phone body .td-detail-dots {display:flex!important;justify-content:center;flex-wrap:wrap;}
html.hga-phone body .td-youth-nav {max-width:100%!important;margin-inline:0!important;}
html.hga-phone body .td-table-scroll,html.hga-phone body .hga .hga-table-scroll {min-width:0!important;max-width:100%!important;overflow-x:auto!important;overscroll-behavior-x:contain;}
html.hga-phone body .hga :is(.hga-feature-grid,.hga-history-grid,.hga-kader-grid,.hga-top-grid)>* {min-width:0!important;max-width:100%!important;box-sizing:border-box;}
html.hga-phone body .hga :is(.hga-feature-grid,.hga-top-grid) {grid-template-columns:minmax(0,1fr)!important;}
/* Kalender ausschließlich in der Smartphone-Oberfläche ausblenden. */
html.hga-phone body #trainingsplan {display:none!important;}
html.hga-phone body a[href$="#trainingsplan"],html.hga-phone body a[href$="#termine"] {display:none!important;}

/* Rechtliches ist zentral im Menü erreichbar. */
html.hga-phone body .hg-footer {display:none!important;}

/* Laufende Werbebänder durch die eigene feste Logotafel ersetzen. */
html.hga-phone body :is(.hg-all-sponsors,.hg-mobile-sponsors,.hg-hero-sponsorbar,.hg-main-sponsors,.hg-partner-join__logos,.hg-league-clubs) {display:none!important;}
html.hga-phone body :is(.hg-all-sponsors__track,.hg-sponsor-track) {animation:none!important;}
html.hga-phone body .hg-partner-join {display:block!important;}

/* Ranglisten-Auswahl hat eigene Regeln; keine Verwechslung mit der App-Leiste. */
html.hga-phone body .hga .hga-ranking-tabs {position:static!important;inset:auto!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;margin:16px 0 20px!important;padding:6px!important;box-sizing:border-box!important;border:1px solid #d3e2d7!important;border-radius:17px!important;background:#eaf2ed!important;box-shadow:none!important;transform:none!important;backdrop-filter:none!important;}
html.hga-phone body .hga .hga-ranking-tabs>a {display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;max-width:100%!important;min-height:44px!important;padding:10px 4px!important;box-sizing:border-box!important;border:0!important;border-radius:12px!important;background:transparent!important;color:#41634e!important;font-family:var(--hg-nav,Inter,Arial,sans-serif)!important;font-size:10px!important;font-weight:750!important;line-height:1.25!important;text-align:center!important;text-decoration:none!important;white-space:nowrap!important;overflow-wrap:normal!important;}
html.hga-phone body .hga .hga-ranking-tabs>a[aria-current="true"] {background:#078b43!important;color:#fff!important;box-shadow:0 3px 9px #078b4326!important;}
html.hga-phone body .hga .hga-ranking-tabs>a:active {background:#d3e8d9!important;}
html.hga-phone body .hga .hga-rank-gallery {width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;overflow-x:clip!important;}
html.hga-phone body .hga .hga-rank-gallery .hga-top-grid {display:flex!important;width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;margin-inline:0!important;box-sizing:border-box!important;overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-x:contain!important;scroll-snap-type:x mandatory!important;}
html.hga-phone body .hga .hga-rank-gallery :is(.hga-top-runners,.hga-top-row) {display:contents!important;}
html.hga-phone body .hga .hga-rank-gallery .hga-top-card {flex:0 0 100%!important;width:100%!important;max-width:100%!important;min-width:0!important;height:clamp(390px,65dvh,580px)!important;box-sizing:border-box!important;scroll-snap-align:start!important;overflow:hidden!important;}
html.hga-phone body .hga .hga-player-dots {width:100%!important;max-width:100%!important;box-sizing:border-box!important;flex-wrap:wrap!important;overflow-x:clip!important;}

/* Scrollen und Kartenwischen erlauben, Pinch-Zoom der App sperren. */
html.hga-phone,html.hga-phone body {touch-action:pan-x pan-y!important;}

/* Spielplan: zwei swipebare Rundentafeln mit kompakten Zeilen. */
html.hga-phone body .hga .hga-schedule-halves {display:flex!important;gap:12px!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;}
html.hga-phone body .hga .hga-schedule-halves>section {flex:0 0 100%!important;width:100%!important;max-width:100%!important;min-width:0!important;padding:12px!important;box-sizing:border-box!important;border:1px solid #d9e6dd;border-radius:18px;background:#fff;scroll-snap-align:start;scroll-snap-stop:always;}
html.hga-phone body .hga .hga-schedule-halves>section>h3 {margin:2px 0 14px!important;font-size:20px!important;color:#078b43;}
html.hga-phone body .hga .hga-schedule-table {--hga-plan-score:18px!important;table-layout:fixed!important;width:100%!important;min-width:0!important;max-width:100%!important;font-size:11px!important;}
html.hga-phone body .hga .hga-schedule-table th,html.hga-phone body .hga .hga-schedule-table td {min-width:0!important;padding:6px 3px!important;box-sizing:border-box;}
html.hga-phone body .hga .hga-schedule-table th {font-size:10px!important;}
html.hga-phone body .hga .hga-schedule-table :is(th,td):first-child {width:58px!important;}
html.hga-phone body .hga .hga-schedule-table :is(th,td):last-child {width:49px!important;}
html.hga-phone body .hga .hga-schedule-table td small {font-size:10px!important;line-height:1.15!important;margin-top:2px!important;}
html.hga-phone body .hga .hga-schedule-table td:last-child small {display:none!important;}
html.hga-phone body .hga .hga-schedule-club {min-height:18px!important;margin:0!important;gap:5px!important;}
html.hga-phone body .hga .hga-schedule-club img {width:16px!important;height:16px!important;flex:0 0 16px!important;}
html.hga-phone body .hga .hga-schedule-club span {white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:11px!important;}
html.hga-phone body .hga .hga-schedule-table .hga-venue-tag {display:inline-block!important;padding:1px 5px!important;margin:2px 0 0!important;font-size:9px!important;line-height:1.1!important;}

/* Die zentrale Typografie verwendet wichtige Regeln in dieser CSS-Ebene.
   Smartphone-Größen deshalb in derselben Ebene ausdrücklich festlegen. */
@layer hgTypography {
 html.hga-phone body .hga .hga-ranking-tabs>a {font-size:10px!important;line-height:1.2!important;white-space:nowrap!important;}
 html.hga-phone body .hga .hga-schedule-table :is(th,td,strong,span,small) {font-size:11px!important;line-height:1.3!important;}
 html.hga-phone body .hga .hga-schedule-table th {font-size:10px!important;white-space:nowrap!important;}
}
html.hga-phone body .hga .hga-schedule-table {--hga-plan-score:14px!important;}
html.hga-phone body .hga .hga-schedule-table td:first-child small,html.hga-phone body .hga .hga-schedule-table .hga-venue-tag {display:none!important;}
html.hga-phone body .hga .hga-schedule-table :is(th,td):first-child {width:47px!important;}
html.hga-phone body .hga .hga-schedule-table :is(th,td):last-child {width:43px!important;}
html.hga-phone body .hga .hga-schedule-table td {vertical-align:middle!important;}
html.hga-phone body .hga .hga-schedule-table .hga-schedule-club {line-height:1.3!important;min-height:18px!important;}
