/* ===================================================================
   GRUPO XAMANEN - DISEÑO "AURORA GLASS"
   Concepto: Futurista, Tecnológico, Dinámico.
=================================================================== */

/* ==================== 1. VARIABLES Y ESTILOS GLOBALES ==================== */
:root {
    /* Paleta de Colores "Aurora" */
    --aurora-purple: #65005E;
    --aurora-blue: #3C84CE;
    --aurora-cyan: #30EEE2;
    --aurora-red-pop: #FF1919;
    --dark-void: #0A0C10;
    --light-text: #F0F2F5;
    --light-text-muted: rgba(240, 242, 245, 0.7);

    /* Estilos de Glassmorphism */
    --glass-bg: rgba(18, 24, 39, 0.75);
    --glass-blur: 10px;
    --glass-border: 1px solid rgba(255, 255, 255, 0.1);
    
    /* Fuentes y Bordes */
    --font-family-headings: 'Poppins', sans-serif;
    --font-family-base: 'Inter', sans-serif;
    --border-radius: 1rem; /* 16px */
}

body {
    font-family: var(--font-family-base);
    color: var(--light-text);
    line-height: 1.7;
    background: linear-gradient(315deg, rgba(101,0,94,1) 3%, rgba(60,132,206,1) 38%, rgba(48,238,226,1) 68%, rgba(255,25,25,1) 98%);
    /*background: linear-gradient(315deg, rgba(101,0,94,1) 3%, rgba(60,132,206,1) 38%, rgba(48,238,226,1) 68%, rgba(255,25,25,1) 98%);*/
    animation: gradient 15s ease infinite;
    background-size: 400% 400%;
    background-attachment: fixed; /* 'fixed' es clave para que el glassmorphism funcione bien */
}

@keyframes gradient {
    0% { background-position: 0% 0%; }
    50% { background-position: 100% 100%; }
    100% { background-position: 0% 0%; }
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-family-headings);
    color: var(--light-text);
    font-weight: 700;
    letter-spacing: 0.5px;
}

.section-title {
    font-size: clamp(2.2rem, 5vw, 3rem);
    margin-bottom: 1rem;
    text-shadow: 0 2px 10px rgba(0,0,0,0.3);
}

.lead {
    color: var(--light-text-muted);
    font-weight: 400;
}

/* ==================== 2. COMPONENTE CLAVE: GLASS PANEL ==================== */
.glass-panel {
    background: var(--glass-bg);
    backdrop-filter: blur(var(--glass-blur));
    -webkit-backdrop-filter: blur(var(--glass-blur));
    border-radius: var(--border-radius);
    border: var(--glass-border);
    padding: 2.5rem;
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
    transition: all 0.3s ease;
}

@media (max-width: 767px) {
    .glass-panel {
        padding: 1.5rem;
    }
}

/* ==================== 3. HEADER / NAVEGACIÓN ==================== */
.navbar {
    background: var(--glass-bg) !important;
    backdrop-filter: blur(var(--glass-blur));
    -webkit-backdrop-filter: blur(var(--glass-blur));
    border-bottom: var(--glass-border);
}

.navbar .nav-link {
    font-weight: 600;
    color: var(--light-text-muted);
    transition: color 0.3s ease;
}

.navbar .nav-link:hover, .navbar .nav-link.active {
    color: var(--light-text);
}

.navbar-toggler {
    border-color: rgba(255,255,255,0.2);
}
.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.8)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.dropdown-menu {
    background: var(--dark-void);
    border: var(--glass-border);
    border-radius: var(--border-radius);
}

.dropdown-item {
    color: var(--light-text-muted);
}
.dropdown-item:hover {
    background: var(--glass-bg);
    color: var(--light-text);
}

