/* Shared brand tokens also drive legacy components, search and submission dialogs. */
:root {
  --ed-ink: #0a1011;
  --ed-surface: #111a1b;
  --ed-ivory: #f1f3ef;
  --ed-muted: #a7b5b4;
  --ed-brand: #53d6d1;
  --ed-highlight: #c0ef72;
  --ed-secondary: #518e8e;
  --ed-rule: #293c3d;
  --ed-display: 'Archivo', 'Public Sans', Arial, sans-serif;
  --ed-ui: 'Public Sans', Arial, sans-serif;
  --gh-font-heading: var(--ed-display);
  --gh-font-body: var(--ed-ui);
  --ed-page-width: 1600px;
  --ed-space-1: 8px;
  --ed-space-2: 16px;
  --ed-space-3: 24px;
  --ed-space-4: 32px;
  --ed-space-5: 48px;
  --ed-space-6: 64px;
  --bg: var(--ed-ink);
  --surface: var(--ed-surface);
  --surface-2: #172324;
  --border: var(--ed-rule);
  --border-strong: #405b5c;
  --text: var(--ed-ivory);
  --text-muted: var(--ed-muted);
  --text-dim: #97aaa9;
  --accent: var(--ed-brand);
  --accent-soft: #9ae9e6;
  --accent-dim: rgb(83 214 209 / 12%);
  --danger: #ff8993; /* Validation errors only; never the brand accent. */
  --cat-news: var(--ed-brand);
  --cat-features: var(--ed-brand);
  --cat-mixes: var(--ed-brand);
  --cat-reviews: var(--ed-brand);
  --cat-events: var(--ed-brand);
  --cat-interviews: var(--ed-brand);
  --cat-late-pass: #d4b05b;
  --cat-default: var(--ed-brand);
  --cat-premieres: var(--ed-brand);
  --cat-videos: var(--ed-brand);
  --cat-track-of-the-day: var(--ed-brand);
}

/* One masthead across every template, including home, articles and forms. */
.top .logo .ed-news-brand { display:block; width:152px; height:78px; flex-shrink:0; }
.top .logo .logo-name { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.site-footer-logo { display:inline-block; }
.site-footer-logo img { display:block; width:166px; height:85px; }
.mobile-drawer-brand img { display:block; width:132px; height:68px; }
.top .logo { gap:10px; flex-wrap:nowrap; }
.top .nav-actions button[aria-label="Toggle mascots"] { display:none; }
/* Compact shared masthead; tablet navigation gets its own readable row. */
.top .nav-inner { min-height:64px; padding-block:4px; gap:20px; }
.top .nav-links a { font-size:12px; letter-spacing:.5px; }
@media(min-width:640px) and (max-width:1100px) {
 .top .nav-inner { flex-wrap:wrap; justify-content:space-between; }
 .top .nav-links { display:flex; order:3; width:100%; justify-content:space-between; gap:12px; padding:8px 0; }
 .top .nav-toggle { display:none; }
}
@media(max-width:639px) {
 .top .logo .ed-news-brand { width:124px; height:64px; }
 .top .nav-inner { gap:12px; }
 .top .subscribe-btn { display:none; }
 .top .nav-links { display:none; }
 .top .nav-toggle { display:flex; }
}

/* Keep the alternate viewing mode within the same brand family. */
[data-theme="dim"] { --bg:#142021; --surface:#1a292a; --surface-2:#203233; --border:#395051; --text:#eef3ef; --text-muted:#b2c2c0; }
:focus-visible { outline:2px solid var(--ed-highlight); outline-offset:4px; }
.nav-links a[aria-current="page"] { color:var(--ed-highlight); }

/* Map controls share one quiet, readable hierarchy on home and calendar. */
.events-map-legend-h { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px; padding-bottom:0; margin-bottom:0; border:0; text-transform:none; letter-spacing:0; }
.events-map-location { font:700 15px/1.4 var(--ed-ui); color:var(--ed-ivory); }
.events-map-legend-count { margin-left:auto; padding:0; border-radius:0; background:none; color:var(--ed-muted); font:400 12px/1.5 var(--ed-ui); white-space:nowrap; }
.events-map-coverage { margin:5px 0 4px; padding-bottom:12px; border-bottom:1px solid var(--ed-rule); color:var(--ed-muted); font:400 12px/1.5 var(--ed-ui); }
.events-map-coverage:empty { display:none; }
.events-map-expand { flex-shrink:0; display:inline-flex; align-items:center; gap:8px; min-height:36px; padding:6px 10px; border:1px solid var(--ed-rule); background:transparent; color:var(--ed-brand); font:600 12px/1.4 var(--ed-ui); cursor:pointer; }
.events-map-expand:hover { background:var(--accent-dim); border-color:var(--ed-brand); }
.events-map-expand:disabled { opacity:.5; cursor:wait; }
.events-map-section.is-expanded .events-map-wrap { grid-template-columns:minmax(0,1fr); }
.events-map-section.is-expanded .events-map { height: min(75vh,760px); min-height:400px; }
.events-map-section.is-expanded .events-map-legend { max-height:240px; }
@media(max-width:600px) { .events-map-expand { min-height:44px; } .events-map-section.is-expanded .events-map { min-height:320px; } }

.search-more,.search-retry { margin-top:16px; min-height:44px; padding:8px 16px; border:1px solid var(--ed-rule); background:transparent; color:var(--ed-brand); font:600 13px var(--ed-ui); cursor:pointer; }
.search-more[hidden],.search-retry[hidden] { display:none; }
