/* Prevenir cualquier destello o fondo blanco en html, body y cabeceras */
html, body {
  background-color: #040714 !important;
  overflow-x: hidden !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

.ftco-navbar-light,
.navbar-light,
.navbar,
.bg-top {
  background-color: #080c1c !important;
}

/* Remoción de iluminación brusca en bordes de secciones */
.border-top-cyber,
.section-glow-border,
.border-bottom-cyber,
.cyber-glow-border {
  border-color: rgba(255, 255, 255, 0.08) !important;
  box-shadow: none !important;
}

/* Cabecera global AD2N: FIXED para permitir animación GSAP de ocultar/mostrar al scroll */
#ftco-navbar,
.header-area {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 99999999 !important;
  margin-top: 0 !important;
  min-height: 74px;
  background: rgba(8, 12, 28, 0.98) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.45) !important;
  will-change: transform;
  overflow: visible !important;
  transform: translateY(0);
  transition: background-color 0.35s ease, box-shadow 0.35s ease;
}

#ftco-navbar.header-scrolled,
.header-area.header-scrolled {
  background-color: rgba(8, 12, 28, 0.96) !important;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.4) !important;
}

/* Compensar el espacio del header fijo para que el contenido no quede debajo */
body {
  padding-top: 74px !important;
}

/* Ripple de clic interactivo */
.header-click-ripple {
  position: absolute !important;
  pointer-events: none !important;
  z-index: 999999 !important;
  border-radius: 50% !important;
}

/* Alineación limpia y profesional alineada al contenedor de la página */
#ftco-navbar .container,
.header-area .container {
  max-width: 1280px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  min-height: 74px;
}

.header-brand-logo {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0;
}

.header-brand-logo img {
  display: block;
  height: 44px;
  width: auto;
  object-fit: contain;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), filter 0.35s ease !important;
}

.header-brand-logo:hover img {
  transform: scale(1.05) rotate(-1deg) !important;
  filter: drop-shadow(0 0 12px rgba(0, 180, 216, 0.5)) !important;
}

/* Iconos del header en CSS: evitan descargar otra fuente completa para dos glifos. */
#ftco-navbar .navbar-toggler .bi-list,
#ftco-navbar #navbarDropdownServicios .bi-chevron-down {
  display: inline-block;
  flex: 0 0 auto;
}

#ftco-navbar .navbar-toggler .bi-list {
  width: 24px;
  height: 18px;
  background: linear-gradient(
    to bottom,
    #ffffff 0 2px,
    transparent 2px 8px,
    #ffffff 8px 10px,
    transparent 10px 16px,
    #ffffff 16px 18px
  );
  border-radius: 2px;
}

#ftco-navbar #navbarDropdownServicios .bi-chevron-down {
  width: 7px;
  height: 7px;
  margin-left: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
}

/* Enlaces del Menú Principal */
#ftco-navbar .navbar-nav {
  gap: 6px !important;
}

#ftco-navbar .nav-item {
  background: transparent !important;
}

#ftco-navbar .navbar-nav > .nav-item > .nav-link,
#ftco-navbar .nav-link {
  position: relative !important;
  color: rgba(255, 255, 255, 0.9) !important;
  background: transparent !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  padding: 10px 18px !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  transition: color 0.3s ease, background 0.3s ease, transform 0.3s ease !important;
}

/* REMOVIDA CUALQUIER RAYA O LÍNEA DEBAJO DEL TEXTO DEL HEADER */
#ftco-navbar .nav-link::before,
#ftco-navbar .nav-item > .nav-link::before {
  display: none !important;
  content: none !important;
}

#ftco-navbar .nav-item.active > .nav-link,
#ftco-navbar .nav-link.active {
  color: #00b4d8 !important;
  background: rgba(0, 180, 216, 0.12) !important;
  font-weight: 600 !important;
}

#ftco-navbar .nav-link:hover {
  color: #00b4d8 !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

/* Ocultar la flechita nativa duplicada del dropdown-toggle de Bootstrap */
#ftco-navbar .dropdown-toggle::after {
  display: none !important;
}

