/* 4.10. Page d'erreur (404) - Layout
   ─────────────────────────────────────
   Objectif : tout contenir dans le viewport, sans scrollbar,
   avec header fonctionnel + footer visible.
*/

/* Pas de scrollbar-gutter réservé sur la page 404 */
html:has(body.error404) {
    scrollbar-gutter: auto;
    overflow: hidden;
}

/* Viewport fixe, pas de scrollbar */
body.error404 {
    height: 100vh;
    min-height: 0; /* Override base min-height: 100vh */
    overflow: hidden;
}

/* Admin bar desktop (32px) */
body.admin-bar.error404 {
    height: calc(100vh - 32px);
}

/* Admin bar mobile (46px) */
@media screen and (max-width: 782px) {
    body.admin-bar.error404 {
        height: calc(100vh - 46px);
    }
}

/* Contenu principal : chaîner le flex pour remplir l'espace */
body.error404 .site-content {
    display: flex;
    flex-direction: column;
    padding-top: 0; /* Pas de pagination sticky sur la 404 */
}

body.error404 .content-container {
    flex: 1;
    display: flex;
    min-height: 0;
}

/* Error page : fond et alignement central */
body.error404 .error-page {
    flex: 1;
    width: 100%;
    position: relative;
    background: radial-gradient(circle, #240015 0%, #12000b 100%);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 0;   /* Override responsive min-height: 100vh (max-768.css) */
    padding-top: 0;  /* Override responsive padding-top: 150px (max-768.css) */
}

/* Footer collé en bas sans marge auto */
body.error404 .site-footer {
    margin-top: 0;
    flex-shrink: 0;
}

/* Masquer le bouton scroll-to-top sur la 404 */
body.error404 #scroll-top-btn {
    display: none;
}
