/* Barra condicional e página local do próximo evento. */
.hero-event-bar {
  --event-surface: rgba(15,12,9,.72);
  --event-line: rgba(217,178,124,.22);
  --event-radius: 6px;
  grid-column: 1 / -1;
  width: 100%;
  max-width: 1040px;
  margin-top: calc(var(--hero-space) * 8);
  padding: 24px 32px;
  background: var(--event-surface);
  border: 1px solid var(--event-line);
  border-radius: var(--event-radius);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: var(--hero-cream);
  cursor: pointer;
  animation: hero-content-enter 600ms ease-out 240ms both;
}
.hero-event-main { display: flex; gap: 40px; align-items: center; }
.hero-event-heading { display: contents; }
.hero-event-column { min-width: 0; flex: 1 1 0; overflow-wrap: anywhere; }
.hero-event-name { flex-grow: 1.3; }
.hero-event-date { flex-grow: 1.35; }
.hero-event-caption { font-family: var(--hero-label-font); font-size: 11px; font-weight: 500; line-height: 1.6; letter-spacing: .2em; color: color-mix(in srgb, var(--hero-gold) 95%, transparent); }
.hero-event-name .hero-event-caption { font-size: 11.5px; color: var(--hero-gold); }
.hero-event-value { margin-top: 8px; font-family: var(--sans); font-size: 15px; font-weight: 400; line-height: 1.6; color: color-mix(in srgb, var(--hero-cream) 90%, transparent); }
.hero-event-name > .hero-event-value { font-family: var(--hero-brand-font); font-size: 24px; font-weight: 600; line-height: 1.15; color: var(--hero-cream); }
.hero-event-location { margin-top: 8px; font-family: var(--sans); font-size: 12px; font-weight: 400; line-height: 1.65; color: color-mix(in srgb, var(--hero-cream) 90%, transparent); }
.hero-event-status { margin-top: 6px; font-family: var(--sans); font-size: 12px; line-height: 1.6; color: var(--hero-gold); }
.hero-event-link { display: inline-block; font-family: var(--sans); font-size: 12px; line-height: 1.7; padding-block: 4px; color: var(--hero-gold); text-decoration: underline; text-decoration-thickness: 1px; text-decoration-color: transparent; text-underline-offset: 5px; transition: text-decoration-color 200ms ease; }
.hero-event-link:hover { text-decoration-color: currentColor; }
.hero-event-link:focus-visible { outline: 2px solid #e8c796; outline-offset: 3px; }
.hero-event-details { margin-left: auto; flex: 0 0 auto; white-space: nowrap; }
.hero-event-prices { margin-top: 20px; font-family: var(--sans); font-size: 14px; font-weight: 400; line-height: 1.8; color: color-mix(in srgb, var(--hero-cream) 75%, transparent); }
.hero-event-price-dot { color: var(--hero-gold); }
@media (min-width: 768px) and (max-width: 1279px) {
  .hero-event-main { flex-wrap: wrap; align-items: flex-start; gap: 24px; }
  .hero-event-heading { display: flex; flex-direction: column; gap: 16px; flex: 1.5 1 200px; }
  .hero-event-main > .hero-event-column { flex: 1 1 120px; }
  .hero-event-details { align-self: flex-end; }
}
@media (max-width: 767px) {
  .hero-event-bar { padding: 20px; }
  .hero-event-main, .hero-event-heading { display: flex; flex-direction: column; align-items: stretch; gap: 16px; }
  .hero-event-column { flex: none; }
  .hero-event-details { align-self: flex-start; margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) { .hero-event-bar { animation: none; } .hero-event-link { transition: none; } }

.event-page { --hero-gold: #d9b27c; --hero-cream: #f3e9d8; --hero-label-font: 'Cinzel', Georgia, serif; background: #1c1510; color: var(--hero-cream); }
.event-page-header { max-width: 1104px; padding: 24px 32px; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.event-page-header img { display: block; height: 72px; width: auto; }
.event-page-main { max-width: 1040px; margin: 48px auto 80px; padding-inline: 32px; }
.event-page-title { max-width: 820px; margin: 16px 0 32px; font-family: var(--serif); font-size: clamp(40px, 6vw, 72px); font-weight: 600; line-height: 1.05; }
.event-page-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 32px; margin-bottom: 40px; }
.event-page-prices { margin: 16px 0 32px; display: grid; gap: 12px; padding: 0; list-style: none; font-size: 16px; line-height: 1.7; }
.event-page-prices li { display: flex; justify-content: space-between; gap: 24px; padding-bottom: 12px; border-bottom: 1px solid #d9b27c26; }
.event-page .hero-event-link { font-size: 14px; }
.event-page a:focus-visible { outline: 2px solid #e8c796; outline-offset: 3px; }
@media (max-width: 767px) { .event-page-header { padding-inline: 24px; } .event-page-main { padding-inline: 24px; } }
