/* NetFront Sports — v5.7.60 responsive UX overhaul.
 * Desktop rules are intentionally untouched. These rules only activate at
 * tablet/mobile widths and normalize the page shell before shaping each
 * public data surface.
 */

.nfs-mobile-overhaul-hint {
    display: none;
}

@media (max-width: 1024px) {
    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: clip;
    }

    body {
        -webkit-text-size-adjust: 100%;
    }

    #page,
    .site,
    .site-container,
    .site-content,
    .content-area,
    .site-main,
    .entry-content,
    .wp-site-blocks,
    .nfs-mobile-overhaul-ready {
        min-width: 0;
        max-width: 100%;
    }

    img,
    video,
    iframe,
    embed,
    object {
        max-width: 100%;
    }

    .site-header,
    #mobile-header,
    .nfs-mobile-header,
    .site-header-wrap,
    .site-header-row-container-inner,
    .site-header-inner-wrap,
    .header-inner {
        max-width: 100%;
        min-width: 0;
    }

    .site-header .site-header-row-container-inner,
    .site-header .site-header-inner-wrap,
    .site-header .header-inner {
        padding-right: max(12px, env(safe-area-inset-right));
        padding-left: max(12px, env(safe-area-inset-left));
    }

    .nfs-ticker-wrap,
    .nfs-ticker,
    .nfs-score-ticker,
    .nfs-live-summary,
    .nfs-feature-broadcast {
        max-width: 100vw;
    }

    .nfs-ticker-wrap,
    .nfs-feature-broadcast {
        overflow: hidden;
    }

    .nfs-home-portal,
    .nfs-career-search-page,
    .nfs-coverage,
    .nfs-discovery,
    .nfs-commercial,
    .nfs-pricing-page,
    .nfs-member-shell,
    .nfs-member-dashboard,
    .nfs-player-hub-shell,
    .nfs-team-hub,
    .nfs-league-shell,
    .nfs-tournament-shell,
    .nfs-public-playoff-centre,
    .nfs-classic-playoff-centre {
        box-sizing: border-box;
        width: min(100% - 24px, 1440px);
        max-width: calc(100% - 24px);
        margin-right: auto;
        margin-left: auto;
    }

    .nfs-home-portal {
        left: auto;
        transform: none;
    }

    .nfs-player-hub-shell *,
    .nfs-team-hub *,
    .nfs-league-hub *,
    .nfs-tournament-shell *,
    .nfs-member-shell *,
    .nfs-home-portal *,
    .nfs-career-search-page * {
        min-width: 0;
        box-sizing: border-box;
    }

    /* Stop long team names, URLs and imported venue names from widening cards. */
    .nfs-player-hub-shell,
    .nfs-team-hub,
    .nfs-league-hub,
    .nfs-tournament-shell,
    .nfs-member-shell,
    .nfs-home-portal {
        overflow-wrap: anywhere;
    }

    .nfs-player-name,
    .nfs-team-name,
    .nfs-league-name,
    .nfs-player-card,
    .nfs-team-card,
    .nfs-league-card,
    .nfs-tournament-team,
    .nfs-game-card,
    .nfs-result-card {
        overflow-wrap: anywhere;
    }
}

