/* BitouScape Events: presentation only. Shared tokens/cards/buttons remain global. */
.event-page, .event-archive { --event-space: clamp(2rem, 4vw, 3.25rem); }
.event-page { padding: 1.5rem 20px var(--event-space); }
.event-page > .section, .event-archive > .section { padding-block: var(--event-space); }
.event-page .section > .container { padding-inline: 0; }
.event-page .event-details-section { padding-top: 0; }
.event-page .narrow-container { max-width: 54rem; }
.event-page h2, .event-archive h2 {
    font-size: clamp(1.35rem, 2vw, 1.5rem); font-weight: 700;
    line-height: 1.3; letter-spacing: -.015em; color: var(--text); margin: 0 0 1.25rem;
}
.event-page .card h3, .event-archive .card h3 { line-height: 1.35; }
.event-page .btn, .event-archive .btn { min-height: 44px; white-space: normal; text-align: center; }
.event-page a:focus-visible, .event-archive a:focus-visible {
    outline: 3px solid var(--accent); outline-offset: 4px;
}
.event-page .back-link { display: inline-block; padding-block: .65rem; margin-bottom: 1rem; color: var(--accent); }

/* Adaptive hero keeps long titles and multiple-date metadata inside the image. */
.event-hero {
    position: relative; isolation: isolate; display: flex; align-items: flex-end;
    min-height: 26rem; border-radius: var(--radius-lg); overflow: hidden;
    margin-bottom: var(--event-space); background: #08203f; box-shadow: var(--shadow-md);
}
.event-hero-bg, .event-hero-overlay { position: absolute; inset: 0; }
.event-hero-bg, .event-hero-bg img { width: 100%; height: 100%; }
.event-hero-bg img { object-fit: cover; }
.event-hero-overlay { background: linear-gradient(180deg, rgba(8,32,63,.25), rgba(8,32,63,.93)); }
.event-hero-content { position: relative; z-index: 1; width: 100%; padding: clamp(1.5rem,4vw,3rem); color: #fff; }
.event-hero h1 {
    max-width: 25ch; margin: 0 0 1.25rem; font-size: clamp(1.85rem,4vw,3rem);
    line-height: 1.15; letter-spacing: -.025em; font-weight: 700; color: #fff;
    overflow-wrap: anywhere; text-wrap: balance;
}
.event-hero-meta { display: flex; flex-wrap: wrap; gap: .65rem 1.5rem; font-size: 1rem; line-height: 1.6; }
.event-hero-meta span { max-width: 100%; overflow-wrap: anywhere; }
.event-status { display: inline-flex; margin-top: 1.25rem; padding: .4rem .85rem; border-radius: 999px; font-size: .9rem; line-height: 1.5; font-weight: 600; }
.event-status.upcoming { background: #d9f4f2; color: #124d51; }
.event-status.past { background: #fee2e2; color: #7f1d1d; }

/* Open editorial information, not a stack of dashboard cards. */
.event-actions { margin-bottom: 1.75rem; }
.event-info-card { margin-bottom: 2rem; padding: 0 0 2rem; border-bottom: 1px solid var(--border); }
.event-info-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.5rem 2rem; }
.event-info-grid .info-row { min-width: 0; }
.event-info-grid .label { display: block; font-size: .875rem; font-weight: 500; letter-spacing: .02em; color: #536171; margin-bottom: .35rem; }
.event-info-grid .value { display: block; font-size: 1.05rem; line-height: 1.65; color: var(--text); overflow-wrap: anywhere; }
.event-occurrences { margin: 0; padding-inline-start: 1.2rem; }
.event-occurrences li + li { margin-top: .35rem; }
.event-schedule-notes { white-space: pre-line; }
.event-content { max-width: 68ch; margin: 0; padding: 0; font-size: 1.05rem; line-height: 1.75; color: #334155; }
.event-content p { margin: 0 0 1.15rem; line-height: inherit; }
.event-content h2, .event-content h3 { margin-top: 1.75rem; margin-bottom: .85rem; }
.event-content h3 { font-size: 1.2rem; line-height: 1.4; font-weight: 650; }
.event-content a { color: var(--accent); text-decoration: underline; text-underline-offset: .15em; }
.event-content li + li { margin-top: .4rem; }
.event-poster { margin-top: var(--event-space); }
.event-poster-artwork { max-width: 640px; margin-inline: auto; }
.event-poster-image { display: block; width: auto; max-width: 100%; height: auto; object-fit: contain; margin-inline: auto; }
.event-page .related-discovery, .event-page .related-events, .event-page .related-news, .event-page .related-businesses { margin-top: 0; }
.event-page .business-box h2, .event-archive .business-box h2 { color: inherit; }

/* Archive presentation, retaining current selection, order and placements. */
.event-archive .archive-header { margin-bottom: 1.5rem; }
.event-archive .archive-header h1 { font-size: clamp(1.9rem,3.5vw,2.65rem); line-height: 1.2; letter-spacing: -.02em; }
.event-archive .archive-header p { max-width: 65ch; font-size: 1.05rem; line-height: 1.7; color: #536171; }
.featured-event-block { margin-bottom: 3rem; }
.featured-event-card { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.25fr); background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-sm); }
.featured-event-card .image { min-width: 0; min-height: 18rem; }
.featured-event-card .image img { width: 100%; height: 100%; object-fit: cover; }
.featured-event-card .content { min-width: 0; padding: clamp(1.5rem,3vw,2.25rem); }
.featured-event-card h3 { margin: 0 0 1rem; font-size: clamp(1.35rem,2.2vw,1.65rem); line-height: 1.3; font-weight: 700; color: var(--text); }
.featured-event-meta { margin-bottom: .55rem; font-size: 1rem; line-height: 1.6; color: #536171; overflow-wrap: anywhere; }
.featured-event-card p { line-height: 1.7; margin-block: 1rem 1.5rem; }
.event-page .related-events .card-meta, .event-archive .card-meta { font-size: .95rem; line-height: 1.5; color: #536171; }
.event-box, .event-cta { background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 1.75rem; box-shadow: var(--shadow-sm); }
.event-box h3, .event-cta h3 { margin: 0 0 1rem; font-size: 1.35rem; line-height: 1.35; }
.event-box .btn { width: 100%; }
.event-cta { text-align: center; }
.event-cta p { margin-bottom: 1.25rem; }
/* Retained legacy Event selectors; the shared News sidebar stays in style.css. */
.event-layout { display: grid; grid-template-columns: minmax(0,2fr) minmax(320px,1fr); gap: 2.5rem; }
.event-info-row { margin-bottom: 1.125rem; }
.event-info-row:last-child { margin-bottom: 0; }
.event-info-label { display: block; font-size: .875rem; color: #536171; margin-bottom: .3rem; }
.event-info-value { color: var(--text); }
.events-hero { padding: 3rem 0; }
.events-hero h1 { font-size: clamp(1.9rem,3.5vw,2.65rem); line-height: 1.2; }
.events-hero .lead { max-width: 65ch; font-size: 1.05rem; line-height: 1.7; }
@media (max-width: 991px) {
    .featured-event-card, .event-layout { grid-template-columns: minmax(0,1fr); }
    .featured-event-card .image { height: 18rem; }
}
@media (max-width: 600px) {
    .event-hero { min-height: 23rem; }
    .event-hero-meta { flex-direction: column; gap: .5rem; }
    .event-info-grid { grid-template-columns: minmax(0,1fr); gap: 1.25rem; }
    .event-page .event-hero-content { padding: 1.5rem; }
}
/* Event-context contrast adjustments; shared components elsewhere are untouched. */
.event-page .btn-primary, .event-archive .btn-primary { background: var(--accent); color: #fff; }
.event-page .btn-primary:hover, .event-archive .btn-primary:hover { background: #0b4950; }
.event-page .card-title a, .event-archive .card-title a { color: var(--accent); }
