/* Light professional motion — Зояна-Крис ЕООД */

@media (prefers-reduced-motion: no-preference) {
  /* Scroll reveal */
  .reveal {
    opacity: 0;
    transform: translateY(0.65rem);
    transition:
      opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1),
      transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
    transition-delay: var(--reveal-delay, 0ms);
  }

  .reveal.is-visible {
    opacity: 1;
    transform: none;
  }

  .reveal--fade {
    transform: none;
  }

  .reveal--left {
    transform: translateX(-0.75rem);
  }

  .reveal--right {
    transform: translateX(0.75rem);
  }

  .reveal--scale {
    transform: scale(0.98);
  }

  .reveal--left.is-visible,
  .reveal--right.is-visible,
  .reveal--scale.is-visible {
    transform: none;
  }

  /* Stagger groups */
  .reveal-stagger > .reveal:nth-child(1),
  .reveal-stagger > *:nth-child(1).reveal { --reveal-delay: 0ms; }
  .reveal-stagger > .reveal:nth-child(2),
  .reveal-stagger > *:nth-child(2).reveal { --reveal-delay: 70ms; }
  .reveal-stagger > .reveal:nth-child(3),
  .reveal-stagger > *:nth-child(3).reveal { --reveal-delay: 140ms; }
  .reveal-stagger > .reveal:nth-child(4),
  .reveal-stagger > *:nth-child(4).reveal { --reveal-delay: 210ms; }
  .reveal-stagger > .reveal:nth-child(5),
  .reveal-stagger > *:nth-child(5).reveal { --reveal-delay: 280ms; }
  .reveal-stagger > .reveal:nth-child(6),
  .reveal-stagger > *:nth-child(6).reveal { --reveal-delay: 350ms; }
  .reveal-stagger > .reveal:nth-child(7),
  .reveal-stagger > *:nth-child(7).reveal { --reveal-delay: 420ms; }
  .reveal-stagger > .reveal:nth-child(8),
  .reveal-stagger > *:nth-child(8).reveal { --reveal-delay: 490ms; }

  /* Hero entrance */
  .hero--animate .hero__media img {
    transform: scale(1.045);
    transition: transform 1.15s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .hero--animate.is-entered .hero__media img {
    transform: scale(1);
  }

  .hero--animate .hero__content > *,
  .hero--animate .hero__trust-item,
  .hero--animate .hero__reviews-bar {
    opacity: 0;
    transform: translateY(0.6rem);
  }

  .hero--animate.is-entered .hero__content > * {
    opacity: 1;
    transform: none;
    transition:
      opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
      transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .hero--animate.is-entered .hero__content > *:nth-child(1) { transition-delay: 0.08s; }
  .hero--animate.is-entered .hero__content > *:nth-child(2) { transition-delay: 0.16s; }
  .hero--animate.is-entered .hero__content > *:nth-child(3) { transition-delay: 0.24s; }
  .hero--animate.is-entered .hero__content > *:nth-child(4) { transition-delay: 0.32s; }

  .hero--animate.is-entered .hero__trust-item {
    opacity: 1;
    transform: none;
    transition:
      opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1),
      transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .hero--animate.is-entered .hero__trust-item:nth-child(1) { transition-delay: 0.35s; }
  .hero--animate.is-entered .hero__trust-item:nth-child(2) { transition-delay: 0.42s; }
  .hero--animate.is-entered .hero__trust-item:nth-child(3) { transition-delay: 0.49s; }

  .hero--animate.is-entered .hero__reviews-bar {
    opacity: 1;
    transform: none;
    transition:
      opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1),
      transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
    transition-delay: 0.55s;
  }

  /* Page hero */
  .page-hero--animate .container > * {
    opacity: 0;
    transform: translateY(0.5rem);
  }

  .page-hero--animate.is-entered .container > * {
    opacity: 1;
    transform: none;
    transition:
      opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1),
      transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .page-hero--animate.is-entered .container > *:nth-child(1) { transition-delay: 0.05s; }
  .page-hero--animate.is-entered .container > *:nth-child(2) { transition-delay: 0.12s; }
  .page-hero--animate.is-entered .container > *:nth-child(3) { transition-delay: 0.19s; }

  /* Hover micro-interactions */
  .btn {
    transition:
      background var(--transition-fast),
      color var(--transition-fast),
      border-color var(--transition-fast),
      transform var(--transition-fast),
      box-shadow var(--transition-fast);
  }

  .btn:hover {
    transform: translateY(-1px);
  }

  .btn:active {
    transform: translateY(0);
  }

  .gallery-item img {
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .gallery-item:hover img,
  .gallery-item:focus-within img {
    transform: scale(1.04);
  }

  .service-card__media img {
    transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .feature-item {
    transition:
      border-color var(--transition-base),
      transform var(--transition-base);
  }

  .feature-item:hover {
    transform: translateX(3px);
  }

  .feature-item__icon svg {
    transition: transform var(--transition-base);
  }

  .feature-item:hover .feature-item__icon svg {
    transform: scale(1.06);
  }

  .process-step__circle {
    transition:
      border-color var(--transition-base),
      background var(--transition-base),
      color var(--transition-base),
      transform var(--transition-base),
      box-shadow var(--transition-base);
  }

  .process-step:hover .process-step__circle,
  .process-step:focus-visible .process-step__circle {
    transform: translateY(-2px);
  }

  .card__link {
    transition: color var(--transition-fast), letter-spacing var(--transition-base);
  }

  .card:hover .card__link,
  .card:focus-within .card__link {
    letter-spacing: 0.04em;
  }

  .site-header {
    transition:
      height var(--transition-base),
      box-shadow var(--transition-base),
      background var(--transition-base),
      transform var(--transition-base);
  }

  .site-header.is-scrolled {
    transform: translateY(0);
  }

  .review-card {
    transition:
      border-color var(--transition-base),
      box-shadow var(--transition-base),
      transform var(--transition-base);
  }

  .review-card:hover {
    transform: translateY(-2px);
  }

  .faq-item__answer:not([hidden]) {
    animation: faq-open 0.28s ease;
  }

  @keyframes faq-open {
    from {
      opacity: 0;
      transform: translateY(-0.25rem);
    }

    to {
      opacity: 1;
      transform: none;
    }
  }

  .lightbox[data-open="true"] {
    animation: lightbox-in 0.25s ease;
  }

  .lightbox[data-open="true"] img {
    animation: lightbox-img-in 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  }

  @keyframes lightbox-in {
    from { opacity: 0; }
    to { opacity: 1; }
  }

  @keyframes lightbox-img-in {
    from {
      opacity: 0;
      transform: scale(0.97);
    }

    to {
      opacity: 1;
      transform: none;
    }
  }

  @media (min-width: 768px) {
    .nav-dropdown__menu {
      animation: menu-in 0.2s ease;
    }
  }

  @keyframes menu-in {
    from {
      opacity: 0;
      transform: translateY(-0.35rem);
    }

    to {
      opacity: 1;
      transform: none;
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  .reveal {
    opacity: 1;
    transform: none;
  }
}
