/* =========================================================
   SAVIORALL — RESPONSIVE CITY STATS, DYNAMIC CENTERING
   ========================================================= */

/* Escritorio amplio */
.sav2-page .sav2-stats {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.sav2-page .sav2-stats article {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    gap: 14px !important;
    text-align: left !important;
}

.sav2-page .sav2-stats article > div {
    display: flex !important;
    min-width: 0 !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.sav2-page .sav2-stat-icon {
    display: grid !important;
    flex: 0 0 auto !important;
    place-items: center !important;
    margin: 0 !important;
}

/*
|--------------------------------------------------------------------------
| Tablet vertical, ventanas estrechas y escritorio reducido
|--------------------------------------------------------------------------
|
| Desde 1024 px hacia abajo:
| - dos columnas;
| - icono arriba;
| - número y descripción centrados;
|
*/

@media (max-width: 1024px) {

    .sav2-page .sav2-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .sav2-page .sav2-stats article {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;

        justify-items: center !important;
        align-items: center !important;
        align-content: center !important;
        justify-content: center !important;

        min-width: 0 !important;
        min-height: 118px !important;
        padding: 18px 12px !important;
        gap: 8px !important;

        text-align: center !important;
    }

    .sav2-page .sav2-stats article .sav2-stat-icon {
        display: grid !important;
        place-items: center !important;

        width: 40px !important;
        height: 40px !important;
        margin: 0 auto !important;

        grid-column: 1 !important;
        grid-row: 1 !important;

        flex: none !important;
    }

    .sav2-page .sav2-stats article > div {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;

        grid-column: 1 !important;
        grid-row: 2 !important;

        text-align: center !important;
    }

    .sav2-page .sav2-stats article strong {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;

        font-size: 23px !important;
        line-height: 1 !important;
        text-align: center !important;
    }

    .sav2-page .sav2-stats article small {
        display: block !important;
        width: 100% !important;
        max-width: 150px !important;
        margin: 5px auto 0 !important;

        font-size: 10px !important;
        line-height: 1.3 !important;
        text-align: center !important;
    }
}

/* Móvil */
@media (max-width: 600px) {

    .sav2-page .sav2-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        border-radius: 20px !important;
    }

    .sav2-page .sav2-stats article {
        min-height: 112px !important;
        padding: 16px 8px !important;
        gap: 7px !important;
    }

    .sav2-page .sav2-stats article .sav2-stat-icon {
        width: 38px !important;
        height: 38px !important;
    }

    .sav2-page .sav2-stats article strong {
        font-size: 22px !important;
    }

    .sav2-page .sav2-stats article small {
        max-width: 135px !important;
        font-size: 9px !important;
    }
}

/* Móviles muy estrechos */
@media (max-width: 360px) {

    .sav2-page .sav2-stats article {
        min-height: 106px !important;
        padding-right: 5px !important;
        padding-left: 5px !important;
    }

    .sav2-page .sav2-stats article strong {
        font-size: 20px !important;
    }

    .sav2-page .sav2-stats article small {
        max-width: 110px !important;
        font-size: 8px !important;
    }
}