@media (max-width: 900px) {
    .nfs-mobile-overhaul-table.nfs-mobile-overflowing > .nfs-mobile-overhaul-hint {
        display: block;
        position: sticky;
        left: 8px;
        width: max-content;
        margin: 4px 0 0 8px;
        padding: 4px 8px;
        border-radius: 999px;
        background: rgba(10, 15, 23, .92);
        color: #9fb4cf;
        font-size: 10px;
        line-height: 1.2;
        pointer-events: none;
    }
    .entry-content,
    .site-main,
    .content-area {
        min-width: 0;
        padding-right: 12px;
        padding-left: 12px;
    }

    .single-nfs_league .entry-content,
    .single-nfs_team .entry-content,
    .single-nfs_player .entry-content,
    .single-nfs_tournament .entry-content {
        padding-right: 0;
        padding-left: 0;
    }

    /* One-column page architecture. */
    .nfs-league-layout,
    .nfs-team-layout,
    .nfs-player-overview-layout,
    .nfs-player-profile-layout,
    .nfs-member-profile-grid,
    .nfs-connection-grid,
    .nfs-commercial-grid,
    .nfs-commercial-process,
    .nfs-pricing-cards,
    .nfs-pricing-comparison,
    .nfs-coverage-grid,
    .nfs-discovery-team-grid,
    .nfs-discovery-league-grid,
    .nfs-home-launch-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .nfs-league-main,
    .nfs-league-side,
    .nfs-team-main,
    .nfs-team-side,
    .nfs-player-overview-main,
    .nfs-player-overview-side {
        width: 100%;
        max-width: 100%;
    }

    .nfs-league-hero-body,
    .nfs-league-shell,
    .nfs-team-hub,
    .nfs-player-hub-shell {
        width: 100%;
        max-width: 100%;
        padding-right: 18px;
        padding-left: 18px;
    }

    .nfs-league-hero h1,
    .nfs-team-hero h1,
    .nfs-player-hero h1,
    .nfs-tournament-hero h1,
    .nfs-home-hero h1 {
        max-width: 100%;
        font-size: clamp(34px, 10vw, 58px);
        line-height: .98;
        overflow-wrap: anywhere;
    }

    .nfs-league-hero-stats,
    .nfs-team-hero-stats,
    .nfs-stat-grid,
    .nfs-player-stat-band,
    .nfs-player-module-grid,
    .nfs-home-quick-actions,
    .nfs-home-league-grid,
    .nfs-home-story-grid,
    .nfs-home-story-grid.is-video-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .nfs-league-tabs,
    .nfs-team-tabs,
    .nfs-player-tabs,
    .nfs-season-phase-tabs,
    .nfs-discovery-nav,
    .nfs-filter-tabs,
    .nfs-tabs {
        display: flex !important;
        flex-wrap: nowrap !important;
        max-width: 100%;
        overflow-x: auto !important;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .nfs-league-tabs::-webkit-scrollbar,
    .nfs-team-tabs::-webkit-scrollbar,
    .nfs-player-tabs::-webkit-scrollbar,
    .nfs-season-phase-tabs::-webkit-scrollbar,
    .nfs-discovery-nav::-webkit-scrollbar,
    .nfs-filter-tabs::-webkit-scrollbar,
    .nfs-tabs::-webkit-scrollbar {
        display: none;
    }

    .nfs-league-tabs > *,
    .nfs-team-tabs > *,
    .nfs-player-tabs > *,
    .nfs-season-phase-tabs > *,
    .nfs-discovery-nav > *,
    .nfs-filter-tabs > *,
    .nfs-tabs > * {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .nfs-section-heading,
    .nfs-league-section-head,
    .nfs-team-section-head,
    .nfs-player-section-head,
    .nfs-tournament-heading,
    .nfs-commercial-section__head {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 9px;
    }

    .nfs-section-heading h2,
    .nfs-league-section-head h2,
    .nfs-team-section-head h2,
    .nfs-player-section-head h2,
    .nfs-tournament-heading h2 {
        max-width: 100%;
        font-size: clamp(22px, 7vw, 34px);
        line-height: 1.08;
    }

    /* Hero actions become easy thumb targets instead of narrow inline pills. */
    .nfs-player-hero-actions,
    .nfs-team-hero-actions,
    .nfs-league-hero-actions,
    .nfs-profile-hero-actions,
    .nfs-home-hero-actions,
    .nfs-button-row,
    .nfs-actions,
    .nfs-card-actions {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 9px;
        width: 100%;
    }

    .nfs-player-hero-actions > *,
    .nfs-team-hero-actions > *,
    .nfs-league-hero-actions > *,
    .nfs-profile-hero-actions > *,
    .nfs-home-hero-actions > *,
    .nfs-button-row > *,
    .nfs-actions > *,
    .nfs-card-actions > * {
        min-height: 44px;
        max-width: 100%;
    }

    /* Tables always scroll horizontally; no page-level rotation is needed. */
    .nfs-mobile-table-scroll,
    .nfs-table-scroll,
    .table-responsive,
    .nfs-standings-table-wrap,
    .nfs-stats-table-wrap,
    .nfs-player-table-wrap,
    .nfs-tournament-table-wrap,
    .nfs-hdb-table-wrap {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        overflow-y: visible !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-inline: contain;
        scrollbar-width: thin;
    }

    .nfs-mobile-table-scroll table,
    .nfs-table-scroll table,
    .table-responsive table,
    .nfs-standings-table-wrap table,
    .nfs-stats-table-wrap table,
    .nfs-player-table-wrap table,
    .nfs-tournament-table-wrap table,
    .nfs-hdb-table-wrap table {
        width: max-content !important;
        min-width: 640px !important;
        max-width: none !important;
    }

    .nfs-responsive-data-table th,
    .nfs-responsive-data-table td,
    .nfs-standings-table-wrap th,
    .nfs-standings-table-wrap td,
    .nfs-stats-table-wrap th,
    .nfs-stats-table-wrap td,
    .nfs-player-table-wrap th,
    .nfs-player-table-wrap td {
        white-space: nowrap;
        padding: 10px 9px !important;
        line-height: 1.25;
    }

    .nfs-responsive-data-table th:first-child,
    .nfs-responsive-data-table td:first-child,
    .nfs-standings-table-wrap th:first-child,
    .nfs-standings-table-wrap td:first-child,
    .nfs-stats-table-wrap th:first-child,
    .nfs-stats-table-wrap td:first-child,
    .nfs-player-table-wrap th:first-child,
    .nfs-player-table-wrap td:first-child {
        position: sticky;
        left: 0;
        z-index: 4;
        min-width: 118px;
        background: #0d131b !important;
        box-shadow: 8px 0 16px -13px rgba(0,0,0,.95);
    }

    /* Tournament and playoff brackets stack into a readable mobile path. */
    .nfs-tournament-bracket,
    .nfs-classic-playoff-bracket,
    .nfs-classic-playoff-centre,
    .nfs-public-playoff-centre,
    .nfs-league-playoff-centre {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
        padding: 0 !important;
    }

    .nfs-tournament-round,
    .nfs-classic-playoff-round,
    .nfs-classic-playoff-division,
    .nfs-classic-playoff-round__series {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 18px;
    }

    .nfs-tournament-round > div,
    .nfs-classic-playoff-round__series,
    .nfs-classic-playoff-round__series > * {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px !important;
    }

    .nfs-tournament-game,
    .nfs-tournament-round article,
    .nfs-classic-series-card,
    .nfs-classic-series-game {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .nfs-tournament-team,
    .nfs-classic-series-team {
        min-width: 0 !important;
    }

    .nfs-tournament-team b,
    .nfs-classic-series-team__identity,
    .nfs-classic-series-matchup {
        overflow-wrap: anywhere;
    }

    /* Search and filter controls fill the available thumb-friendly width. */
    .nfs-player-search-control,
    .nfs-player-search-box,
    .nfs-career-search-tool,
    .nfs-coverage-search,
    .nfs-coverage-filters,
    .nfs-discovery-filters,
    .nfs-registry-filters,
    .nfs-hdb-filters,
    .nfs-import-form,
    .nfs-run-import-form {
        width: 100%;
        max-width: 100%;
    }

    .nfs-coverage-filters,
    .nfs-discovery-filters,
    .nfs-registry-filters,
    .nfs-hdb-filters,
    .nfs-import-form,
    .nfs-run-import-form {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px;
    }

    .nfs-coverage-filters input,
    .nfs-coverage-filters select,
    .nfs-discovery-filters input,
    .nfs-discovery-filters select,
    .nfs-registry-filters input,
    .nfs-registry-filters select,
    .nfs-hdb-filters input,
    .nfs-hdb-filters select,
    .nfs-import-form input,
    .nfs-import-form select,
    .nfs-import-form textarea,
    .nfs-run-import-form input,
    .nfs-run-import-form select {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 44px;
    }
}

@media (max-width: 640px) {
    .entry-content,
    .site-main,
    .content-area {
        padding-right: 8px;
        padding-left: 8px;
    }

    .nfs-home-portal,
    .nfs-career-search-page,
    .nfs-coverage,
    .nfs-discovery,
    .nfs-commercial,
    .nfs-pricing-page,
    .nfs-member-shell,
    .nfs-member-dashboard,
    .nfs-player-hub-shell,
    .nfs-team-hub,
    .nfs-league-shell,
    .nfs-tournament-shell,
    .nfs-public-playoff-centre,
    .nfs-classic-playoff-centre {
        width: calc(100% - 16px);
        max-width: calc(100% - 16px);
    }

    .nfs-league-hero-body,
    .nfs-league-shell,
    .nfs-team-hub,
    .nfs-player-hub-shell {
        padding-right: 12px;
        padding-left: 12px;
    }

    .nfs-league-hero-stats,
    .nfs-team-hero-stats,
    .nfs-stat-grid,
    .nfs-player-stat-band,
    .nfs-player-module-grid,
    .nfs-home-quick-actions,
    .nfs-home-league-grid,
    .nfs-home-story-grid,
    .nfs-home-story-grid.is-video-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .nfs-player-hero,
    .nfs-team-hero,
    .nfs-league-hero,
    .nfs-tournament-hero,
    .nfs-home-hero {
        border-radius: 16px !important;
    }

    .nfs-player-hero,
    .nfs-team-hero,
    .nfs-league-hero-body,
    .nfs-tournament-hero,
    .nfs-home-hero {
        padding: 20px 16px !important;
    }

    .nfs-home-hero h1,
    .nfs-tournament-hero h1 {
        font-size: clamp(38px, 12vw, 50px);
    }

    .nfs-player-hero-actions > *,
    .nfs-team-hero-actions > *,
    .nfs-league-hero-actions > *,
    .nfs-profile-hero-actions > *,
    .nfs-home-hero-actions > *,
    .nfs-button-row > *,
    .nfs-actions > *,
    .nfs-card-actions > * {
        width: 100%;
        justify-content: center;
    }

    .nfs-mobile-table-scroll,
    .nfs-table-scroll,
    .table-responsive,
    .nfs-standings-table-wrap,
    .nfs-stats-table-wrap,
    .nfs-player-table-wrap,
    .nfs-tournament-table-wrap,
    .nfs-hdb-table-wrap {
        border-radius: 12px;
        scrollbar-width: none;
    }

    .nfs-mobile-table-scroll::-webkit-scrollbar,
    .nfs-table-scroll::-webkit-scrollbar,
    .table-responsive::-webkit-scrollbar,
    .nfs-standings-table-wrap::-webkit-scrollbar,
    .nfs-stats-table-wrap::-webkit-scrollbar,
    .nfs-player-table-wrap::-webkit-scrollbar,
    .nfs-tournament-table-wrap::-webkit-scrollbar,
    .nfs-hdb-table-wrap::-webkit-scrollbar {
        display: none;
    }

    .nfs-responsive-data-table,
    .nfs-standings-table-wrap table,
    .nfs-stats-table-wrap table,
    .nfs-player-table-wrap table,
    .nfs-tournament-table-wrap table,
    .nfs-hdb-table-wrap table {
        min-width: 570px !important;
        font-size: 11px !important;
    }

    .nfs-responsive-data-table th,
    .nfs-responsive-data-table td,
    .nfs-standings-table-wrap th,
    .nfs-standings-table-wrap td,
    .nfs-stats-table-wrap th,
    .nfs-stats-table-wrap td,
    .nfs-player-table-wrap th,
    .nfs-player-table-wrap td {
        padding: 9px 8px !important;
    }

    .nfs-tournament-card,
    .nfs-league-card,
    .nfs-team-card,
    .nfs-player-card,
    .nfs-section,
    .nfs-member-section {
        border-radius: 14px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nfs-mobile-overhaul-ready *,
    .nfs-mobile-overhaul-ready *::before,
    .nfs-mobile-overhaul-ready *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
