/* ============================================================
   Decants Concepción — animations.css
   ============================================================ */

/* ─── AOS overrides ──────────────────────────────────────── */
[data-aos] { opacity: 1 !important; transform: none !important; }

[data-aos="dc-fade-up"] {
  opacity: 0 !important;
  transform: translateY(40px) !important;
  transition-property: opacity, transform !important;
}

[data-aos="dc-fade-up"].aos-animate {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

[data-aos="dc-fade-in"] {
  opacity: 0 !important;
  transition-property: opacity !important;
}

[data-aos="dc-fade-in"].aos-animate { opacity: 1 !important; }

[data-aos="dc-slide-right"] {
  opacity: 0 !important;
  transform: translateX(-40px) !important;
}

[data-aos="dc-slide-right"].aos-animate {
  opacity: 1 !important;
  transform: translateX(0) !important;
}

[data-aos="dc-slide-left"] {
  opacity: 0 !important;
  transform: translateX(40px) !important;
}

[data-aos="dc-slide-left"].aos-animate {
  opacity: 1 !important;
  transform: translateX(0) !important;
}

[data-aos="dc-scale-up"] {
  opacity: 0 !important;
  transform: scale(0.9) !important;
}

[data-aos="dc-scale-up"].aos-animate {
  opacity: 1 !important;
  transform: scale(1) !important;
}

/* ─── Línea dorada animada (draw) ────────────────────────── */
.dc-draw-line {
  position: relative;
  overflow: hidden;
}

.dc-draw-line::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 100%; height: 1px;
  background: var(--dc-dorado, #C9A84C);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.dc-draw-line.animated::after { transform: scaleX(1); }

/* ─── Text reveal (GSAP SplitText alternativo) ───────────── */
.dc-text-reveal { overflow: hidden; }

.dc-text-reveal .line {
  display: block;
  overflow: hidden;
}

.dc-text-reveal .line-inner {
  display: block;
  transform: translateY(110%);
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.dc-text-reveal.animated .line-inner { transform: translateY(0); }

/* ─── Stagger children (cards de productos) ──────────────── */
.dc-stagger-children > * {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s var(--dc-transicion), transform 0.6s var(--dc-transicion);
}

.dc-stagger-children.animated > *:nth-child(1)  { transition-delay: 0.0s; opacity: 1; transform: none; }
.dc-stagger-children.animated > *:nth-child(2)  { transition-delay: 0.1s; opacity: 1; transform: none; }
.dc-stagger-children.animated > *:nth-child(3)  { transition-delay: 0.2s; opacity: 1; transform: none; }
.dc-stagger-children.animated > *:nth-child(4)  { transition-delay: 0.3s; opacity: 1; transform: none; }
.dc-stagger-children.animated > *:nth-child(5)  { transition-delay: 0.4s; opacity: 1; transform: none; }
.dc-stagger-children.animated > *:nth-child(6)  { transition-delay: 0.5s; opacity: 1; transform: none; }
.dc-stagger-children.animated > *:nth-child(7)  { transition-delay: 0.6s; opacity: 1; transform: none; }
.dc-stagger-children.animated > *:nth-child(8)  { transition-delay: 0.7s; opacity: 1; transform: none; }
.dc-stagger-children.animated > *:nth-child(9)  { transition-delay: 0.8s; opacity: 1; transform: none; }
.dc-stagger-children.animated > *:nth-child(10) { transition-delay: 0.9s; opacity: 1; transform: none; }
.dc-stagger-children.animated > *:nth-child(n+11) { transition-delay: 1.0s; opacity: 1; transform: none; }

/* ─── Parallax wrapper ───────────────────────────────────── */
.dc-parallax { will-change: transform; }

/* ─── Shimmer loading ────────────────────────────────────── */
@keyframes shimmer {
  0%   { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

.dc-skeleton {
  background: linear-gradient(90deg, var(--dc-gris-oscuro) 25%, var(--dc-gris-medio) 50%, var(--dc-gris-oscuro) 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
}

/* ─── Partículas hero ────────────────────────────────────── */
#dc-particles canvas { position: absolute !important; }

/* ─── Transición de página ───────────────────────────────── */
body.dc-page-leave { pointer-events: none; }

/* ─── Hover glow dorado ──────────────────────────────────── */
.dc-hover-glow {
  transition: box-shadow 0.4s;
}

.dc-hover-glow:hover {
  box-shadow: 0 0 30px rgba(201, 168, 76, 0.2);
}

/* ─── Número animado ─────────────────────────────────────── */
.dc-counter { font-variant-numeric: tabular-nums; }

/* ─── Separador animado ──────────────────────────────────── */
.dc-sep-animate {
  width: 0;
  height: 1px;
  background: var(--dc-dorado);
  transition: width 1s 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  display: block;
  margin: 1.5rem auto;
}

.dc-sep-animate.animated { width: 60px; }
