/*
 * Public Event Detail alignment with the current Discover Events system.
 * Route-scoped presentation only. EventPublicPage remains the owner of
 * structure, data, sticky navigation, scrolling, ticketing, and behavior.
 */

html body .evp-root {
  --evp-display-font: "Cormorant Garamond", "Iowan Old Style", Georgia, serif;
  --evp-interface-font: "Plus Jakarta Sans", Inter, ui-sans-serif, system-ui, -apple-system, sans-serif;
  --evp-page: hsl(var(--background));
  --evp-surface: hsl(var(--card));
  --evp-surface-raised: color-mix(in srgb, hsl(var(--card)) 96%, hsl(var(--muted) / .42));
  --evp-soft: hsl(var(--muted) / .42);
  --evp-text: hsl(var(--foreground));
  --evp-text-muted: hsl(var(--muted-foreground));
  --evp-line: hsl(var(--border) / .62);
  --evp-accent: #e62e5c;
  --evp-accent-soft: rgba(230, 46, 92, .09);
  --evp-accent-ring: rgba(230, 46, 92, .15);
  --evp-success: #07956f;
  --evp-success-soft: rgba(7, 149, 111, .10);
  --evp-warning: #c56a00;
  --evp-warning-soft: rgba(197, 106, 0, .10);
  --evp-danger: #dc2626;
  --evp-danger-soft: rgba(220, 38, 38, .09);
  --evp-violet-semantic: #7c3aed;
  --evp-violet-soft: rgba(124, 58, 237, .075);
  --evp-ease: cubic-bezier(.22, 1, .36, 1);
  --evp-shadow-soft: 0 1px 2px rgba(15, 23, 42, .045);
  --evp-shadow-card: 0 10px 28px rgba(15, 23, 42, .07), 0 1px 0 rgba(255, 255, 255, .72) inset;
  --evp-shadow-float: 0 18px 48px rgba(15, 23, 42, .13), 0 1px 0 rgba(255, 255, 255, .82) inset;

  /* Map the existing Event Detail variable API to Discover/global semantics. */
  --evp-bg: var(--evp-page);
  --evp-card: var(--evp-surface);
  --evp-card-soft: var(--evp-surface-raised);
  --evp-fg: var(--evp-text);
  --evp-muted: var(--evp-soft);
  --evp-muted-fg: var(--evp-text-muted);
  --evp-border: var(--evp-line);
  --evp-border-soft: hsl(var(--border) / .42);
  --evp-primary: var(--evp-accent);
  --evp-primary-soft: var(--evp-accent-soft);
  --evp-violet: var(--evp-violet-semantic);
  --evp-amber: var(--evp-warning);
  --evp-green: var(--evp-success);
  --evp-orange: var(--evp-warning);

  min-height: 100%;
  color: var(--evp-text);
  font-family: var(--evp-interface-font);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  background: radial-gradient(circle at 74% 0%, rgba(230, 46, 92, .06), transparent 22%), var(--evp-page);
}

.dark body .evp-root,
html[data-theme="dark"] body .evp-root {
  --evp-accent: #fb7185;
  --evp-accent-soft: rgba(251, 113, 133, .12);
  --evp-accent-ring: rgba(251, 113, 133, .18);
  --evp-success: #34d399;
  --evp-success-soft: rgba(52, 211, 153, .12);
  --evp-warning: #fbbf24;
  --evp-warning-soft: rgba(251, 191, 36, .11);
  --evp-danger: #f87171;
  --evp-danger-soft: rgba(248, 113, 113, .11);
  --evp-violet-semantic: #c4b5fd;
  --evp-violet-soft: rgba(124, 58, 237, .16);
  --evp-shadow-soft: 0 1px 2px rgba(0, 0, 0, .22);
  --evp-shadow-card: 0 12px 30px rgba(0, 0, 0, .24);
  --evp-shadow-float: 0 22px 58px rgba(0, 0, 0, .38);
  background: radial-gradient(circle at 74% 0%, rgba(251, 113, 133, .045), transparent 22%), var(--evp-page);
}

html body .evp-root :is(button, a) { font-family: inherit; }
html body .evp-root .evp-container { width: min(1180px, calc(100% - 48px)); }

