.acp-event-single { display: flow-root; }
.acp-event-body { background: var(--acp-color-header); margin-top: -10%; padding-bottom: 10%; }
.acp-event-inner { max-width: 1140px; margin: auto; }
.acp-event-content { padding-top: 9%; }
.acp-event-heading { padding: 6% 0; margin-bottom: 20px; animation: acp-event-title 2s both; }
.acp-event-heading h1 { margin: 0; color: var(--acp-color-white); text-align: center; font: 400 50px/1.2 "Playfair Display", sans-serif; }
.acp-event-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.acp-event-image { display: block; aspect-ratio: 3 / 2; overflow: hidden; }
.acp-event-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: filter .35s; }
.acp-event-image:hover img { filter: brightness(.7); }
.acp-event-image:focus-visible { outline: 2px solid var(--acp-color-focus); outline-offset: 3px; }
@keyframes acp-event-title { from { opacity: 0; transform: translateY(100%); } to { opacity: 1; transform: none; } }
@media (max-width:1024px) {
    .acp-event-heading { padding: 5%; }
    .acp-event-gallery-wrap { padding: 5%; }
    .acp-event-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
}
@media (max-width:767px) {
    .acp-event-body { margin-top: -37%; }
    .acp-event-content { padding-top: 8%; }
    .acp-event-heading { padding: 18% 0 14%; }
    .acp-event-heading h1 { font-size: 28px; }
    .acp-event-gallery { grid-template-columns: minmax(0,1fr); gap: 20px; }
}
.acp-gallery-dialog { position: fixed; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; border: 0; padding: 60px 50px 70px; background: rgba(0,0,0,.9); color: var(--acp-color-white); font: 16px/1.5 Arial,sans-serif; }
.acp-gallery-dialog::backdrop { background: transparent; }
.acp-gallery-dialog button { border: 0; border-radius: 0; background: transparent; color: #ddd; padding: 8px 12px; font: 30px/1 Arial,sans-serif; cursor: pointer; }
.acp-gallery-dialog button:hover { color: var(--acp-color-white); background: rgba(255,255,255,.1); }
.acp-gallery-dialog button:focus-visible { outline: 2px solid var(--acp-color-white); outline-offset: -2px; }
.acp-gallery-toolbar { position: absolute; inset: 0 0 auto; height: 60px; display: flex; align-items: center; padding: 0 12px; }
.acp-gallery-counter { margin-right: auto; }
.acp-gallery-stage { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; overflow: auto; touch-action: pan-y; }
.acp-gallery-stage img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.acp-gallery-dialog.is-zoomed .acp-gallery-stage { display: block; touch-action: auto; }
.acp-gallery-dialog.is-zoomed .acp-gallery-stage img { max-width: none; max-height: none; margin: auto; }
.acp-gallery-prev,.acp-gallery-next { position: absolute; top: 50%; transform: translateY(-50%); }
.acp-gallery-prev { left: 0; }
.acp-gallery-next { right: 0; }
.acp-gallery-caption { position: absolute; inset: auto 50px 12px; text-align: center; max-height: 55px; overflow: auto; }
.acp-gallery-title { font-weight: 700; }
.acp-gallery-description,.acp-gallery-status { font-size: 14px; }
@media (max-width:767px) { .acp-gallery-dialog { padding-left: 30px; padding-right: 30px; } .acp-gallery-dialog button { padding: 8px; } }
@media (prefers-reduced-motion:reduce) { .acp-event-heading { animation: none; } .acp-event-image img { transition: none; } }
