:root {
    --azul-wexiz: #000000;
    --dorado-wexiz: #00b7ff;
    --oscuro: #1a1a1a;
    --gris-suave: #f4f4f4;
}

body { 
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; 
    margin: 0; 
    color: #333; 
    overflow-x: hidden;
}

.contenedor { max-width: 1100px; margin: 0 auto; padding: 0 20px; }

/* =========================================
   HERO CON SLIDER AUTOMÁTICO (1 a 10.jpg)
   ========================================= */
.hero-nosotros {
    height: 600px; /* Aumentado para que luzcan las fotos */
    position: relative;
    color: white;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Contenedor de las imágenes */
.slideshow-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.slide {
    position: absolute;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    opacity: 0;
    /* Animación de 50 segundos: 10 fotos x 5 segundos cada una */
    animation: fadeAndZoom 50s infinite;
}

/* Tiempos de retraso para que aparezcan una tras otra */
.slide:nth-child(1) { background-image: url('mineria/1.jpeg'); animation-delay: 0s; }
.slide:nth-child(2) { background-image: url('mineria/2.jpeg'); animation-delay: 5s; }
.slide:nth-child(3) { background-image: url('mineria/3.jpeg'); animation-delay: 10s; }
.slide:nth-child(4) { background-image: url('mineria/4.jpeg'); animation-delay: 15s; }
.slide:nth-child(5) { background-image: url('mineria/5.jpeg'); animation-delay: 20s; }
.slide:nth-child(6) { background-image: url('mineria/6.jpeg'); animation-delay: 25s; }
.slide:nth-child(7) { background-image: url('mineria/7.jpeg'); animation-delay: 30s; }
.slide:nth-child(8) { background-image: url('mineria/8.jpeg'); animation-delay: 35s; }
.slide:nth-child(9) { background-image: url('mineria/9.jpeg'); animation-delay: 40s; }
.slide:nth-child(10) { background-image: url('mineria/10.jpeg'); animation-delay: 45s; }

/* Efecto de desvanecimiento y zoom lento */
@keyframes fadeAndZoom {
    0% { opacity: 0; transform: scale(1); }
    5% { opacity: 1; }
    15% { opacity: 1; }
    20% { opacity: 0; transform: scale(1.1); }
    100% { opacity: 0; }
}

/* Capa oscura para que el texto resalte */
.capa-oscura { 
    background: rgba(0, 0, 0, 0.55); 
    position: absolute; 
    width: 100%; 
    height: 100%; 
    z-index: 2;
    display: flex; 
    align-items: center; 
    justify-content: center; 
}

.contenido-hero { 
    position: relative; 
    z-index: 3; 
    text-align: center; 
    max-width: 800px;
}
 















/* =========================================
   SLIDER DE TEXTO DINÁMICO
   ========================================= */
.texto-dinamico {
    position: relative;
    height: 60px; /* Ajusta según el largo del texto */
    margin-top: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.frase {
    position: absolute;
    width: 100%;
    max-width: 850px;
    font-size: 1.2rem;
    line-height: 1.5;
    color: #ffffff;
    text-shadow: 2px 2px 8px rgba(0,0,0,0.9);
    opacity: 0;
    margin: 0;
    /* Animación de 15 segundos en total (5s por frase) */
    animation: slideTexto 15s infinite;
}

/* Tiempos de aparición para cada frase */
.frase:nth-child(1) { animation-delay: 0s; }
.frase:nth-child(2) { animation-delay: 5s; }
.frase:nth-child(3) { animation-delay: 10s; }

@keyframes slideTexto {
    0% { opacity: 0; transform: translateY(10px); }
    5% { opacity: 1; transform: translateY(0); }
    28% { opacity: 1; transform: translateY(0); }
    33% { opacity: 0; transform: translateY(-10px); }
    100% { opacity: 0; }
}

/* Ajuste para dispositivos móviles */
@media (max-width: 768px) {
    .texto-dinamico { height: 100px; } /* Más espacio para texto envuelto */
    .frase { font-size: 1rem; padding: 0 10px; }
}



















.contenido-hero h1 {
    font-size: 3rem;
    text-transform: uppercase;
    margin-bottom: 10px;
    text-shadow: 2px 2px 10px rgba(0,0,0,0.5);
}

/* =========================================
   RESTO DE SECCIONES
   ========================================= */

/* Secciones de Texto */
.seccion-texto { padding: 80px 0; background: #fff; }
.grid-nosotros { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; }
.etiqueta { color: var(--dorado-wexiz); font-weight: bold; text-transform: uppercase; letter-spacing: 2px; }


 

/* Proyectos */
.proyectos-bg { background: var(--oscuro); color: white; padding: 80px 0; }
.grid-proyectos-detallado { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 25px; margin-top: 40px; }
.item-proyecto { 
    background: rgba(255,255,255,0.05); 
    padding: 30px; 
    border-radius: 15px; 
    text-align: center; 
    border-bottom: 3px solid transparent;
    transition: 0.3s;
}

.item-proyecto:hover { 
    background: rgba(255,255,255,0.1); 
    border-bottom: 3px solid var(--dorado-wexiz);
    transform: translateY(-5px);
}

.item-proyecto i { font-size: 45px; color: var(--dorado-wexiz); margin-bottom: 20px; }

/* Servicios */
.servicios-lista { padding: 80px 0; background: var(--gris-suave); }
.lista-servicios { 
    background: white; 
    padding: 20px; 
    border-radius: 15px; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.08); 
}
.s-row { 
    padding: 20px; 
    border-bottom: 1px solid #eee; 
    display: flex;
    align-items: center;
}
.s-row:last-child { border-bottom: none; }
.s-row strong { color: var(--azul-wexiz); font-size: 1.1rem; margin-right: 10px; }

/* Contacto y Equipo */
.contacto-final { padding: 80px 0; background: #fff; }
.grid-contacto { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.card-humano, .card-datos { 
    padding: 40px; 
    border-radius: 20px; 
    border: 1px solid #eee; 
    background: #fff;
    box-shadow: 0 5px 15px rgba(0,0,0,0.02);
}

.card-humano h3 i, .card-datos h3 i { color: var(--dorado-wexiz); margin-right: 10px; }

.estrategia-box { 
    background: var(--azul-wexiz); 
    color: white; 
    padding: 20px; 
    margin-top: 25px; 
    border-radius: 12px; 
    border-left: 5px solid var(--dorado-wexiz);
}

.card-datos ul { list-style: none; padding: 0; }
.card-datos li { margin-bottom: 18px; display: flex; gap: 12px; align-items: flex-start; line-height: 1.4; }
.card-datos i { color: var(--azul-wexiz); font-size: 1.2rem; margin-top: 3px; }

.titulo-centrado { text-align: center; margin-bottom: 50px; font-size: 2.2rem; }

/* Responsive */
@media (max-width: 768px) {
    .grid-nosotros, .grid-contacto { grid-template-columns: 1fr; }
    .hero-nosotros { height: 500px; }
    .contenido-hero h1 { font-size: 2rem; }
}




/* --- Mejoras en la Sección Quiénes Somos --- */
.seccion-texto {
    padding: 100px 0;
    background: #ffffff;
}

.p-destacado {
    font-size: 1.15rem;
    color: var(--azul-wexiz);
    line-height: 1.6;
    margin-bottom: 20px;
}

/* Pilares Dinámicos */
.pilares-wexiz {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 15px;
    margin-top: 30px;
}

.pilar-item {
    background: var(--gris-suave);
    padding: 15px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: 0.3s;
    border-bottom: 3px solid var(--dorado-wexiz);
}

.pilar-item:hover {
    transform: translateY(-5px);
    background: white;
    box-shadow: 0 10px 20px rgba(0,0,0,0.05);
}

.pilar-item i {
    color: var(--azul-wexiz);
    font-size: 1.5rem;
    margin-bottom: 10px;
}

.pilar-item span {
    font-size: 0.85rem;
    font-weight: bold;
    text-transform: uppercase;
    color: #555;
}
/* --- Contenedor de la Imagen --- */
.col-img {
    display: flex;
    justify-content: center; 
    align-items: center;
    padding: 20px; /* Espacio extra alrededor para que no toque los bordes */
}

.marco-decorativo {
    position: relative;
    display: inline-block;
    /* Eliminamos paddings internos que puedan achicar la imagen */
    padding: 0; 
}

/* --- La Imagen (Logo) --- */
.img-borde {
    /* Cambia este valor para aumentar el tamaño (ejemplo: de 300px a 450px) */
    width: 100%;
    max-width: 450px; 
    
    height: auto;
    position: relative;
    z-index: 2;
    display: block;
    margin: 0 auto;
    
    /* Mantenemos la fusión limpia con el fondo */
    mix-blend-mode: multiply; 
    filter: drop-shadow(0 5px 15px rgba(0,0,0,0.05));
}

/* --- Ajuste del Marco (Opcional) --- */
.marco-decorativo::before {
    content: "";
    position: absolute;
    /* Ajustamos la posición para que abrace la imagen más grande */
    top: -15px;
    left: -15px;
    /* Hacemos el adorno un poco más grande también */
    width: 120px;
    height: 120px;
 
    z-index: 1;
}










/* Fondo oscuro con desvanecimiento */
.modal-overlay {
    display: none; 
    position: fixed; 
    z-index: 99999; 
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7); 
    backdrop-filter: blur(8px);
    /* Animación para el fondo */
    animation: fadeIn 0.4s ease-out;
}

/* La tarjeta con efecto de zoom y suavidad */
.modal-tarjeta {
    background-color: #fff;
    margin: 10% auto;
    padding: 40px;
    border-radius: 20px;
    width: 90%;
    max-width: 500px;
    position: relative;
    box-shadow: 0 25px 50px rgba(0,0,0,0.5);
    text-align: center;
    border-top: 5px solid var(--dorado-wexiz);
    
    /* ESTA ES LA MAGIA: Animación de entrada */
    animation: entradaSuave 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* Keyframes para el fondo */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Keyframes para la tarjeta (Zoom + Subida) */
@keyframes entradaSuave {
    0% {
        opacity: 0;
        transform: scale(0.7) translateY(30px);
    }
    100% {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

/* Opcional: Estilo del botón cerrar para que sea más elegante */
.cerrar-modal {
    position: absolute;
    top: 15px;
    right: 20px;
    font-size: 28px;
    cursor: pointer;
    color: #bbb;
    transition: color 0.3s;
}

.cerrar-modal:hover {
    color: var(--dorado-wexiz);
}

























/* pasarela de imagenes */




/* =========================================
   PASARELA DE IMÁGENES (VISTA MEJORADA)
   ========================================= */

.pasarela-imagenes {
    padding: 100px 0; /* Más espacio para que luzca */
    background: #ffffff;
}

.contenedor-pasarela {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.titulo-pasarela {
    text-align: center;
    margin-bottom: 50px;
}

.titulo-pasarela h3 {
    color: var(--dorado-wexiz); /* Azul #00b7ff */
    text-transform: uppercase;
    letter-spacing: 3px;
    font-size: 1.8rem;
    margin-bottom: 5px;
}

.subtitulo-wexiz {
    font-size: 0.9rem;
    color: #888;
    letter-spacing: 1px;
}

/* --- Contenedor Principal ( Shadow Industrial ) --- */
.carrusel-infinito {
    /* Clave: No abarca toda la página, se ajusta al contenedor (1100px max) */
    width: 100%;
    max-width: 1100px;
    margin: 0 auto; /* Centrado */
    
    overflow: hidden;
    position: relative;
    border-radius: 20px;
    padding: 10px 0; /* Separación para las sombras */
}

/* Sombra premium que le da peso industrial */
.shadow-industrial {
    box-shadow: 0 15px 40px rgba(0,0,0,0.12);
}

/* Capas de desenfoque (Bordes Suaves) */
.desenfoque-izq, .desenfoque-der {
    position: absolute;
    top: 0;
    width: 80px;
    height: 100%;
    z-index: 2;
}

.desenfoque-izq {
    left: 0;
    background: linear-gradient(to right, #ffffff, rgba(255, 255, 255, 0));
}

.desenfoque-der {
    right: 0;
    background: linear-gradient(to left, #ffffff, rgba(255, 255, 255, 0));
}

/* --- El Track que se mueve --- */
.track-imagenes {
    display: flex;
    gap: 15px; /* Separación limpia entre fotos */
    width: calc(300px * 15 + 15px * 14); /* Ajuste según gap */
    animation: scrollInfinito 50s linear infinite; /* Un poco más lento, más profesional */
}

.foto-pasarela {
    width: 300px; /* Tamaño controlado de la foto */
    height: 200px; /* Tamaño controlado de la foto */
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 12px;
}

.foto-pasarela img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease-out; /* Efecto hover suave */
    border-radius: 12px;
}

.foto-pasarela img:hover {
    transform: scale(1.1) rotate(1deg); /* Zoom y ligero giro industrial */
    cursor: pointer;
}

/* --- Animación (Corregida) --- */
@keyframes scrollInfinito {
    0% { transform: translateX(0); }
    100% { transform: translateX(calc(-300px * 10 - 15px * 10)); } /* Se mueve el ancho de 10 fotos + 10 gaps */
}








/* Pausar al pasar el mouse */
.carrusel-infinito:hover .track-imagenes {
    animation-play-state: paused;
}

/* Ajuste Responsivo */
@media (max-width: 768px) {
    .foto-pasarela { width: 220px; height: 160px; }
}





/* Botones de la Pasarela */.btn-pasarela {
    position: absolute;
    z-index: 100 !important; /* Prioridad sobre las fotos y degradados */
    background: rgba(255, 255, 255, 0.9);
    border: 2px solid #00b7ff; /* Color corporativo azul eléctrico */
    color: #00b7ff;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.btn-pasarela:hover {
    background: #00b7ff;
    color: white;
}

.btn-pasarela.prev { left: 15px; }
.btn-pasarela.next { right: 15px; }















.carrusel-infinito {
    position: relative;
    overflow: hidden;
    max-width: 1100px;
    margin: 0 auto;
    z-index: 1;
}

.track-imagenes {
    display: flex;
    gap: 15px;
    transition: transform 0.6s cubic-bezier(0.2, 1, 0.3, 1);
    will-change: transform;
}

.btn-pasarela {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    /* ESTO ES LO MÁS IMPORTANTE */
    z-index: 9999 !important; 
    pointer-events: auto !important; 
    cursor: pointer !important;
    /* ------------------------ */
    background: white;
    border: 2px solid #00b7ff; /* Azul Wexiz */
    color: #00b7ff;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-pasarela.prev { left: 10px; }
.btn-pasarela.next { right: 10px; }