/* NetFront Sports — v5.4.0c Mobile Player, Team & League Page Polish */

@media(max-width:900px){

    /* Shared page containment */
    .nfs-league-hub,
    .nfs-team-hub,
    .nfs-player-profile,
    .nfs-player-page,
    .nfs-team-page,
    .nfs-league-page,
    .nfs-member-shell,
    .nfs-member-dashboard{
        width:min(100% - 16px,1240px)!important;
        max-width:100%!important;
        margin-right:auto!important;
        margin-left:auto!important;
        padding-right:0!important;
        padding-left:0!important;
    }

    .nfs-league-hub *,
    .nfs-team-hub *,
    .nfs-player-profile *,
    .nfs-player-page *,
    .nfs-team-page *,
    .nfs-league-page *,
    .nfs-member-shell *,
    .nfs-member-dashboard *{
        min-width:0;
        box-sizing:border-box;
    }

    /* Hero sections */
    .nfs-player-hero,
    .nfs-team-hero,
    .nfs-league-hero,
    .nfs-profile-hero,
    .nfs-hub-hero,
    .nfs-member-hero{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:18px!important;
        width:100%!important;
        min-height:0!important;
        padding:22px!important;
        border-radius:18px!important;
        text-align:left!important;
    }

    .nfs-player-hero-content,
    .nfs-team-hero-content,
    .nfs-league-hero-content,
    .nfs-profile-hero-content,
    .nfs-hub-hero-content{
        width:100%!important;
        max-width:100%!important;
        padding:0!important;
    }

    .nfs-player-hero h1,
    .nfs-team-hero h1,
    .nfs-league-hero h1,
    .nfs-profile-hero h1,
    .nfs-hub-hero h1{
        max-width:100%!important;
        margin:0!important;
        font-size:clamp(30px,9vw,46px)!important;
        line-height:1.02!important;
        letter-spacing:-.035em!important;
        overflow-wrap:anywhere;
    }

    .nfs-player-hero p,
    .nfs-team-hero p,
    .nfs-league-hero p,
    .nfs-profile-hero p,
    .nfs-hub-hero p{
        max-width:100%!important;
        margin:8px 0 0!important;
        line-height:1.5!important;
    }

    /* Logos, photos and profile art */
    .nfs-player-photo,
    .nfs-player-headshot,
    .nfs-profile-photo,
    .nfs-team-logo,
    .nfs-league-logo,
    .nfs-hero-logo,
    .nfs-hero-image{
        justify-self:start!important;
        align-self:start!important;
        width:min(150px,42vw)!important;
        max-width:150px!important;
        height:auto!important;
        max-height:150px!important;
        margin:0!important;
        object-fit:contain!important;
    }

    .nfs-player-photo img,
    .nfs-player-headshot img,
    .nfs-profile-photo img,
    .nfs-team-logo img,
    .nfs-league-logo img,
    .nfs-hero-logo img,
    .nfs-hero-image img{
        width:100%!important;
        height:auto!important;
        max-height:150px!important;
        object-fit:contain!important;
    }

    /* Hero metadata and actions */
    .nfs-player-meta,
    .nfs-team-meta,
    .nfs-league-meta,
    .nfs-profile-meta,
    .nfs-hero-meta,
    .nfs-player-hero-actions,
    .nfs-team-hero-actions,
    .nfs-league-hero-actions,
    .nfs-profile-hero-actions,
    .nfs-hero-actions{
        display:flex!important;
        flex-wrap:wrap!important;
        gap:8px!important;
        width:100%!important;
        margin-top:14px!important;
    }

    .nfs-player-meta>*,
    .nfs-team-meta>*,
    .nfs-league-meta>*,
    .nfs-profile-meta>*,
    .nfs-hero-meta>*{
        max-width:100%!important;
        overflow-wrap:anywhere;
    }

    .nfs-player-hero-actions a,
    .nfs-player-hero-actions button,
    .nfs-team-hero-actions a,
    .nfs-team-hero-actions button,
    .nfs-league-hero-actions a,
    .nfs-league-hero-actions button,
    .nfs-profile-hero-actions a,
    .nfs-profile-hero-actions button,
    .nfs-hero-actions a,
    .nfs-hero-actions button{
        display:inline-flex!important;
        align-items:center!important;
        justify-content:center!important;
        min-height:46px!important;
        width:auto!important;
        max-width:100%!important;
        padding:0 15px!important;
        white-space:normal!important;
        text-align:center!important;
    }

    /* Records and stat cards */
    .nfs-record-grid,
    .nfs-stat-grid,
    .nfs-summary-grid,
    .nfs-overview-grid,
    .nfs-career-summary,
    .nfs-player-summary,
    .nfs-team-summary,
    .nfs-league-summary{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:10px!important;
        width:100%!important;
    }

    .nfs-record-card,
    .nfs-stat-card,
    .nfs-summary-card,
    .nfs-overview-card{
        min-height:92px!important;
        padding:15px!important;
        border-radius:14px!important;
    }

    .nfs-record-card strong,
    .nfs-stat-card strong,
    .nfs-summary-card strong,
    .nfs-overview-card strong{
        font-size:clamp(24px,8vw,36px)!important;
        line-height:1!important;
    }

    /* Leaders, recent results and cards */
    .nfs-leaders-grid,
    .nfs-leader-grid,
    .nfs-recent-results-grid,
    .nfs-results-grid,
    .nfs-schedule-card-grid,
    .nfs-profile-grid,
    .nfs-content-grid,
    .nfs-news-grid,
    .nfs-video-grid{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:12px!important;
        width:100%!important;
    }

    .nfs-leader-card,
    .nfs-result-card,
    .nfs-game-card,
    .nfs-profile-card,
    .nfs-content-card,
    .nfs-news-card,
    .nfs-video-card{
        width:100%!important;
        max-width:100%!important;
        min-height:0!important;
        padding:16px!important;
        border-radius:15px!important;
        overflow:hidden;
    }

    .nfs-result-card *,
    .nfs-game-card *,
    .nfs-leader-card *{
        max-width:100%;
        overflow-wrap:anywhere;
    }

    /* Tabs and pills */
    .nfs-tabs,
    .nfs-tab-list,
    .nfs-profile-tabs,
    .nfs-team-tabs,
    .nfs-league-tabs,
    .nfs-season-tabs,
    .nfs-filter-tabs{
        display:flex!important;
        gap:7px!important;
        width:100%!important;
        max-width:100%!important;
        overflow-x:auto!important;
        padding:6px!important;
        border-radius:13px!important;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
    }

    .nfs-tabs::-webkit-scrollbar,
    .nfs-tab-list::-webkit-scrollbar,
    .nfs-profile-tabs::-webkit-scrollbar,
    .nfs-team-tabs::-webkit-scrollbar,
    .nfs-league-tabs::-webkit-scrollbar,
    .nfs-season-tabs::-webkit-scrollbar,
    .nfs-filter-tabs::-webkit-scrollbar{
        display:none;
    }

    .nfs-tabs a,
    .nfs-tabs button,
    .nfs-tab-list a,
    .nfs-tab-list button,
    .nfs-profile-tabs a,
    .nfs-profile-tabs button,
    .nfs-team-tabs a,
    .nfs-team-tabs button,
    .nfs-league-tabs a,
    .nfs-league-tabs button,
    .nfs-season-tabs a,
    .nfs-season-tabs button,
    .nfs-filter-tabs a,
    .nfs-filter-tabs button{
        flex:0 0 auto!important;
        min-height:42px!important;
        padding:0 13px!important;
        white-space:nowrap!important;
    }

    /* Section spacing */
    .nfs-section,
    .nfs-member-section,
    .nfs-profile-section,
    .nfs-team-section,
    .nfs-league-section,
    .nfs-hub-section{
        width:100%!important;
        max-width:100%!important;
        margin-top:18px!important;
        padding:17px!important;
        border-radius:16px!important;
    }

    .nfs-section-heading,
    .nfs-member-section-heading,
    .nfs-profile-section-heading,
    .nfs-team-section-heading,
    .nfs-league-section-heading{
        display:flex!important;
        align-items:flex-start!important;
        flex-direction:column!important;
        gap:8px!important;
        margin-bottom:13px!important;
    }

    .nfs-section-heading h2,
    .nfs-member-section-heading h2,
    .nfs-profile-section-heading h2,
    .nfs-team-section-heading h2,
    .nfs-league-section-heading h2{
        margin:0!important;
        font-size:clamp(22px,7vw,30px)!important;
        line-height:1.1!important;
    }

    /* Profile claim and account panels */
    .nfs-claim-panel,
    .nfs-profile-claim,
    .nfs-claim-profile-card,
    .nfs-verification-panel,
    .nfs-account-panel,
    .nfs-membership-dashboard-plan,
    .nfs-membership-billing-preview{
        display:flex!important;
        align-items:stretch!important;
        flex-direction:column!important;
        gap:14px!important;
        width:100%!important;
        max-width:100%!important;
        padding:18px!important;
        border-radius:15px!important;
    }

    .nfs-claim-panel a,
    .nfs-claim-panel button,
    .nfs-profile-claim a,
    .nfs-profile-claim button,
    .nfs-claim-profile-card a,
    .nfs-claim-profile-card button,
    .nfs-verification-panel a,
    .nfs-verification-panel button,
    .nfs-account-panel a,
    .nfs-account-panel button,
    .nfs-membership-dashboard-plan a,
    .nfs-membership-billing-preview a{
        width:100%!important;
        min-height:46px!important;
        justify-content:center!important;
        text-align:center!important;
    }

    /* Prevent common overflow offenders */
    .nfs-player-name,
    .nfs-team-name,
    .nfs-league-name,
    .nfs-card-title,
    .nfs-result-team,
    .nfs-game-team,
    .nfs-article-title{
        max-width:100%!important;
        overflow-wrap:anywhere!important;
        word-break:normal!important;
    }

    .nfs-button-row,
    .nfs-actions,
    .nfs-card-actions,
    .nfs-profile-actions{
        display:flex!important;
        flex-wrap:wrap!important;
        gap:8px!important;
        width:100%!important;
    }

    .nfs-button-row>*,
    .nfs-actions>*,
    .nfs-card-actions>*,
    .nfs-profile-actions>*{
        max-width:100%!important;
    }
}

