.club-photo img { aspect-ratio: 4 / 3; height: auto; object-fit: contain; }
.club-photo a, .club-gallery a { display: block; cursor: zoom-in; }
.club-gallery-section { margin-top: 64px; }
.club-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: start; }
.club-gallery figure { margin: 0; min-width: 0; }
.club-gallery figure:nth-child(2) { grid-column: 2; grid-row: 1 / span 2; }
.club-gallery figure:nth-child(5) { grid-column: 1; grid-row: 3 / span 2; }
.club-gallery img { width: 100%; height: auto; }
.club-gallery .club-gallery-wide { grid-column: 1 / -1; }
.club-gallery figcaption { padding: 12px 0; font-size: 14px; }
#club-lightbox { border: 0; padding: 16px; background: #141414; color: white; width: 96vw; max-width: 1400px; max-height: 96dvh; overflow: auto; }
#club-lightbox::backdrop { background: #000d; }
#club-lightbox [data-photo-large] { width: 100%; height: calc(90dvh - 140px); object-fit: contain; }
.club-lightbox-bar { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.club-lightbox-bar p { text-align: center; font-size: 14px; }
#club-lightbox button { background: transparent; color: white; border: 1px solid #777; width: 44px; height: 44px; padding: 0; flex-shrink: 0; font-size: 28px; cursor: pointer; }
#club-lightbox button:focus-visible { outline: 3px solid #f4c900; outline-offset: 3px; }
body:has(#club-lightbox[open]) { overflow: hidden; }
@media (max-width: 700px) {
  .club-gallery-section { margin-top: 44px; }
  .club-gallery { grid-template-columns: 1fr; gap: 24px; }
  .club-gallery figure:nth-child(n) { grid-column: auto; grid-row: auto; }
  #club-lightbox { padding: 10px; }
  .club-lightbox-bar p { font-size: 12px; }
}
