/* ============================================================
   STUDENTS GALLERY — "стена" с отпечатками
   ============================================================ */

/* Корневой блок секции */
.students-gallery {
  position: relative;

  /* вертикальный баланс блока относительно других секций */
  margin: clamp(1.6rem, 5vw, 3rem) 0;

  /* сверху чуть меньше, снизу чуть больше */
  padding-top: clamp(1.8rem, 3.5vw, 2.6rem);
  padding-bottom: clamp(3rem, 5vw, 4.4rem);

  background:
    #dcd6ce
    url('/assets/img/index/Стена.webp')
    center / cover
    no-repeat;

  overflow: hidden;
}

/* Внутренний контейнер — без жёстких max-width,
   чтобы лента могла идти от края до края блока */
.students-gallery .sg-inner {
  position: relative;
  width: 100%;
}

/* Заголовок слева, со скромным отступом от края блока */
.students-gallery .sg-header {
  margin-bottom: clamp(1.2rem, 2.4vw, 1.8rem);
  padding: 0 clamp(1.5rem, 5vw, 4rem);
}

.students-gallery .sg-title {
  margin: 0;
  text-align: left;
  /* размер шрифта берётся из глобального h2 в main.css */
}



/* Лента отпечатков */
.students-gallery .sg-track {
  display: flex;
  gap: clamp(2rem, 3vw, 3rem);
  padding-bottom: clamp(2rem, 3.4vw, 3rem);
  will-change: transform;
}

/* Один отпечаток */
.students-gallery .sg-item {
  flex: 0 0 auto;
  cursor: pointer;
}

/* "Паспарту" и тень отпечатка */
.students-gallery .sg-frame {
  background: #fdfdfd;
  padding: 0.9rem;

  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.25);
  border-radius: 0;

  height: clamp(260px, 36vw, 360px);

  display: flex;
  align-items: center;
  justify-content: center;
}

/* Сам снимок */
.students-gallery .sg-frame img {
  display: block;
  max-height: 100%;
  max-width: 100%;
  border-radius: 0;
  filter: none;
  transition:
    filter 0.25s ease-out,
    transform 0.25s ease-out;
}

/* Пока галерея движется — лёгкое размытие кадра */
.students-gallery.sg-moving .sg-frame img {
  filter: blur(0.4px);
}

/* Навели на отпечаток — всегда резкий кадр */
.students-gallery .sg-frame:hover img {
  filter: none;
}

/* ============================================================
   СТРЕЛКИ ПРОКРУТКИ В БЛОКЕ
   ============================================================ */

.students-gallery .sg-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);

  width: 38px;
  /* стрелка ровно одной высоты с отпечатками */
  height: clamp(260px, 36vw, 360px);

  border: none;
  border-radius: 0;
  background: rgba(15, 23, 42, 0.16);
  color: #ffffff;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 1.6rem;
  cursor: pointer;
  opacity: 0.6;

  transition:
    background 0.25s ease,
    opacity 0.25s ease;
}


.students-gallery .sg-arrow--left {
  left: 0;
}

.students-gallery .sg-arrow--right {
  right: 0;
}

.students-gallery .sg-arrow:hover {
  background: rgba(15, 23, 42, 0.18);
  opacity: 0.9;
}

.students-gallery .sg-arrow:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.6);
}

/* ============================================================
   ЛАЙТБОКС
   ============================================================ */

.sg-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;

  background: rgba(0, 0, 0, 0.85);

  display: none;
  align-items: center;
  justify-content: center;

  padding: 2rem;
}

.sg-lightbox--visible {
  display: flex;
}

.sg-lightbox-inner {
  position: relative;
  max-width: 95vw;
  max-height: 95vh;

  display: flex;
  align-items: center;
  justify-content: center;
}

.sg-lightbox-figure {
  margin: 1.5rem 0 0;
  max-width: 100%;
  max-height: 100%;

  display: flex;
  flex-direction: column;
  align-items: center;
}

