

/* Start:/local/components/vidovito/Hero/templates/.default/style.css?17724687475159*/
/* ========== HERO SECTION ========== */
.hero {
  position: relative;
  width: 100%;
  overflow: visible;
  z-index: 100;
  transition: all 0.3s ease;
}

.hero.hero--start {
  /* min-height: 100vh; */
  transition: all 0.3s ease;
}

.hero.hero--final {
  min-height: auto; /* В финале по контенту */
  transition: all 0.3s ease;
}
@keyframes heightBorder {
  0% {
    border-radius: 0;
    max-height: 100vh;
  }
  100% {
    border-radius: 20px;
    max-height: 80vh;
  }
}

.hero.go .hero-video {
  overflow: hidden;
  animation: heightBorder 0.8s ease-in-out 4s forwards;
}
/* ========== HERO CONTENT (КНОПКА) ========== */
.hero-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 20;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  pointer-events: none; /* Чтобы клик проходил сквозь, но кнопка остается кликабельной */
  
}

/* ========== ВИДЕО КОНТЕЙНЕР ========== */
.hero-video-container {
  position: relative;
  max-width: calc(103rem + var(--space-md) * 2);
  margin: 0 auto;
  min-height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 var(--space-md, 20px);
  width: 100%;
}

/* ========== ВИДЕО ОБЕРТКА ========== */
.hero-video {
  position: relative;
  width: 100%;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  transform-origin: center center;
  transition: all 0.3s ease;
  will-change: transform; /* Оптимизация для анимации */
}

.hero-video video {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  border-radius: 20px; /* Скругление в финальном состоянии */
  transition: border-radius 0.3s ease;
  /* box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15); */
}

/* Начальное состояние видео (без скругления, на весь экран) */
.hero.hero--start .hero-video {
  transform-origin: center center;
}

/* Видео на мобильных */
.hero-video--mobile {
  display: none;
}

.hidden--md {
  display: none;
}

/* ========== СТАТИЧЕСКИЙ КАДР (ПОСЛЕДНИЙ КАДР ВИДЕО) ========== */
.hero-static-frame {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 20px;
  /* box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15); */
  object-fit: cover;
}

.hero-last-frame {
  animation: fadeIn 0.5s ease;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* ========== МОБИЛЬНЫЙ ЛОГОТИП ========== */
.hero-logo-mobile {
  display: none;
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 150;
  margin-bottom: 20px;
  text-align: center;
  transform-origin: bottom center;
  will-change: transform, opacity;
}

.hero-logo-mobile img {
  max-width: 130px;
  height: auto;
  display: inline-block;
}

/* ========== MAIN HEADER ========== */

/* Начальное состояние хедера - скрыт сверху */
.main-header--start {
  transform: translateY(-100%);
}

/* Конечное состояние хедера - на месте */
.main-header--end {
  transform: translateY(0);
}

/* Секция каталога на главной */
.home-catalog-section {
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 0.3s ease,
    transform 0.3s ease;
}

.home-catalog-section.ready {
  opacity: 1;
  transform: translateY(0);
}

/* ========== УПРАВЛЕНИЕ СКРОЛЛОМ ========== */
.scroll-disallowed,
.scroll-disallowed body {
  overflow: hidden;
  height: 100vh;
}

.scroll-allowed,
.scroll-allowed body {
  overflow: auto;
  height: auto;
}

/* ========== АНИМАЦИИ ДЛЯ GSAP ========== */
/* Базовые настройки для GSAP анимаций */
.gsap-animated {
  will-change: transform, opacity;
}

/* ========== МЕДИА ЗАПРОСЫ ========== */

/* Планшеты и выше */
@media (min-width: 768px) {
  .hero-video--desktop {
    display: flex;
  }

  .hero-video--mobile {
    display: none;
  }

  .hero-logo-mobile {
    display: none !important; /* Скрываем на десктопах */
  }
}

/* Мобильные устройства */
@media (max-width: 767px) {
  .hero-video--desktop {
    display: none;
  }

  .hero-video--mobile {
    display: flex;
  }

  .hero-video video {
    border-radius: 16px; /* Чуть меньше скругление на мобильных */
  }

  .hero-logo-mobile {
    margin-bottom: 15px;
  }

  .hero-logo-mobile img {
    max-width: 100px;
  }
}

/* Большие десктопы (для оверлея) */
@media (min-width: 993px) {
  .header-empty-overlay {
    display: block; /* По умолчанию скрыт через transform, но блок существует */
  }
}

@media (max-width: 992px) {
  .header-empty-overlay {
    display: none; /* Полностью скрываем на средних и маленьких экранах */
  }
}

/* End */
/* /local/components/vidovito/Hero/templates/.default/style.css?17724687475159 */
