:root { --gallery-slider-ratio: 16 / 5; } /* Второе число: меньше = ниже, больше = выше. */
.gallery-page .logo-text { color: #fff; text-decoration: none; }
.gallery-page .site-header { position: sticky; top: 0; }
.gallery-slider { position: relative; width: 100%; aspect-ratio: var(--gallery-slider-ratio); overflow: hidden; background: #151515; }
.slide-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .8s ease; }
.slide-image.is-visible { opacity: 1; }
.slide-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.25), transparent 40%, rgba(0,0,0,.8)); pointer-events: none; }
.slide-caption { position: absolute; bottom: 9%; left: 10%; right: 25%; }
.gallery-eyebrow { color: #ff3b3b; font-weight: bold; font-size: 14px; letter-spacing: 2px; margin-bottom: 16px; }
.slide-caption h1 { font-family: 'TSBlockBold', sans-serif; font-size: clamp(26px, 3.1vw, 52px); line-height: 1.15; margin-bottom: 18px; }
.slide-album { color: #d0d0d0; font-size: 20px; }
.slider-controls { position: absolute; right: 10%; bottom: 9%; display: flex; gap: 10px; }
.slider-controls[hidden] { display: none; }
.slider-button { width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.65); border-radius: 8px; background: rgba(0,0,0,.3); color: white; font: 24px Arial, sans-serif; cursor: pointer; transition: background .2s; }
.pause-button { font-size: 18px; }
.slider-button:hover { background: #e31b1b; }
.gallery-page :focus-visible { outline: 2px solid #00d2ff; outline-offset: 5px; }
.gallery-albums { padding: 24px 10% 48px; }
.albums-heading { display: flex; justify-content: space-between; align-items: end; gap: 25px; margin-bottom: 20px; }
.gallery-albums .albums-heading h2 { margin-bottom: 8px; }
.gallery-back { color: #cfcfcf; text-decoration: none; white-space: nowrap; }
.gallery-back:hover { color: #00d2ff; }
.album-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 25px; }
.album-card { display: block; color: inherit; text-decoration: none; background: #151515; border-radius: 14px; overflow: hidden; }
.album-card:hover { outline: 1px solid #777; }
.album-card img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.album-caption { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; padding: 12px 20px; }
.album-caption h3 { font-size: 20px; overflow-wrap: anywhere; }
.album-caption span { color: #999; white-space: nowrap; font-size: 14px; }
.gallery-empty { padding: 40px 0; }
@media (max-width: 900px) {
  .gallery-slider { display: none; }
  .slide-caption { left: 25px; right: 25px; bottom: 25px; }
  .slide-caption h1 { font-size: 26px; margin-bottom: 8px; }
  .gallery-eyebrow { font-size: 10px; letter-spacing: 1px; margin-bottom: 8px; }
  .slide-album { font-size: 14px; padding-right: 125px; }
  .slider-controls { right: 25px; bottom: 22px; gap: 6px; }
  .slider-button { width: 36px; height: 36px; font-size: 20px; }
  .pause-button { font-size: 14px; }
  .albums-heading { align-items: start; flex-direction: column; margin-bottom: 30px; }
  .album-grid { grid-template-columns: 1fr; }
  .album-card img { height: auto; aspect-ratio: 16 / 9; }
  .album-caption { padding: 20px; }
  .gallery-albums { padding: 24px 25px 48px; }
}
@media (max-width: 440px) {
  .slide-caption { left: 20px; right: 20px; bottom: 18px; }
  .slide-caption h1 { font-size: 20px; }
  .gallery-eyebrow { font-size: 9px; }
  .slider-controls { right: 20px; bottom: 16px; }
}
@media (prefers-reduced-motion: reduce) { .slide-image { transition: none; } }
