/*
 * GO SPORTS PRO v13.9.4 — TODAY Hero Top Edge Alignment Fix
 * Canonical master: /sports/nfl/
 *
 * This file owns APPLICATION OUTER GEOMETRY only.
 * Component spacing stays with component/page styles.
 */
:root {
    --gsp-app-sidebar-width: 270px;
    --gsp-page-gutter-left: 28px;
    --gsp-page-gutter-right: 28px;
    --gsp-page-gutter-top: 28px;
    --gsp-page-gutter-bottom: 28px;
    --gsp-page-gutter-top-with-global-bar: 82px;
    --gsp-page-content-max: none;
}

/* NFL is the control specimen. These values intentionally reproduce its
   v13.8.9 outer canvas exactly; v13.9.0 must not visually move NFL. */
.app-shell > .main.gsp-page-shell {
    box-sizing: border-box;
    margin-left: var(--gsp-app-sidebar-width);
    width: calc(100% - var(--gsp-app-sidebar-width));
    max-width: calc(100vw - var(--gsp-app-sidebar-width));
    min-width: 0;
    padding-top: var(--gsp-page-gutter-top);
    padding-right: var(--gsp-page-gutter-right);
    padding-bottom: var(--gsp-page-gutter-bottom);
    padding-left: var(--gsp-page-gutter-left);
    overflow-x: hidden;
}

.app-shell.has-joe-bar > .main.gsp-page-shell {
    padding-top: var(--gsp-page-gutter-top-with-global-bar);
}

/* Geometry contract utilities for page-by-page migration releases. */
.gsp-page-width {
    width: 100%;
    max-width: var(--gsp-page-content-max);
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
}

.gsp-page-section {
    width: 100%;
    box-sizing: border-box;
}

/* Tablet/mobile values preserve the existing application-shell behavior.
   Page-family migrations may change only their inner layout, never these edges. */
@media (max-width: 900px) {
    :root {
        --gsp-app-sidebar-width: 0px;
        --gsp-page-gutter-left: 16px;
        --gsp-page-gutter-right: 16px;
        --gsp-page-gutter-top: 20px;
        --gsp-page-gutter-bottom: 20px;
        --gsp-page-gutter-top-with-global-bar: 70px;
    }

    .app-shell > .main.gsp-page-shell {
        margin-left: 0;
        width: 100%;
        max-width: 100%;
    }
}

@media (max-width: 560px) {
    :root {
        --gsp-page-gutter-left: 16px;
        --gsp-page-gutter-right: 16px;
        --gsp-page-gutter-top-with-global-bar: 72px;
    }
}

/* Authentication screens intentionally sit outside the authenticated app canvas. */
.guest-auth-shell > .main.gsp-page-shell {
    margin-left: 0 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 100vh !important;
    padding: 0 !important;
}

/* v13.9.1 — Core Experience Geometry Migration
   TODAY and Fantasy Sportsbook now surrender outer page geometry to the
   canonical NFL master shell. Page families may control only inner component
   layout; they may not center or inset the application canvas independently. */
.gsp-page-shell > .gptoday,
.gsp-page-shell > .fsb {
    width:100%;
    max-width:none;
    margin-left:0;
    margin-right:0;
    padding-left:0;
    padding-right:0;
    box-sizing:border-box;
}
