/* animations.css — Начальные состояния для GSAP */

/* Все GSAP-анимируемые элементы начинают скрытыми */
.gsap-reveal {
  opacity: 0;
  transform: translateY(40px);
}

/* Hero title words */
.word-inner {
  display: inline-block;
  opacity: 0;
  transform: translateY(60px);
}

/* Карточки для stagger */
.stagger-card {
  opacity: 0;
  transform: translateY(32px);
}

/* Скрываем системный курсор там, где работает кастомный */
@media (hover: hover) {
  body, a, button, [role="button"], input, textarea, select, label {
    cursor: none !important;
  }
}

/* Кастомный курсор */
.custom-cursor {
  width: 12px;
  height: 12px;
  background: var(--accent);
  border-radius: 50%;
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 9999;
  transform: translate(-50%, -50%);
  transition: width 0.2s ease, height 0.2s ease, opacity 0.2s ease;
  will-change: transform;
  mix-blend-mode: multiply;
}

.custom-cursor.cursor-hover {
  width: 36px;
  height: 36px;
  opacity: 0.7;
}

.custom-cursor.cursor-hidden {
  opacity: 0;
}

/* Follower ring */
.cursor-follower {
  width: 36px;
  height: 36px;
  border: 1.5px solid rgba(255, 221, 0, 0.5);
  border-radius: 50%;
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 9998;
  transform: translate(-50%, -50%);
  will-change: transform;
  transition: width 0.2s ease, height 0.2s ease, opacity 0.2s ease;
}

/* Состояние кнопки после отправки формы */
.btn-success {
  background-color: #22C55E !important;
  border-color: #22C55E !important;
  color: #fff !important;
}

/* FAQ анимация */
.faq-answer-wrap {
  will-change: height;
}

/* Hover эффекты */
.magnetic-hover {
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}

/* Parallax контейнер */
.parallax-el {
  will-change: transform;
}

/* Анимация счётчика цены */
.price-counter {
  display: inline-block;
  min-width: 4ch;
}

/* Плавное появление секций */
@media (prefers-reduced-motion: no-preference) {
  .gsap-reveal,
  .word-inner,
  .stagger-card {
    /* Начальные значения — GSAP возьмёт под контроль */
  }
}

/* Для пользователей с reduced-motion — сразу показываем */
@media (prefers-reduced-motion: reduce) {
  .gsap-reveal,
  .word-inner,
  .stagger-card {
    opacity: 1 !important;
    transform: none !important;
  }

  .custom-cursor,
  .cursor-follower {
    display: none !important;
  }
}
