/* NetFront Sports — v5.4.0b Mobile Tables & Page Width Fixes */

html,
body{
    max-width:100%;
}

body{
    overflow-x:hidden;
}

.site,
.site-content,
.content-area,
.site-main,
.entry-content,
.wp-site-blocks,
.nfs-league-hub,
.nfs-team-hub,
.nfs-player-profile,
.nfs-member-shell,
.nfs-member-dashboard,
.nfs-pricing-page,
.nfs-home-portal{
    min-width:0;
    max-width:100%;
}

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

.nfs-mobile-table-scroll{
    position:relative;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    margin:0 0 18px;
    border-radius:14px;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
    scrollbar-color:#4a5563 #0b1016;
}

.nfs-mobile-table-scroll::-webkit-scrollbar{
    height:8px;
}

.nfs-mobile-table-scroll::-webkit-scrollbar-track{
    background:#0b1016;
}

.nfs-mobile-table-scroll::-webkit-scrollbar-thumb{
    border-radius:999px;
    background:#4a5563;
}

.nfs-mobile-table-scroll:focus{
    outline:2px solid rgba(229,27,62,.55);
    outline-offset:2px;
}

.nfs-mobile-table-scroll table{
    margin:0!important;
}

.nfs-mobile-swipe-hint{
    position:sticky;
    left:0;
    z-index:8;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:7px;
    width:max-content;
    min-width:100%;
    height:30px;
    padding:0 11px;
    border-bottom:1px solid #2d3540;
    background:
        linear-gradient(
            90deg,
            rgba(10,15,21,.4),
            #0a0f15 45%
        );
    color:#98a3af;
    font-size:10px;
    font-weight:850;
    letter-spacing:.05em;
    text-transform:uppercase;
    pointer-events:none;
}

.nfs-mobile-swipe-hint strong{
    color:#ff3155;
    font-size:16px;
}

.nfs-mobile-table-scroll.is-scrolled .nfs-mobile-swipe-hint{
    opacity:.35;
}

@media(min-width:901px){
    .nfs-mobile-swipe-hint{
        display:none!important;
    }
}

@media(max-width:900px){
    .site-content,
    .content-area,
    .site-main,
    .entry-content,
    .wp-site-blocks{
        width:100%;
        min-width:0;
    }

    .entry-content,
    .site-main,
    .content-area{
        padding-right:min(16px,4vw);
        padding-left:min(16px,4vw);
    }

    .nfs-mobile-table-scroll{
        margin-right:0;
        margin-left:0;
        border:1px solid #2d3540;
        background:#0a0f15;
    }

    .nfs-responsive-data-table{
        width:max-content!important;
        min-width:100%!important;
        border-collapse:separate!important;
        border-spacing:0!important;
        table-layout:auto!important;
        font-size:12px!important;
    }

    .nfs-responsive-data-table th,
    .nfs-responsive-data-table td{
        min-width:72px;
        max-width:none!important;
        padding:10px 9px!important;
        line-height:1.25!important;
        white-space:nowrap!important;
        word-break:normal!important;
        overflow-wrap:normal!important;
    }

    .nfs-responsive-data-table th{
        position:sticky;
        top:0;
        z-index:3;
        background:#111821!important;
        color:#fff!important;
        font-size:10px!important;
        letter-spacing:.04em;
        text-transform:uppercase;
    }

    .nfs-responsive-data-table tbody tr:nth-child(even) td{
        background:rgba(255,255,255,.018);
    }

    .nfs-responsive-data-table tbody tr:hover td{
        background:rgba(229,27,62,.06);
    }

    .nfs-responsive-data-table th:first-child,
    .nfs-responsive-data-table td:first-child{
        position:sticky;
        left:0;
        z-index:4;
        min-width:120px;
        max-width:180px!important;
        background:#0f151d!important;
        box-shadow:
            8px 0 14px -12px
            rgba(0,0,0,.9);
    }

    .nfs-responsive-data-table thead th:first-child{
        z-index:6;
        background:#171f29!important;
    }

    .nfs-mobile-table-scroll.is-scrolled
    .nfs-responsive-data-table
    th:first-child,
    .nfs-mobile-table-scroll.is-scrolled
    .nfs-responsive-data-table
    td:first-child{
        box-shadow:
            10px 0 18px -10px
            rgba(0,0,0,.95);
    }

    .nfs-responsive-data-table a{
        color:inherit;
        text-decoration:none;
    }

    .nfs-responsive-data-table .team-name,
    .nfs-responsive-data-table .player-name,
    .nfs-responsive-data-table .nfs-team-cell,
    .nfs-responsive-data-table .nfs-player-cell{
        white-space:normal!important;
    }

    .nfs-league-hub,
    .nfs-team-hub,
    .nfs-player-profile,
    .nfs-member-shell,
    .nfs-member-dashboard,
    .nfs-pricing-page,
    .nfs-home-portal{
        width:min(100% - 16px,1240px)!important;
        margin-right:auto!important;
        margin-left:auto!important;
    }

    .nfs-league-hub *,
    .nfs-team-hub *,
    .nfs-player-profile *,
    .nfs-member-shell *,
    .nfs-member-dashboard *,
    .nfs-pricing-page *,
    .nfs-home-portal *{
        min-width:0;
    }

    .nfs-card,
    .nfs-panel,
    .nfs-section,
    .nfs-member-section,
    .nfs-profile-card,
    .nfs-league-card,
    .nfs-team-card{
        max-width:100%;
        overflow:hidden;
    }

    .nfs-stat-grid,
    .nfs-card-grid,
    .nfs-leader-grid,
    .nfs-profile-grid,
    .nfs-member-grid,
    .nfs-upgrade-grid{
        grid-template-columns:minmax(0,1fr)!important;
    }
}

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

    .nfs-responsive-data-table{
        font-size:11px!important;
    }

    .nfs-responsive-data-table th,
    .nfs-responsive-data-table td{
        min-width:66px;
        padding:9px 7px!important;
    }

    .nfs-responsive-data-table th:first-child,
    .nfs-responsive-data-table td:first-child{
        min-width:108px;
        max-width:155px!important;
    }

    .nfs-mobile-swipe-hint{
        height:28px;
        padding-right:9px;
    }
}
