.club-slider { max-width: 1120px; margin: 48px auto 0; scroll-margin-top: 104px; }
.slider-stage { position: relative; height: clamp(320px, 44vw, 560px); overflow: hidden; border: 1px solid #34383e; background: #060708; touch-action: pan-y pinch-zoom; }
.slider-slide { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .25s ease, visibility .25s; scroll-margin-top: 104px; }
.slider-slide.is-active { opacity: 1; visibility: visible; pointer-events: auto; }
.slider-slide > img { width: 100%; height: 100%; object-fit: contain; user-select: none; }
.slider-zoom { position: absolute; right: 20px; top: 20px; display: flex; align-items: center; gap: 18px; padding: 11px 15px; background: #0a0b0de6; border: 1px solid #6a7079; color: #eeeeec; font-size: 14px; line-height: 1.5; }
.slider-zoom > span { font-size: 20px; line-height: 1; }
.slider-arrow { position: absolute; z-index: 2; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; display: grid; place-items: center; padding: 0; border: 1px solid #767c86; background: #090a0be8; color: #ffffff; font-size: 24px; line-height: 1; transition: background .2s, border-color .2s; }
.slider-arrow:hover { background: var(--accent-solid); border-color: var(--accent-solid); }
.slider-prev, .viewer-prev { left: 20px; }
.slider-next, .viewer-next { right: 20px; }
.slider-caption { margin-top: 22px; min-height: 64px; }
.slider-caption h3 { font-size: 22px; line-height: 1.4; font-weight: 500; letter-spacing: -.02em; }
.slider-caption p { margin-top: 6px; color: #aeb7c3; font-size: 16px; line-height: 1.6; }
.slider-thumbs { position: relative; display: flex; gap: 12px; overflow-x: auto; padding: 6px 2px 10px; margin: 16px -2px 0; scrollbar-width: thin; scrollbar-color: #555b65 transparent; }
.slider-thumb { flex: 0 0 136px; min-width: 0; display: block; padding: 0 0 8px; border: 2px solid #34383e; color: #aeb7c3; background: #111315; text-align: left; transition: border-color .2s, color .2s; }
.slider-thumb img { display: block; width: 100%; height: 74px; object-fit: cover; opacity: .65; user-select: none; }
.slider-thumb > span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; line-height: 1.5; padding: 7px 8px 0; }
.slider-thumb:hover { border-color: #a2a7ae; color: #ffffff; }
.slider-thumb.is-active { border-color: var(--accent); color: #ffffff; }
.slider-thumb.is-active img { opacity: 1; }
.photo-viewer { width: calc(100vw - 32px); height: calc(100dvh - 32px); max-width: 1440px; max-height: 980px; padding: 20px; margin: auto; border: 1px solid #454c56; background: #090a0b; color: #eeeeec; overflow: hidden; }
.photo-viewer[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 16px; }
.photo-viewer::backdrop { background: #000e; backdrop-filter: blur(8px); }
.photo-viewer-open { overflow: hidden; }
.viewer-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.viewer-header h2 { font-size: 20px; font-weight: 500; line-height: 1.4; letter-spacing: 0; }
.viewer-close { flex-shrink: 0; width: 44px; height: 44px; padding: 0; border: 1px solid #555c67; background: #14171b; color: #ffffff; font-size: 32px; line-height: 1; }
.viewer-close:hover { background: var(--accent-solid); border-color: var(--accent-solid); }
.viewer-stage { position: relative; display: flex; align-items: center; justify-content: center; min-height: 0; background: #050607; touch-action: pan-y pinch-zoom; }
.viewer-stage > img { display: block; width: 100%; height: 100%; object-fit: contain; user-select: none; }
.viewer-footer { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; font-size: 15px; line-height: 1.6; }
.viewer-footer > p { color: #adb5c0; }
.viewer-footer > a { white-space: nowrap; text-underline-offset: 4px; }
.viewer-footer > a:hover { color: var(--accent); }
@media (max-width: 800px) {
  .slider-stage { height: clamp(320px, 65vw, 450px); }
}
@media (max-width: 540px) {
  .club-slider { margin-top: 36px; }
  .slider-stage { height: 300px; }
  .slider-arrow { width: 44px; height: 44px; }
  .slider-prev, .viewer-prev { left: 10px; }
  .slider-next, .viewer-next { right: 10px; }
  .slider-zoom { right: 12px; top: 12px; padding: 8px 10px; gap: 12px; }
  .slider-caption { margin-top: 18px; min-height: 76px; }
  .slider-caption h3 { font-size: 19px; }
  .slider-caption p { font-size: 15px; }
  .slider-thumbs { gap: 8px; margin-top: 10px; }
  .slider-thumb { flex-basis: 88px; }
  .slider-thumb img { height: 52px; }
  .slider-thumb > span { padding-inline: 6px; }
  .photo-viewer { width: calc(100vw - 16px); height: calc(100dvh - 16px); padding: 12px; }
  .viewer-header { gap: 12px; }
  .viewer-header h2 { font-size: 17px; }
  .viewer-footer { flex-direction: column; gap: 8px; font-size: 14px; }
}

.gym-section { background: #0e1012; border-block: 1px solid #272a2f; }
.gym-section .section-heading { margin-bottom: 0; }
.gym-section .gym-gallery { max-width: 1120px; margin-top: 36px; margin-inline: auto; }
.album-section { padding-block: 64px; }
.album-section > h2 { max-width: 1120px; margin-inline: auto; }
.album-section .club-slider { margin-top: 32px; }
@media (max-width: 540px) { .album-section { padding-block: 48px; } }

.gym-slider { margin-top: 36px; }
.gym-slider .slider-stage { height: clamp(320px, 43vw, 560px); border: 0; }
.gym-slider .slider-slide > img { object-fit: cover; }
.gym-slider .slider-slide::after { content: ''; position: absolute; inset: 65% 0 0; background: linear-gradient(transparent, #0006); pointer-events: none; }
.gym-slider .slider-zoom { z-index: 1; }
.gym-slider .slider-caption { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; min-height: 0; }
.gym-slider .slider-caption p { margin-top: 0; }
.gym-slider .gym-views { overflow: visible; gap: 20px; margin-top: 24px; padding: 0; }
.gym-slider .slider-thumb { flex: 1; padding: 14px 0 0; background: transparent; border: 0; border-top: 2px solid #424851; }
.gym-slider .slider-thumb.is-active { border-top-color: var(--accent); }
.gym-slider .slider-thumb > span { padding: 0; }
@media (max-width: 800px) { .gym-slider .slider-caption { display: block; } .gym-slider .slider-caption p { margin-top: 6px; } }
@media (max-width: 540px) { .gym-slider .slider-stage { height: 300px; } }

.slider-video-cover{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;width:100%;height:100%;padding:36px 65px;background:radial-gradient(ellipse at 50% 0%,#43282a,#111315 75%);text-align:center}
.slider-video-cover>span:nth-child(2){color:#aeb7c3;font-size:15px;letter-spacing:.05em}
.slider-video-cover strong{font-size:clamp(20px,3vw,36px);line-height:1.2;max-width:24ch}
.slider-video-play{display:grid;place-items:center;width:80px;height:80px;border:1px solid #ef514d80;border-radius:50%;color:#ef514d;font-size:30px;padding-left:5px}
.slider-thumb>span.slider-video-thumb{display:grid;place-items:center;height:74px;padding:0;background:#302024;color:#ef514d;font-size:17px}
#viewer-video{width:100%;height:100%;min-height:220px;border:0}
#viewer-video-link{margin:auto;max-width:65%;text-align:center}
@media(max-width:540px){.slider-thumb>span.slider-video-thumb{height:52px;font-size:13px}.slider-video-play{width:60px;height:60px;font-size:24px}.slider-video-cover{gap:12px;padding:25px 45px}}