/* Botón Cotización */
#ftco-navbar .btn-outline-info {
  border: 1px solid rgba(0, 180, 216, 0.6) !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  background: rgba(0, 180, 216, 0.08) !important;
  transition: all 0.35s ease !important;
}

#ftco-navbar .btn-outline-info:hover {
  background: #00b4d8 !important;
  color: #0d1128 !important;
  box-shadow: 0 0 22px rgba(0, 180, 216, 0.55) !important;
  transform: translateY(-2px) scale(1.03) !important;
}

/* =============================================================
   RESPONSIVE DESIGN ADAPTATIVO & FONDOS MÓVILES PERFECTOS
   ============================================================= */
@media (max-width: 991.98px) {
  body {
    padding-top: 64px !important;
  }

  /* Mobile reload safety: GSAP keeps transform motion, never a blank bar. */
  #ftco-navbar .header-brand-logo,
  #ftco-navbar .navbar-toggler,
  #ftco-navbar .navbar-nav > .nav-item,
  #ftco-navbar .mobile-cta-wrapper {
    opacity: 1 !important;
    visibility: visible !important;
  }
  /* Adaptación perfecta de imágenes de fondo en celulares */
  .hero-cyber-section,
  .cta-parallax-bg,
  .ftco-section,
  .hero-wrap,
  .ftco-intro,
  section[style*="background-image"],
  div[style*="background-image"] {
    background-attachment: scroll !important;
    background-size: cover !important;
    background-position: center center !important;
  }

  #ftco-navbar, #ftco-navbar .container, .header-area, .header-area .container { 
    min-height: 64px !important;
    padding: 0 16px !important;
  }

  .header-brand-logo img { height: 36px !important; }

  /* Menú desplegable hamburguesa en móvil */
  #ftco-navbar .navbar-collapse {
    position: absolute !important;
    top: 100% !important;
    left: 14px !important;
    right: 14px !important;
    width: calc(100% - 28px) !important;
    background: rgba(8, 12, 28, 0.98) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border-radius: 20px !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    padding: 22px 18px !important;
    margin-top: 8px !important;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.8) !important;
    max-height: 82vh !important;
    overflow-y: auto !important;
    z-index: 99999999 !important;
  }

  #ftco-navbar .navbar-nav {
    gap: 6px !important;
    width: 100% !important;
  }

  #ftco-navbar .nav-link {
    padding: 12px 18px !important;
    font-size: 16px !important;
    width: 100% !important;
  }

  /* Megamenú adaptable en móviles sin desbordamiento */
  .dropdown-menu.mega-menu {
    position: static !important;
    transform: none !important;
    min-width: 100% !important;
    width: 100% !important;
    padding: 18px 14px !important;
    margin-top: 10px !important;
    border-radius: 16px !important;
    box-shadow: none !important;
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    display: none !important;
  }

  .nav-item.dropdown.show .dropdown-menu.mega-menu,
  .dropdown-menu.mega-menu.show {
    display: block !important;
  }

  .mega-menu .row {
    margin: 0 !important;
  }

  .mega-menu .col-md-6 {
    padding: 0 !important;
    margin-bottom: 20px !important;
  }

  .mega-menu .dropdown-item {
    padding: 10px 12px !important;
    font-size: 14px !important;
  }
}