@media(max-width:560px){

    .nfs-player-hero,
    .nfs-team-hero,
    .nfs-league-hero,
    .nfs-profile-hero,
    .nfs-hub-hero,
    .nfs-member-hero{
        gap:15px!important;
        padding:18px!important;
        border-radius:16px!important;
    }

    .nfs-player-photo,
    .nfs-player-headshot,
    .nfs-profile-photo,
    .nfs-team-logo,
    .nfs-league-logo,
    .nfs-hero-logo,
    .nfs-hero-image{
        width:min(124px,38vw)!important;
        max-width:124px!important;
        max-height:124px!important;
    }

    .nfs-record-grid,
    .nfs-stat-grid,
    .nfs-summary-grid,
    .nfs-overview-grid,
    .nfs-career-summary,
    .nfs-player-summary,
    .nfs-team-summary,
    .nfs-league-summary{
        grid-template-columns:1fr!important;
    }

    .nfs-record-card,
    .nfs-stat-card,
    .nfs-summary-card,
    .nfs-overview-card{
        min-height:82px!important;
        padding:14px!important;
    }

    .nfs-section,
    .nfs-member-section,
    .nfs-profile-section,
    .nfs-team-section,
    .nfs-league-section,
    .nfs-hub-section{
        padding:14px!important;
    }

    .nfs-player-hero-actions a,
    .nfs-player-hero-actions button,
    .nfs-team-hero-actions a,
    .nfs-team-hero-actions button,
    .nfs-league-hero-actions a,
    .nfs-league-hero-actions button,
    .nfs-profile-hero-actions a,
    .nfs-profile-hero-actions button,
    .nfs-hero-actions a,
    .nfs-hero-actions button{
        width:100%!important;
    }
}
