/* ==========================================================================
   CTA FINAL
   ========================================================================== */

.adx-cta {
  padding-block: var(--space-section);
}

.adx-cta__box {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  text-align: center;
  padding: clamp(3rem, 8vw, 5.5rem) clamp(1.5rem, 5vw, 3rem);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  background: var(--color-bg-alt);
}

/* Borde con brillo metálico animado, sutil, recorriendo el contorno */
.adx-cta__box::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: conic-gradient(from var(--adx-angle, 0deg),
    transparent 0deg, var(--color-accent-light) 25deg, transparent 70deg, transparent 360deg);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  animation: adx-rotate-border 6s linear infinite;
  pointer-events: none;
}
@keyframes adx-rotate-border {
  to { --adx-angle: 360deg; }
}
@property --adx-angle {
  syntax: '<angle>';
  inherits: false;
  initial-value: 0deg;
}
@media (prefers-reduced-motion: reduce) {
  .adx-cta__box::before { animation: none; }
}

.adx-cta__glow {
  position: absolute;
  inset: -40% -10%;
  z-index: -1;
  background: radial-gradient(ellipse 60% 60% at 50% 0%, rgba(201,130,95,0.32), transparent 70%),
              radial-gradient(ellipse 40% 50% at 90% 100%, rgba(143,151,179,0.18), transparent 70%);
  pointer-events: none;
}

.adx-cta__particles {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}

.adx-cta__title {
  font-size: var(--fs-h2);
  margin-bottom: 1rem;
  max-width: 700px;
  margin-inline: auto;
}

.adx-cta__subtitle {
  color: var(--color-text-muted);
  max-width: 560px;
  margin: 0 auto 2rem;
}
