/* =========================================
   СТИЛИ ДЛЯ HERO SLIDER
   ========================================= */

.adev-hero-slider {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.adev-hero-slider .swiper {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.adev-hero-slider .swiper-slide {
  position: relative;
  display: flex;
  height: 100%;
  width: 100%;
  flex-shrink: 0;
  overflow: hidden; /* Важно, чтобы картинка не вылазила при увеличении */
}

.adev-hero-slider .hero-bg-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.adev-hero-slider .hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

/* Глобальный контейнер */
.adev-hero-slider .hero-container {
  position: relative;
  z-index: 2;
  width: 100%;
  margin: 0 auto;
  height: 100%;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  padding: 0 10px;
}

.adev-hero-slider .hero-content {
  width: 100%;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.adev-hero-slider .hero-title,
.adev-hero-slider .hero-subtitle,
.adev-hero-slider .hero-desc {
  white-space: normal !important;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.adev-hero-slider .hero-btn {
  text-decoration: none;
  display: inline-block;
  transition: all 0.3s ease;
  align-self: flex-start;
}

/* Пагинация */
.adev-hero-slider .swiper-pagination {
  position: absolute;
  bottom: 20px;
  z-index: 10 !important;
  padding: 0 25px;
}
.adev-hero-slider .swiper-pagination-bullet {
  transition: all 0.3s ease;
}
.pag-shape-circle .swiper-pagination-bullet {
  border-radius: 50%;
}
.pag-shape-square .swiper-pagination-bullet {
  border-radius: 0;
}
.pag-shape-rect .swiper-pagination-bullet {
  border-radius: 4px;
  width: 24px;
}

/* =========================================
   ЭФФЕКТЫ ПРИБЛИЖЕНИЯ/УДАЛЕНИЯ (Ken Burns)
   ========================================= */

.bg-anim-zoom_in .hero-bg-img,
.bg-anim-zoom_out .hero-bg-img,
.bg-anim-breathe .hero-bg-img {
  will-change: transform;
}

/* 1. ПРИБЛИЖЕНИЕ (Zoom In) */
.bg-anim-zoom_in .swiper-slide-active .hero-bg-img,
.bg-anim-zoom_in .swiper-slide-duplicate-active .hero-bg-img {
  animation: adevZoomIn var(--bg-anim-duration, 8s) forwards ease-out;
}
@keyframes adevZoomIn {
  0% { transform: scale(1); }
  100% { transform: scale(1.15); }
}

/* 2. УМЕНЬШЕНИЕ (Zoom Out) */
.bg-anim-zoom_out .swiper-slide-active .hero-bg-img,
.bg-anim-zoom_out .swiper-slide-duplicate-active .hero-bg-img {
  animation: adevZoomOut var(--bg-anim-duration, 8s) forwards ease-out;
}
@keyframes adevZoomOut {
  0% { transform: scale(1.15); }
  100% { transform: scale(1); }
}

/* 3. ЭФФЕКТ ДЫХАНИЯ (Бесконечно туда-обратно) */
.bg-anim-breathe .swiper-slide-active .hero-bg-img,
.bg-anim-breathe .swiper-slide-duplicate-active .hero-bg-img {
  animation: adevZoomBreathe var(--bg-anim-duration, 8s) infinite alternate ease-in-out;
}
@keyframes adevZoomBreathe {
  0% { transform: scale(1); }
  100% { transform: scale(1.15); }
}

/* =========================================
   ПАУЗА АНИМАЦИИ (управляется через JS)
   ========================================= */
.adev-hero-slider.is-paused .hero-bg-img {
  animation-play-state: paused !important;
}