@media (max-width: 767.98px) {
  .contact-heading, .cta-title {
    font-size: clamp(1.75rem, 5.5vw, 2.5rem) !important;
  }

  /* AJUSTE DE TARJETAS FLIP (GIRO 3D EN MÓVILES - CERO DUPLICACIÓN) */
  .parallax-glass-content {
    padding: 22px 16px !important;
    margin-bottom: 24px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    border-radius: 16px !important;
  }

  .parallax-glass-content h2 {
    font-size: 22px !important;
  }

  .parallax-glass-content p, 
  .parallax-glass-content ul {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  .flip-card {
    perspective: 1000px !important;
    height: 250px !important;
    margin-bottom: 24px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .flip-card-inner {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    text-align: center !important;
    transform-style: preserve-3d !important;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
  }

  .flip-card.flipped .flip-card-inner,
  .flip-card.is-flipped .flip-card-inner {
    transform: rotateY(180deg) !important;
  }

  .flip-card-front, 
  .flip-card-back {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    -webkit-backface-visibility: hidden !important;
    backface-visibility: hidden !important;
    border-radius: 16px !important;
    clip-path: none !important;
    padding: 24px 18px !important;
    box-sizing: border-box !important;
  }

  .flip-card-front {
    transform: rotateY(0deg) !important;
  }

  .flip-card-back {
    transform: rotateY(180deg) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .svc-card-body {
    padding: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .cyber-contact-info-panel, .cyber-contact-form-panel {
    padding: 24px 16px !important;
  }

  .svc-card-icon, .flip-card-icon {
    width: 56px !important;
    height: 56px !important;
  }

  .svc-card-icon i, .flip-card-icon i {
    font-size: 24px !important;
  }
}

@media (max-width: 575.98px) {
  #ftco-navbar .container {
    padding: 0 12px !important;
  }
}

/* =============================================================
   SERVICIOS MEGA MENU DROPDOWN (Dark Cyber Glassmorphism & Stagger Entrance)
   ============================================================= */
.nav-item.dropdown {
  position: relative !important;
  perspective: 1000px !important;
}

@media (min-width: 992px) {
  .dropdown-menu.mega-menu {
    display: block !important;
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    transform: translateX(-50%) rotateX(-12deg) translateY(18px) !important;
    transform-origin: top center !important;
    margin-top: 12px !important;
    background: rgba(8, 12, 28, 0.96) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border-radius: 26px !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: 0 40px 100px rgba(0, 0, 0, 0.75), inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
    padding: 36px 42px !important;
    min-width: 780px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity 0.38s cubic-bezier(0.16, 1, 0.3, 1), transform 0.38s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.38s !important;
    z-index: 99999999 !important;
  }

  .nav-item.dropdown:hover > .dropdown-menu.mega-menu,
  .nav-item.dropdown:focus-within > .dropdown-menu.mega-menu,
  .dropdown-menu.mega-menu.show {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateX(-50%) rotateX(0deg) translateY(0) !important;
  }
}

.mega-cat-link {
  cursor: pointer !important;
  transition: all 0.3s ease !important;
}

.mega-cat-link .cat-arrow {
  transition: transform 0.3s ease !important;
}

.mega-cat-link:hover .cat-arrow {
  transform: translateX(6px) !important;
}

.mega-menu .dropdown-header {
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  padding-left: 0 !important;
  margin-bottom: 18px !important;
}

/* Animación de entrada 3D Única y Fluida para los ítems */
.nav-item.dropdown:hover .mega-menu .dropdown-item,
.nav-item.dropdown.show .mega-menu .dropdown-item {
  opacity: 0;
  animation: megaItemStagger3D 0.75s cubic-bezier(0.34, 1.56, 0.64, 1) forwards; /* Efecto resorte suave */
  animation-delay: calc(var(--item-index, 1) * 0.08s); /* Tiempo entre cada item más visible */
  transform-origin: left center;
}

@keyframes megaItemStagger3D {
  0% {
    opacity: 0;
    transform: perspective(800px) rotateY(-25deg) translateY(25px) scale(0.95);
  }
  100% {
    opacity: 1;
    transform: perspective(800px) rotateY(0deg) translateY(0) scale(1);
  }
}

.mega-menu .dropdown-item {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  padding: 10px 18px 10px 16px !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  white-space: normal !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  margin-bottom: 4px !important;
  background: transparent !important;
  opacity: 0.95;
}

/* Espaciado perfecto y ancho fijo para íconos dentro del menú */
.mega-menu .dropdown-item i {
  margin-right: 14px !important;
  width: 22px !important;
  text-align: center !important;
  font-size: 16px !important;
  display: inline-block !important;
  transition: transform 0.3s ease, filter 0.3s ease !important;
}

/* Eliminada la raya vertical izquierda. En su lugar, flecha elegante a la derecha */
.mega-menu .dropdown-item::before {
  display: none !important;
}

.mega-menu .dropdown-item::after {
  content: '\f105' !important;
  font-family: 'Font Awesome 6 Free' !important;
  font-weight: 900 !important;
  margin-left: auto !important;
  font-size: 14px !important;
  color: currentColor !important;
  opacity: 0 !important;
  transform: translateX(-6px) !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.mega-menu .dropdown-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #00b4d8 !important;
  transform: translateX(6px) !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.25) !important;
}

.mega-menu .dropdown-item:hover::after {
  opacity: 1 !important;
  transform: translateX(0) !important;
}

.mega-menu .dropdown-item:hover i {
  transform: scale(1.25) !important;
  filter: drop-shadow(0 0 8px currentColor) !important;
}

/* Active Service Highlight */
.mega-menu .dropdown-item.active-service {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #00b4d8 !important;
  transform: translateX(6px) !important;
  box-shadow: inset 3px 0 0 #D50B52 !important; /* Marca visual fuerte */
}

.mega-menu .dropdown-item.active-service::after {
  opacity: 1 !important;
  transform: translateX(0) !important;
}

.mega-menu .dropdown-item.active-service i {
  filter: drop-shadow(0 0 8px currentColor) !important;
}

/* Card Icons - ROJO / MAGENTA (#D50B52) */
.flip-card-icon,
.svc-card-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 64px !important;
  height: 64px !important;
  margin: 0 auto 14px auto !important;
  border-radius: 50% !important;
  background: rgba(213, 11, 82, 0.18) !important;
  border: 1px solid rgba(213, 11, 82, 0.45) !important;
  color: #D50B52 !important;
  box-shadow: 0 0 18px rgba(213, 11, 82, 0.35) !important;
  transition: all 0.35s ease !important;
}

.flip-card-icon i,
.svc-card-icon i {
  font-size: 28px !important;
  color: #D50B52 !important;
  display: inline-block !important;
}

.flip-card-back .flip-card-icon,
.svc-card-back .svc-card-icon {
  background: rgba(213, 11, 82, 0.25) !important;
  border-color: rgba(213, 11, 82, 0.6) !important;
  color: #D50B52 !important;
  box-shadow: 0 0 20px rgba(213, 11, 82, 0.5) !important;
}

.flip-card-back .flip-card-icon i,
.svc-card-back .svc-card-icon i {
  color: #D50B52 !important;
}

/* ESTILOS DE CANALES DE CONTACTO (ICONS FIJOS EN CONTACT.PHP) */
.contact-info-card {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}

.info-icon-box {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 52px !important;
  height: 52px !important;
  border-radius: 14px !important;
  background: rgba(0, 180, 216, 0.12) !important;
  border: 1px solid rgba(0, 180, 216, 0.35) !important;
  color: #00b4d8 !important;
  font-size: 22px !important;
  box-shadow: 0 0 16px rgba(0, 180, 216, 0.25) !important;
  flex-shrink: 0 !important;
}

.info-icon-box i {
  color: #00b4d8 !important;
  font-size: 22px !important;
  display: inline-block !important;
}

/* ESTILOS DE REDES SOCIALES EN EL FOOTER */
.ftco-footer-social {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 0 !important;
  margin: 16px 0 0 0 !important;
  list-style: none !important;
}

.ftco-footer-social li {
  display: inline-block !important;
  margin: 0 !important;
}

.ftco-footer-social a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: rgba(0, 180, 216, 0.12) !important;
  border: 1px solid rgba(0, 180, 216, 0.35) !important;
  color: #00b4d8 !important;
  font-size: 18px !important;
  box-shadow: 0 0 14px rgba(0, 180, 216, 0.2) !important;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
  text-decoration: none !important;
}

.ftco-footer-social a:hover {
  background: #D50B52 !important;
  border-color: #D50B52 !important;
  color: #ffffff !important;
  transform: translateY(-3px) scale(1.1) !important;
  box-shadow: 0 0 20px rgba(213, 11, 82, 0.6) !important;
}

.ftco-footer-social a i {
  color: currentColor !important;
}

/* svc-motion-signal-dot: oculto (solo se usa en el overlay global, no en cards individuales) */
.svc-motion-signal-dot {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

/* Ocultar únicamente el cursor mouse redundante si existía */
.cursor-dot,
.cursor-ring,
.particle-node,
.particle-ring,
.flip-hint-dot {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
