/*
             * BAOI Suite 1.1.5 — Front public fluide
             * ----------------------------------------
             * Le thème et certains modules avaient plusieurs max-width
             * cumulés. Sur un écran 1920 px, un outil pouvait rester limité
             * à environ 700-1200 px.
             *
             * Les pages BAOI utilisent maintenant la largeur disponible,
             * avec une limite confortable de 1680 px.
             */

            body.boai-fluid-public .site-content > .ast-container,
            body.boai-fluid-public #content > .ast-container,
            body.boai-fluid-public .site-content .ast-container,
            body.boai-fluid-public .site-content,
            body.boai-fluid-public #content,
            body.boai-fluid-public #primary,
            body.boai-fluid-public .content-area,
            body.boai-fluid-public .site-main,
            body.boai-fluid-public article.page,
            body.boai-fluid-public article.post,
            body.boai-fluid-public .entry-content,
            body.boai-fluid-public .page-content,
            body.boai-fluid-public .wp-block-post-content {
                width: 100% !important;
                max-width: none !important;
                box-sizing: border-box !important;
            }

            /* Le conteneur principal garde uniquement une marge respirante. */
            body.boai-fluid-public .site-content > .ast-container,
            body.boai-fluid-public #content > .ast-container {
                padding-left: clamp(12px, 2vw, 32px) !important;
                padding-right: clamp(12px, 2vw, 32px) !important;
            }

            /*
             * Racines des applications BAOI.
             * On n'élargit pas volontairement les paragraphes/texte internes :
             * leurs max-width restent en place pour conserver la lisibilité.
             */
            body.boai-fluid-public :where(
                .boai-home-v2,
                .boai-modeles,
                .boai-infra-app,
                .boai-errors-app,
                .boai-guides-app,
                .boai-tool-app,
                .boai-hub,
                .boai-cyber,
                .boai-wp-app,
                .boai-ssl-app,
                .boai-vlan-app,
                .boai-fgt-app,
                .boai-comparisons-app,
                .boai-http-app,
                .boai-scripts-hub,
                .boai-life,
                .boai-dns-app,
                .boai-center,
                .boai-quiz-app,
                .boai-mail-app,
                .boai-linux-app,
                .boai-ws-app,
                .boai-mon-app,
                .boai-diag-app,
                .boai-software-app,
                .boai-net-app,
                .boai-event-app,
                .boai-vmw-app,
                .boai-vu-app,
                .boai-pannes-app,
                .boai-memo-app,
                .boai-dx,
                .boai-favorites-app,
                .boai-ports-directory,
                .boai-pra-app,
                .boai-calc-app,
                .boai-builder-app,
                .boai-tp
            ) {
                width: min(calc(100% - 8px), 1680px) !important;
                max-width: 1680px !important;
                margin-left: auto !important;
                margin-right: auto !important;
                box-sizing: border-box !important;
            }

            /*
             * Certaines pages ont encore un wrapper WordPress autour du module.
             * Les marges/paddings latéraux historiques sont neutralisés.
             */
            body.boai-fluid-public .entry-content > :where(
                .wp-block-group,
                .wp-block-columns,
                .wp-block-html,
                .wp-block-shortcode
            ):has(
                .boai-modeles,
                .boai-infra-app,
                .boai-errors-app,
                .boai-tool-app,
                .boai-center,
                .boai-cyber,
                .boai-software-app,
                .boai-home-v2
            ) {
                width: 100% !important;
                max-width: none !important;
                margin-left: 0 !important;
                margin-right: 0 !important;
            }

            /* Les composants fonctionnels s'adaptent à leur nouvelle largeur. */
            body.boai-fluid-public :where(
                .boai-modeles,
                .boai-infra-app,
                .boai-errors-app,
                .boai-tool-app,
                .boai-center,
                .boai-pra-app,
                .boai-net-app,
                .boai-vlan-app,
                .boai-builder-app
            ) table {
                max-width: 100%;
            }

            /* Écrans intermédiaires : marge plus compacte. */
            @media (max-width: 1200px) {
                body.boai-fluid-public :where(
                    .boai-home-v2,
                    .boai-modeles,
                    .boai-infra-app,
                    .boai-errors-app,
                    .boai-guides-app,
                    .boai-tool-app,
                    .boai-hub,
                    .boai-cyber,
                    .boai-wp-app,
                    .boai-ssl-app,
                    .boai-vlan-app,
                    .boai-fgt-app,
                    .boai-comparisons-app,
                    .boai-http-app,
                    .boai-scripts-hub,
                    .boai-life,
                    .boai-dns-app,
                    .boai-center,
                    .boai-quiz-app,
                    .boai-mail-app,
                    .boai-linux-app,
                    .boai-ws-app,
                    .boai-mon-app,
                    .boai-diag-app,
                    .boai-software-app,
                    .boai-net-app,
                    .boai-event-app,
                    .boai-vmw-app,
                    .boai-vu-app,
                    .boai-pannes-app,
                    .boai-memo-app,
                    .boai-dx,
                    .boai-favorites-app,
                    .boai-ports-directory,
                    .boai-pra-app,
                    .boai-calc-app,
                    .boai-builder-app,
                    .boai-tp
                ) {
                    width: 100% !important;
                }
            }

            /* Mobile : aucune largeur fixe, uniquement un padding léger. */
            @media (max-width: 782px) {
                body.boai-fluid-public .site-content > .ast-container,
                body.boai-fluid-public #content > .ast-container {
                    padding-left: 8px !important;
                    padding-right: 8px !important;
                }

                body.boai-fluid-public :where(
                    .boai-home-v2,
                    .boai-modeles,
                    .boai-infra-app,
                    .boai-errors-app,
                    .boai-guides-app,
                    .boai-tool-app,
                    .boai-hub,
                    .boai-cyber,
                    .boai-wp-app,
                    .boai-ssl-app,
                    .boai-vlan-app,
                    .boai-fgt-app,
                    .boai-comparisons-app,
                    .boai-http-app,
                    .boai-scripts-hub,
                    .boai-life,
                    .boai-dns-app,
                    .boai-center,
                    .boai-quiz-app,
                    .boai-mail-app,
                    .boai-linux-app,
                    .boai-ws-app,
                    .boai-mon-app,
                    .boai-diag-app,
                    .boai-software-app,
                    .boai-net-app,
                    .boai-event-app,
                    .boai-vmw-app,
                    .boai-vu-app,
                    .boai-pannes-app,
                    .boai-memo-app,
                    .boai-dx,
                    .boai-favorites-app,
                    .boai-ports-directory,
                    .boai-pra-app,
                    .boai-calc-app,
                    .boai-builder-app,
                    .boai-tp
                ) {
                    width: 100% !important;
                    max-width: 100% !important;
                    padding-left: 10px;
                    padding-right: 10px;
                }
            }


