/* Shared site header with mega menus. Navy bar in both themes; panels follow the theme. Loaded last. */
#nav.sh, .sh { position: fixed; top: 0; left: 0; right: 0; z-index: 100; height: 72px; padding: 0; display: block; box-shadow: none; transition: background .3s; background: rgba(5,15,36,0.94); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid rgba(140,185,255,0.14); }
#nav.sh.scrolled, html.menu-open #nav.sh { background: #050f24; }
.sh-wrap { position: relative; max-width: 1280px; height: 100%; margin: 0 auto; padding-left: max(20px, env(safe-area-inset-left, 0px)); padding-right: max(20px, env(safe-area-inset-right, 0px)); display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 16px; }
.sh-logo { display: inline-flex; align-items: center; min-height: 44px; }
.sh-logo img { width: 46px; height: 46px; display: block; }
.sh-nav { justify-self: center; }
.sh-nav > ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 4px; }
#nav.sh .sh-nav > ul > li, .sh-nav > ul > li { position: relative; }
.sh-nav a, .sh-nav button { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 14px; border: 0; border-radius: 6px; background: none; color: #fff; font-family: var(--font-body, 'Barlow', sans-serif); font-size: 16px; font-weight: 600; letter-spacing: 0; text-transform: none; text-decoration: none; cursor: pointer; white-space: nowrap; }
.sh-nav > ul > li > a:hover, .sh-nav > ul > li > button:hover { background: rgba(255,255,255,0.08); }
.sh-nav > ul > li > a[aria-current="page"], .sh-nav > ul > li.is-current > button { color: #9CCAFF; box-shadow: inset 0 -2px 0 #2E86FF; border-radius: 6px 6px 0 0; }
.sh-nav button svg { width: 12px; height: 12px; transition: transform .2s; }
.sh-nav button[aria-expanded="true"] svg { transform: rotate(180deg); }
/* panels: below the bar, within the site width; theme tokens */
.sh { --pn-bg: #07152F; --pn-fg: #ffffff; --pn-muted: #9CB4D8; --pn-line: rgba(140,185,255,0.22); --pn-accent: #2E86FF; --pn-hover: rgba(46,134,255,0.14); }
[data-theme="white"] .sh { --pn-bg: #ffffff; --pn-fg: #07172F; --pn-muted: #56677F; --pn-line: #E3E8F0; --pn-accent: #1E5FCC; --pn-hover: #F3F7FE; }
.sh-panel { position: absolute; top: calc(100% + 1px); left: 0; right: 0; margin: 0; padding: 0; background: var(--pn-bg); color: var(--pn-fg); border-bottom: 1px solid var(--pn-line); border-top: 3px solid var(--pn-accent); box-shadow: 0 24px 50px rgba(0,0,0,0.35); z-index: 5; }
.sh-panel[hidden] { display: none; }
.sh-panel-inner { max-width: 1280px; margin: 0 auto; padding: 22px max(20px, env(safe-area-inset-left, 0px)) 26px; display: grid; gap: 28px; }
.sh-panel-events { left: 50%; right: auto; transform: translateX(-50%); width: min(760px, calc(100vw - 40px)); border-radius: 0 0 12px 12px; }
.sh-panel-events .sh-panel-inner { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); padding-bottom: 18px; align-items: start; }
.sh-events li + li { margin-top: 6px; }
.sh-panel-teams .sh-panel-inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 200px; }
.sh-panel-sched { left: 50%; right: auto; transform: translateX(-50%); width: 360px; border-radius: 0 0 10px 10px; }
.sh-panel-sched .sh-panel-inner { padding: 10px; }
.sh-panel ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.sh-col-h { margin: 0 0 8px; font-family: var(--font-cond, 'Barlow Condensed', sans-serif); font-weight: 800; font-size: 14px; letter-spacing: .14em; text-transform: uppercase; color: var(--pn-accent); }
.sh-panel a.sh-team, .sh-sched a, .sh-events a { display: flex; width: 100%; min-height: 44px; padding: 8px 12px; border-radius: 8px; color: var(--pn-fg); font-weight: 500; white-space: normal; }
.sh-panel a:hover { background: var(--pn-hover); }
.sh-panel a[aria-current="page"] { color: var(--pn-accent); font-weight: 700; }
.sh-events a, .sh-sched a { flex-direction: column; align-items: flex-start; gap: 2px; }
.sh-events strong, .sh-sched strong { font-family: var(--font-cond, 'Barlow Condensed', sans-serif); font-weight: 800; font-size: 20px; text-transform: uppercase; line-height: 1.1; }
.sh-events span, .sh-sched span { font-size: 14px; color: var(--pn-muted); }
.sh-events em { font-style: normal; font-size: 14px; font-weight: 700; color: var(--pn-accent); }
.sh-more { display: inline-flex; align-items: center; min-height: 44px; margin-top: 6px; padding: 0 12px; border-radius: 8px; color: var(--pn-accent); font-weight: 700; white-space: nowrap; }
.sh-panel-side { padding-left: 24px; border-left: 1px solid var(--pn-line); }
.sh-theme { justify-self: end; }
.sh-theme .theme-seg button { min-height: 36px; padding: 0 12px; font-size: 13px; }
.sh-burger { display: none; justify-self: end; width: 44px; height: 44px; padding: 0; border: 0; background: none; cursor: pointer; flex-direction: column; align-items: center; justify-content: center; gap: 5px; }
.sh-burger span { display: block; width: 24px; height: 2px; background: #fff; transition: transform .25s, opacity .2s; }
.sh-burger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); } .sh-burger.is-open span:nth-child(2) { opacity: 0; } .sh-burger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.sh a:focus-visible, .sh button:focus-visible { outline: 2px solid #9CCAFF; outline-offset: 2px; }
[data-theme="white"] .sh-panel a:focus-visible { outline-color: #1E5FCC; }
@media (max-width: 1100px) {
  #nav.sh, .sh { height: 64px; padding: 0; }
  .sh-nav, .sh-theme { display: none; }
  .sh-burger { display: flex; grid-column: 3; }
}
section[id], [id="game-center"], [id="results"], [id="register"] { scroll-margin-top: 96px; }
@media (max-width: 1100px) { section[id], [id="game-center"], [id="results"], [id="register"] { scroll-margin-top: 80px; } }
@media (prefers-reduced-motion: reduce) { .sh-nav button svg, .sh-burger span { transition: none; } }
/* drawer: sub-link detail line */
.mm-sub small { display: block; font-size: 13px; color: var(--mm-muted); font-weight: 400; }
.mm-sub { flex-direction: column; align-items: flex-start; justify-content: center; padding: 6px 0; }
/* Bomber Teams: compact, centred under its button; white team columns + navy club panel in BOTH themes */
.sh-panel-teams { left: 50%; right: auto; transform: translateX(-50%); width: 680px; border-radius: 0 0 12px 12px; overflow: hidden; background: #ffffff; color: #07172F; border-top: 3px solid #2E86FF; box-shadow: 0 20px 48px rgba(0,0,0,0.35); }
.sh-panel-teams .sh-panel-inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 200px; gap: 0; padding: 0; }
.sh-panel-teams .sh-panel-inner > div:not(.sh-club) { padding: 18px 18px 16px; }
.sh-panel-teams .sh-col-h { color: #1E5FCC; }
.sh-panel-teams a.sh-team { color: #07172F; min-height: 42px; padding: 6px 10px; }
.sh-panel-teams a.sh-team:hover, .sh-panel-teams a.sh-team:focus-visible { background: #EAF2FF; }
.sh-panel-teams a.sh-team[aria-current="page"] { color: #1E5FCC; }
.sh-club { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 20px 16px; background: #07172F; color: #fff; text-align: center; }
.sh-club img { width: 84px; height: 84px; }
.sh-club-h { margin: 6px 0 0; font-family: var(--font-cond, 'Barlow Condensed', sans-serif); font-weight: 900; font-size: 20px; text-transform: uppercase; line-height: 1; }
.sh-club-link { display: inline-flex; align-items: center; min-height: 40px; padding: 0 12px; border-radius: 6px; color: #9CCAFF; font-weight: 700; white-space: nowrap; }
.sh-club-link:hover, .sh-club-link:focus-visible { background: rgba(46,134,255,0.18); color: #fff; }
