/* Superposition seule : aucune modification de hauteur, largeur ou scroll. */
#lm-page-loader { display: none; }
html.lm-loader-enabled #lm-page-loader {
    display: grid !important; /* Prioritaire sur [hidden] de Bootstrap. */
    position: fixed;
    inset: 0;
    z-index: 100000;
    place-items: center;
    background: #e7ebf1;
    color: #244d87;
    font: 500 14px/1.5 system-ui, sans-serif;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 220ms ease, visibility 0s linear 220ms;
}
html.lm-loader-enabled.lm-page-loading #lm-page-loader {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity 120ms ease, visibility 0s;
}
.lm-page-loader-content { display: grid; justify-items: center; gap: 18px; }
.lm-page-loader-content img { object-fit: contain; }
.lm-page-loader-spinner {
    width: 28px;
    height: 28px;
    border: 3px solid #cdd9ef;
    border-top-color: #1252d9;
    border-radius: 50%;
    animation: lm-page-loader-spin .8s linear infinite;
}
@keyframes lm-page-loader-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    html.lm-loader-enabled #lm-page-loader,
    html.lm-loader-enabled.lm-page-loading #lm-page-loader { transition: none; }
    .lm-page-loader-spinner { animation: none; }
}
