/* Single photo gallery with arrows and thumbnail strip. */
.shoot-gallery { max-width: 1100px; margin: 2rem 0; }
.shoot-stage { position: relative; background: #101010; }
.shoot-slide { margin: 0; }
.shoot-slide[hidden] { display: none; }
.shoot-slide a { display: block; }
.shoot-slide img { width: 100%; height: clamp(300px, 52vw, 650px); object-fit: contain; }
.shoot-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; border: 1px solid var(--red); border-radius: 50%; background: var(--char); color: var(--red); font-size: 2rem; cursor: pointer; line-height: 1; }
.shoot-arrow:hover { background: var(--red); color: var(--char); }
.shoot-prev { left: 12px; }
.shoot-next { right: 12px; }
.shoot-counter { font-size: .8rem; color: #b9b9b6; }
.shoot-thumbnails { display: flex; gap: 10px; overflow-x: auto; padding: 6px 4px 12px; }
.shoot-thumbnails button { flex: 0 0 80px; height: 80px; background: var(--char); padding: 0; border: 2px solid transparent; cursor: pointer; }
.shoot-thumbnails button[aria-pressed="true"] { border-color: var(--red); }
.shoot-thumbnails img { width: 100%; height: 100%; object-fit: cover; }
.shoot-gallery button:focus-visible, .shoot-gallery:focus-visible { outline: 2px solid var(--red); outline-offset: 3px; }
@media (max-width: 480px) { .shoot-arrow { width: 44px; height: 44px; } .shoot-prev { left: 5px; } .shoot-next { right: 5px; } .shoot-thumbnails button { flex-basis: 64px; height: 64px; } }

.epk-page .shoot-gallery { margin-top: 1.5rem; }
.epk-page .shoot-counter { color: var(--char); }
@media print { .shoot-arrow, .shoot-thumbnails, .shoot-counter { display: none !important; } }
