/* Event details share one label/value alignment, including all ticket categories. */
.event-sidebar {
    min-width: 0;
    padding: 30px;
    background: var(--panel);
    align-self: start;
}
.event-sidebar .event-facts { margin: 0; }
.event-facts > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
    gap: var(--space-3);
    align-items: baseline;
    margin-bottom: 18px;
}
.event-sidebar dt {
    color: var(--muted);
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: .08em;
    overflow-wrap: anywhere;
}
.event-sidebar dd {
    min-width: 0;
    margin: 0;
    font-size: var(--text-compact);
    text-align: right;
    overflow-wrap: anywhere;
}
.event-schedule {
    padding-bottom: 22px;
    margin-bottom: var(--space-6);
    border-bottom: 1px solid var(--line);
}
.event-sidebar .event-times {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space-3);
    align-items: baseline;
    margin: 0;
}
.event-sidebar .event-times dt {
    font-size: var(--text-sm);
    text-transform: none;
    letter-spacing: 0;
}
.event-sidebar .event-times dd { font-size: var(--text-lead); }
.event-times strong, .event-offer-price { white-space: nowrap; }
.event-time-date {
    display: block;
    color: var(--muted);
    font-size: var(--text-xs);
    font-weight: 400;
}
.event-after-hours {
    margin: 14px 0 0;
    color: var(--muted);
    font-size: var(--text-sm);
}
.event-price-note {
    margin: 0 0 22px;
    color: var(--muted);
    font-size: var(--text-sm);
}
.event-fact-note {
    display: block;
    color: var(--muted);
    font-size: var(--text-caption);
}
.event-offer-notice { margin-top: var(--space-1); color: var(--notice-ink); }
.event-cancellation { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-2) 18px; margin: 0 0 var(--space-6); padding: 18px 22px; border: 1px solid var(--notice-line); border-radius: var(--radius-md); background: var(--notice-bg); color: var(--notice-text); }
.event-cancellation strong { font-size: 1.375rem; }
.event-cancellation span { font-size: var(--text-compact); }
.event-notice { margin-top: var(--space-6); padding: var(--space-4) 22px; background: var(--panel); border: 1px solid var(--line); border-left: 3px solid var(--gold); border-radius: var(--radius-md); overflow-wrap: anywhere; }
.event-notice p { margin: 0; font-size: var(--text-base); line-height: var(--leading-body); }
.event-notice .event-notice-label { margin-bottom: 5px; color: var(--gold); font-size: var(--text-xs); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.event-sidebar .button { gap: 18px; width: 100%; }
.event-sidebar .event-ticket-link { margin-bottom: 0; border-radius: var(--radius-md); padding: var(--space-4); gap: var(--space-3); }
.event-sidebar .event-ticket-copy { display: flex; flex-direction: column; gap: 5px; min-width: 0; font-size: var(--text-control); line-height: var(--leading-tight); }
.event-sidebar .event-ticket-provider { margin: 7px 0 18px; color: var(--muted); font-size: var(--text-xs); line-height: 1.45; font-weight: 400; overflow-wrap: anywhere; }
.event-sidebar .event-ticket-arrow { flex: 0 0 auto; font-size: var(--heading-sm); line-height: 1; }
.event-sidebar .text-link { font-size: var(--text-caption); }
.event-calendar-link {
    display: inline-block;
    margin-top: var(--space-2);
    max-width: 100%;
}
@media (max-width: 700px) {
    .event-sidebar { padding: 25px; }
}
@media (min-width: 701px) and (max-width: 1050px) {
    .event-sidebar { padding: var(--space-6) var(--space-5); }
}
@media (min-width: 701px) {
    .event-sidebar { grid-column: 2; grid-row: 1 / span 2; }
}

/* Reflow for the shared text-size setting. */
:root[data-bn-large-text="true"] .event-sidebar { grid-column: auto; grid-row: auto; }
:root[data-bn-large-text="true"] .event-sidebar :is(.event-facts > div,.event-times) { grid-template-columns: minmax(0,1fr); gap: 6px; }
:root[data-bn-large-text="true"] .event-sidebar dd { text-align: left; }

.event-ticket-window { font-size: var(--text-xs); font-weight: 400; }

/* Give the contribution explanation the full sidebar width. */
.event-sidebar .event-admission-facts:has(.donation-info) > div { grid-template-columns:minmax(0,1fr); gap:0; }
.event-sidebar .event-admission-facts:has(.donation-info) dd { text-align:left; }