html body .evp-root :is(.evp-back,.evp-hero-primary,.evp-hero-secondary,.evp-tab-btn,.evp-action-btn,.evp-soft-btn,.evp-mini-action,.evp-tiny-link,.evp-host-link,.evp-sm-btn,.evp-mobile-cta-btn):focus-visible {
  outline: 0;
  box-shadow: 0 0 0 3px var(--evp-accent-ring), 0 0 0 1px color-mix(in srgb, var(--evp-accent) 50%, transparent);
}
html body .evp-root :is(.evp-hero-primary,.evp-hero-secondary,.evp-tab-btn,.evp-action-btn,.evp-soft-btn,.evp-mini-action,.evp-sm-btn,.evp-mobile-cta-btn):active:not(:disabled) { transform: translateY(0); filter: saturate(.98); }
html body .evp-root :is(.evp-hero-primary,.evp-hero-secondary,.evp-tab-btn,.evp-action-btn,.evp-soft-btn,.evp-mini-action,.evp-sm-btn,.evp-mobile-cta-btn):disabled { opacity: .42; cursor: not-allowed; transform: none; box-shadow: none; }

/* Hero */
html body .evp-root .evp-hero { border-color: var(--evp-line); border-radius: 18px; box-shadow: 0 18px 54px color-mix(in srgb, var(--evp-text) 10%, transparent); }
html body .evp-root .evp-hero-inner { gap: 24px; padding: 24px; }
html body .evp-root .evp-hero-copy { max-width: 760px; }
html body .evp-root .evp-hero h1 {
  margin: 0;
  font-family: var(--evp-display-font);
  font-size: clamp(40px, 4.6vw, 60px);
  line-height: .92;
  letter-spacing: -.06em;
  font-weight: 600;
  text-wrap: balance;
  text-shadow: 0 14px 38px rgba(0, 0, 0, .28);
}
html body .evp-root .evp-hero-meta { margin-top: 13px; gap: 8px; font-size: 13px; line-height: 1.45; letter-spacing: -.01em; font-weight: 600; }
html body .evp-root .evp-back { min-height: 38px; padding: 0 13px; border-radius: 10px; font-size: 11px; font-weight: 850; transition: transform 170ms var(--evp-ease), border-color 170ms ease, background 170ms ease, box-shadow 170ms ease; }
html body .evp-root .evp-back:hover { transform: translateY(-1px); border-color: rgba(255,255,255,.28); background: rgba(12,16,24,.66); box-shadow: 0 8px 22px rgba(0,0,0,.20); }

html body .evp-root .evp-hero-ticket-panel { border-color: rgba(255,255,255,.20); border-radius: 14px; padding: 14px; background: color-mix(in srgb, var(--evp-surface) 92%, transparent); box-shadow: 0 24px 70px rgba(0,0,0,.22); backdrop-filter: blur(18px) saturate(125%); }
.dark body .evp-root .evp-hero-ticket-panel,
html[data-theme="dark"] body .evp-root .evp-hero-ticket-panel { border-color: rgba(255,255,255,.12); background: color-mix(in srgb, var(--evp-surface) 84%, transparent); }
html body .evp-root :is(.evp-hero-ticket-label,.evp-kicker,.evp-exp-label) { font-size: 9px; line-height: 1.1; letter-spacing: .14em; text-transform: uppercase; font-weight: 900; }
html body .evp-root .evp-hero-ticket-label { color: var(--evp-text-muted); }
html body .evp-root .evp-hero-ticket-price { margin-top: 5px; color: var(--evp-text); font-size: 22px; line-height: 1; letter-spacing: -.045em; font-weight: 880; }
html body .evp-root .evp-avail-pill { min-height: 26px; height: auto; padding: 0 9px; border: 1px solid color-mix(in srgb, var(--evp-success) 20%, transparent); border-radius: 999px; background: var(--evp-success-soft); color: var(--evp-success); font-size: 10px; font-weight: 850; }

