/* Oculto visualmente, disponible para lectores de pantalla */
.muninfor-a11y-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Mantiene el aspecto al corregir hijos inválidos dentro de UL/OL. */
li.muninfor-a11y-list-wrapper {
    display: contents;
    list-style: none;
    margin: 0;
    padding: 0;
}

/* El color lo calcula el script en función del fondo real. */
.muninfor-a11y-contrast-fixed {
    color: var(--muninfor-a11y-color) !important;
}

/* Si el texto está sobre una imagen y el contraste no puede calcularse con seguridad,
   se añade una base legible solo al elemento afectado. */
.muninfor-a11y-contrast-image-fixed {
    color: #fff !important;
    background-color: #111111 !important;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

/* V7: base opaca para que el contraste sea verificable también por auditorías automáticas. */
.muninfor-a11y-contrast-image-fixed {
    padding-left: .12em !important;
    padding-right: .12em !important;
    border-radius: .08em !important;
}
