/* D-Pay Footer FX — scoped a .dpay-footer-fx, non interferisce con il resto del sito */

.dpay-footer-fx {
  position: relative !important;
  overflow: hidden !important;
  background: #07050F !important;
  isolation: isolate;
}
.dpay-footer-fx > .e-con,
.dpay-footer-fx > .e-con-inner > .e-con,
.dpay-footer-fx .e-con-inner > .e-con,
.dpay-footer-fx > .elementor-section,
.dpay-footer-fx > .elementor-container {
  position: relative;
  z-index: 10;
}
.dpay-footer-fx .dpay-mesh-bg,
.dpay-footer-fx .dpay-grid-fx,
.dpay-footer-fx .dpay-diamonds-fx,
.dpay-footer-fx .dpay-grain-fx {
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  margin: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.dpay-footer-fx .dpay-mesh-bg { z-index: 0; overflow: hidden; }
.dpay-footer-fx .dpay-grid-fx,
.dpay-footer-fx .dpay-diamonds-fx { z-index: 1; }
.dpay-footer-fx .dpay-grain-fx { z-index: 2; opacity: 0.07; mix-blend-mode: overlay; }

.dpay-footer-fx .dpay-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  will-change: transform;
}
.dpay-footer-fx .dpay-blob-1 {
  width: 600px; height: 600px;
  background: radial-gradient(circle, #6B5BC8 0%, #4A3B7B 50%, transparent 70%);
  top: -25%; left: -10%; opacity: 0.55;
  animation: dpay-drift1 24s ease-in-out infinite;
}
.dpay-footer-fx .dpay-blob-2 {
  width: 500px; height: 500px;
  background: radial-gradient(circle, #5B8FE0 0%, #3B6DB8 50%, transparent 70%);
  bottom: -25%; right: -5%; opacity: 0.55;
  animation: dpay-drift2 28s ease-in-out infinite;
}
.dpay-footer-fx .dpay-blob-3 {
  width: 400px; height: 400px;
  background: radial-gradient(circle, #9B8FFF 0%, #6B5B95 50%, transparent 70%);
  top: 30%; right: 15%; opacity: 0.35;
  animation: dpay-drift3 32s ease-in-out infinite;
}
.dpay-footer-fx .dpay-blob-4 {
  width: 350px; height: 350px;
  background: radial-gradient(circle, #6EE7FF 0%, #4A90E2 50%, transparent 70%);
  bottom: 10%; left: 20%; opacity: 0.25;
  animation: dpay-drift4 36s ease-in-out infinite;
}

.dpay-footer-fx .dpay-grid-fx {
  background-image:
    linear-gradient(rgba(155,143,255,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(155,143,255,0.04) 1px, transparent 1px);
  background-size: 80px 80px;
  -webkit-mask-image: radial-gradient(ellipse at center, black 0%, transparent 78%);
  mask-image: radial-gradient(ellipse at center, black 0%, transparent 78%);
}

.dpay-footer-fx .dpay-grain-fx {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.dpay-footer-fx .dpay-diamonds-fx { overflow: hidden; }
.dpay-footer-fx .dpay-diamond {
  position: absolute;
  width: 14px; height: 14px;
  background: linear-gradient(135deg, #B0A3E8, #5B8FE0);
  transform: rotate(45deg);
  opacity: 0.4;
  border-radius: 2px;
  box-shadow: 0 0 20px rgba(155,143,255,0.5);
}
.dpay-footer-fx .dpay-diamond.dpay-sm { width: 8px; height: 8px; opacity: 0.3; }
.dpay-footer-fx .dpay-diamond.dpay-lg { width: 22px; height: 22px; opacity: 0.5; }
.dpay-footer-fx .dpay-d1 { top: 18%; left: 12%; animation: dpay-floatDiamond 14s ease-in-out infinite; }
.dpay-footer-fx .dpay-d2 { top: 28%; right: 18%; animation: dpay-floatDiamond 18s ease-in-out infinite reverse; }
.dpay-footer-fx .dpay-d3 { bottom: 22%; left: 22%; animation: dpay-floatDiamond 22s ease-in-out infinite; animation-delay: -3s; }
.dpay-footer-fx .dpay-d4 { bottom: 32%; right: 10%; animation: dpay-floatDiamond 16s ease-in-out infinite reverse; animation-delay: -5s; }
.dpay-footer-fx .dpay-d5 { top: 60%; left: 8%; animation: dpay-floatDiamond 20s ease-in-out infinite; animation-delay: -7s; }
.dpay-footer-fx .dpay-d6 { top: 70%; right: 25%; animation: dpay-floatDiamond 17s ease-in-out infinite reverse; animation-delay: -2s; }
.dpay-footer-fx .dpay-d7 { top: 12%; left: 45%; animation: dpay-floatDiamond 19s ease-in-out infinite; animation-delay: -4s; }
.dpay-footer-fx .dpay-d8 { bottom: 14%; right: 42%; animation: dpay-floatDiamond 15s ease-in-out infinite reverse; animation-delay: -6s; }

@keyframes dpay-drift1 {
  0%, 100% { transform: translate(0,0) scale(1); }
  33% { transform: translate(80px, 60px) scale(1.1); }
  66% { transform: translate(-40px, 100px) scale(0.95); }
}
@keyframes dpay-drift2 {
  0%, 100% { transform: translate(0,0) scale(1); }
  50% { transform: translate(-100px, -80px) scale(1.15); }
}
@keyframes dpay-drift3 {
  0%, 100% { transform: translate(0,0) scale(1); }
  40% { transform: translate(-60px, 80px) scale(0.9); }
  80% { transform: translate(50px, -40px) scale(1.1); }
}
@keyframes dpay-drift4 {
  0%, 100% { transform: translate(0,0) scale(1); }
  50% { transform: translate(80px, -60px) scale(1.2); }
}
@keyframes dpay-floatDiamond {
  0%, 100% { transform: rotate(45deg) translate(0,0); }
  25% { transform: rotate(90deg) translate(20px, -30px); }
  50% { transform: rotate(135deg) translate(-15px, -15px); }
  75% { transform: rotate(180deg) translate(-25px, 20px); }
}

/* Override colori testo per il fondo scuro */
.dpay-footer-fx,
.dpay-footer-fx .elementor-heading-title,
.dpay-footer-fx h1, .dpay-footer-fx h2, .dpay-footer-fx h3,
.dpay-footer-fx h4, .dpay-footer-fx h5, .dpay-footer-fx h6,
.dpay-footer-fx p {
  color: #F4F1FF !important;
}
.dpay-footer-fx .elementor-icon-list-text,
.dpay-footer-fx .elementor-icon-list-item a,
.dpay-footer-fx a {
  color: rgba(244,241,255,0.7) !important;
}
.dpay-footer-fx a:hover,
.dpay-footer-fx .elementor-icon-list-item a:hover {
  color: #F4F1FF !important;
}

@media (prefers-reduced-motion: reduce) {
  .dpay-footer-fx .dpay-blob,
  .dpay-footer-fx .dpay-diamond { animation: none !important; }
}
