/* M8 D1: acceso y errores se pintan sin GuardaMovil ni kt_app_content.
   La marca local es del layout; no cambia colores, tipografía ni escritorio. */
@media (max-width: 991.98px) {
    /* Los enlaces dentro de una frase conservan su caja de texto. El padding
       amplía el área táctil sin imponer flex ni una altura de bloque a la línea. */
    #kt_app_root[data-vzt-nivel="Publica"] :where(form a[href]:not(.btn)) {
        padding-block: 14px;
        overflow-wrap: anywhere;
    }

    /* Solo acciones sueltas: botones, logo, demo y grupos compuestos de enlaces.
       El grupo del pie se reconoce por sus hijos, no por cuatro utilidades. */
    #kt_app_root[data-vzt-nivel="Publica"] :where(a.btn, a[href]:has(> img), div:not(:has(> :not(a))):has(> a[href] + a[href]) > a[href], .auth-demo-acciones > a[href], button, [role="button"], [data-kt-password-meter-control="visibility"]) {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 40px;
        min-height: 40px;
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    /* El pie real usa flex sin envoltura en el grupo interior. */
    #kt_app_root[data-vzt-nivel="Publica"] :where(div:not(:has(> :not(a))):has(> a[href] + a[href]), .d-flex.flex-stack, .auth-demo-acciones) {
        flex-wrap: wrap;
        max-width: 100%;
    }

    /* Permite partir el texto y los enlaces de la demo dentro del paso flex. */
    #kt_app_root[data-vzt-nivel="Publica"] :where(.auth-demo-paso > .flex-grow-1) {
        min-width: 0;
    }
}
