
html, body {
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

*, *::before, *::after {
    box-sizing: inherit;
}

body {
    position: relative;
    min-height: 100vh;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    background-position: center;
}

body::before {
    content: '';
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 0;
    pointer-events: none;
}

body > * {
    position: relative;
    z-index: 1;
}

/* ===========================
   NAVEGACIÓN
   =========================== */
/* ===========================
   NAVEGACIÓN
   =========================== */
nav#main-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 50;
    transition: background-color 0.25s ease, box-shadow 0.25s ease;
}

/* Gradiente en el container interior del nav */
nav#main-nav > div:first-child::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(
        to right, 
        transparent 0%, 
        rgba(34, 211, 238, 0.6) 15%, 
        rgba(6, 182, 212, 1) 50%, 
        rgba(34, 211, 238, 0.6) 85%, 
        transparent 100%
    );
    z-index: 10;
    pointer-events: none;
}

/* Asegurar que el div tenga position relative */
nav#main-nav > div:first-child {
    position: relative;
}
/* ===========================
   HERO ANIMATIONS
   =========================== */
.hero-animate {
    opacity: 0;
    animation: fadeInUp 0.8s ease forwards;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ===========================
   ICONOS FLOTANTES (COPOS 50% más pequeños)
   =========================== */
.floating-icon {
    position: absolute;
    z-index: 10;
    opacity: 0.3;
    pointer-events: none;
    transform: translate(-50%, -50%);
}

.floating-icon i {
    font-size: 1.5rem; /* 50% del tamaño original (era 3rem aprox) */
    line-height: 1;
    display: inline-block;
}

/* Posiciones iniciales */
.floating-icon-1 { top: 20%; left: 10%; }
.floating-icon-2 { top: 35%; left: 18%; }
.floating-icon-3 { top: 50%; left: 12%; }
.floating-icon-4 { top: 65%; left: 22%; }

/* ===========================
   CONTADORES
   =========================== */
.counter-animated {
    display: inline-block;
    min-width: 48px;
}

/* ===========================
   BOTÓN WHATSAPP STICKY
   =========================== */
@keyframes bounce-slow {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

.animate-bounce-slow {
    animation: bounce-slow 2.5s infinite;
}

/* ===========================
   CARRUSEL DE MARCAS
   =========================== */
#carousel {
    display: flex;
    align-items: center;
    gap: 4rem;
    transform: translateX(0);
    transition: transform 0.5s linear;
}

#carousel a {
    flex-shrink: 0;
    width: 8rem;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

#carousel img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* ===========================
   EFECTOS ESPECIALES
   =========================== */
.text-transparent.bg-clip-text {
    filter: drop-shadow(0 0 20px rgba(34, 211, 238, 0.3));
}

/* ===========================
   RESPONSIVE
   =========================== */
@media (max-width: 768px) {
    .floating-icon {
        display: none;
    }

    #carousel {
        gap: 1rem;
    }

    #carousel a {
        width: 5.5rem;
        height: 3rem;
    }
}

@media (max-width: 640px) {
    .container {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }
}
.nav-link {
    color: #1f2937;
    text-decoration: none;
    position: relative;
    display: inline-block; /* Esto ayuda */
    padding-bottom: 4px; /* Espacio para la línea */
}

.nav-link::after {
    content: '';
    position: absolute;
    bottom: 0; /* Cambiado de -2px a 0 */
    left: 0;
    width: 0;
    height: 2px;
    background: linear-gradient(to right, #22d3ee, #06b6d4); /* Celeste degradado */
    transition: width 0.3s ease;
}

.nav-link:hover {
    color: #06b6d4; /* Color celeste al hover */
}

.nav-link:hover::after {
    width: 100%;
}