/* The shared stylesheet supplies typography, colors, navigation and components. */
.events-page .experience-copy > p + p { margin-top: 1.5rem; }
.events-photo-note { color: #5d5a55; font-size: var(--text-small); margin-top: 1rem; }
.events-brief { list-style: none; padding: 0; margin: 2rem 0; border-top: 1px solid var(--line); }
.events-brief li { display: flex; gap: 1.25rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.events-brief li > span { color: var(--red); font-weight: 700; }
.events-brief strong { color: var(--cream); }
.events-brief p { font-size: var(--text-ui); }
.events-faq { --line: #11111040; }
.events-faq .faq-list p { color: #5d5a55; }
.events-page .button, .events-page .text-link { max-width: 100%; }
.events-page .button > span, .events-page .text-link > span { flex-shrink: 0; }

/* Reuse the espectáculo page's uncropped, horizontally scrolling gallery. */
.events-page .events-gallery { padding-bottom: 0; }
.events-occasion-copy { margin-top: 1.5rem; color: var(--muted); }
.events-occasions { display: flex; flex-wrap: wrap; gap: .75rem; list-style: none; padding: 0; margin: 2rem 0 0; }
.events-occasions li { display: inline-flex; align-items: center; gap: .65rem; border: 1px solid var(--line); border-radius: 2rem; padding: .45rem 1rem; font-size: var(--text-ui); }
.events-occasions li::before { content: ''; width: .45rem; height: .45rem; border-radius: 50%; background: var(--red); flex-shrink: 0; }
.events-songs-grid { display: grid; gap: 2rem; margin-top: 2.5rem; align-items: start; }
.events-song-list { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--line); }
.events-song-list li { display: grid; grid-template-columns: 2rem minmax(0, 1fr) auto; align-items: center; gap: 1rem; padding: 1.4rem 0; border-bottom: 1px solid var(--line); }
.events-song-number { color: var(--muted); font-size: var(--text-small); }
.events-song-list h3 { font-size: clamp(1.5rem, 3vw, 2.5rem); }
.events-song-artist { display: block; color: var(--muted); margin-top: .4rem; font-size: var(--text-small); }
.events-song-list a { display: inline-flex; align-items: center; justify-content: center; gap: .75rem; min-width: 44px; min-height: 44px; font-size: var(--text-small); font-weight: 700; }
.events-song-list a:hover { color: var(--gold); }
.events-song-list a:focus-visible { outline: 2px solid var(--cream); outline-offset: 4px; }
.events-song-photo img { width: 100%; height: auto; }
@media (min-width: 900px) { .events-songs-grid { grid-template-columns: 1.4fr .8fr; gap: 6vw; } }

.events-songs.light { --line: #11111040; --muted: #5d5a55; }
.events-songs.light .events-song-list a:focus-visible { outline-color: var(--ink); }
.events-moments:not(.light) .events-photo-note { color: var(--muted); }

.events-page #tu-evento.light { --line: #11111040; --muted: #5d5a55; }
.events-page #tu-evento.light .experience-copy { color: #5d5a55; }
.events-page #tu-evento.light .lead, .events-page #tu-evento.light .events-brief strong { color: var(--ink); }
.events-page .events-faq:not(.light) { --line: #ffffff29; }
.events-page .events-faq:not(.light) .faq-list p { color: var(--muted); }

.events-page #tu-evento .events-occasions li { background: var(--ink); color: var(--cream); border-color: var(--ink); }

.events-songs-intro { margin-top: 1.25rem; color: var(--muted); }
.events-song-request { margin-top: 2rem; }
.events-song-request > p { font-weight: 600; }

/* Use the shared hero layout and keep choreography requests visible on mobile. */
@media (max-width: 599px) {
  .events-song-list li { grid-template-columns: 2rem minmax(0, 1fr); }
  .events-song-list li > a { grid-column: 2; justify-self: start; justify-content: flex-start; }
}

.events-section-nav { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.75rem; padding: 1rem var(--gutter); border-block: 1px solid var(--line); font-size: var(--text-ui); }
.events-section-nav > span { color: var(--muted); font-size: .65rem; font-weight: 700; letter-spacing: .1em; }
.events-section-nav > a { display: inline-flex; align-items: center; min-height: 44px; }
.events-section-nav > a:hover { color: var(--red); }
.events-section-nav > a:focus-visible { outline: 2px solid var(--cream); outline-offset: 4px; }
/* Centered performance hero, without scroll animation. */
.events-page .events-hero { display: flex; flex-direction: column; justify-content: center; align-items: center; min-height: calc(100svh - 80px); padding-top: 4rem; text-align: center; }
.events-page .events-hero .hero-photo { inset: 0; }
.events-page .events-hero .hero-photo img { object-position: 50% 45%; }
.events-page .events-hero::after { background: linear-gradient(180deg, #11111055, #11111030 35%, #111110b0 80%, var(--ink)); }
.events-page .events-hero .hero-content { width: 100%; max-width: 1100px; margin-block: auto; padding-bottom: 2rem; text-shadow: 0 2px 24px #0008; }
.events-page .events-hero h1 .title-accent { color: var(--red); line-height: 1; }
.events-page .events-hero .hero-copy { max-width: 580px; margin-inline: auto; }
.events-page .events-hero .button { text-shadow: none; }
.events-page .events-hero .hero-bottom { align-self: stretch; width: 100%; margin-top: 0; }