/* ============================================================
   BAOI Suite 1.5 — Core Web Vitals / rendu navigateur
   ============================================================ */

/*
 * Le navigateur peut différer le layout/paint des grosses zones hors écran.
 * contain-intrinsic-size réserve une hauteur estimée pour éviter le CLS.
 */
@supports (content-visibility:auto) {
    body.boai-fluid-public :where(
        .boai-h2-baoi-feature,
        .boai-h2-cybertest,
        .boai-h2-section,
        .boai-h2-final,
        .boai-sw-section,
        .boai-sw-cta
    ) {
        content-visibility:auto;
        contain-intrinsic-size:auto 640px;
    }

    /*
     * Les catalogues peuvent contenir des dizaines/centaines de cartes.
     * Seules les cartes proches du viewport sont rendues immédiatement.
     */
    body.boai-fluid-public :where(
        .boai-error-card,
        .boai-guide-card,
        .boai-panne-card,
        .boai-memo-card
    ) {
        content-visibility:auto;
        contain-intrinsic-size:auto 320px;
    }
}

/*
 * Les images différées ne provoquent jamais de débordement ou d'étirement.
 */
body.boai-fluid-public img[loading="lazy"] {
    max-width:100%;
}


/* ============================================================
   BAOI Suite 1.5.1 — centrage cohérent des pages BAOI
   ============================================================ */

/*
 * Les pages historiques disposent de plusieurs wrappers d'introduction
 * différents. Après le passage en largeur fluide, certains restaient
 * collés à gauche alors que l'application principale était centrée.
 *
 * On centre le CONTENEUR, pas le contenu fonctionnel.
 */
body.boai-fluid-public :where(
    .boai-page-meta,
    .boai-page-tools,
    .boai-page-actions,
    .boai-content-meta,
    .boai-content-tools,
    .boai-content-actions,
    .boai-breadcrumbs,
    .boai-breadcrumb,
    .boai-toc,
    .boai-toc-wrap,
    .boai-summary,
    .boai-theme-nav,
    .boai-reading-time,
    .boai-favorites-bar,
    .boai-favorite-bar,
    .boai-entry-meta,
    .boai-entry-tools
) {
    width:min(100%, 1280px)!important;
    max-width:1280px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
}

/*
 * Certaines anciennes briques n'ont pas de classe BAOI dédiée mais sont
 * directement placées avant l'application dans .entry-content.
 * On centre leurs wrappers WordPress sans toucher à leurs textes internes.
 */
body.boai-fluid-public .entry-content > :where(
    .wp-block-group,
    .wp-block-html,
    .wp-block-shortcode
):not(:has(
    .boai-home-v2,
    .boai-modeles,
    .boai-infra-app,
    .boai-errors-app,
    .boai-guides-app,
    .boai-tool-app,
    .boai-hub,
    .boai-cyber,
    .boai-software-app
)) {
    margin-left:auto;
    margin-right:auto;
}

