/* ==========================================================================
   1. VARIABLES DE COLOR Y CONFIGURACIÓN BASE
   ========================================================================== */
:root {
    --azul-edsa: #002D5A;
    --rojo-edsa: #E30613;
    --glass-bg: rgba(0, 45, 90, 0.1); /* Nav casi transparente al inicio */
    --texto-principal: #ffffff;      /* Forzamos blanco por tu fondo oscuro */
    --card-bg: rgba(255, 255, 255, 0.05);
}

/* ==========================================================================
   2. ESTILOS ESPECÍFICOS DE NUESTRO EQUIPO
   ========================================================================== */
   
.btn-contacto-premium {
    padding: 12px 30px;
    border-radius: 50px;
    border: none;
    font-weight: 700;
    box-shadow: 0 4px 15px rgba(227, 6, 19, 0.3);
    transition: 0.3s;
    overflow: hidden;
    position: relative;
}

.btn-contacto-premium:hover {
    transform: scale(1.05);
    box-shadow: 0 6px 20px rgba(227, 6, 19, 0.5);
    color: white;
}


body {
    background: linear-gradient(#001744, #006680,#001744, #001339,#001339) !important;
    margin: 0;
    padding: 0;
}
/* ==========================================================================
   5. CARRUSEL DE EQUIPO
   ========================================================================== */


#team-carousel {
    /* Si tienes 80px, cámbialo a 0. 
       Si quieres que suba más, usa un número negativo como este: */
    margin-top: 0px; 
    
    height: 75vh;
    position: relative;
    overflow: hidden;
    z-index: 1; /* Asegúrate que sea menor al del navbar */
}




.carousel-item {
    height: 100vh;
    background-size: cover;
    background-position: center;
    
}



/* Indicadores personalizados */
.carousel-indicators button {
    width: 12px !important;
    height: 12px !important;
    border-radius: 50%;
    background-color: var(--rojo-edsa) !important;
    margin: 0 8px !important;
}




#team-carousel {
    height: 75vh;
    margin-top: 80px;
    position: relative;
    overflow: hidden;
    background-color: #000;
}

.carousel-img-container {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background-size: cover;
    background-position: center;
    z-index: 1;
    /* Degradado para legibilidad */
    background-image: linear-gradient(to right, rgba(0,19,57,0.85) 20%, rgba(0,19,57,0.2) 100%);
    transition: transform 8s linear; /* Tiempo que dura el zoom */
}

/* Efecto de Zoom cuando el slide entra */
.carousel-item.active .carousel-img-container {
    transform: scale(1.15);
}

.carousel-caption-custom {
    position: relative;
    z-index: 10;
    color: white;
    max-width: 700px;
}

/* Animación de entrada para el texto */

.active .reveal-text {
    opacity: 1;
    transform: translateY(0);
}

.active h6.reveal-text { transition-delay: 0.3s; }
.active h2.reveal-text { transition-delay: 0.5s; }
.active p.reveal-text { transition-delay: 0.7s; }






/* Aplicamos la animación a los elementos que tengan .reveal-text */
.carousel-item.active .reveal-text {
    animation: jumpIn 1s cubic-bezier(0.24, 1.2, 0.5, 1) forwards;
}






-------------------------------------------------------------------------


.bg-dark-custom {
    background-color: #00050a;
}

/* Tarjeta de Equipo - Optimizada para rendimiento */
.team-card {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 20px;
    overflow: hidden;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), 
                background 0.4s ease, 
                box-shadow 0.4s ease;
   
}

.team-card:hover {
    transform: translateY(-15px) translateZ(0);
    background: rgba(255, 255, 255, 0.07);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
    border-color: var(--rojo-edsa);
}

/* Contenedor de Imagen */
.team-img-wrapper {
    position: relative;
    overflow: hidden;
  
   
}

.team-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    
    backface-visibility: hidden;
}


/* Máscara Overlay */
.team-overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 45, 90, 0.8);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 20px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.team-card:hover .team-overlay {
    opacity: 1;
}

/* Iconos y Badges */
.team-social a {
    color: white;
    font-size: 1.2rem;
    margin-right: 15px;
   
}

.team-social a:hover { color: var(--rojo-edsa); }

.badge-tech {
    background: var(--rojo-edsa);
    color: white;
    padding: 5px 15px;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
}



/* ==========================================================================
   AJUSTE PARA TELÉFONOS (SOLUCIÓN TAMAÑO GIGANTE)
   ========================================================================== */
@media (max-width: 767px) {
    .team-card {
        max-width: 320px; /* Evita que la tarjeta sea gigante a lo ancho */
        margin: 0 auto 30px auto;
    }

    .team-img-wrapper {
        aspect-ratio: 1 / 1; /* Foto cuadrada en celular para ahorrar espacio */
    }

    .team-info {
        padding: 15px 10px;
    }

    .team-info h4 {
        font-size: 1.15rem;
    }
}

