/* =========================================================
   VIDEOS - SISTEMA
   ========================================================= */


/* =========================================================
   COLOR AZUL DEL TÍTULO
   ========================================================= */

.videos-contenido h1.azul {
    color: var(--color-2);
}

.videos-contenido span {
    color: var(--color-2);
}


/* =========================================================
   DESCRIPCIONES DEL SISTEMA
   ========================================================= */

.videos-descripcion {
    width: 100%;
    max-width: 600px;

    display: flex;
    align-items: center;

    gap: 18px;

    margin-top: 28px;
}


/* =========================================================
   ICONOS DE DESCRIPCIÓN
   ========================================================= */

.videos-descripcion img {
    width: 65px;
    height: 65px;

    object-fit: contain;

    flex-shrink: 0;

    filter:
        drop-shadow(0 0 8px rgba(97, 163, 240, 0.45))
        drop-shadow(0 0 15px rgba(47, 92, 235, 0.25));
}


/* =========================================================
   CONTENEDOR DE LOS TEXTOS
   ========================================================= */

.videos-descripcion-texto {
    min-width: 0;

    display: flex;

    flex-direction: column;

    align-items: flex-start;

    justify-content: center;

    gap: 4px;
}


/* =========================================================
   TEXTOS DE DESCRIPCIÓN
   ========================================================= */

.videos-descripcion-texto p {
    margin: 0;

    max-width: 500px;

    font-family: var(--fuente-principal);

    line-height: 1.6;

    text-align: left;
}


/* =========================================================
   TÍTULO
   ========================================================= */

.videos-descripcion-texto p:first-child {
    color: var(--color-blanco);

    font-size: 0.92rem;

    font-weight: 700;

    letter-spacing: 0.5px;
}


/* =========================================================
   DESCRIPCIÓN
   ========================================================= */

.videos-descripcion-texto p:last-child {
    color: rgba(255, 255, 255, 0.72);

    font-size: 0.82rem;

    font-weight: 400;
}


/* =========================================================
   BARRA DE INFORMACIÓN
   ========================================================= */

.barra-informacion {
    width: 100%;

    display: flex;

    flex-direction: row;

    align-items: center;

    justify-content: center;

    padding: 20px 5%;

    background: var(--color-fondo);

    box-sizing: border-box;

    border-top: 1px solid rgba(97, 163, 240, 0.18);

    border-bottom: 1px solid rgba(97, 163, 240, 0.18);

    box-shadow:
        0 0 20px rgba(47, 92, 235, 0.06);
}


/* =========================================================
   ELEMENTOS DE LA BARRA
   ========================================================= */

.barra-elemento {
    flex: 1 1 0;

    min-width: 0;

    display: flex;

    flex-direction: row;

    align-items: center;

    justify-content: center;

    gap: 12px;

    padding: 5px 15px;

    box-sizing: border-box;
}


/* =========================================================
   ICONOS DE LA BARRA
   ========================================================= */

.barra-elemento img {
    width: 50px;
    height: 50px;

    object-fit: contain;

    flex-shrink: 0;
}


/* =========================================================
   CONTENEDOR DE TEXTO
   ========================================================= */

.barra-texto {
    min-width: 0;

    display: flex;

    flex-direction: column;

    align-items: flex-start;

    justify-content: center;

    text-align: left;
}


/* =========================================================
   TÍTULO DE LA BARRA
   ========================================================= */

.barra-texto span {
    display: block;

    margin: 0 0 4px;

    color: var(--color-cielo);

    font-family: var(--fuente-principal);

    font-size: 0.78rem;

    font-weight: 700;

    line-height: 1.2;

    white-space: nowrap;
}


/* =========================================================
   DESCRIPCIÓN DE LA BARRA
   ========================================================= */

.barra-texto p {
    margin: 0;

    max-width: 160px;

    color: rgba(255, 255, 255, 0.68);

    font-family: var(--fuente-principal);

    font-size: 0.65rem;

    line-height: 1.4;

    text-align: left;
}


/* =========================================================
   SEPARADORES
   ========================================================= */

.barra-separador {
    flex: 0 0 1px;

    width: 1px;

    height: 55px;

    background: linear-gradient(
        to bottom,
        transparent,
        var(--color-cielo),
        var(--color-rey),
        transparent
    );

    opacity: 0.55;
}


/* =========================================================
   CONTENEDOR DE CARDS - SISTEMA
   ========================================================= */

.contenedor-cards-sistema {
    width: 100%;

    max-width: 1400px;

    margin: 45px auto 0;

    padding: 0 20px;

    box-sizing: border-box;

    display: grid;

    grid-template-columns: repeat(5, minmax(0, 1fr));

    gap: 18px;
}