/*
 * Les petits badges et contrôles d'introduction restent naturellement
 * alignés à gauche à l'intérieur du bloc. Le texte des cartes, formulaires,
 * tableaux et procédures n'est volontairement PAS centré.
 */
body.boai-fluid-public :where(
    .boai-page-meta,
    .boai-page-tools,
    .boai-page-actions,
    .boai-content-meta,
    .boai-content-tools,
    .boai-content-actions,
    .boai-toc,
    .boai-toc-wrap,
    .boai-summary,
    .boai-theme-nav,
    .boai-reading-time,
    .boai-favorites-bar,
    .boai-favorite-bar,
    .boai-entry-meta,
    .boai-entry-tools
) {
    text-align:left;
}

/* Le hero/titre principal des annuaires reste visuellement centré. */
body.boai-fluid-public :where(
    .boai-errors-app,
    .boai-guides-app,
    .boai-pannes-app,
    .boai-memo-app
) > :where(
    header,
    .boai-hero,
    .boai-app-hero,
    .boai-directory-hero
) {
    margin-left:auto!important;
    margin-right:auto!important;
}

/* Mobile : pleine largeur avec respiration minimale. */
@media (max-width:782px) {
    body.boai-fluid-public :where(
        .boai-page-meta,
        .boai-page-tools,
        .boai-page-actions,
        .boai-content-meta,
        .boai-content-tools,
        .boai-content-actions,
        .boai-breadcrumbs,
        .boai-breadcrumb,
        .boai-toc,
        .boai-toc-wrap,
        .boai-summary,
        .boai-theme-nav,
        .boai-reading-time,
        .boai-favorites-bar,
        .boai-favorite-bar,
        .boai-entry-meta,
        .boai-entry-tools
    ) {
        width:100%!important;
        max-width:100%!important;
    }
}


/* ============================================================
   BAOI Suite 1.5.3 — correction ciblée du vrai bloc à centrer
   ============================================================ */

/*
 * 1) Retour au comportement naturel des éléments de contexte.
 * La 1.5.2 les avait centrés suite à une mauvaise interprétation.
 */
body.boai-fluid-public .boai-breadcrumbs {
    text-align:left!important;
}
body.boai-fluid-public .boai-breadcrumbs ol {
    justify-content:flex-start!important;
}

body.boai-fluid-public .boai-toc-toggle {
    display:flex!important;
    position:relative!important;
    justify-content:space-between!important;
    text-align:left!important;
    padding-left:18px!important;
    padding-right:18px!important;
}
body.boai-fluid-public .boai-toc-toggle > span:first-child {
    text-align:left!important;
}
body.boai-fluid-public .boai-toc-toggle > span:last-child {
    position:static!important;
    right:auto!important;
    top:auto!important;
    transform:none!important;
}

body.boai-fluid-public .boai-topic-context {
    justify-content:flex-start!important;
    text-align:left!important;
}

body.boai-fluid-public .boai-reading-time {
    display:flex!important;
    width:max-content!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:auto!important;
    justify-content:flex-start!important;
    text-align:left!important;
}

body.boai-fluid-public .boai-fav-inline {
    justify-content:flex-start!important;
    text-align:left!important;
}

/*
 * 2) Bloc réellement concerné :
 * "Comprendre un code d'erreur informatique".
 *
 * Il prend exactement toute la largeur de l'application Codes d'erreur.
 * Son titre et son texte sont centrés sur le même axe que la toolbar
 * de recherche et la grille de résultats.
 */
body.boai-fluid-public .boai-errors-app {
    width:min(calc(100% - 8px),1680px)!important;
    max-width:1680px!important;
    margin-left:auto!important;
    margin-right:auto!important;
}

body.boai-fluid-public .boai-errors-app .boai-errors-hero {
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
    text-align:center!important;
    box-sizing:border-box!important;
}

body.boai-fluid-public .boai-errors-app .boai-errors-hero .boai-errors-kicker {
    align-self:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
}

body.boai-fluid-public .boai-errors-app .boai-errors-hero h1 {
    display:block!important;
    width:min(100%,1000px)!important;
    max-width:1000px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
}

body.boai-fluid-public .boai-errors-app .boai-errors-hero p {
    width:min(100%,780px)!important;
    max-width:780px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
}

/* Toolbar et résultats partagent exactement le même axe central. */
body.boai-fluid-public .boai-errors-app .boai-errors-toolbar,
body.boai-fluid-public .boai-errors-app .boai-errors-count,
body.boai-fluid-public .boai-errors-app .boai-errors-grid {
    width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
}

/* Mobile : même centrage, largeur naturelle. */
@media (max-width:782px) {
    body.boai-fluid-public .boai-errors-app {
        width:100%!important;
    }

    body.boai-fluid-public .boai-errors-app .boai-errors-hero h1,
    body.boai-fluid-public .boai-errors-app .boai-errors-hero p {
        width:100%!important;
        max-width:100%!important;
    }
}
