@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Inter:wght@400;500;600;700&display=swap');

.gate-page {
  --rr-paper: #f7f4ed;
  --rr-card: #fffdfa;
  --rr-ink: #173f42;
  --rr-rust: #b8513d;
  --rr-muted: #65716b;
  --rr-pale: #e8ede6;
  --rr-line: #d6dad0;
  background: var(--rr-paper) !important;
  color: var(--rr-ink);
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
}

.gate-page--concert,
.gate-page--spotlight { background: var(--rr-paper) !important; }
.gate-page .gate-ambient { display: none; }
.gate-main { flex: 1; padding: 32px 0 56px; }
.gate-main .container { max-width: 1296px; }
.gate-main .gate-logo { display: inline-flex; gap: 12px; align-items: center; color: var(--rr-ink); text-decoration: none; }
.gate-brand__mark { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 3px; background: var(--rr-ink); color: var(--rr-paper); font: 28px/1 "DM Serif Display", Georgia, serif; }
.gate-brand__copy { display: flex; flex-direction: column; gap: 3px; }
.gate-brand__copy strong { color: var(--rr-ink); font-size: 16px; font-weight: 600; }
.gate-brand__copy small { color: var(--rr-muted); font-size: 9px; }
.gate-domain-hint { margin: 10px 0 26px; color: var(--rr-muted); font-size: 12px; }
.gate-layout { gap: 24px; margin-top: 0; }

.gate-event-card--spotlight {
  border-radius: 4px;
  background: var(--rr-ink) !important;
  box-shadow: 0 16px 36px rgba(23, 63, 66, 0.1);
}
.gate-event-glow,
.gate-event-shine { display: none; }
.gate-event-inner { border-radius: 2px; background: var(--rr-card) !important; color: var(--rr-ink); }
.gate-event-kicker { border-color: #e3c5bd; border-radius: 3px; background: #fbf1eb; color: var(--rr-rust); letter-spacing: 0.04em; }
.gate-event-kicker-dot { background: var(--rr-rust); box-shadow: none; }
.gate-event-hero-row { border-color: var(--rr-line); }
.gate-event-time { background: none; color: var(--rr-rust); font-family: "DM Serif Display", Georgia, serif; font-weight: 400; letter-spacing: 0; -webkit-text-fill-color: var(--rr-rust); }
.gate-event-time-note { color: var(--rr-muted); }
.gate-event-tag { border: 1px solid var(--rr-line); border-radius: 3px; background: var(--rr-pale); color: var(--rr-ink); letter-spacing: 0.04em; }
.gate-event-date-stack { border-color: var(--rr-line); border-radius: 3px; background: var(--rr-pale); }
.gate-event-date-day { color: var(--rr-ink); font-family: "DM Serif Display", Georgia, serif; font-weight: 400; }
.gate-event-date-month,
.gate-event-date-year { color: var(--rr-muted); letter-spacing: 0.04em; }
.gate-event-date-month { color: var(--rr-muted); }
.gate-event-title { margin-bottom: 14px; color: var(--rr-ink); font: 400 clamp(1.7rem, 2.4vw, 2.4rem)/1.12 "DM Serif Display", Georgia, serif; }
.gate-event-venue { color: var(--rr-muted); }
.gate-event-venue i { color: var(--rr-rust); }
.gate-event-venue strong { color: var(--rr-ink); }
.gate-event-quote { border-left: 2px solid var(--rr-rust); border-radius: 0 3px 3px 0; background: var(--rr-pale); }
.gate-event-quote p { color: var(--rr-muted); font-style: normal; }
.gate-event-badge,
.gate-page--theater .gate-event-badge,
.gate-page--theater .gate-event-badge--link { border: 1px solid var(--rr-line); border-radius: 3px; background: var(--rr-pale); color: var(--rr-ink); }
.gate-event-badge--link:hover { color: var(--rr-rust); }
.gate-event-date-line { color: var(--rr-muted); }

.gate-countdown-panel { padding: 24px; border: 1px solid var(--rr-line); border-radius: 4px; background: var(--rr-pale); color: var(--rr-ink); }
.gate-countdown-eyebrow,
.gate-page--theater .gate-countdown-eyebrow { color: var(--rr-rust); letter-spacing: 0.04em; }
.gate-countdown-heading { color: var(--rr-ink); font: 400 27px/1.15 "DM Serif Display", Georgia, serif; }
.gate-countdown-lead { color: var(--rr-muted); }
.gate-countdown-times__item { border-color: var(--rr-line); border-radius: 3px; background: var(--rr-card); }
.gate-countdown-times__when,
.gate-page--theater .gate-countdown-times__item:last-child .gate-countdown-times__when { border-radius: 2px; background: var(--rr-ink); color: var(--rr-paper); }
.gate-countdown-times__label { color: var(--rr-ink); }
.gate-page--spotlight .countdown-wrap--gate,
.gate-page--theater .countdown-wrap--gate { padding: 18px 14px; border: 1px solid var(--rr-line); border-radius: 4px; background: var(--rr-card); box-shadow: none; backdrop-filter: none; }
.gate-page--spotlight .countdown-grid--gate { gap: 8px; }
.gate-page--spotlight .countdown-box { border: 1px solid var(--rr-line); border-radius: 3px; background: var(--rr-pale); }
.gate-page--spotlight .countdown-box::before { opacity: 0 !important; }
.gate-page--spotlight .countdown-box--days .countdown-value,
.gate-page--spotlight .countdown-box--hours .countdown-value,
.gate-page--spotlight .countdown-box--minutes .countdown-value,
.gate-page--spotlight .countdown-box--seconds .countdown-value { color: var(--rr-ink); }
.gate-page--spotlight .countdown-label { color: var(--rr-muted); letter-spacing: 0.04em; }
.gate-page--spotlight .countdown-box--seconds,
.gate-page--theater .countdown-box--seconds,
.gate-page--spotlight .countdown-box--seconds.is-ticking { border-color: #d8b1a8; box-shadow: none; }
.gate-page--spotlight .countdown-note { border-color: var(--rr-line); color: var(--rr-muted); }

.gate-preview-btn,
.gate-preview-btn--primary,
.gate-preview-btn--accent {
  border: 1px solid var(--rr-line);
  border-radius: 3px;
  background: transparent;
  box-shadow: none;
  color: var(--rr-ink);
}
.gate-preview-btn:hover,
.gate-preview-btn:focus-visible { border-color: var(--rr-ink); background: var(--rr-ink); color: var(--rr-paper); }
.gate-preview-btn--primary { border-color: var(--rr-ink); background: var(--rr-ink); color: var(--rr-paper); }
.gate-preview-btn--primary:hover,
.gate-preview-btn--primary:focus-visible { background: #245457; color: #fff; }
.gate-footer { padding: 18px 0; color: var(--rr-muted); font-size: 10px; }

@media (max-width: 767px) {
  .gate-main { padding-top: 20px; }
  .gate-domain-hint { margin-bottom: 20px; }
  .gate-event-inner { padding: 20px 16px; }
  .gate-countdown-panel { padding: 18px 14px; }
  .gate-page--spotlight .countdown-grid--gate { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gate-actions { flex-wrap: wrap; }
}
