/* ============ PV LEAGUE NAV — ESPN-style desktop league dropdowns ============
   Desktop/laptop only: shown only when (hover:hover) and (min-width:1024px).
   Touch widths keep the existing scrollable .eh-leaguebar untouched.
   Golden Hour light theme — design tokens only, no raw colors.
   ========================================================================== */
.pv-league-nav{display:none}

/* noscript fallback: plain desktop league links */
.pv-league-nav__fallback{display:flex;gap:2px;align-items:stretch;overflow-x:auto}

@media (hover:hover) and (min-width:1024px){
  /* One nav at a time: dropdown nav replaces the scrollable league bar */
  .eh-leaguebar{display:none !important}

  .pv-league-nav{
    display:block;
    position:sticky;
    top:var(--pv-nav-h,64px);
    z-index:200;
    background:var(--desert-bg);
    border-bottom:1px solid var(--desert-rule);
  }
  .pv-league-nav__row{
    display:flex;
    align-items:stretch;
    max-width:1560px;
    margin:0 auto;
    padding:0 24px;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .pv-league-nav__row::-webkit-scrollbar{display:none}
  .pv-lgdrop{position:static;flex:none}
  /* Panel anchor on bible-shell pages: bible.css deliberately keeps this
     row static (not a competing sticky nav) inside .b-scope. Relative
     preserves that exact in-flow behavior while giving the mega panels
     their containing block now that the row scrolls horizontally.
     top:auto neutralizes the sticky offset that ships with the base rule. */
  .b-scope nav.pv-league-nav{position:relative;top:auto}
  .pv-lgdrop__tab{
    display:inline-flex;align-items:center;gap:4px;
    padding:14px 8px;
    font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
    text-decoration:none;white-space:nowrap;
    color:var(--desert-ink-dim);
    border-bottom:2px solid transparent;
    margin-bottom:-1px;
    background:none;border-top:0;border-left:0;border-right:0;
    font-family:inherit;cursor:pointer;
  }
  .pv-lgdrop__tab:hover{color:var(--desert-ink)}
  .pv-lgdrop__tab[aria-current="page"]{color:var(--desert-ink);border-bottom-color:var(--desert-accent)}
  .pv-lgdrop__tab:focus-visible{outline:2px solid var(--desert-accent);outline-offset:-2px}
  .pv-lgdrop__chev{width:10px;height:10px;flex:none;opacity:.6;transition:transform .18s ease}
  .pv-lgdrop[data-open="true"] .pv-lgdrop__chev{transform:rotate(180deg);opacity:1}

  /* ---- mega panel ----
     Anchoring (restored 2026-10-14): WIDE panels (team grids, the
     feed-loaded Fight panel) span the full nav as the original band —
     league-nav.js keeps left:0/right:0 on them and the inner centers
     via margin auto below. SOLO panels (quick links only) are anchored
     by the JS under their own tab. (The 2026-10-13 per-tab anchoring
     of ALL panels clamped every ~1250px mega panel to the same left
     spot at laptop widths — the far-left bug flagged 2026-10-14.) */
  .pv-lgdrop__panel{
    position:absolute;
    z-index:200;
    left:0;right:auto;top:100%;
    visibility:hidden;opacity:0;
    transform:translateY(6px);
    transition:opacity .14s ease, transform .14s ease, visibility 0s .22s;
    pointer-events:none;
  }
  /* Panel visibility is owned by league-nav.js via [data-open] ONLY.
     (2026-10-12: :hover/:focus-within triggers removed — three parallel
     open mechanisms let a focus-latched panel and a hovered panel render
     at the same time when switching menus.) */
  .pv-lgdrop[data-open="true"] .pv-lgdrop__panel{
    visibility:visible;opacity:1;transform:translateY(0);
    transition:opacity .16s ease, transform .16s ease, visibility 0s 0s;
    pointer-events:auto;
  }
  /* Switch-close: JS adds this while closing a panel because another one
     is opening, so the old panel vanishes instantly — no fading ghost. */
  .pv-lgdrop--instant .pv-lgdrop__panel{transition:none!important}
  .pv-lgdrop__inner{
    max-width:1200px;margin:0 auto;padding:22px 24px 26px;
    background:var(--desert-card);
    border:1px solid var(--desert-rule);
    border-top:2px solid var(--desert-accent);
    border-radius:0 0 14px 14px;
    box-shadow:0 24px 48px -12px rgba(var(--shadow-brown-deep-rgb),.22);
    display:grid;
    grid-template-columns:190px 1fr;
    gap:28px;
  }
  .pv-lgdrop__quick{border-right:1px solid var(--desert-rule);padding-right:24px}
  .pv-lgdrop__league{
    font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;
    color:var(--desert-ink-faint);margin:0 0 10px;
  }
  .pv-lgdrop__quick a{
    display:block;padding:8px 10px;border-radius:8px;
    color:var(--desert-ink);text-decoration:none;font-size:14px;font-weight:600;
  }
  .pv-lgdrop__quick a:hover{background:var(--desert-accent-faint);color:var(--desert-accent-deep)}
  .pv-lgdrop__groups{
    display:grid;gap:20px 28px;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  }
  .pv-lgdrop__div h4{
    font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
    color:var(--desert-ink-faint);margin:0 0 6px;
    padding-bottom:6px;border-bottom:1px solid var(--desert-rule);
  }
  .pv-lgdrop__div ul{list-style:none;margin:0;padding:0;display:grid;gap:1px}
  /* Wide groups (>8 teams): multi-column team grid so every team is visible
     at a glance -- no scrolling the dropdown (per James 2026-10-11) */
  .pv-lgdrop__div--wide ul{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:14px}
  .pv-lgdrop__team a{
    display:flex;align-items:center;gap:9px;
    padding:5px 8px;border-radius:8px;
    text-decoration:none;color:var(--desert-ink);font-size:13.5px;font-weight:500;
  }
  .pv-lgdrop__team a:hover{background:var(--desert-accent-faint)}
  /* team-color tint (James 2026-10-12: all sports, all teams) */
  .pv-lgdrop__team{--team:transparent}
  .pv-lgdrop__team a{background:linear-gradient(135deg,color-mix(in srgb,var(--team) 14%,transparent),color-mix(in srgb,var(--team) 5%,transparent))}
  .pv-lgdrop__team img{width:26px;height:26px;object-fit:contain;flex:none}
  .pv-lgdrop__team .pv-lgdrop__init{
    width:26px;height:26px;flex:none;border-radius:50%;
    display:inline-flex;align-items:center;justify-content:center;
    background:var(--desert-accent-faint);color:var(--desert-accent-deep);
    font-size:10px;font-weight:800;
  }
  .pv-lgdrop__loading{padding:18px 4px;color:var(--desert-ink-dim);font-size:13px}
}

/* ---- Fight Hub panel: upcoming fights + top fighters (2026-10-12) ----
   Panel sizes to content: a league with no team groups collapses to the
   quick-links column (--solo) instead of stretching a mostly-empty mega
   panel; the fight panel widens only when its live feeds have content. */
@media (hover:hover) and (min-width:1024px){
  .pv-lgdrop__inner--solo{
    grid-template-columns:210px;
    max-width:330px;
    /* 2026-10-13 fix: was margin-left pinned to the container's left
       edge, so every solo dropdown opened at the far left of the page
       regardless of its tab. The panel is tab-anchored by JS now. */
    margin:0;
  }
  .pv-lgdrop__inner--fight{grid-template-columns:180px 300px 1fr}
  .pv-lgdrop__inner--fight-uponly{grid-template-columns:180px 1fr}
  .pv-lgdrop__inner--fight-toponly{grid-template-columns:180px 1fr}
  .pv-lgdrop__colhead{
    font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;
    color:var(--desert-ink-faint);margin:0 0 10px;
  }
  .pv-lgdrop__up{min-width:0}
  .pv-lgdrop__topf{border-left:1px solid var(--desert-rule);padding-left:24px;min-width:0}
  .pv-lgdrop__inner--fight-uponly .pv-lgdrop__up{border-left:0;padding-left:0}
  .pv-lgdrop__ev{display:block;padding:8px 10px;border-radius:8px;text-decoration:none}
  .pv-lgdrop__ev:hover{background:var(--desert-accent-faint)}
  .pv-lgdrop__ev-top{display:flex;gap:8px;align-items:center;margin-bottom:2px}
  .pv-lgdrop__ev-date{
    font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
    color:var(--desert-ink-faint);
  }
  .pv-lgdrop__ev-name{display:block;font-size:14px;font-weight:700;color:var(--desert-ink)}
  .pv-lgdrop__ev-main{display:block;font-size:12.5px;color:var(--desert-ink-dim);margin-top:1px}
  .pv-lgdrop__morelink{
    display:block;margin-top:4px;padding:6px 10px;font-size:12.5px;font-weight:700;
    color:var(--desert-accent-deep);text-decoration:none;border-radius:8px;
  }
  .pv-lgdrop__morelink:hover{background:var(--desert-accent-faint)}
  .pv-lgdrop__disc{
    font-size:9.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;
    padding:2px 7px;border-radius:4px;white-space:nowrap;
  }
  .pv-lgdrop__disc--ufc{
    background:rgba(var(--desert-accent-rgb),.16);color:var(--desert-accent-deep);
    border:1px solid rgba(var(--desert-accent-rgb),.35);
  }
  .pv-lgdrop__disc--boxing{
    background:rgba(var(--color-warn-rgb),.13);color:var(--color-warn);
    border:1px solid rgba(var(--color-warn-rgb),.35);
  }
  .pv-lgdrop__topf-cols{display:grid;grid-template-columns:1fr 1fr;gap:4px 26px}
  .pv-lgdrop__cls{padding:3px 0}
  .pv-lgdrop__cls-name{
    display:block;font-size:10px;font-weight:800;letter-spacing:.14em;
    text-transform:uppercase;color:var(--desert-ink-faint);
  }
  .pv-lgdrop__cls-names{font-size:13px;line-height:1.45;color:var(--desert-ink)}
  .pv-lgdrop__cls-names a{color:inherit;text-decoration:none;font-weight:600}
  .pv-lgdrop__cls-names a:hover{color:var(--desert-accent-deep);text-decoration:underline}
  .pv-lgdrop__dot{color:var(--desert-ink-faint)}
  .pv-lgdrop__ctag{
    font-size:9px;font-weight:800;color:var(--desert-accent-deep);
    border:1px solid rgba(var(--desert-accent-rgb),.45);border-radius:3px;
    padding:0 3px;vertical-align:2px;letter-spacing:.05em;
  }
}