.sg-lightbox-img {
  max-width: 90vw;
  max-height: 90vh;
  border-radius: 0;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.6);
}

.sg-lightbox-caption {
  margin-top: 0.8rem;
  font-size: 0.95rem;
  color: #f1f1f1;
}

.sg-lightbox-caption a {
  color: #f1f1f1;
}

.sg-lightbox-caption a:hover {
  text-decoration: none;
}

/* Крестик закрытия */
.sg-lightbox-close {
  display: none !important;
}

/* Стрелки в лайтбоксе — такие же, как в блоке */
.sg-lightbox-arrow {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);

  /* узкая вертикальная плашка, по высоте чуть больше рамки */
  width: 80px;
  height: calc(clamp(280px, 40vw, 360px) + 40px);

  border: none;
  border-radius: 0px;
  background: rgba(90, 90, 90, 0.1);
  color: #ffffff;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 4rem;
  cursor: pointer;

  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.22);
}

.sg-lightbox-arrow--left {
  left: 0;           /* прижаты к краю экрана */
}

.sg-lightbox-arrow--right {
  right: 0;
}

.sg-lightbox-arrow:hover {
  background: rgba(90, 90, 90, 0.4);
}

.sg-lightbox-arrow:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.45);
}

/* ============================================================
   АДАПТИВ
   ============================================================ */

@media (max-width: 768px) {
  .students-gallery {
    margin: 1rem 0;
    padding-top: 1.4rem;
    padding-bottom: 2.6rem;
  }

  .students-gallery .sg-header {
    padding-left: clamp(1.1rem, 4vw, 2rem);
    padding-right: clamp(1.1rem, 4vw, 2rem);
  }

  /* ещё меньше межстрочие — чтобы заголовок не "расползался" */
  .students-gallery .sg-title {
    line-height: 1.1;
  }

  /* расстояние между фотографиями заметно меньше */
  .students-gallery .sg-track {
    gap: clamp(0.9rem, 4vw, 1.4rem);
  }

  .students-gallery .sg-frame {
    height: clamp(220px, 60vw, 300px);
    /* и рамка ещё чуть тоньше */
    padding: 0.55rem;
  }

  .students-gallery .sg-arrow {
    width: 30px;
    height: clamp(220px, 60vw, 300px);
    font-size: 1.3rem;
  }

  .sg-lightbox-inner {
    max-width: 100%;
    max-height: 100%;
  }

  .sg-lightbox-arrow {
    width: 30px;
    height: clamp(220px, 60vw, 300px);
    font-size: 1.4rem;
  }

  .sg-lightbox-arrow--left {
    left: 0.7rem;
  }

  .sg-lightbox-arrow--right {
    right: 0.7rem;
  }

  .sg-lightbox-close {
    top: 0.6rem;
    right: 0.8rem;
  }
}

/* ============================================================
   MOBILE FULL-BLEED: убираем боковые поля body только для галереи
   (body на <=640px имеет padding: 1rem в main.css)
   ============================================================ */

@media (max-width: 640px) {
  .students-gallery{
    /* компенсируем body padding: 1rem */
    margin-left: -1rem;
    margin-right: -1rem;

    /* чтобы фон тянулся от края до края */
    width: calc(100% + 2rem);
  }

  /* чтобы заголовок и контент не прилипали к краям экрана */
  .students-gallery .sg-header{
    padding-left: 3rem;
    padding-right: 2rem;
  }

  /* если хочешь, чтобы «лента» тоже имела аккуратные поля,
     а не начиналась/заканчивалась в ноль */
  .students-gallery .sg-track{
    padding-left: 1rem;
    padding-right: 1rem;
  }

  /* стрелки прижимаем к самому краю секции */
  .students-gallery .sg-arrow--left{ left: 0; }
  .students-gallery .sg-arrow--right{ right: 0; }
}

