/* Shared event header row (event-nav.js). Self-contained like auth/auth.css: every colour is an --evn-* token,
   so the row looks the same on details / members / agenda / gallery / privacy whatever palette the page uses. */
.ev-nav {
  --evn-text: #10224f; --evn-muted: #5b6b8c; --evn-card: #fff; --evn-border: #e2e8f4; --evn-hover: #eef3fc;
  --evn-primary: #2f6fed; --evn-on-bg: #e3ecfd;
  display: flex; align-items: center; gap: 12px;
  max-width: 1040px; margin: 0 auto; padding: 10px 16px 0; box-sizing: border-box;
  font: 14px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: var(--evn-text);
}
@media (prefers-color-scheme: dark) {
  .ev-nav { --evn-text: #eef2fb; --evn-muted: #a7b2cc; --evn-card: #131b36; --evn-border: #24304f; --evn-hover: #1a2444; --evn-primary: #8db0ff; --evn-on-bg: #1d2b55; }
}
.ev-nav .ev-sub { margin: 0; color: var(--evn-muted); font-size: 14px; flex: 1; min-width: 0; overflow-wrap: anywhere; }
.ev-nav .dlg-head-actions { display: flex; align-items: center; gap: 2px; flex-shrink: 0; }
.ev-nav .dlg-head-actions[hidden] { display: none; }
.ev-nav .dlg-head-actions .sep { width: 1px; height: 18px; background: var(--evn-border); margin: 0 4px; }
.ev-nav .icon-btn { display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 8px; color: var(--evn-muted); text-decoration: none; }
.ev-nav .icon-btn:hover { background: var(--evn-hover); color: var(--evn-text); }
.ev-nav .icon-btn.on { background: var(--evn-on-bg); color: var(--evn-primary); box-shadow: inset 0 0 0 1px var(--evn-primary); }
.ev-nav .icon-btn svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ev-nav .btn { display: inline-flex; align-items: center; padding: 4px 9px; font-size: 12.5px; font-weight: 500; border: 1px solid var(--evn-border); background: var(--evn-card);
  border-radius: 8px; white-space: nowrap; text-decoration: none; color: var(--evn-text); }
.ev-nav .btn:hover { background: var(--evn-hover); }
@media (max-width: 420px) { .ev-nav { gap: 6px; } .ev-nav .icon-btn { width: 30px; } }
.ev-nav button.icon-btn { border: 0; background: none; padding: 0; cursor: pointer; font: inherit; }

/* Organiser menu (EventNav.organiserMenu): in the nav row and in the event-detail card head. Own tokens so it
   renders the same in either place. */
.evn-menu-wrap {
  --evm-text: #10224f; --evm-card: #fff; --evm-border: #e2e8f4; --evm-hover: #eef3fc;
  position: relative; display: inline-block;
}
@media (prefers-color-scheme: dark) {
  .evn-menu-wrap { --evm-text: #eef2fb; --evm-card: #131b36; --evm-border: #24304f; --evm-hover: #1a2444; }
}
.evn-menu { position: absolute; z-index: 30; top: calc(100% + 4px); right: 0; min-width: 190px; display: grid; padding: 4px;
  background: var(--evm-card); border: 1px solid var(--evm-border); border-radius: 10px; box-shadow: 0 12px 32px rgba(16,34,79,.18); }
.evn-menu[hidden] { display: none; }
.evn-menu a { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 7px; color: var(--evm-text);
  text-decoration: none; font: 13px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; white-space: nowrap; }
.evn-menu a:hover { background: var(--evm-hover); }
.evn-menu svg { width: 14px; height: 14px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* Cookie banner (../../cookie-consent.js) + "not available" empty state, for every event page.
   Wrapped in :where() (zero specificity) so a page's own rules (members.css, agenda.css) still win. */
:where(#cookie-consent-banner) {
  --ckb-text: #10224f; --ckb-muted: #5b6b8c; --ckb-card: #fff; --ckb-bg: #f4f8fd; --ckb-border: #e2e8f4; --ckb-primary: #2f6fed;
  position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 1000; max-width: 640px; margin: 0 auto; box-sizing: border-box;
  background: var(--ckb-card); color: var(--ckb-text); border: 1px solid var(--ckb-border); border-radius: 14px;
  box-shadow: 0 12px 32px rgba(16,34,79,.18); padding: 16px 18px;
  display: flex; flex-wrap: wrap; align-items: center; gap: 12px;
  font: 14px/1.45 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
@media (prefers-color-scheme: dark) {
  :where(#cookie-consent-banner) { --ckb-text: #eef2fb; --ckb-muted: #a7b2cc; --ckb-card: #131b36; --ckb-bg: #0b1226; --ckb-border: #24304f; --ckb-primary: #8db0ff; }
}
:where(#cookie-consent-banner) :where(.cookie-consent-text) { flex: 1 1 240px; margin: 0; font-size: .88rem; color: var(--ckb-muted); line-height: 1.5; }
:where(#cookie-consent-banner) :where(.cookie-consent-text a) { color: var(--ckb-primary); }
:where(#cookie-consent-banner) :where(.cookie-consent-actions) { display: flex; gap: 10px; flex: 0 0 auto; }
:where(#cookie-consent-banner) :where(.cookie-consent-btn) { border: 0; border-radius: 10px; padding: 10px 16px; font: inherit; font-size: .88rem; font-weight: 600; cursor: pointer; }
:where(#cookie-consent-banner) :where(.cookie-consent-reject) { background: var(--ckb-bg); color: var(--ckb-text); border: 1px solid var(--ckb-border); }
:where(#cookie-consent-banner) :where(.cookie-consent-accept) { background: var(--ckb-primary); color: #fff; }

.ev-missing { padding: 56px 16px; text-align: center; color: var(--muted, #5b6b8c); }
.ev-missing h2 { margin: 10px 0 4px; color: var(--text, #10224f); font-size: 1.15rem; }
.ev-missing p { margin: 0 0 14px; }
