/* ============ Página de evento (tema oscuro) ============ */

/* ---------- Hero de ancho completo ---------- */
.event-hero {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: clamp(520px, 78svh, 640px);
  overflow: hidden;
  color: #fff;
  background: #000;
  isolation: isolate;
}
.event-hero__media { position: absolute; inset: 0; z-index: -2; }
.event-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 35%; animation: event-zoom 12s ease-out both; }
@keyframes event-zoom { from { transform: scale(1.06); } to { transform: scale(1); } }
.event-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(0deg, var(--bg, #06080f) 0%, rgba(6, 8, 15, 0.75) 26%, rgba(6, 8, 15, 0.15) 60%, rgba(6, 8, 15, 0.25) 100%),
    linear-gradient(90deg, rgba(6, 8, 15, 0.55) 0%, rgba(6, 8, 15, 0) 60%);
}
.event-hero__inner { display: grid; gap: 12px; padding-block: 96px 40px; }
.event-hero__state { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.event-hero__state:empty { display: none; }
.event-hero__title {
  max-width: 18ch;
  font: 800 clamp(2.8rem, 9vw, 5.6rem)/0.88 var(--font-display);
  text-transform: uppercase;
  text-wrap: balance;
  text-shadow: 0 4px 30px rgba(0, 0, 0, 0.35);
}
.event-hero__subtitle { color: var(--accent-300); font-weight: 700; font-size: 1.1rem; }
.event-hero__facts { display: flex; flex-wrap: wrap; gap: 8px 26px; margin-top: 4px; color: rgba(255, 255, 255, 0.92); font-weight: 600; font-size: 1.02rem; }
.event-hero__facts li { display: flex; align-items: center; gap: 9px; }
.event-hero__facts .icon { width: 20px; height: 20px; color: var(--accent-300); }
.event-hero__buy { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-top: 12px; }
.event-hero__price { color: rgba(255, 255, 255, 0.8); font-weight: 600; }
.event-hero__price strong { display: block; color: #fff; font: 800 2.1rem/1 var(--font-display); }
.event-hero__note { color: rgba(255, 255, 255, 0.85); font-weight: 600; }
.event-hero__credit { color: rgba(255, 255, 255, 0.5); font-size: 0.7rem; }

/* ---------- Secciones sobre fondo oscuro ---------- */
.theme-dark .section-head .eyebrow, .theme-dark .eyebrow { color: var(--accent-300); }
.theme-dark .section-title { color: #fff; }
.theme-dark .section-sub { color: var(--text-muted); }
.theme-dark .sectors .section-title { font-size: clamp(2.2rem, 6vw, 3.4rem); }

/* Tarjetas de sector */
.theme-dark .sector-card { background: var(--panel); border: 1px solid var(--hairline); border-radius: 8px; box-shadow: none; }
.theme-dark .sector-card:hover { border-color: rgba(255, 255, 255, 0.28); box-shadow: none; }
.theme-dark .sector-card.is-selected { border-color: var(--accent-400); background: linear-gradient(180deg, rgba(34, 211, 255, 0.1), var(--panel) 70%); box-shadow: 0 0 0 1px var(--accent-400); }
.theme-dark .sector-card__name, .theme-dark .price__value { color: #fff; }
.theme-dark .sector-card__stand { color: var(--accent-300); }
.theme-dark .stock, .theme-dark .price__unit { color: var(--text-muted); }
.theme-dark .sector-card__foot { border-top-color: var(--hairline); }
.theme-dark .sector-card__btn { --btn-bg: transparent; --btn-fg: #fff; --btn-border: rgba(255, 255, 255, 0.4); border-radius: 6px; }
.theme-dark .sector-card__btn:hover:not(:disabled), .theme-dark .is-selected .sector-card__btn { --btn-bg: var(--blue-500); --btn-fg: #fff; --btn-border: var(--blue-500); }

/* Resumen y esquema */
.theme-dark .summary, .theme-dark .map-card { background: var(--panel); border: 1px solid var(--hairline); border-radius: 8px; box-shadow: none; }
.theme-dark .summary__title, .theme-dark .summary__name, .theme-dark .map-card__title, .theme-dark .qty__label { color: #fff; }
.theme-dark .summary__empty, .theme-dark .summary__label, .theme-dark .summary__breakdown, .theme-dark .qty__hint, .theme-dark .summary__foot,
.theme-dark .map-caption, .theme-dark .map-disclaimer, .theme-dark .map-legend { color: var(--text-muted); }
.theme-dark .summary__sector { background: rgba(255, 255, 255, 0.05); }
.theme-dark .summary__total { color: #fff; }
.theme-dark .summary__lines { border-color: var(--hairline); }
.theme-dark .stepper { background: rgba(255, 255, 255, 0.04); border-color: var(--hairline); }
.theme-dark .stepper__btn { color: #fff; background: transparent; }
.theme-dark .stepper__value { color: #fff; }
.theme-dark .summary__cta { --btn-bg: var(--blue-500); --btn-fg: #fff; }
.theme-dark .summary__cta:disabled { --btn-bg: #2a3248; opacity: 1; color: rgba(255, 255, 255, 0.55); }
.theme-dark .map-card__tag { border-color: var(--hairline); color: var(--text-muted); }
.theme-dark .order-resume { background: rgba(34, 211, 255, 0.1); color: #fff; }

/* Información */
.event-info { display: grid; gap: 28px; }
@media (min-width: 900px) { .event-info { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; } }
.event-about { margin-top: 18px; color: rgba(255, 255, 255, 0.88); font-size: 1.05rem; line-height: 1.75; white-space: pre-line; }
.theme-dark .match-facts { gap: 0; }
.theme-dark .match-fact { padding: 16px 0; background: transparent; border: 0; border-bottom: 1px solid var(--hairline); border-radius: 0; box-shadow: none; }
.theme-dark .match-fact__icon { background: rgba(34, 211, 255, 0.1); color: var(--accent-300); border-radius: 6px; }
.theme-dark .match-fact dt { color: var(--text-muted); }
.theme-dark .match-fact dd { color: #fff; }

/* Entrega y preguntas */
.theme-dark .delivery-card { background: var(--panel); border-color: var(--hairline); border-radius: 8px; box-shadow: none; }
.theme-dark .delivery-card__text { color: var(--text-muted); }
.theme-dark .delivery-points li { color: #fff; }
.theme-dark .faq-list { background: transparent; border: 0; border-top: 1px solid var(--hairline); border-radius: 0; box-shadow: none; }
.theme-dark .faq-item { border-bottom: 1px solid var(--hairline); }
.theme-dark .faq-item + .faq-item { border-top: 0; }
.theme-dark .faq-item summary { padding-inline: 0 44px; color: #fff; font-size: 1.05rem; }
.theme-dark .faq-item summary::after { right: 4px; color: var(--accent-300); }
.theme-dark .faq-item p { padding-inline: 0; color: var(--text-muted); }
.theme-dark .faq-legal { color: var(--text-muted); }
.theme-dark .faq-legal a { color: var(--accent-300); }
.theme-dark .site-footer { margin-top: 72px; }

/* El flujo de compra mantiene su diseño claro (máxima legibilidad para datos y pagos). */
.theme-dark .checkout { color: var(--ink); }
.theme-dark .sticky-bar { color: var(--ink); }