.logo-text {
    /* Estilo de la fuente */
    font-family: var(--font-family-headings);
    font-size: 1.5rem; /* Ajusta el tamaño*/
    font-weight: 700;
    letter-spacing: 1px;
    
    background: linear-gradient(315deg, rgba(101,0,94,1) 3%, rgba(60,132,206,1) 38%, rgba(48,238,226,1) 68%, rgba(255,25,25,1) 98%);
    background-size: 400% 400%;
    animation: gradient 15s ease infinite;

    /* recorte de el fondo a la forma del texto */
    -webkit-background-clip: text;
    background-clip: text;
    
    /* el color del texto transparente para que se vea el fondo */
    color: transparent;
}

/* ==================== 4. SECCIÓN HERO & PARTICLES ==================== */
.hero-section {
    position: relative;
    height: 60vh;
    min-height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--light-text);
}

#particles-js {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0; left: 0;
    z-index: 1;
}

.hero-content {
    position: relative;
    z-index: 1;
}

.text-primary-custom {
    color: var(--aurora-cyan) !important;
}

/* ==================== 4B. ANIMACIÓN DE TÍTULO HERO ==================== */
.animated-title span {
    display: inline-block; /* Necesario para aplicar transformaciones */
    opacity: 0; /* Inicialmente, todas las palabras son invisibles */
    animation-fill-mode: forwards; /* Mantiene el estado final de la animación */
}

/* Animación para la primera palabra: Aparece y se va */
.animated-title .word-1 {
    animation: fadeInOut 3s ease-in-out forwards;
}

/* Animación para la segunda palabra: Aparece y se va, pero empieza más tarde */
.animated-title .word-2 {
    animation: fadeInOut 3s ease-in-out 3s forwards; /* Inicia después de 3s */
}

/* Animación para la tercera palabra: Aparece y se va, pero empieza aún más tarde */
.animated-title .word-3 {
    animation: fadeInOut 3s ease-in-out 6s forwards; /* Inicia después de 6s */
}

/* Keyframes para la animación de entrada y salida */
@keyframes fadeInOut {
    0% {
        opacity: 0;
        transform: translateY(40px) scale(0.9);
    }
    20%, 80% { /* Se mantiene visible durante este periodo */
        opacity: 1;
        transform: translateY(0) scale(1);
    }
    100% {
        opacity: 0;
        transform: translateY(-40px) scale(0.9);
    }
}

/* Después de que terminen las animaciones individuales, mostramos el título completo */
.animated-title:hover span, /* Opcional: mostrar todo al pasar el ratón */
.animated-title.finished span {
    animation: none; /* Quitamos las animaciones individuales */
    opacity: 1;
    transform: none;
}

/* ==================== 5. SECCIONES Y CONTENIDO ==================== */
section {
    padding: 100px 0;
    position: relative;
}

.partner-feature-box {
    text-align: center;
    padding: 1.9rem;
    height: 100%;
}
.partner-feature-box .icon-wrapper {
    font-size: 2.5rem;
    color: var(--aurora-cyan);
    margin-bottom: 1rem;
}
.partner-feature-box h4 {
    color: var(--light-text);
}
.partner-feature-box p {
    color: var(--light-text-muted);
}

/* ==================== 6. SOLUCIONES (FEATURE GRID) ==================== */
.solution-visual {
    text-align: center;
    padding: 2rem;
}

.solution-icon {
    font-size: 6rem; /* Icono principal enorme */
    color: var(--aurora-cyan);
    text-shadow: 0 0 25px rgba(48, 238, 226, 0.6);
    margin-bottom: 1rem;
    display: block;
}

.solution-visual h3 {
    font-size: 2rem;
    color: var(--light-text);
}

.solution-visual .lead {
    color: var(--light-text-muted);
    margin-bottom: 0.5rem;
}

/*.partner-logo {  Descomenta esta regla si usas imágenes de logos */
    /* max-width: 180px;
    filter: brightness(0) invert(1) opacity(0.8); 
    margin-top: 1rem; 
} */

/* Ajuste para que la lista dentro del panel de vidrio se vea bien */
.glass-panel .service-list {
    columns: 1; /* Forzamos una sola columna para mayor claridad en este layout */
}