html body .evp-root .evp-hero-primary { width: 100%; height: 44px; min-height: 44px; border: 0; border-radius: 10px; background: linear-gradient(135deg, var(--evp-accent), #ff7896); color: #fff; gap: 8px; font-size: 11.5px; font-weight: 900; box-shadow: 0 12px 24px color-mix(in srgb, var(--evp-accent) 24%, transparent); transition: transform 170ms var(--evp-ease), box-shadow 170ms ease, filter 170ms ease; }
html body .evp-root .evp-hero-primary:hover { transform: translateY(-1px); filter: saturate(1.04); box-shadow: 0 0 0 3px var(--evp-accent-soft), 0 16px 30px color-mix(in srgb, var(--evp-accent) 30%, transparent); }
html body .evp-root .evp-hero-secondary-row { gap: 8px; margin-top: 8px; }
html body .evp-root .evp-hero-secondary { height: 38px; border-color: var(--evp-line); border-radius: 9px; background: color-mix(in srgb, var(--evp-surface) 94%, transparent); color: var(--evp-text); gap: 7px; font-size: 10.5px; font-weight: 850; transition: transform 170ms var(--evp-ease), border-color 170ms ease, background 170ms ease, color 170ms ease, box-shadow 170ms ease; }
html body .evp-root .evp-hero-secondary:hover { transform: translateY(-1px); border-color: color-mix(in srgb, var(--evp-accent) 28%, var(--evp-line)); background: color-mix(in srgb, var(--evp-surface) 90%, var(--evp-accent-soft)); color: var(--evp-accent); box-shadow: 0 0 0 3px var(--evp-accent-soft); }
.dark body .evp-root .evp-hero-secondary,
html[data-theme="dark"] body .evp-root .evp-hero-secondary { border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.08); color: rgba(255,255,255,.90); }

html body .evp-root .evp-hero-badge { min-height: 26px; padding: 0 9px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; background: rgba(12,16,24,.48); color: rgba(255,255,255,.90); font-size: 9.5px; font-weight: 850; box-shadow: none; backdrop-filter: blur(12px); }
html body .evp-root .evp-hero-badge:not(.sts):not(.end):not(.inv) { background: rgba(12,16,24,.48) !important; color: rgba(255,255,255,.90) !important; }
html body .evp-root .evp-hero-badge.sts { border-color: color-mix(in srgb, var(--evp-success) 30%, rgba(255,255,255,.12)); background: color-mix(in srgb, var(--evp-success) 18%, rgba(12,16,24,.48)); color: #6ee7b7; }
html body .evp-root .evp-hero-badge.end { border-color: color-mix(in srgb, var(--evp-danger) 30%, rgba(255,255,255,.12)); background: color-mix(in srgb, var(--evp-danger) 18%, rgba(12,16,24,.48)); color: #fca5a5; }
html body .evp-root .evp-hero-badge.inv { border-color: color-mix(in srgb, var(--evp-accent) 32%, rgba(255,255,255,.12)); background: color-mix(in srgb, var(--evp-accent) 18%, rgba(12,16,24,.48)); color: #fda4af; }

/* Sticky navigation */
html body .evp-root .evp-tab-shell { border-color: var(--evp-line); border-radius: 14px; background: color-mix(in srgb, var(--evp-surface) 92%, transparent); box-shadow: 0 8px 22px color-mix(in srgb, var(--evp-text) 5.5%, transparent); backdrop-filter: blur(18px) saturate(125%); }
.dark body .evp-root .evp-tab-shell,
html[data-theme="dark"] body .evp-root .evp-tab-shell { border-color: var(--evp-line); background: color-mix(in srgb, var(--evp-surface) 92%, transparent); box-shadow: 0 10px 28px rgba(0,0,0,.22); }
html body .evp-root .evp-tabs-inner { min-height: 62px; gap: 8px; padding: 8px 10px; }
html body .evp-root .evp-tab-mini { height: 44px; border-color: var(--evp-line); border-radius: 10px; background: var(--evp-surface); box-shadow: var(--evp-shadow-soft); }
html body .evp-root .evp-tab-orb { width: 29px; height: 29px; border-color: color-mix(in srgb, var(--evp-accent) 18%, var(--evp-line)); border-radius: 9px; background: var(--evp-accent-soft); color: var(--evp-accent); }
html body .evp-root .evp-tab-mini-name { font-size: 11.5px; line-height: 1.1; letter-spacing: -.02em; font-weight: 850; }
html body .evp-root .evp-tab-mini-date { margin-top: 3px; color: var(--evp-text-muted); font-size: 9.5px; line-height: 1.2; font-weight: 620; }
html body .evp-root .evp-tab-btn { height: 44px; border: 1px solid transparent; border-radius: 10px; background: transparent; color: var(--evp-text-muted); gap: 7px; padding: 0 10px; transition: transform 160ms var(--evp-ease), background 160ms ease, color 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
html body .evp-root .evp-tab-icon-box { width: 24px; height: 24px; border-color: var(--evp-line); border-radius: 8px; background: color-mix(in srgb, var(--evp-soft) 74%, transparent); color: inherit; }
html body .evp-root .evp-tab-label { font-size: 11.5px; line-height: 1.05; font-weight: 880; }
html body .evp-root .evp-tab-sub { color: var(--evp-text-muted); font-size: 8.5px; line-height: 1; letter-spacing: .09em; font-weight: 900; }
html body .evp-root .evp-tab-btn:hover:not(.evp-tab-active) { transform: translateY(-1px); border-color: var(--evp-line); background: color-mix(in srgb, var(--evp-soft) 72%, transparent); color: var(--evp-text); }
html body .evp-root .evp-tab-btn.evp-tab-active { border-color: color-mix(in srgb, var(--evp-accent) 20%, var(--evp-line)); background: var(--evp-accent-soft); color: var(--evp-accent); box-shadow: var(--evp-shadow-soft); }
html body .evp-root .evp-tab-btn.evp-tab-active .evp-tab-icon-box { border-color: color-mix(in srgb, var(--evp-accent) 18%, var(--evp-line)); background: var(--evp-surface); color: var(--evp-accent); }
html body .evp-root .evp-tab-btn.evp-tab-active .evp-tab-sub { color: color-mix(in srgb, var(--evp-accent) 72%, var(--evp-text-muted)); }

html body .evp-root .evp-ticket-tab { height: 44px; padding: 0 11px 0 10px; border-color: color-mix(in srgb, var(--evp-accent) 16%, var(--evp-line)); background: radial-gradient(circle at 100% 0, color-mix(in srgb, var(--evp-accent) 9%, transparent), transparent 38%), var(--evp-surface); color: var(--evp-accent); box-shadow: var(--evp-shadow-soft); }
html body .evp-root .evp-ticket-tab::before { inset: 6px auto 6px -1px; width: 3px; background: var(--evp-accent); opacity: .9; }
html body .evp-root .evp-ticket-tab .evp-tab-icon-box { border-color: color-mix(in srgb, var(--evp-accent) 18%, var(--evp-line)); background: var(--evp-surface); color: var(--evp-accent); }
html body .evp-root .evp-ticket-tab.evp-tab-active { border-color: color-mix(in srgb, var(--evp-accent) 22%, var(--evp-line)); background: var(--evp-accent-soft); color: var(--evp-accent); box-shadow: var(--evp-shadow-soft); }
html body .evp-root .evp-ticket-tab.evp-tab-active .evp-workspace-dot { background: var(--evp-success); box-shadow: 0 0 0 4px var(--evp-success-soft); }

/* Surface hierarchy */
html body .evp-root .evp-mid-col { filter: none; }
html body .evp-root :is(.evp-rail-card,.evp-main-card,.evp-series-card) { border-color: var(--evp-line); border-radius: 14px; background: color-mix(in srgb, var(--evp-surface) 97%, transparent); }
html body .evp-root :is(.evp-rail-card,.evp-series-card) { box-shadow: var(--evp-shadow-soft); }
html body .evp-root .evp-main-card { box-shadow: var(--evp-shadow-card); }
.dark body .evp-root :is(.evp-rail-card,.evp-main-card,.evp-series-card),
html[data-theme="dark"] body .evp-root :is(.evp-rail-card,.evp-main-card,.evp-series-card) { border-color: var(--evp-line); background: var(--evp-surface); }
html body .evp-root .evp-ticket-card { border-color: color-mix(in srgb, var(--evp-accent) 14%, var(--evp-line)); background: radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--evp-accent) 6%, transparent), transparent 36%), var(--evp-surface); }
html body .evp-root .evp-social-card { border-color: var(--evp-line); background: var(--evp-surface); }
html body .evp-root :is(.evp-exp-card,.evp-menu-chip,.evp-post,.evp-social-note,.evp-info-violet,.evp-info-amber) { border-color: var(--evp-line); border-radius: 11px; background: color-mix(in srgb, var(--evp-soft) 70%, transparent); box-shadow: none; }
html body .evp-root :is(.evp-exp-card.theme,.evp-info-violet) { border-color: color-mix(in srgb, var(--evp-violet-semantic) 22%, var(--evp-line)); background: var(--evp-violet-soft); }
html body .evp-root :is(.evp-exp-card.dress,.evp-info-amber) { border-color: color-mix(in srgb, var(--evp-warning) 22%, var(--evp-line)); background: var(--evp-warning-soft); }

/* Typography */
html body .evp-root .evp-kicker { margin-bottom: 10px; color: var(--evp-text-muted); }
html body .evp-root .evp-kicker.evp-kicker-0 { margin-bottom: 0; }
html body .evp-root .evp-main-card .evp-section-title { color: var(--evp-text); font-size: 18px !important; line-height: 1.08; letter-spacing: -.035em; font-weight: 900; }
html body .evp-root .evp-rail-card .evp-section-title { color: var(--evp-text); font-size: 13.5px !important; line-height: 1.18; letter-spacing: -.025em; font-weight: 880; }
html body .evp-root .evp-section-sub { margin-top: 5px; color: var(--evp-text-muted); font-size: 12.5px; line-height: 1.5; font-weight: 600; }
html body .evp-root .evp-info-row { color: var(--evp-text); font-size: 12.5px; line-height: 1.45; font-weight: 650; }
html body .evp-root .evp-info-small { color: var(--evp-text-muted); font-size: 11px; line-height: 1.4; font-weight: 620; }
html body .evp-root .evp-exp-label { color: var(--evp-violet-semantic); }
html body .evp-root .evp-exp-card.dress .evp-exp-label { color: var(--evp-warning); }
html body .evp-root .evp-exp-body { margin-top: 8px; color: color-mix(in srgb, var(--evp-text) 88%, var(--evp-text-muted)); font-size: 13px; line-height: 1.58; font-weight: 560; }
html body .evp-root .evp-menu-chip small { color: var(--evp-text-muted); font-size: 10.5px; line-height: 1.3; font-weight: 720; }
html body .evp-root .evp-menu-chip strong { color: var(--evp-text); font-size: 13px; line-height: 1.3; letter-spacing: -.015em; font-weight: 850; }
html body .evp-root .evp-t-time { color: var(--evp-text-muted); font-size: 11px; line-height: 1.2; font-weight: 850; font-variant-numeric: tabular-nums; }
html body .evp-root .evp-t-main strong { color: var(--evp-text); font-size: 13.5px; line-height: 1.28; letter-spacing: -.018em; font-weight: 880; }
html body .evp-root .evp-t-main p { margin-top: 5px; color: var(--evp-text-muted); font-size: 12.5px; line-height: 1.55; font-weight: 560; }
html body .evp-root .evp-t-main p[style] { color: var(--evp-text-muted) !important; font-size: 11px !important; line-height: 1.4 !important; font-weight: 620 !important; }
html body .evp-root :is(.evp-going-count span,.evp-avatar-caption,.evp-host-person span,.evp-poster-mini small,.evp-post-name span,.evp-footer-note) { color: var(--evp-text-muted); font-size: 10.5px; line-height: 1.45; font-weight: 620; }
html body .evp-root :is(.evp-host-person strong,.evp-poster-mini b) { color: var(--evp-text); font-size: 12.5px; line-height: 1.25; letter-spacing: -.018em; font-weight: 880; }
html body .evp-root .evp-post-name strong { font-size: 11.5px; font-weight: 880; }
html body .evp-root .evp-post p { color: color-mix(in srgb, var(--evp-text) 86%, var(--evp-text-muted)); font-size: 12.5px; line-height: 1.55; font-weight: 560; }
html body .evp-root .evp-social-note { color: var(--evp-text-muted); font-size: 11px; line-height: 1.45; font-weight: 600; }

/* Chips and status */
html body .evp-root :is(.evp-event-state,.evp-mini-pill,.evp-reacts,.evp-type-pill,.evp-t-duration) { min-height: 24px; height: auto; padding: 0 8px; border-radius: 999px; font-size: 9.5px; line-height: 1; letter-spacing: .01em; font-weight: 850; }
html body .evp-root .evp-type-pill { border: 1px solid var(--evp-line); background: color-mix(in srgb, var(--evp-soft) 62%, transparent); color: var(--evp-text-muted); }
html body .evp-root .evp-t-duration { border: 0; background: color-mix(in srgb, var(--evp-soft) 82%, transparent); color: var(--evp-text-muted); }
html body .evp-root .evp-event-state { border-color: color-mix(in srgb, var(--evp-success) 20%, transparent); background: var(--evp-success-soft); color: var(--evp-success); }
html body .evp-root .evp-event-state.ended { border-color: color-mix(in srgb, var(--evp-danger) 20%, transparent); background: var(--evp-danger-soft); color: var(--evp-danger); }
html body .evp-root .evp-state-dot { background: var(--evp-success); box-shadow: 0 0 0 3px var(--evp-success-soft); }
html body .evp-root .evp-state-dot.ended { background: var(--evp-danger); box-shadow: 0 0 0 3px var(--evp-danger-soft); }
html body .evp-root :is(.evp-mini-pill,.evp-reacts) { border-color: color-mix(in srgb, var(--evp-warning) 18%, transparent); background: var(--evp-warning-soft); color: var(--evp-warning); }

/* Buttons and links */
html body .evp-root :is(.evp-action-btn,.evp-soft-btn,.evp-mobile-cta-btn) { min-height: 44px; border-radius: 10px; gap: 8px; font-size: 11.5px; font-weight: 900; transition: transform 170ms var(--evp-ease), border-color 170ms ease, background 170ms ease, color 170ms ease, box-shadow 170ms ease, filter 170ms ease; }
html body .evp-root .evp-mini-action { min-height: 36px; border-radius: 9px; gap: 7px; padding: 0 10px; font-size: 10.5px; font-weight: 850; transition: transform 170ms var(--evp-ease), border-color 170ms ease, background 170ms ease, color 170ms ease, box-shadow 170ms ease; }
html body .evp-root :is(.evp-soft-btn,.evp-mini-action) { border-color: var(--evp-line); background: var(--evp-surface); color: var(--evp-text); box-shadow: var(--evp-shadow-soft); }
html body .evp-root :is(.evp-soft-btn,.evp-mini-action):hover { transform: translateY(-1px); border-color: color-mix(in srgb, var(--evp-accent) 30%, var(--evp-line)); background: color-mix(in srgb, var(--evp-surface) 90%, var(--evp-accent-soft)); color: var(--evp-accent); box-shadow: 0 0 0 3px var(--evp-accent-soft), 0 8px 20px color-mix(in srgb, var(--evp-text) 8%, transparent); }
html body .evp-root :is(.evp-action-btn,.evp-mobile-cta-btn) { border: 0; background: linear-gradient(135deg, var(--evp-accent), #ff7896); color: #fff; box-shadow: 0 12px 24px color-mix(in srgb, var(--evp-accent) 24%, transparent); }
html body .evp-root :is(.evp-action-btn,.evp-mobile-cta-btn):hover { transform: translateY(-1px); filter: saturate(1.04); box-shadow: 0 0 0 3px var(--evp-accent-soft), 0 16px 30px color-mix(in srgb, var(--evp-accent) 30%, transparent); }
html body .evp-root .evp-mini-action.primary { border-color: color-mix(in srgb, var(--evp-accent) 20%, var(--evp-line)); background: var(--evp-accent-soft); color: var(--evp-accent); }
html body .evp-root :is(.evp-tiny-link,.evp-host-link) { border-radius: 7px; color: var(--evp-accent); font-size: 10.5px; line-height: 1.3; font-weight: 850; text-underline-offset: 3px; }
html body .evp-root :is(.evp-tiny-link,.evp-host-link):hover { text-decoration: underline; }
html body .evp-root .evp-sm-btn { height: 32px; padding: 0 10px; border-color: var(--evp-line); border-radius: 9px; background: var(--evp-surface); color: var(--evp-text); gap: 5px; font-size: 10.5px; font-weight: 850; }
html body .evp-root .evp-sm-btn:hover { transform: translateY(-1px); border-color: color-mix(in srgb, var(--evp-accent) 28%, var(--evp-line)); background: color-mix(in srgb, var(--evp-surface) 90%, var(--evp-accent-soft)); color: var(--evp-accent); }
html body .evp-root .evp-sm-btn.evp-sm-act { border-color: color-mix(in srgb, var(--evp-accent) 20%, var(--evp-line)); background: var(--evp-accent-soft); color: var(--evp-accent); }

/* Existing inline presentation values, aligned without altering component logic. */
html body .evp-root #evp-section-overview > .evp-main-card:first-child .evp-kicker + p { max-width: 66ch; color: var(--evp-text) !important; font-size: 17px !important; line-height: 1.5 !important; letter-spacing: -.018em !important; font-weight: 700 !important; }
html body .evp-root #evp-section-overview > .evp-main-card:first-child .evp-kicker + p ~ p { max-width: 72ch; margin-top: 13px !important; color: color-mix(in srgb, var(--evp-text) 84%, var(--evp-text-muted)) !important; font-size: 13.5px !important; line-height: 1.62 !important; letter-spacing: 0 !important; font-weight: 540 !important; }
html body .evp-root .evp-pulse-head ~ button { min-height: 34px !important; border-color: var(--evp-line) !important; border-radius: 9px !important; background: var(--evp-surface) !important; color: var(--evp-accent) !important; gap: 6px !important; font-size: 10.5px !important; font-weight: 850 !important; box-shadow: var(--evp-shadow-soft); }
html body .evp-root .evp-pulse-head ~ button:hover,
html body .evp-root .evp-pulse-head ~ button:focus-visible { transform: translateY(-1px); border-color: color-mix(in srgb, var(--evp-accent) 30%, var(--evp-line)) !important; background: color-mix(in srgb, var(--evp-surface) 90%, var(--evp-accent-soft)) !important; box-shadow: 0 0 0 3px var(--evp-accent-soft); outline: 0; }
html body .evp-root .evp-floor-preview > div:last-child button { min-height: 34px; padding: 0 12px !important; border: 1px solid rgba(255,255,255,.20) !important; border-radius: 9px !important; background: rgba(255,255,255,.90) !important; color: #111318 !important; font-size: 10.5px !important; font-weight: 850 !important; box-shadow: 0 8px 22px rgba(0,0,0,.16) !important; }
html body .evp-root .evp-map-preview > div:last-child > div { height: 34px !important; padding: 0 12px !important; border-color: var(--evp-line) !important; border-radius: 999px !important; background: color-mix(in srgb, var(--evp-surface) 94%, transparent) !important; color: var(--evp-text) !important; gap: 6px !important; font-size: 10.5px !important; font-weight: 850 !important; box-shadow: 0 10px 24px color-mix(in srgb, var(--evp-text) 12%, transparent) !important; backdrop-filter: blur(12px); }
html body .evp-root #evp-section-menu .evp-mcp > div:not(.evp-split-head):not(.evp-menu-grid) > div { border-color: var(--evp-line) !important; }
html body .evp-root #evp-section-menu .evp-mcp > div:not(.evp-split-head):not(.evp-menu-grid) > div > p { color: var(--evp-text-muted) !important; font-size: 9px !important; line-height: 1.1 !important; letter-spacing: .12em !important; font-weight: 900 !important; }
html body .evp-root #evp-section-menu .evp-mcp > div:not(.evp-split-head):not(.evp-menu-grid) > div > div > div > span:first-child { color: var(--evp-text) !important; font-size: 12.5px !important; line-height: 1.4 !important; font-weight: 650 !important; }
html body .evp-root #evp-section-menu .evp-mcp > div:not(.evp-split-head):not(.evp-menu-grid) > div > div > div > div span { padding: 3px 7px !important; border-color: var(--evp-line) !important; border-radius: 999px !important; background: color-mix(in srgb, var(--evp-soft) 62%, transparent) !important; color: var(--evp-text-muted) !important; font-size: 9px !important; font-weight: 750 !important; }
html body .evp-root .evp-ticket-card > .evp-section-sub + div > span { color: var(--evp-text-muted) !important; font-size: 9px !important; letter-spacing: .12em !important; font-weight: 900 !important; }
html body .evp-root .evp-ticket-card > .evp-section-sub + div > strong { color: var(--evp-text) !important; font-size: 22px !important; line-height: 1 !important; letter-spacing: -.04em !important; font-weight: 900 !important; }
html body .evp-root .evp-right-rail > .evp-rail-card > p:not([class]) { color: var(--evp-text-muted) !important; font-size: 12px !important; line-height: 1.55 !important; font-weight: 560 !important; }
html body .evp-root .evp-qr-box button { height: 32px !important; padding: 0 10px !important; border-color: var(--evp-line) !important; border-radius: 9px !important; background: var(--evp-surface) !important; color: var(--evp-text-muted) !important; gap: 5px !important; font-size: 10.5px !important; font-weight: 850 !important; }
html body .evp-root .evp-qr-box button:hover,
html body .evp-root .evp-qr-box button:focus-visible { transform: translateY(-1px); border-color: color-mix(in srgb, var(--evp-accent) 28%, var(--evp-line)) !important; background: color-mix(in srgb, var(--evp-surface) 90%, var(--evp-accent-soft)) !important; color: var(--evp-accent) !important; box-shadow: 0 0 0 3px var(--evp-accent-soft); outline: 0; }
html body .evp-root .evp-series-card { border-radius: 14px !important; }
html body .evp-root .evp-series-card > p:first-child { margin: 0 0 10px !important; color: var(--evp-text-muted) !important; font-size: 9px !important; line-height: 1.1 !important; letter-spacing: .14em !important; text-transform: uppercase !important; font-weight: 900 !important; }
html body .evp-root .evp-series-card > div:first-of-type a { color: var(--evp-text) !important; font-size: 13px !important; line-height: 1.25 !important; letter-spacing: -.018em !important; font-weight: 880 !important; }
html body .evp-root .evp-series-card > div:first-of-type p,
html body .evp-root .evp-series-card > div:nth-of-type(2) span { color: var(--evp-text-muted) !important; font-size: 10.5px !important; line-height: 1.4 !important; font-weight: 620 !important; }
html body .evp-root .evp-series-card button { height: 34px !important; padding: 0 11px !important; border-radius: 9px !important; border-color: color-mix(in srgb, var(--evp-accent) 20%, var(--evp-line)) !important; background: var(--evp-accent-soft) !important; color: var(--evp-accent) !important; gap: 6px !important; font-size: 10.5px !important; font-weight: 850 !important; }
html body .evp-root .evp-series-card button:hover,
html body .evp-root .evp-series-card button:focus-visible { transform: translateY(-1px); border-color: color-mix(in srgb, var(--evp-accent) 32%, var(--evp-line)) !important; background: color-mix(in srgb, var(--evp-surface) 86%, var(--evp-accent-soft)) !important; box-shadow: 0 0 0 3px var(--evp-accent-soft); outline: 0; }
html body .evp-root .evp-series-card button:disabled { opacity: .42; cursor: not-allowed !important; transform: none; box-shadow: none; }
html body .evp-root .evp-series-card > a:last-child { color: var(--evp-accent) !important; font-size: 10.5px !important; font-weight: 850 !important; }

/* Supporting details */
html body .evp-root :is(.evp-info-icon,.evp-meta-dot) { width: 30px; height: 30px; border-color: var(--evp-line); border-radius: 9px; background: color-mix(in srgb, var(--evp-soft) 82%, transparent); color: var(--evp-text-muted); }
html body .evp-root .evp-host-avatar.org { border-color: var(--evp-line); border-radius: 10px; background: color-mix(in srgb, var(--evp-soft) 80%, transparent); }
html body .evp-root .evp-poster-image { border-color: var(--evp-line); border-radius: 12px; box-shadow: var(--evp-shadow-soft); }
html body .evp-root .evp-date-tile { border-color: color-mix(in srgb, var(--evp-accent) 18%, var(--evp-line)); border-radius: 11px; background: var(--evp-surface); box-shadow: var(--evp-shadow-soft); }
html body .evp-root .evp-date-month { background: var(--evp-accent); }
html body .evp-root .evp-date-day { color: var(--evp-text); }
html body .evp-root .evp-map-preview { border-color: var(--evp-line); border-radius: 14px; background: linear-gradient(90deg, color-mix(in srgb, var(--evp-line) 44%, transparent) 1px, transparent 1px), linear-gradient(color-mix(in srgb, var(--evp-line) 44%, transparent) 1px, transparent 1px), color-mix(in srgb, var(--evp-soft) 72%, var(--evp-page)); background-size: 40px 40px, 40px 40px, 100% 100%; }
html body .evp-root .evp-floor-preview { border-color: var(--evp-line); border-radius: 14px; background: color-mix(in srgb, var(--evp-soft) 62%, var(--evp-page)); }
html body .evp-root .evp-feature-post { border-color: var(--evp-line); border-radius: 14px; }
html body .evp-root .evp-mobile-cta { border-color: var(--evp-line); border-radius: 14px; background: color-mix(in srgb, var(--evp-surface) 94%, transparent); box-shadow: var(--evp-shadow-float); }
html body .evp-root .evp-ticket-wshead { border-color: var(--evp-line); background: var(--evp-surface); }
html body .evp-root .evp-ticket-wshead h3 { color: var(--evp-text); font-size: 15px; line-height: 1.15; letter-spacing: -.025em; font-weight: 880; }
html body .evp-root .evp-ticket-wshead p { color: var(--evp-text-muted); font-size: 11px; line-height: 1.45; font-weight: 600; }

@media (max-width: 1180px) { html body .evp-root .evp-container { width: min(calc(100% - 40px), 1180px); } }
@media (max-width: 900px) {
  html body .evp-root .evp-container { width: min(calc(100% - 28px), 760px); }
  html body .evp-root .evp-hero { border-radius: 0 0 16px 16px; }
  html body .evp-root .evp-hero h1 { font-size: clamp(34px, 7vw, 46px); }
}
@media (max-width: 720px) {
  html body .evp-root .evp-tab-shell { border-radius: 0; }
  html body .evp-root .evp-tab-btn { height: 40px; padding-inline: 9px; }
  html body .evp-root .evp-main-card .evp-section-title { font-size: 17px !important; }
}
@media (max-width: 639px) {
  html body .evp-root .evp-container { width: 100%; }
  html body .evp-root .evp-hero h1 { font-size: clamp(30px, 9vw, 40px); }
  html body .evp-root .evp-mcp { padding: 16px; }
  html body .evp-root :is(.evp-rail-card,.evp-main-card) { border-radius: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  html body .evp-root *, html body .evp-root *::before, html body .evp-root *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
