        :root {
            --primary-blue: #0a4da2;
            --secondary-blue: #1c6fd4;
            --accent-teal: #00b4d8;
            --dark-blue: #0a2540;
            --light-blue: #e7f2ff;
            --gray-light: #f8f9fa;
            --gray-medium: #6c757d;
        }
        
        body {
            font-family: 'Inter', sans-serif;
            color: #333;
            overflow-x: hidden;
        }
        
        h1, h2, h3, h4, h5, h6 {
            font-family: 'Montserrat', sans-serif;
            font-weight: 700;
        }
        
        .navbar-brand {
            font-family: 'Montserrat', sans-serif;
            font-weight: 800;
            font-size: 1.8rem;
            color: var(--primary-blue) !important;
        }
        
        .navbar-brand span {
            color: var(--accent-teal);
        }
        
        .hero-section {
            padding-top: 100px;
            background: linear-gradient(135deg, var(--light-blue) 0%, white 100%);
            min-height: 100vh;
            display: flex;
            align-items: center;
        }
        
        .hero-title {
            font-size: 3.5rem;
            font-weight: 800;
            line-height: 1.2;
            margin-bottom: 1.5rem;
            color: var(--dark-blue);
        }
        
        .hero-subtitle {
            font-size: 1.2rem;
            color: var(--gray-medium);
            margin-bottom: 2rem;
            max-width: 600px;
        }
        
        .btn-primary {
            background-color: var(--primary-blue);
            border-color: var(--primary-blue);
            padding: 0.75rem 2rem;
            font-weight: 600;
            border-radius: 8px;
            transition: all 0.3s ease;
        }
        
        .btn-primary:hover {
            background-color: var(--secondary-blue);
            border-color: var(--secondary-blue);
            transform: translateY(-3px);
            box-shadow: 0 10px 20px rgba(10, 77, 162, 0.2);
        }
        
        .btn-outline-primary {
            color: var(--primary-blue);
            border-color: var(--primary-blue);
            padding: 0.75rem 2rem;
            font-weight: 600;
            border-radius: 8px;
        }
        
        .btn-outline-primary:hover {
            background-color: var(--primary-blue);
            border-color: var(--primary-blue);
        }
        
        .section-title {
            font-size: 2.5rem;
            margin-bottom: 1rem;
            color: var(--dark-blue);
            position: relative;
            display: inline-block;
        }
        
        .section-title:after {
            content: '';
            position: absolute;
            left: 0;
            bottom: -10px;
            width: 60px;
            height: 4px;
            background-color: var(--accent-teal);
        }
        
        .section-title.center:after {
            left: 50%;
            transform: translateX(-50%);
        }
        
        .section-subtitle {
            color: var(--gray-medium);
            font-size: 1.1rem;
            max-width: 700px;
            margin-bottom: 3rem;
        }
        
        .service-card {
            background: white;
            border-radius: 12px;
            padding: 2rem;
            height: 100%;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
            border: 1px solid rgba(0, 0, 0, 0.05);
            transition: all 0.3s ease;
        }
        
        .service-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
            border-color: var(--accent-teal);
        }
        
        .service-icon {
            width: 70px;
            height: 70px;
            background: var(--light-blue);
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 1.5rem;
            color: var(--primary-blue);
            font-size: 1.8rem;
        }
        
        .carousel-item {
            height: 500px;
        }
        
        .carousel-item img {
            object-fit: cover;
            height: 100%;
            width: 100%;
        }
        
        .carousel-caption {
            background: rgba(10, 37, 64, 0.8);
            padding: 2rem;
            border-radius: 12px;
            bottom: 50px;
            left: 10%;
            right: 10%;
        }
        
        .product-card {
            border-radius: 12px;
            overflow: hidden;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
            transition: all 0.3s ease;
            height: 100%;
        }
        
        .product-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
        }
        
        .product-badge {
            position: absolute;
            top: 15px;
            right: 15px;
            background: var(--accent-teal);
            color: white;
            padding: 0.25rem 0.75rem;
            border-radius: 20px;
            font-size: 0.8rem;
            font-weight: 600;
        }
        
        .login-section {
            background: linear-gradient(135deg, var(--primary-blue) 0%, var(--secondary-blue) 100%);
            padding: 100px 0;
            color: white;
            margin-top: 40px;

        }
        
        .login-card {
            background: white;
            border-radius: 12px;
            padding: 2.5rem;
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
            color: #333;
        }
        
        .footer {
            background: var(--dark-blue);
            color: white;
            padding: 4rem 0 2rem;
        }
        
        .footer-links a {
            color: rgba(255, 255, 255, 0.8);
            text-decoration: none;
            transition: color 0.3s ease;
        }
        
        .footer-links a:hover {
            color: white;
        }
        
        .tech-stack {
            background-color: var(--light-blue);
            padding: 1rem;
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0.5rem;
            font-weight: 600;
            color: var(--primary-blue);
        }
        
        .navbar {
            padding: 1rem 0;
            background-color: white !important;
            box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
            transition: all 0.3s ease;
        }
        
        .navbar.scrolled {
            padding: 0.5rem 0;
        }
        
        @media (max-width: 768px) {
            .hero-title {
                font-size: 2.5rem;
            }
            
            .carousel-item {
                height: 400px;
            }
            
            .carousel-caption {
                bottom: 20px;
                left: 5%;
                right: 5%;
                padding: 1rem;
            }
        }


        
