/* =========================================================
   NOSOTROS.CSS
   CORPORACIÓN APOLO
   PALETA MORADO + AMARILLO
========================================================= */


/* =========================================================
   PÁGINA PRINCIPAL
========================================================= */

.nosotros {

    width: 100%;

    min-height: calc(100vh - 76px);

    padding: 110px 24px 50px;

    display: flex;

    align-items: center;

    background-color: var(--fondo);

    transition:
        background-color 0.3s ease,
        color 0.3s ease;
}


/* =========================================================
   SLIDER PRINCIPAL
========================================================= */

.slider-nosotros {

    position: relative;

    width: 100%;

    max-width: 1100px;

    height: 550px;

    margin: 0 auto;

    overflow: hidden;

    border: 1px solid var(--borde);

    border-radius: var(--radio-grande);

    background-color: var(--superficie);

    box-shadow: var(--sombra);

}


/* =========================================================
   CONTENEDOR DE SLIDES
========================================================= */

.slides {

    width: 100%;

    height: 100%;

}


/* =========================================================
   CADA SLIDE
========================================================= */

.slide {

    position: absolute;

    inset: 0;

    width: 100%;

    height: 100%;

    display: block;

    opacity: 0;

    visibility: hidden;

    pointer-events: none;

    text-decoration: none;

    color: #FFFFFF;

    transition:
        opacity 0.5s ease,
        visibility 0.5s ease;

}


.slide.activo {

    opacity: 1;

    visibility: visible;

    pointer-events: auto;

    z-index: 1;

}


/* =========================================================
   IMAGEN
========================================================= */

.slide img {

    display: block;

    width: 100%;

    height: 100%;

    object-fit: cover;

}


/* =========================================================
   CAPA OSCURA
========================================================= */

.slide::after {

    content: "";

    position: absolute;

    inset: 0;

    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.78),
        rgba(0, 0, 0, 0.08)
    );

    pointer-events: none;

}


/* =========================================================
   CONTENIDO DEL SLIDE
========================================================= */

.slide-contenido {

    position: absolute;

    z-index: 2;

    left: 60px;

    right: 40px;

    bottom: 60px;

    max-width: 600px;

}


.slide-contenido h1 {

    margin: 0 0 10px;

    color: #FFFFFF;

    font-family: var(--fuente-principal);

    font-size: 3rem;

    font-weight: 800;

    line-height: 1.2;

}


.slide-contenido p {

    margin: 0;

    color: #FFFFFF;

    font-size: 1.2rem;

    line-height: 1.5;

}


/* =========================================================
   BOTONES DEL SLIDER
========================================================= */

.slider-anterior,
.slider-siguiente {

    position: absolute;

    z-index: 3;

    top: 50%;

    width: 50px;

    height: 50px;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 0;

    border: 2px solid transparent;

    border-radius: 50%;

    background-color: rgba(255, 255, 255, 0.90);

    color: var(--morado);

    font-family: Arial, sans-serif;

    font-size: 2rem;

    line-height: 1;

    cursor: pointer;

    transform: translateY(-50%);

    transition:
        transform var(--transicion),
        background-color var(--transicion),
        color var(--transicion),
        border-color var(--transicion);

}


.slider-anterior {

    left: 20px;

}


.slider-siguiente {

    right: 20px;

}


.slider-anterior:hover,
.slider-siguiente:hover {

    background-color: var(--morado);

    border-color: var(--morado);

    color: #FFFFFF;

    transform: translateY(-50%) scale(1.08);

}


.slider-anterior:focus-visible,
.slider-siguiente:focus-visible {

    outline: 3px solid var(--amarillo);

    outline-offset: 3px;

}


/* =========================================================
   INDICADORES
========================================================= */

.slider-indicadores {

    position: absolute;

    z-index: 3;

    bottom: 20px;

    left: 50%;

    display: flex;

    align-items: center;

    gap: 10px;

    transform: translateX(-50%);

}


.indicador {

    width: 10px;

    height: 10px;

    padding: 0;

    border: 2px solid transparent;

    border-radius: 50%;

    background-color: rgba(255, 255, 255, 0.55);

    cursor: pointer;

    transition:
        width var(--transicion),
        background-color var(--transicion),
        border-color var(--transicion);

}


.indicador:hover {

    background-color: var(--amarillo);

}


.indicador.activo {

    width: 28px;

    border-radius: 10px;

    background-color: var(--amarillo);

}


.indicador:focus-visible {

    outline: 3px solid var(--amarillo);

    outline-offset: 3px;

}


/* =========================================================
   MODO OSCURO
========================================================= */

body.modo-oscuro .nosotros {

    background-color: var(--fondo);

}


body.modo-oscuro .slider-nosotros {

    background-color: var(--superficie);

    border-color: var(--borde);

    box-shadow:
        0 12px 30px rgba(0, 0, 0, 0.30);

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 850px) {

    .nosotros {

        min-height: auto;

        padding: 100px 20px 40px;

    }


    .slider-nosotros {

        height: 500px;

    }


    .slide-contenido {

        left: 45px;

        right: 40px;

        bottom: 55px;

    }


    .slide-contenido h1 {

        font-size: 2.5rem;

    }

}


/* =========================================================
   MÓVIL
========================================================= */

@media (max-width: 650px) {

    .nosotros {

        padding: 95px 16px 30px;

        align-items: flex-start;

    }


    .slider-nosotros {

        height: 500px;

        border-radius: 16px;

    }


    .slide-contenido {

        left: 30px;

        right: 30px;

        bottom: 55px;

    }


    .slide-contenido h1 {

        font-size: 2rem;

    }


    .slide-contenido p {

        font-size: 1rem;

    }


    .slider-anterior,
    .slider-siguiente {

        width: 42px;

        height: 42px;

        font-size: 1.7rem;

    }


    .slider-anterior {

        left: 10px;

    }


    .slider-siguiente {

        right: 10px;

    }

}


/* =========================================================
   MÓVIL PEQUEÑO
========================================================= */

@media (max-width: 400px) {

    .nosotros {

        padding-left: 12px;

        padding-right: 12px;

    }


    .slider-nosotros {

        height: 450px;

        border-radius: 14px;

    }


    .slide-contenido {

        left: 24px;

        right: 24px;

        bottom: 50px;

    }


    .slide-contenido h1 {

        font-size: 1.8rem;

    }


    .slide-contenido p {

        font-size: 0.95rem;

    }

}
/* Imágenes de los slides */
.slider-nosotros .slide img {
    object-position: center center;
}
