/* =========================================
   Lottie Animation Styles (Hero Section)
   ========================================= */

.focofy-hero__lottie {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* Container SVG do Lottie */
.focofy-hero__lottie svg {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Estado de carregamento */
.focofy-hero__lottie:not(.lottie-loaded):not(.lottie-error) {
  background: linear-gradient(90deg, var(--color-surface-2) 25%, var(--color-surface-3) 50%, var(--color-surface-2) 75%);
  background-size: 200% 100%;
  animation: lottie-skeleton 1.5s ease-in-out infinite;
}

@keyframes lottie-skeleton {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}

/* Estado de erro */
.focofy-hero__lottie.lottie-error {
  background: color-mix(in srgb, var(--color-danger) 15%, transparent);
  border: 2px dashed var(--color-danger);
  display: flex;
  align-items: center;
  justify-content: center;
}

.focofy-hero__lottie.lottie-error::before {
  content: 'Erro ao carregar animação';
  color: var(--color-danger);
  font-size: 0.875rem;
  text-align: center;
  padding: 1rem;
}

/* Estado carregado com sucesso */
.focofy-hero__lottie.lottie-loaded {
  /* Remove skeleton/loading state */
  background: transparent;
  animation: none;
}

/* Responsividade */
@media (max-width: 768px) {
  .focofy-hero__lottie {
    min-height: 250px;
  }
}

@media (max-width: 480px) {
  .focofy-hero__lottie {
    min-height: 200px;
  }
}

/* Performance: reduz motion para usuários com preferência */
@media (prefers-reduced-motion: reduce) {
  .focofy-hero__lottie svg {
    animation: none !important;
  }
}
