
/* ===== SEGURIDAD RESPONSIVE MÓVIL (evita desbordes y cortes) ===== */
html, body {
    max-width: 100%;
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

/* En móvil: nada más ancho que la pantalla */
@media (max-width: 991.98px) {
    .container, .container-fluid {
        padding-left: 12px;
        padding-right: 12px;
    }
    .row {
        margin-left: 0;
        margin-right: 0;
    }
    .col, .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12,
    .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12,
    .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12,
    .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
        min-width: 0;
    }
    /* Texto largo no desborda tarjetas */
    .card, .card-body, .card-header, .card-footer {
        overflow-wrap: break-word;
        word-break: break-word;
    }
    /* Elementos con estilos inline de ancho no rompen la página */
    [style*="min-width:"], [style*="width:"] {
        max-width: 100%;
    }
    /* Tablas: si no tienen wrapper responsive, al menos no revientan la página */
    .table-responsive, .table {
        max-width: 100%;
    }
}