/* ==================== 9. EXPERTISE TABS ==================== */
.nav-pills .nav-link {
    padding: 12px 25px;
    font-weight: 600;
    color: var(--light-text-muted);
    border-radius: 50px;
    background-color: rgba(18, 24, 39, 0.4);
    border: 1px solid rgba(255, 255, 255, 0.1);
    margin: 0 5px 10px;
    transition: all 0.3s ease;
}

.nav-pills .nav-link:hover {
    background-color: rgba(18, 24, 39, 0.7);
    color: var(--light-text);
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    background: linear-gradient(90deg, var(--aurora-blue), var(--aurora-cyan));
    color: var(--dark-void);
    border-color: transparent;
    box-shadow: 0 0 20px rgba(48, 238, 226, 0.5);
    transform: translateY(-2px);
}

.service-list {
    list-style: none;
    padding-left: 0;
    margin-top: 1.5rem;
    columns: 2; /* Mantenemos el formato de dos columnas */
    column-gap: 2rem;
}

.service-list li {
    padding-left: 1.8rem;
    position: relative;
    margin-bottom: 0.75rem;
    color: var(--light-text-muted);
    break-inside: avoid;
}

/* El checkmark ahora brilla con el color cyan neón */
.service-list li::before {
    content: '\f058';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    color: var(--aurora-cyan);
    position: absolute;
    left: 0;
    top: 5px;
    font-size: 1.1rem;
    text-shadow: 0 0 8px rgba(48, 238, 226, 0.7);
}

@media (max-width: 767px) {
    .service-list {
        columns: 1; /* En móviles, usamos una sola columna */
    }
}

/* ==================== 7. FORMULARIO DE CONTACTO ==================== */
#wrapper-contact-title {
    height: 14rem;
}

#contact-title {
    font-weight: 700;
    min-height: 90px; /* Espacio para el efecto de tipeo */
    display: inline !important;
}

.typed-cursor {
    font-size: 2.5rem;
}

.form-label {
    color: var(--light-text-muted);
    font-weight: 500;
}
.form-control, .form-select {
    background-color: rgba(0,0,0,0.2);
    border: 1px solid rgba(255,255,255,0.1);
    color: var(--light-text);
    padding: 0.75rem 1rem;
    border-radius: 0.5rem;
}
.form-control:focus, .form-select:focus {
    background-color: rgba(0,0,0,0.3);
    color: var(--light-text);
    border-color: var(--aurora-cyan);
    box-shadow: 0 0 10px rgba(48, 238, 226, 0.3);
}
.form-control::placeholder {
    color: rgba(255,255,255,0.3);
}

.btn-submit {
    background: linear-gradient(90deg, var(--aurora-blue), var(--aurora-cyan));
    border: none;
    color: var(--dark-void);
    font-weight: 700;
    padding: 12px 30px;
    border-radius: 50px;
    transition: all 0.3s ease;
}
.btn-submit:hover {
    transform: scale(1.05);
    box-shadow: 0 5px 20px rgba(48, 238, 226, 0.4);
}
.form-check-label {
    font-size: 0.9rem;
    color: var(--light-text-muted);
}
.form-text {
    font-size: 0.8rem;
    color: rgba(255,255,255,0.5);
}

/* ==================== 8. FOOTER ==================== */
footer {
    background-color: var(--dark-void);
    border-top: 1px solid rgba(255,255,255,0.1);
    color: var(--light-text-muted);
}
.footer-link {
    color: var(--light-text-muted);
    text-decoration: none;
    transition: color 0.3s ease;
}
.footer-link:hover {
    color: var(--aurora-cyan);
}
footer h5 {
    color: var(--light-text);
}
.social-icon {
    color: var(--light-text-muted);
    font-size: 1.5rem;
    margin-right: 1rem;
    transition: color 0.3s ease, transform 0.3s ease;
}
.social-icon:hover {
    color: var(--aurora-cyan);
    transform: translateY(-3px);
}