/* ============================================================
   DRA. ALEANA — Reskin do DS (claro & arejado)
   Animações (mesma mecânica do DS original, cores adaptadas)
   ============================================================ */

/* Entrada com fade + slide + blur — usada no scroll reveal */
@keyframes fadeSlideIn {
  0% {
    opacity: 0;
    transform: translateY(30px);
    filter: blur(8px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0px);
  }
}

/* Estados pausado/rodando para animações disparadas no scroll */
.animate-on-scroll { animation-play-state: paused !important; }
.animate-on-scroll.animate { animation-play-state: running !important; }

/* Beams decorativos verticais e horizontais */
@keyframes beam-drop {
  0% { transform: translateY(-100%); opacity: 0; }
  10% { opacity: 1; }
  90% { opacity: 1; }
  100% { transform: translateY(100%); opacity: 0; }
}
@keyframes beam-slide {
  0% { transform: translateX(-100%); opacity: 0; }
  10% { opacity: 1; }
  90% { opacity: 1; }
  100% { transform: translateX(100%); opacity: 0; }
}

/* Glow pulsante (azul suave) */
@keyframes glow-pulse {
  0%, 100% {
    box-shadow:
      0 0 24px -4px rgba(95, 168, 201, 0.35),
      0 0 0 0 rgba(95, 168, 201, 0);
  }
  50% {
    box-shadow:
      0 0 36px -2px rgba(95, 168, 201, 0.55),
      0 0 0 4px rgba(95, 168, 201, 0.08);
  }
}

/* Flutuação lenta e suave (cards do hero) — clima de "paz"
   Usa a propriedade `translate` (independente de `transform`) para
   NÃO sobrescrever a rotação de cada card. */
@keyframes floaty {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -24px; }
}

/* Marquee horizontal para faixas/watermarks */
@keyframes marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* Gradient hue shift sutil */
@keyframes gradient-shift {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

/* Border gradient (sutil — para tema claro usa cinza chumbo/nougat) */
.border-gradient {
  position: relative;
}
.border-gradient::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  background: linear-gradient(
    225deg,
    rgba(53, 61, 68, 0.0) 0%,
    rgba(53, 61, 68, 0.14) 50%,
    rgba(53, 61, 68, 0.0) 100%
  );
  pointer-events: none;
}

/* Border gradient na variante brand (azul → nougat) */
.border-gradient-brand::before {
  background: linear-gradient(
    225deg,
    rgba(95, 168, 201, 0.0) 0%,
    rgba(95, 168, 201, 0.55) 35%,
    rgba(194, 160, 121, 0.45) 70%,
    rgba(194, 160, 121, 0.0) 100%
  );
}
