/* Barra CTA fissa full-width - desktop e mobile */

@keyframes ec-cta-zoom-pulse {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.04);
  }
}

#easycontact-mobile-cta-bar {
  display: block !important;
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  max-width: none !important;
  z-index: 99999 !important;
  margin: 0 !important;
  padding: 0 !important;
  padding-bottom: env(safe-area-inset-bottom, 0px) !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transition: none !important;
}

#easycontact-mobile-cta-bar.is-visible {
  transform: none !important;
  opacity: 1 !important;
}

#easycontact-mobile-cta-bar .ec-mobile-call-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.85rem !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 1rem 1.25rem !important;
  border-radius: 0 !important;
  box-shadow: 0 -4px 24px rgba(3, 105, 161, 0.35) !important;
  animation: ec-cta-zoom-pulse 2.2s ease-in-out infinite !important;
  transform-origin: center bottom !important;
}

#easycontact-mobile-cta-bar .ec-mobile-call-inner:hover {
  filter: brightness(1.06) !important;
  animation-play-state: paused !important;
}

#easycontact-mobile-cta-bar .ec-mobile-call-inner:active {
  transform: scale(0.98) !important;
  animation: none !important;
}

#easycontact-mobile-cta-bar .ec-mobile-call-inner svg {
  width: 24px !important;
  height: 24px !important;
  flex-shrink: 0 !important;
}

#easycontact-mobile-cta-bar .ec-mobile-call-copy {
  align-items: center !important;
  text-align: center !important;
}

#easycontact-mobile-cta-bar .ec-mobile-call-copy strong {
  font-size: 1.05rem !important;
}

#easycontact-mobile-cta-bar .ec-mobile-form-inner {
  justify-content: center !important;
}

/* Spazio sotto al contenuto per non coprire footer */
body:has(#easycontact-mobile-cta-bar) #root > div[class*='pb-20'],
body:has(#easycontact-mobile-cta-bar) #root > div.min-h-screen {
  padding-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px)) !important;
}

@media (min-width: 1024px) {
  #easycontact-mobile-cta-bar .ec-mobile-call-inner {
    padding: 1.1rem 2rem !important;
  }

  #easycontact-mobile-cta-bar .ec-mobile-call-copy strong {
    font-size: 1.2rem !important;
  }

  #easycontact-mobile-cta-bar .ec-mobile-call-copy small {
    font-size: 0.95rem !important;
  }

  #easycontact-mobile-cta-bar .ec-mobile-call-inner svg {
    width: 28px !important;
    height: 28px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #easycontact-mobile-cta-bar .ec-mobile-call-inner {
    animation: none !important;
  }
}
