/* One page-header look site-wide. The rebuilt pages use .fp-head (home-front.css); older pages
   still render .hub-header / .season-hero / .chart-hero / .explorer-hero / .draft-vault-hero boxes.
   This restyles those boxes to match .fp-head (no panel, teal eyebrow, big white title).
   Loaded last in base.html so it wins over data-first.css. */
body .hub-header,body .season-hero,body .chart-hero,body .explorer-hero,body .draft-vault-hero{
  background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;
  padding:10px 2px 16px!important;margin:0 0 6px!important;align-items:flex-end}
body .hub-header h2,body .season-hero h2,body .chart-hero h2,body .explorer-hero h2,body .draft-vault-hero h2,
body .rosters-head h2{
  font-size:clamp(22px,2vw,28px)!important;font-weight:800!important;letter-spacing:-.035em!important;line-height:1.05!important;color:#e2ecf6!important;margin-top:4px!important}
body .hub-kicker,body .season-eyebrow,body .chart-hero .eyebrow,body .explorer-hero .eyebrow,body .draft-vault-hero .eyebrow{
  color:#6ee0bd!important;font-size:10px!important;font-weight:800!important;letter-spacing:.14em!important;text-transform:uppercase!important;margin:0!important}
body .hub-header p:not(.hub-kicker),body .season-hero p:not(.season-eyebrow),body .chart-hero p,body .explorer-hero p,body .draft-vault-hero p{color:#93a9bd!important;font-size:13px!important}
body .hub-status{border-radius:999px;border:1px solid #2c4259;background:#101b2a;color:#c7dcec;font-weight:650;padding:6px 12px}
@media(max-width:700px){body .hub-header h2,body .season-hero h2,body .chart-hero h2,body .explorer-hero h2,body .draft-vault-hero h2{font-size:28px!important}}
.st-year > span{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#93a9bd}
.mobile-more-menu .nav-menu-label{display:block;margin:10px 0 2px;padding:0 12px;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#6ee0bd}
.mobile-more-menu .nav-menu-label:first-of-type{margin-top:4px}
.mobile-more-menu .nav-menu-label{grid-column:1/-1}
/* Draft history cards: the global touch-target rule turned each pick link into a single inline-flex
   row, cramming name + details side by side. Stack them. */
.draft-readable-card a{display:block!important}
.draft-readable-card>div{gap:14px}
@media (min-width:1500px){.draft-readable-results{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* One page width everywhere (Pat 2026-09-28: "find all pages like that [narrow] actually fix it").
   Rebuilt .fp pages are 1680px (full width ≥2200px); older page shells had their own caps
   (1180 hub-shell, 1280 rosters, 1480 mock, 1500 players/profile, 1600 draft results/box score,
   1700 NFL scores, 860 ask). Keep them all in step. */
#main-content .hub-shell,#main-content .player-explorer,#main-content .pp-shell,#main-content .draft-results-shell,
#main-content .draft-vault-shell,#main-content .mock-shell,#main-content .ng-shell,#main-content .chart-room,
#main-content > section.max-w-7xl,#main-content .ask-wrap{max-width:1680px!important;width:100%}
@media (min-width:2200px){
  #main-content .hub-shell,#main-content .player-explorer,#main-content .pp-shell,#main-content .draft-results-shell,
  #main-content .draft-vault-shell,#main-content .mock-shell,#main-content .ng-shell,#main-content .chart-room,
  #main-content > section.max-w-7xl,#main-content .ask-wrap{max-width:none!important}
}
/* Use the extra width instead of stretching rows */
@media (min-width:1300px){#main-content .activity-feed{grid-template-columns:repeat(2,minmax(0,1fr))}
  #main-content .activity-feed>.activity-row:nth-child(odd){border-right:1px solid #223449}}
@media (min-width:2000px){#main-content .activity-feed{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1600px){#roster-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media (min-width:2200px){#roster-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}}
@media (min-width:1100px){
  .suggest-panel{display:grid;grid-template-columns:minmax(300px,440px) minmax(0,1fr);column-gap:28px;align-items:start}
  .suggest-panel>.mb-6{grid-row:1/span 4;grid-column:1;position:sticky;top:12px}
  .suggest-panel>*:not(.mb-6){grid-column:2}
}
.act-year{justify-content:flex-end}
/* phone-collapse.js */
.pc-hide{display:none!important}
.pc-more{display:block;width:100%;min-height:48px;margin:10px 0 14px;border-radius:12px;border:1px solid #2c4259;background:#101b2a;color:#8fd0ee;font-weight:700;font-size:14px}
.nfl-search{min-height:44px;width:100%;max-width:360px;padding:0 12px;border:1px solid #2c4259;border-radius:10px;background:#0b1522;color:#e2ecf6;margin-bottom:12px}
/* Draft results rows were 10–11px text; ui-polish's inline-flex link rule also squashed name+position. */
.draft-result-row div a{display:block!important;font-size:14px!important;font-weight:700!important;color:#e2ecf6!important}
.draft-result-row div small{display:block;font-size:11px!important;color:#93a9bd!important}
.draft-result-row .draft-result-team{font-size:12px!important;color:#8fd0ee!important}
.draft-result-row em{font-size:13px!important}
@media (min-width:1500px){#draft-results-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
body .draft-results-hero{background:transparent!important;border:0!important;box-shadow:none!important;padding:10px 2px 16px!important}
body .draft-results-hero h2{font-size:clamp(22px,2vw,28px)!important;font-weight:800!important;letter-spacing:-.035em!important;color:#e2ecf6!important}

/* ---- Section navigation (_front_macros.section_nav): pill row on desktop, one dropdown button on phones ---- */
.sp-nav{margin:0 0 14px}
.sp-nav .sp-tabs{margin:0;flex-wrap:wrap!important;overflow:visible!important}
.sp-menu{display:none}
@media (max-width:900px){
  .sp-nav .sp-tabs{display:none!important}
  .sp-menu{display:block;position:relative}
  .sp-menu summary{list-style:none;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;padding:0 14px;border:1px solid var(--fp-accent,#3fd1b0);border-radius:14px;background:#10302f;color:#fff;cursor:pointer}
  .sp-menu summary::-webkit-details-marker{display:none}
  .sp-menu-title{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--fp-accent,#6ee0bd);white-space:nowrap}
  .sp-menu summary b{font-size:15px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .sp-menu summary i{font-style:normal;font-size:14px;color:var(--fp-accent,#6ee0bd);transition:transform .15s}
  .sp-menu[open] summary i{transform:rotate(180deg)}
  .sp-menu[open] summary{border-bottom-left-radius:0;border-bottom-right-radius:0}
  .sp-menu-panel{position:absolute;left:0;right:0;top:100%;z-index:60;display:grid;gap:12px;padding:12px;border:1px solid var(--fp-accent,#3fd1b0);border-top:0;border-radius:0 0 14px 14px;background:#0d1826;box-shadow:0 18px 40px rgba(0,0,0,.55);max-height:70vh;overflow-y:auto}
  .sp-menu-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .sp-menu-group small{grid-column:1/-1;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--fp-dim,#8ca3bd)}
  .sp-menu-group a{display:flex!important;align-items:center;min-height:44px;padding:0 12px;border:1px solid var(--fp-line-2,#2a3a4d);border-radius:10px;background:var(--fp-panel,#111b2a);color:#dbe7f5;font-size:14px;font-weight:650;text-decoration:none}
  .sp-menu-group a[aria-current="page"]{border-color:var(--fp-accent,#3fd1b0);background:#10302f;color:#fff}
}
@media (max-width:900px){
  .sp-menu-panel{gap:10px;padding:10px;max-height:calc(100vh - 260px)}
  .sp-menu-group{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .sp-menu-group a{min-height:40px;padding:0 8px;font-size:13px;justify-content:center;text-align:center;line-height:1.15}
}
@media (min-width:901px){
  .sp-nav .sp-tabs{gap:4px}
  .sp-nav .sp-tabs .sp-tab-minor{padding:0 8px;font-size:12.5px}
  .sp-nav .sp-tabs .sp-tabs-sep{margin:0 2px}
}

/* ---- Smaller page titles (Pat 2026-09-28: "page titles are simply too large, and that fluff can be reduced") ---- */
.fp-head{padding:6px 2px 10px!important;gap:12px}
.fp-head h2{font-size:clamp(22px,2vw,28px)!important;letter-spacing:-.02em;margin-top:2px}
.fp-head .fp-eyebrow{font-size:10px}
.fp-head .fp-sub{margin-top:3px;font-size:12px;max-width:110ch}
.wire-mast{padding:8px 0 6px!important;margin-bottom:10px!important}
.wire-mast h2{font-size:clamp(26px,3vw,38px)!important}
.wp-head h2{font-size:clamp(22px,2.4vw,30px)!important}
.pp-top h1{font-size:clamp(22px,2.2vw,28px)!important}
@media (max-width:640px){
  .fp-head h2{font-size:22px!important}
  .fp-head .fp-sub{font-size:11.5px}
}
body .hub-header h2,body .explorer-hero h2{font-size:clamp(22px,2vw,28px)!important;letter-spacing:-.02em}
@media (max-width:640px){body .hub-header h2,body .explorer-hero h2{font-size:22px!important}}

/* ---- Home: Wire teaser + one-line side games (2026-09-28 dedupe) ---- */
.fp-wire-teaser .fp-card-head h3{font-family:Georgia,'Times New Roman',serif;font-size:19px;line-height:1.2}
.fp-wire-lede{margin:10px 16px 4px;font-size:14px;line-height:1.55;color:var(--fp-text,#dbe7f5);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.fp-results--mini{display:grid;grid-template-columns:minmax(0,1fr);gap:0;padding:6px 16px!important}
.fp-results--mini li{padding:3px 0!important;font-size:12.5px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
.fp-results--mini li span{min-width:0}
.fp-side-strip{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px 22px;padding:12px 16px;margin-top:14px;text-decoration:none!important;color:var(--fp-dim,#9eb1c8);font-size:13px}
.fp-side-strip b{color:var(--fp-text,#f4f8fd)}
.fp-side-strip em{margin-left:auto;font-style:normal;font-weight:700;color:var(--fp-accent,#6ee0bd)}
@media (max-width:640px){.fp-results--mini{grid-template-columns:minmax(0,1fr)}.fp-side-strip em{margin-left:0}}
