.event-report, .event-archive { padding-top: 64px; padding-bottom: 64px; }
.event-report h1, .event-archive h1 { font-size: 36px; font-weight: 700; }
.event-report h2 { font-size: 24px; line-height: 1.8; margin: 24px 0; }
.event-slideshow { max-width: 900px; margin: 36px auto 0; background: #f6f6f6; border-radius: 8px; overflow: hidden; }
.event-slide { margin: 0; }
.event-slide[hidden] { display: none; }
.event-slide img { width: 100%; height: 480px; object-fit: contain; display: block; }
.event-slide figcaption { padding: 14px; color: #333; }
.event-slide-controls { padding: 12px; display: flex; justify-content: center; align-items: center; gap: 18px; }
.event-slide-controls[hidden] { display: none; }
.event-slide-controls button { background: #fff; border: 1px solid #777; border-radius: 4px; color: #333; padding: 8px 14px; min-height: 44px; }
.event-slide-controls button:focus-visible, .event-slideshow:focus-visible { outline: 3px solid #c73b27; outline-offset: 3px; }
.event-archive-link { margin: 36px 0 0; }
.event-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; max-width: 1000px; margin: auto; }
.event-card { border: 1px solid #ddd; border-radius: 8px; padding: 24px; background: #fff; }
.event-card img { width: 100%; display: block; }
.event-card h2 { font-size: 26px; margin-top: 24px; }
.event-card .btn { width: auto; max-width: 100%; white-space: normal; }
.event-ended { display: inline-block; border-radius: 4px; background: #eee; color: #555; font-size: 14px; padding: 4px 12px; }
@media (max-width: 767px) {
    .event-report, .event-archive { padding-top: 40px; padding-bottom: 40px; }
    .event-report h2 { font-size: 20px; }
    .event-slide img { height: 280px; }
    .event-cards { grid-template-columns: 1fr; gap: 24px; }
    .event-slide-controls { gap: 10px; }
}