/*---------------- redes sociales*/
.social-bar {
  position: fixed;
  top: 50%;
  right: 0; /* es left:0 si lo pasamos a la izquierda */
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 12px;
  z-index: 1000;
}

.social-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  color: #fff;
  font-size: 1.5rem;
  border-radius: 50%;
  transition: transform 0.3s, opacity 0.3s;
}

.social-icon:hover {
  transform: scale(1.1);
  opacity: 0.9;
}


/* Colores personalizados de las REDES*/
.whatsapp { background: #25D366; }
.facebook { background: #1877F2; }
.youtube { background: #FF0000; }
.instagram { background: #E1306C; }
.gmail { background: #D44638; }     /* rojo Gmail */
.linkedin { background: #0A66C2; }  /* azul LinkedIn */


 /* ==========================
   CODIGO QR
========================== */
 /* Barra flotante lateral */
 .qr-widget {
  position: fixed;
  bottom: 18px;
  right: 5px;
  background: #25D366;
  border-radius: 12px;
  padding: 6px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  z-index: 9999;
  transition: all 0.3s ease;
}

#qrcode {
  width: 90px;
  height: 90px;
  background: white;
  border-radius: 8px;
  padding: 5px;
  overflow: hidden; /* 🔑 CLAVE */
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 🔥 OCULTA EL IMG, SOLO USAMOS CANVAS */
#qrcode img {
  display: none;
}

.qr-text {
  display: none;
  color: white;
  font-size: 0.9rem;
  text-align: center;
  margin-top: 5px;
}

.qr-widget:hover {
  padding: 15px;
}

.qr-widget:hover .qr-text {
  display: block;
}




    /*Es para Beneficios*/
.beneficios-section {
      background-color: #f8f9fa; /* gris pálido */
      border-radius: 12px;
      padding: 40px;
    }
   .beneficio-card {
  border-radius: 1rem;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 8px 20px rgba(0,0,0,0.08);
}

.beneficio-card:hover {
  transform: translateY(-8px) scale(1.05); /* se eleva y agranda */
  box-shadow: 0 15px 35px rgba(0,0,0,0.15); /* sombra más intensa */
}

/* efecto en el ícono */
.beneficio-card i {
  transition: color 0.3s ease, text-shadow 0.3s ease;
}

.beneficio-card:hover i {
  color: #0d6efd; /* cambia a azul (puedes ajustar según tu paleta) */
  text-shadow: 0 0 10px rgba(13,110,253,0.6); /* efecto de brillo */
}



    .beneficio-card h5 {
      font-size: 1.25rem;
      font-weight: 700;
    }
    .beneficio-card p {
      font-size: 1rem;
    }


    /*Barra clientes*/
   .bg-darkblue {
  background-color: #0a2a66; /* azul oscuro personalizado */
}

.counter:hover {
  transform: scale(1.1);
  color: #0d6efd; /* azul Bootstrap */
}

.bg-light {
  background-color: #f9f9f9 !important; /* gris muy suave */
}


/*Seccion con pantalla traslucidad enfrente la azul con foco*/
img.rounded.shadow {
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}

img.rounded.shadow:hover {
  transform: scale(1.05);
  box-shadow: 0 20px 40px rgba(0,0,0,0.3);
}

.bi-lightbulb-fill {
  transition: color 0.3s ease, text-shadow 0.3s ease;
}

.bi-lightbulb-fill:hover {
  color: #ffc107; /* amarillo brillante */
  text-shadow: 0 0 12px rgba(255,193,7,0.8);
}

section .overlay {
  animation: fadeIn 1.5s ease forwards;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/*Ultima parte*/
.footer-link {
  color: #ffffff;          /* blanco */
  text-decoration: none;   /* sin subrayado */
  transition: color 0.3s ease;
}

.footer-link:hover {
  color: #0d6efd;          /* azul Bootstrap al pasar el mouse */
}

/*CONTACTO*/
body {
      font-family: 'Poppins', sans-serif;
      background-color: #f8f9fa;
      padding-top: 30px;
    }
        /* Banner */
    .banner-section {
      background: linear-gradient(135deg, #0d6efd, #120647);
      color: white;
      padding: 30px 20px;
      text-align: center;
      margin-bottom: 3rem;
    }
    .banner-section h1 {
      font-weight: 700;
      font-size: 3rem;
    }
    .banner-section p {
      font-size: 1.25rem;
      opacity: 0.9;
    }
    .contact-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.contact-card:hover {
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 15px 35px rgba(0,0,0,0.15);
}

.btn {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.btn:hover {
  transform: scale(1.08); /* se agranda un poco */
  box-shadow: 0 10px 25px rgba(0,0,0,0.25); /* sombra más intensa */
}


    .contact-icon {
      font-size: 1.5rem;
      color: #0d6efd;
      margin-right: 10px;
    }
    .form-control, .btn {
      border-radius: 0.75rem;
    }
