/* ==========================================================================
   NextUp — desktop premium polish pass (2026-10-12)
   --------------------------------------------------------------------------
   A desktop-only refinement layer. EVERY rule in this file lives inside
   @media (min-width:1024px), so mobile rendering is byte-identical.

   It is linked last in <head>, so at equal specificity these rules win over
   /css/site.css and the pages' inline <style> blocks. Literal gold values
   (#e8b34b / #f5d47e) are used instead of var() so the layer also works on
   the pages that ship without site.css (zeus profile, coaches, fest team).

   Deliberately untouched: .nu-to-top, order buttons (.btn.gold etc.),
   patent marking, prices, Gumroad links, forms, chat, hub login,
   Command Center. No horizontal-overflow risk: every width uses max-width
   or the min() breakout pattern already used by site.css.
   ========================================================================== */
@media (min-width:1024px) {

  /* ================= 1. HERO DEPTH ================= */
  /* Soft gold ambience behind every page hero, fading out before content */
  body { position: relative; }
  body::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 640px;
    pointer-events: none;
    background: radial-gradient(
      58% 62% at 50% 0%,
      rgba(232,179,75,.08),
      rgba(232,179,75,.02) 55%,
      transparent 72%
    );
  }

  /* Homepage hero: a touch more air */
  .l-hero {
    padding-top: clamp(136px, 13vw, 188px);
    padding-bottom: clamp(72px, 9vw, 120px);
  }

  /* .page-hero pages (profiles, club-pack, coaches, terms): more air plus a
     stronger double-layer gold glow behind the headline.
     Fully self-sufficient: also works on pages whose inline styles never
     defined .page-hero::after (coaches). */
  .page-hero { position: relative; padding-bottom: clamp(44px, 5vw, 72px); }
  .page-hero::after {
    content: "";
    position: absolute;
    left: 50%; top: 0;
    width: min(1100px, 100%);
    height: 100%;
    transform: translateX(-50%);
    pointer-events: none;
    z-index: -1;
    background:
      radial-gradient(60% 52% at 50% 8%, rgba(232,179,75,.13), transparent 70%),
      radial-gradient(36% 32% at 50% 0%, rgba(245,212,126,.12), transparent 70%);
  }

  /* Zeus profile photo hero: widen the copy block, more bottom air.
     The photo + its own gold .shade stay exactly as designed. */
  .hero-inner { max-width: 880px; padding: 0 32px 72px; }

  /* Fest team page: the team header card is this page's hero */
  .nuc-teamhead { position: relative; }
  .nuc-teamhead::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background: radial-gradient(
      70% 90% at 50% 0%,
      rgba(232,179,75,.10),
      transparent 70%
    );
  }

  /* ================= 2. PROFILES GRID ================= */
  /* /profiles/ .nf-row is a horizontal swipe strip on mobile (defined in the
     page's inline <style>). On desktop it becomes a centered, wrapping grid
     with no scroll and no snap, so all six cards show fully. */
  /* NOTE: the swipe rules live in a <style> block inside the page body, i.e.
     LATER in document order than this linked stylesheet. The `section`
     ancestor below raises specificity (0-1-1) so these desktop rules win. */
  section .nf-row {
    overflow: visible;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    scroll-snap-type: none;
    margin: 0;
    padding: 12px 0 28px;
    gap: 18px 16px;
  }
  section .nf-row > .nf-item { flex: 0 0 200px; scroll-snap-align: none; }
  /* the trailing placeholder item has no card: keep it out of the grid */
  section .nf-row > .nf-item:not(:has(.nf-card)) { display: none; }

  /* ================= 3. PRICING CARD ================= */
  /* index (#order) + club-pack: break the card out of the narrow 760px text
     column to a premium 940px centered panel with a gold gradient border.
     border-box double-background keeps the 24px radius (border-image would
     square the corners). */
  .l-sec .price-card {
    /* Premium wider panel. width is capped at viewport-48 AND at the parent
       width, so this can never overflow regardless of the section's own
       max-width. margin auto centers it in its parent. */
    width: min(940px, calc(100vw - 48px));
    max-width: 100%;
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    border: 1px solid transparent;
    background:
      radial-gradient(120% 60% at 50% 0%, rgba(232,179,75,.14), transparent 62%) padding-box,
      linear-gradient(180deg, #1a1a20, #121216) padding-box,
      linear-gradient(165deg, rgba(245,212,126,.9), rgba(232,179,75,.14) 42%, rgba(232,179,75,.55)) border-box;
    box-shadow:
      inset 0 1px 0 rgba(245,212,126,.22),
      0 34px 80px -30px rgba(0,0,0,.9),
      0 18px 60px -28px rgba(232,179,75,.30);
  }

  /* ================= 4. CARD DEPTH ================= */
  /* Subtle top highlight + larger radius on the card family; a gentle
     -4px hover lift with a deeper gold-tinged shadow. Black-gold language. */
  .step, .pg-card, .rate-card, .story-card, .cz-feat,
  .art-card, .t-card, .legal-toc {
    border-radius: 26px;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.06),
      0 2px 4px rgba(0,0,0,.35),
      0 26px 52px -24px rgba(0,0,0,.75);
  }
  .step:hover, .pg-card:hover, .rate-card:hover, .story-card:hover,
  .cz-feat:hover, .art-card:hover, .t-card:hover, .legal-toc:hover {
    transform: translateY(-4px);
    border-color: rgba(232,179,75,.38);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.08),
      0 36px 68px -24px rgba(0,0,0,.85),
      0 14px 48px -18px rgba(232,179,75,.30);
  }

  /* ================= 5. SECTION RHYTHM ================= */
  /* More vertical air on desktop for the expensive feel */
  section, .l-sec {
    padding-top: clamp(96px, 9vw, 136px);
    padding-bottom: clamp(96px, 9vw, 136px);
  }
  /* Fest team page uses its own containers instead of <section>.
     NOTE: the page's own rules use #nuc-team-qualified selectors
     (1-1-0 / 1-2-0), so these match that specificity to win. */
  .nuc-app #nuc-team.nuc-main { padding-top: 44px; padding-bottom: 80px; }
  #nuc-team .nuc-teamhead { padding: 24px 28px; margin-bottom: 20px; }
  .nuc-foot { padding: 44px 24px 72px; }
  /* Terms page: legal doc sections have their own tight rhythm
     (.legal-doc section, 0-1-1) — give them moderate premium air */
  .legal-doc section { padding: 56px 0 0; }
  .legal-doc section + section { margin-top: 56px; }

  /* ================= 6. NAV / FOOTER ================= */
  /* Desktop nav: roomier bar, wider link spacing, refined gold underline */
  #nav {
    padding-left: clamp(20px, 3vw, 40px);
    padding-right: clamp(20px, 3vw, 40px);
  }
  #nav .nu-links { gap: 10px; }
  #nav .nu-links a { padding: 10px 16px; }
  #nav .nu-links a:not(.nu-getapp) { position: relative; }
  #nav .nu-links a:not(.nu-getapp)::after {
    content: "";
    position: absolute;
    left: 16px; right: 16px; bottom: 4px;
    height: 2px;
    border-radius: 2px;
    background: linear-gradient(90deg, transparent, rgba(232,179,75,.95), transparent);
    opacity: 0;
    transition: opacity .25s ease;
  }
  #nav .nu-links a:not(.nu-getapp):hover::after,
  #nav .nu-links a:not(.nu-getapp).active::after,
  #nav .nu-links a:not(.nu-getapp)[aria-current="page"]::after { opacity: 1; }

  /* Scout-style bars (fest team page) */
  .nuc-bar {
    padding-left: clamp(16px, 3vw, 32px);
    padding-right: clamp(16px, 3vw, 32px);
  }
  .nuc-tabs { gap: 10px; padding: 10px clamp(16px, 3vw, 32px); }

  /* Footer: more breathing room, airier link columns */
  .l-foot { padding-bottom: calc(120px + env(safe-area-inset-bottom)); }
  .l-foot .ft-cols { gap: 36px 32px; }
  .l-foot nav { gap: 4px 18px; }
  /* element selector covers the inline-styled footers (zeus profile) */
  footer { padding: 64px 24px 88px; }

  /* ================= 7. SCOUT FINDER PAGES (v2) ================= */
  /* scout/players, scout/fest-2026, list: the finder main gets a touch more
     width and air; result rows get premium padding, radius and hover depth.
     (The fest team page's own #nuc-team rules are more specific and win.) */
  .nuc-app .nuc-main:not(#nuc-team) {
    max-width: 1040px;
    padding: 40px 28px 72px;
  }
  .nuc-app .nuc-results { gap: 12px; }
  .nuc-app .nuc-p {
    padding: 18px 20px;
    gap: 16px;
    border-radius: 20px;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.05),
      0 2px 4px rgba(0,0,0,.3),
      0 20px 44px -22px rgba(0,0,0,.7);
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
  }
  .nuc-app .nuc-p:hover {
    transform: translateY(-2px);
    border-color: rgba(232,179,75,.35);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.07),
      0 28px 56px -22px rgba(0,0,0,.8),
      0 12px 36px -16px rgba(232,179,75,.25);
  }

  /* ================= 8. HUB DASHBOARD (v2) ================= */
  /* Members' hub: more air between dashboard panes, deeper program tiles,
     a more present lock screen on wide screens. */
  .dash { gap: 20px; }
  .pane { margin-top: 24px; }
  .pcard {
    border-radius: 26px;
    padding: 24px;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.07),
      0 2px 4px rgba(0,0,0,.35),
      0 30px 60px -26px rgba(0,0,0,.8);
  }
  .tips { gap: 16px; margin-top: 28px; }
  .lock { padding: 72px 0 96px; }

  /* ================= 9. PLAYBOOK ARTICLES (v2) ================= */
  /* Long-form reading: a slightly wider measure, calmer line length,
     more air around the prose on desktop. */
  .art {
    max-width: 760px;
    padding: 32px 32px 72px;
    font-size: 18px;
    line-height: 1.75;
  }
  .art h2 { margin-top: 56px; }
  .art h3 { margin-top: 40px; }
  .art p, .art li { margin-bottom: 20px; }

  /* ================= 10. SIMPLE CENTERED PAGES (v2) ================= */
  /* thank-you / install / 404: give the centered card real presence on
     tall desktop viewports. */
  .card {
    border-radius: 26px;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.07),
      0 34px 80px -30px rgba(0,0,0,.9),
      0 18px 60px -28px rgba(232,179,75,.22);
  }

  /* ================= 11. ES MIRROR PAGES (v2) ================= */
  /* es/familias, es/jugadores, es/playbook + article share the EN templates
     and classes, so sections 1-10 already apply to them automatically.
     The playbook article cards (.step.art-card) are covered by section 4. */

  /* Keep the reduced-motion contract: no hover lift when motion is off */
  @media (prefers-reduced-motion: reduce) {
    .step:hover, .pg-card:hover, .rate-card:hover, .story-card:hover,
    .cz-feat:hover, .art-card:hover, .t-card:hover, .legal-toc:hover,
    section .nf-card:hover, .nuc-app .nuc-p:hover { transform: none; }
  }
}

/* ==========================================================================
   v2 — 12. SHEET PAGES, screen only (print-safe)
   --------------------------------------------------------------------------
   Player + team sheets are print documents. These rules are scoped to
   `screen` so the printed sheet is byte-identical. On desktop screens the
   sheet renders as an elevated "paper" document on a dark backdrop.
   ========================================================================== */
@media screen and (min-width:1024px) {
  body.nuc-app {
    background:
      radial-gradient(60% 40% at 50% 0%, rgba(232,179,75,.06), transparent 70%),
      #0b0b0e;
  }
  body.nuc-app main.nuc-sheet {
    background: linear-gradient(180deg, #ffffff, #faf8f3);
    border: 1px solid rgba(232,179,75,.45);
    border-radius: 18px;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.9),
      0 40px 90px -32px rgba(0,0,0,.9),
      0 20px 60px -30px rgba(232,179,75,.22);
    padding: 40px 44px;
    margin-top: 32px;
    margin-bottom: 48px;
  }
  @media (prefers-reduced-motion: reduce) {
    body.nuc-app main.nuc-sheet { transition: none; }
  }
}
