/* npkir-techcore additions: vanilla replacements for jQuery plugins (no jQuery) */

/* --- scroll-snap sliders (замена slick) --- */
.atf-snap-slider {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  margin-left: -12px;
  margin-right: -12px;
  padding-bottom: 10px;
}
.atf-snap-slider::-webkit-scrollbar { display: none; }
.atf-snap-slider > .col-xl-3,
.atf-snap-slider > .col-lg-12,
.atf-snap-slider > [class*="col-"] {
  flex: 0 0 25%;
  max-width: 25%;
  scroll-snap-align: start;
  padding-left: 12px;
  padding-right: 12px;
  float: none;
  width: auto;
}
.atf__client_slider_active > [class*="col-"] { flex: 0 0 50%; max-width: 50%; }
@media (max-width: 1199px) {
  .atf-snap-slider > [class*="col-"] { flex: 0 0 33.333%; max-width: 33.333%; }
  .atf__client_slider_active > [class*="col-"] { flex: 0 0 50%; max-width: 50%; }
}
@media (max-width: 767px) {
  .atf-snap-slider > [class*="col-"] { flex: 0 0 100%; max-width: 100%; }
  .atf__client_slider_active > [class*="col-"] { flex: 0 0 100%; max-width: 100%; }
}

/* --- WOW-ревилы: базовое состояние до появления --- */
.wow { opacity: 0; transition: opacity .8s ease, transform .8s ease; }
.wow.fadeInUp { transform: translateY(24px); }
.wow.fadeInLeft { transform: translateX(-24px); }
.wow.fadeInRight { transform: translateX(24px); }
.wow.animated { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .wow { opacity: 1; transform: none; transition: none; }
}

/* --- видео-триггер «миссии» (без вращающегося кольца) --- */
.atf-video-trigger {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
}
.atf-play-btn {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  background: var(--atf-primary, #fca120);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
  transition: transform .25s ease;
}
.atf-video-trigger:hover .atf-play-btn { transform: scale(1.08); }

/* --- видео-лайтбокс --- */
.atf-video-lightbox { position: fixed; inset: 0; z-index: 9999; }
.atf-video-lightbox[hidden] { display: none; }
.atf-video-lightbox__backdrop { position: absolute; inset: 0; background: rgba(9,14,26,.85); }
.atf-video-lightbox__dialog {
  position: relative;
  width: min(960px, 92vw);
  aspect-ratio: 16 / 9;
  margin: 6vh auto 0;
  background: #000;
  border-radius: 12px;
  overflow: hidden;
}
.atf-video-lightbox__frame { width: 100%; height: 100%; }
.atf-video-lightbox__frame iframe { width: 100%; height: 100%; border: 0; }
.atf-video-lightbox__close {
  position: absolute; top: 8px; right: 8px; z-index: 2;
  background: rgba(255,255,255,.9); border: 0; border-radius: 50%;
  width: 38px; height: 38px; font-size: 18px; cursor: pointer;
}

/* --- сетка отзывов (страница «Отзывы») --- */
.review-card {
  background: #fff;
  border-radius: 12px;
  padding: 28px 22px;
  box-shadow: 0 8px 28px rgba(16,24,40,.08);
  height: 100%;
}
.review-card__img { width: 110px; height: 110px; object-fit: cover; border-radius: 50%; margin-bottom: 16px; }
.review-card__text { font-size: 15px; line-height: 1.65; color: #46506b; margin-bottom: 14px; }
.review-card__author { font-weight: 600; color: #101828; }

/* --- сетка лицензий --- */
.license-grid__img { max-width: 300px; width: 100%; height: auto; }

/* --- обычный курсор (шлейф мыши удалён) --- */
body, a, button { cursor: auto !important; }

/* --- прокрутка к спискам услуг в сайдбаре --- */
.atf-service-widget-list li.active > a { font-weight: 600; color: var(--atf-primary, #fca120); }
