/* Partial: banner do evento vigente (escopo .event-banner) */
.event-banner { position: relative; overflow: hidden; background: linear-gradient(120deg, var(--c-purple-900), var(--c-purple-700) 55%, var(--c-electric)); color: var(--c-on-dark); border-radius: var(--r-lg); padding: clamp(1.75rem, 4vw, 3rem); display: grid; gap: 1.5rem; align-items: center; box-shadow: var(--shadow-lg); }
@media (min-width: 900px) { .event-banner { grid-template-columns: 1.4fr 1fr; } }
.event-banner::before { content: ''; position: absolute; inset: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 400'%3E%3Cg fill='none' stroke='%233CB8E8' stroke-opacity='0.22' stroke-width='1.2'%3E%3Cpath d='M420 60c60 20 90 70 80 130s-70 110-140 120-130-20-150-80 10-120 70-150 90-40 140-20z'/%3E%3Cpath d='M425 90c45 18 70 58 62 105s-58 88-115 96-105-18-122-66 8-98 56-122 78-32 119-13z'/%3E%3Cpath d='M430 120c32 14 50 45 44 80s-44 66-88 72-80-14-93-50 7-75 42-93 62-24 95-9z'/%3E%3C/g%3E%3C/svg%3E") right center / contain no-repeat; pointer-events: none; }
.event-banner > * { position: relative; }
.event-banner__badge { margin-bottom: 1rem; }
.event-banner h2 { color: #fff; font-size: var(--fs-h2); margin-bottom: 0.5rem; }
.event-banner p { color: var(--c-on-dark-soft); max-width: 560px; }
.event-banner__meta { display: flex; flex-wrap: wrap; gap: 0.75rem 1.75rem; margin: 1.25rem 0 0; font-size: var(--fs-sm); color: #fff; }
.event-banner__meta span { display: inline-flex; align-items: center; gap: 0.5rem; }
.event-banner__meta svg { width: 18px; height: 18px; color: var(--c-cyan-500); }
.event-banner__side { display: grid; gap: 1rem; justify-items: start; }
@media (min-width: 900px) { .event-banner__side { justify-items: end; text-align: right; } }
.countdown { display: flex; gap: 0.75rem; }
.countdown__box { display: grid; place-items: center; min-width: 64px; padding: 0.6rem 0.5rem; border-radius: var(--r-md); background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.18); }
.countdown__num { font-family: var(--f-display); font-weight: 700; letter-spacing: -0.03em; font-size: 1.75rem; line-height: 1; color: #fff; font-variant-numeric: tabular-nums; }
.countdown__label { font-size: 0.65rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--c-on-dark-soft); margin-top: 0.3rem; }
.event-banner__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }
