/* Public navigation is intentionally separate from the authenticated workspaces. */
.ebm-public-layout .category-header {
  position: relative;
  top: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.35rem;
  padding: 1.5rem max(1rem, calc((100% - 1200px) / 2));
  background: radial-gradient(ellipse at 90% 0, #26394c 0, transparent 55%), #091727;
  border-top: 5px solid var(--gold);
  border-bottom: 1px solid #506078;
}
.category-header .brand { width: 100%; min-width: 0; justify-content: flex-start; gap: 1.25rem; }
.category-header .brand-logo { width: 88px; height: 88px; object-fit: contain; flex-shrink: 0; }
.category-header .brand-copy strong { font-family: "Space Grotesk", sans-serif; font-size: clamp(1.45rem, 3vw, 2.65rem); line-height: 1.12; }
.category-header .brand-copy small { margin-top: .5rem; color: #c8d7e8; font-size: .85rem; letter-spacing: .04em; }
.ebm-public-layout .category-nav {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  width: 100%;
  gap: .65rem;
  padding: 0;
}
.category-nav a {
  --tab-bg: #18344e;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 54px;
  padding: .75rem .5rem;
  border: 1px solid #63788e;
  border-bottom: 3px solid #b38a31;
  border-radius: 12px 12px 5px 5px;
  background: linear-gradient(135deg, var(--tab-bg), #122337);
  color: #f5f7fb;
  font-weight: 800;
  font-size: .96rem;
  text-decoration: none;
  transition: background .15s ease, border-color .15s ease;
}
.category-nav a:nth-child(3n + 2) { --tab-bg: #55451e; }
.category-nav a:nth-child(3n) { --tab-bg: #164444; }
.category-nav a:hover { border-color: #ffcf59; background: #30445a; }
.category-nav a[aria-current="page"] {
  color: #07111f;
  background: linear-gradient(130deg, #ffe399, #ffb703);
  border: 3px solid #fff1c7;
  box-shadow: 0 0 0 2px #c38d13;
  text-decoration: underline;
  text-underline-offset: .3em;
}
.ebm-public-layout :focus-visible { outline: 3px solid #69c9ff; outline-offset: 4px; }
.site-skip { position: fixed; top: .5rem; left: 1rem; transform: translateY(-180%); z-index: 1000; padding: .8rem 1rem; background: #ffb703; color: #07111f; font-weight: 800; border-radius: 8px; }
.site-skip:focus { transform: translateY(0); }
.ebm-public-layout .mobile-nav-toggle { display: none; }
.ebm-public-layout .clock-bar, .ebm-public-layout .announcement-bar { position: relative; top: auto; z-index: 1; }
.ebm-public-layout .clock-shell { gap: .5rem 1rem; padding-block: .55rem; }
.ebm-public-layout .weather-strip { flex: 1 1 350px; }
.ebm-public-layout .announcement-shell { grid-template-columns: auto minmax(0, 1fr) auto; padding-block: .65rem; gap: 1rem; }
.ebm-public-layout .announcement-label strong { font-size: .78rem; }
.ebm-public-layout .announcement-label span { display: none; }
.ebm-public-layout .announcement-pill { font-size: .88rem; }
.ebm-public-layout .announcement-track :focus-visible { outline-offset: -4px; }
.ticker-toggle { color: #f5f7fb; border: 1px solid #63788e; border-radius: 8px; background: #152a40; padding: .6rem .8rem; cursor: pointer; min-height: 44px; font-size: .8rem; }
.ebm-public-layout:not(.navigation-ready) .ticker-toggle { display: none; }
.ebm-public-layout.updates-paused .announcement-track,
.ebm-public-layout.updates-paused .weather-track,
.ebm-public-layout .announcement-track:focus-within { animation-play-state: paused; }
.ebm-public-layout.updates-paused .announcement-track-wrap,
.ebm-public-layout.updates-paused .weather-track-wrap { overflow-x: auto; }
.ebm-public-layout.updates-paused .announcement-track,
.ebm-public-layout.updates-paused .weather-track { animation: none; transform: none; }
.category-context { width: min(1200px, calc(100% - 2rem)); margin: 1.25rem auto 0; display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; color: var(--muted); font-size: .82rem; }
.category-context strong { color: #ffcf59; }
.category-context a { margin-left: auto; text-decoration: underline; text-underline-offset: .2em; }
.ebm-public-layout main { scroll-margin-top: 1rem; }
.ebm-public-layout main > section { scroll-margin-top: 1rem; }
.ebm-public-layout:not(.athlete-portal-mode):not(.admin-portal-mode) [data-category-hidden] { display: none !important; }
.ebm-public-layout .hero { min-height: 0; padding-block: 2rem; align-items: center; }
.ebm-public-layout .hero h1 { max-width: 22ch; font-size: clamp(2.1rem, 3.8vw, 3.6rem); line-height: 1.05; }
.ebm-public-layout .sport-badges { display: none; }
.ebm-public-layout .hero-media { min-height: 0; }
.ebm-public-layout .shell-receptionist { display: block; width: fit-content; max-width: calc(100% - 2rem); margin: 1rem auto; }
.shell-announcement-body { white-space: pre-wrap; }
body.athlete-portal-mode .category-context, body.admin-portal-mode .category-context { display: none; }
body.athlete-portal-mode .category-header .category-nav, body.admin-portal-mode .category-header .category-nav,
body.athlete-portal-mode .category-header .mobile-nav-toggle, body.admin-portal-mode .category-header .mobile-nav-toggle { display: none; }
@media (max-width: 768px) {
  .ebm-public-layout .category-header { padding: 1rem; gap: 1rem; }
  .category-header .brand { gap: .8rem; }
  .category-header .brand-logo { width: 60px; height: 60px; }
  .category-header .brand-copy strong { font-size: clamp(1.15rem, 4.5vw, 1.8rem); }
  .category-header .brand-copy small { font-size: .72rem; letter-spacing: 0; }
  .ebm-public-layout .category-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
  .ebm-public-layout.navigation-ready .mobile-nav-toggle { display: flex; width: 100%; justify-content: space-between; border-radius: 10px; margin: 0; border-color: #b38a31; }
  .ebm-public-layout.navigation-ready .mobile-nav-toggle::after { content: "+"; color: var(--gold); }
  .ebm-public-layout.navigation-ready .mobile-nav-toggle[aria-expanded="true"]::after { content: "-"; }
  .ebm-public-layout.navigation-ready .category-nav:not(.is-open) { display: none; }
  .ebm-public-layout .announcement-shell { grid-template-columns: minmax(0, 1fr) auto; gap: .5rem; }
  .ebm-public-layout .announcement-label { display: none; }
  .ebm-public-layout .clock-shell { flex-direction: column; align-items: stretch; }
  .ebm-public-layout:not(.athlete-portal-mode):not(.admin-portal-mode) main > section:not(.about-shell),
  .ebm-public-layout .clock-shell, .ebm-public-layout .announcement-shell { width: calc(100% - 2rem); margin-inline: auto; }
  .ebm-public-layout .weather-strip { flex: 0 1 auto; max-width: 100%; }
  .category-context { margin-top: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .ebm-public-layout .announcement-track, .ebm-public-layout .weather-track { animation: none; transform: none; }
  .ebm-public-layout .announcement-track-wrap, .ebm-public-layout .weather-track-wrap { overflow-x: auto; }
}