/* =========================================================
   CARD - SISTEMA
   ========================================================= */

.sistema-card {
    position: relative;

    width: 100%;

    min-height: 350px;

    overflow: hidden;

    border-radius: 18px;

    background:
        radial-gradient(
            ellipse at 50% 25%,
            rgba(97, 163, 240, 0.10) 0%,
            rgba(47, 92, 235, 0.05) 35%,
            transparent 70%
        ),
        rgba(2, 4, 8, 0.96);

    border: 1px solid rgba(97, 163, 240, 0.18);

    box-shadow:
        0 0 18px rgba(47, 92, 235, 0.08);

    box-sizing: border-box;

    transition:
        transform 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}


/* =========================================================
   HOVER DE LA CARD
   ========================================================= */

.sistema-card:hover {
    transform: translateY(-5px);

    border-color: rgba(97, 163, 240, 0.45);

    box-shadow:
        0 0 20px rgba(47, 92, 235, 0.16),
        0 0 40px rgba(47, 92, 235, 0.06);
}


/* =========================================================
   CONTENIDO DE LA CARD
   ========================================================= */

.sistema-card-contenido {
    position: relative;

    z-index: 2;

    width: 100%;

    min-height: 350px;

    padding: 30px 20px 25px;

    box-sizing: border-box;

    display: flex;

    flex-direction: column;

    align-items: center;

    text-align: center;
}


/* =========================================================
   ICONO DE LA CARD
   ========================================================= */

/*
   Todos los iconos tienen exactamente el mismo espacio
   y tamaño.

   De esta manera no se mueven dependiendo de la cantidad
   de texto que tenga cada card.
*/

.sistema-card-icono {
    width: 75px;

    height: 75px;

    object-fit: contain;

    flex-shrink: 0;

    margin: 0 0 22px;

    filter:
        drop-shadow(0 0 8px rgba(97, 163, 240, 0.50))
        drop-shadow(0 0 18px rgba(47, 92, 235, 0.25));
}


/* =========================================================
   TÍTULO DE LA CARD
   ========================================================= */

.sistema-card-contenido h3 {
    width: 100%;

    min-height: 42px;

    margin: 0 0 14px;

    display: flex;

    align-items: center;

    justify-content: center;

    color: var(--color-blanco);

    font-family: var(--fuente-principal);

    font-size: 0.95rem;

    font-weight: 800;

    line-height: 1.25;

    text-align: center;
}


/* =========================================================
   DESCRIPCIÓN DE LA CARD
   ========================================================= */

.sistema-card-contenido p {
    width: 100%;

    max-width: 200px;

    min-height: 62px;

    margin: 0;

    color: rgba(255, 255, 255, 0.68);

    font-family: var(--fuente-principal);

    font-size: 0.82rem;

    font-weight: 400;

    line-height: 1.5;

    text-align: center;
}


/* =========================================================
   BOTÓN DE LA CARD
   ========================================================= */

.sistema-card-boton {
    margin-top: auto;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    padding: 8px 18px;

    border: 1px solid rgba(97, 163, 240, 0.45);

    border-radius: 20px;

    background: rgba(47, 92, 235, 0.08);

    color: var(--color-blanco);

    font-family: var(--fuente-principal);

    font-size: 0.68rem;

    font-weight: 600;

    text-decoration: none;

    transition:
        background 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease,
        transform 0.3s ease;
}


/* =========================================================
   FLECHA DEL BOTÓN
   ========================================================= */

.sistema-card-boton span {
    color: var(--color-cielo);

    font-size: 1rem;

    line-height: 1;

    transition: transform 0.3s ease;
}


/* =========================================================
   HOVER DEL BOTÓN
   ========================================================= */

.sistema-card-boton:hover {
    background: rgba(47, 92, 235, 0.18);

    border-color: var(--color-cielo);

    box-shadow:
        0 0 12px rgba(97, 163, 240, 0.18);

    transform: translateY(-2px);
}


