.ocm-film { padding-top: 64px; padding-bottom: 72px; }
.ocm-film h2 { margin: 0 0 28px; font-size: clamp(1.9rem, 4vw, 3.4rem); line-height: 1.12; }
.ocm-film figure, .ocm-activity-film { margin: 0; min-width: 0; }
.ocm-video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; background: #092622; }
.ocm-film figcaption, .ocm-activity-film figcaption { margin-top: 12px; font-size: .875rem; line-height: 1.6; color: #52645f; }
.oc-events-card-visual.ocm-marquesas { display: flex; flex-direction: column; }
.oc-events-card-visual.ocm-marquesas::after { display: none; }
.oc-events-card-visual.ocm-marquesas > figcaption { top: 16px; left: 16px; right: auto; bottom: auto; max-width: calc(100% - 32px); padding: 8px 10px; color: #fff; background: rgba(8,37,33,.75); font-size: .875rem; font-weight: 400; line-height: 1.4; letter-spacing: 0; text-transform: none; }
.oc-events-card-visual .ocm-gallery-trigger { position: relative; display: block; flex: 1; min-height: 300px; color: #fff; text-decoration: none; }
.oc-events-card-visual .ocm-gallery-trigger > img { width: 100%; height: 100%; min-height: 300px; object-fit: cover; }
.oc-events-card-visual .ocm-gallery-label { position: absolute; left: 16px; right: 16px; bottom: 16px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 18px; background: rgba(8, 37, 33, .9); color: #fff; font: 500 .9rem/1.5 Arial, sans-serif; letter-spacing: 0; }
.oc-events-card-visual .ocm-gallery-label > span { position: static; font: inherit; color: inherit; }
.ocm-gallery-trigger:focus-visible, .ocm-lightbox button:focus-visible { outline: 3px solid #efc36b; outline-offset: 4px; }
.ocm-lightbox { width: min(1120px, 94vw); max-width: 94vw; max-height: 94dvh; padding: 54px 24px 20px; border: 0; background: #092622; color: #fff; box-sizing: border-box; overflow-y: auto; }
.ocm-lightbox::backdrop { background: rgba(0, 12, 11, .86); }
.ocm-lightbox > figure { margin: 0; }
.ocm-lightbox > figure > img { display: block; width: 100%; height: min(57dvh, 640px); object-fit: contain; }
.ocm-lightbox figcaption { padding-top: 14px; text-align: center; font: 400 1rem/1.5 Arial, sans-serif; }
.ocm-lightbox button { border: 1px solid rgba(255,255,255,.4); background: transparent; color: #fff; cursor: pointer; }
.ocm-lightbox .ocm-close { position: absolute; top: 8px; right: 12px; width: 44px; height: 44px; font: 32px/1 Arial, sans-serif; border: 0; }
.ocm-gallery-nav { display: flex; align-items: center; justify-content: center; gap: 24px; margin: 16px 0; font: 16px/1.5 Arial, sans-serif; }
.ocm-gallery-nav button { width: 48px; height: 44px; font-size: 22px; }
.ocm-thumbs { display: flex; gap: 8px; padding: 5px; overflow-x: auto; }
.ocm-thumb { flex: 0 0 74px; height: 52px; padding: 0; opacity: .65; }
.ocm-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ocm-thumb[aria-pressed="true"] { opacity: 1; outline: 2px solid #efc36b; }
@media (max-width: 760px) { .activity-row > .ocm-activity-film { grid-column: 1 / -1; } }
@media (max-width: 760px) {
  .ocm-film { padding-top: 36px; padding-bottom: 44px; }
  .ocm-activity-film { width: 100%; }
  .oc-events-card-visual .ocm-gallery-trigger, .oc-events-card-visual .ocm-gallery-trigger > img { min-height: 240px; }
  .oc-events-card-visual .ocm-gallery-label { left: 10px; right: 10px; bottom: 10px; padding: 12px; font-size: .875rem; }
  .ocm-lightbox { padding: 54px 12px 16px; }
  .ocm-lightbox > figure > img { height: 48dvh; }
  .ocm-lightbox figcaption { font-size: .9rem; }
}