.sistema-card-boton:hover span {
    transform: translateX(3px);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1100px) {

    .contenedor-cards-sistema {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}


/* =========================================================
   TABLET PEQUEÑA
   ========================================================= */

@media (max-width: 768px) {

    /* =====================================================
       DESCRIPCIONES
       ===================================================== */

    .videos-descripcion {
        max-width: 520px;

        margin-top: 22px;

        gap: 16px;
    }


    .videos-descripcion img {
        width: 55px;

        height: 55px;
    }


    .videos-descripcion-texto p:first-child {
        font-size: 0.78rem;
    }


    .videos-descripcion-texto p:last-child {
        font-size: 0.70rem;
    }


    /* =====================================================
       BARRA
       ===================================================== */

    .barra-informacion {
        padding: 18px 3%;
    }


    .barra-elemento {
        gap: 8px;

        padding: 5px 8px;
    }


    .barra-elemento img {
        width: 42px;

        height: 42px;
    }


    .barra-texto span {
        font-size: 0.68rem;

        white-space: normal;
    }


    .barra-texto p {
        max-width: 130px;

        font-size: 0.58rem;
    }


    .barra-separador {
        height: 48px;
    }


    /* =====================================================
       CARDS SISTEMA
       ===================================================== */

    .contenedor-cards-sistema {
        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 20px;
    }


    .sistema-card {
        min-height: 350px;
    }


    .sistema-card-contenido {
        min-height: 350px;

        padding: 28px 18px 24px;
    }


    .sistema-card-icono {
        width: 70px;

        height: 70px;

        margin-bottom: 20px;
    }


    .sistema-card-contenido h3 {
        min-height: 42px;

        font-size: 0.82rem;
    }


    .sistema-card-contenido p {
        min-height: 60px;

        font-size: 0.70rem;
    }
}


/* =========================================================
   CELULAR
   ========================================================= */

@media (max-width: 520px) {

    /* =====================================================
       DESCRIPCIONES
       ===================================================== */

    .videos-descripcion {
        width: 100%;

        max-width: 420px;

        gap: 12px;

        margin-top: 18px;
    }


    .videos-descripcion img {
        width: 48px;

        height: 48px;
    }


    .videos-descripcion-texto {
        gap: 3px;
    }


    .videos-descripcion-texto p:first-child {
        font-size: 0.72rem;

        line-height: 1.3;
    }


    .videos-descripcion-texto p:last-child {
        font-size: 0.65rem;

        line-height: 1.4;
    }


    /* =====================================================
       BARRA
       ===================================================== */

    .barra-informacion {
        padding: 18px 5%;

        flex-direction: column;

        gap: 14px;
    }


    .barra-elemento {
        width: 100%;

        flex: none;

        justify-content: flex-start;

        padding: 5px 0;
    }


    .barra-elemento img {
        width: 45px;

        height: 45px;
    }


    .barra-texto {
        align-items: flex-start;

        text-align: left;
    }


    .barra-texto span {
        font-size: 0.72rem;

        white-space: normal;
    }


    .barra-texto p {
        max-width: 100%;

        font-size: 0.62rem;

        line-height: 1.4;
    }


    .barra-separador {
        width: 70%;

        height: 1px;

        flex: 0 0 1px;

        background: linear-gradient(
            to right,
            transparent,
            var(--color-cielo),
            var(--color-rey),
            transparent
        );
    }


    /* =====================================================
       CARDS SISTEMA
       ===================================================== */

    .contenedor-cards-sistema {
        grid-template-columns: 1fr;

        gap: 22px;
    }


    .sistema-card {
        min-height: 340px;
    }


    .sistema-card-contenido {
        min-height: 340px;

        padding: 28px 20px 24px;
    }


    .sistema-card-icono {
        width: 72px;

        height: 72px;

        margin-bottom: 20px;
    }


    .sistema-card-contenido h3 {
        min-height: 42px;

        font-size: 0.88rem;
    }


    .sistema-card-contenido p {
        max-width: 280px;

        min-height: 60px;

        font-size: 0.76rem;
    }
}


/* =========================================================
   TELÉFONOS MUY PEQUEÑOS
   ========================================================= */

@media (max-width: 400px) {

    /* =====================================================
       DESCRIPCIONES
       ===================================================== */

    .videos-descripcion {
        gap: 10px;
    }


    .videos-descripcion img {
        width: 44px;

        height: 44px;
    }


    .videos-descripcion-texto p:first-child {
        font-size: 0.68rem;
    }


    .videos-descripcion-texto p:last-child {
        font-size: 0.60rem;
    }


    /* =====================================================
       BARRA
       ===================================================== */

    .barra-elemento img {
        width: 40px;

        height: 40px;
    }


    .barra-texto span {
        font-size: 0.68rem;
    }


    .barra-texto p {
        font-size: 0.58rem;
    }


    /* =====================================================
       CARDS SISTEMA
       ===================================================== */

    .sistema-card {
        min-height: 330px;
    }


    .sistema-card-contenido {
        min-height: 330px;

        padding: 25px 18px 22px;
    }


    .sistema-card-icono {
        width: 68px;

        height: 68px;

        margin-bottom: 18px;
    }


    .sistema-card-contenido h3 {
        min-height: 40px;

        font-size: 0.82rem;
    }


    .sistema-card-contenido p {
        min-height: 58px;

        font-size: 0.70rem;
    }
}