/* @layer-wrap:site.dispositions */
@layer site.dispositions {
/* Version: 14-10-2026 — réglages fins du pied de page (docs/llm/plans/plan-header-footer.md, lot F4) */
/*
 * Réglages fins du pied de page, par-dessus la disposition (footer-layouts.css) et le thème : Premium,
 * réglés à part sur ordinateur et sur mobile (/setup/theme, partials/footer-menu.php).
 * Attributs posés par portfolios_footer_option_attrs() sur #footer et #legal, seulement s'ils s'écartent du thème :
 *   data-footer-hide-{desktop|mobile}    blocs masqués, liste de mots (lue par ~=) :
 *                                        description contact headings socials signature
 *   data-footer-spacing-{desktop|mobile} compact | airy
 *   data-footer-rule-{desktop|mobile}    none | rule | contrast
 *
 * Espacement et séparation passent par des variables, jamais par une valeur imposée aux thèmes :
 *   --layout-space-y-sm/md/lg  utilitaires pf-pt-lg, pf-pb-md, pf-mb-md… (core/layout.css), redéfinis sur le pied de page ;
 *   --pf-footer-gap            écart entre blocs des dispositions ;
 *   --pf-footer-link-gap       écart entre les liens d'un groupe (footer.css) ;
 *   --pf-footer-rule           filet du haut (structure/layout/theme-advanced-colors.css) ;
 *   --pf-chrome-bg             teinte de la barre (nav-background.css).
 * Masquer un bloc : chargé après footer-layouts.css, même priorité (:root #portfolio_page #footer[…]) que les
 * dispositions qui réaffichent des blocs : le choix de l'utilisateur passe en dernier.
 */

/* ==========================================================================
   Ordinateur (≥ 1101 px)
   ========================================================================== */
@media (min-width: 1101px) {

    /* --- Blocs affichés --- */
    :root #portfolio_page #footer[data-footer-hide-desktop~="description"] #footer-about p {
        display: none;
    }

    :root #portfolio_page #footer[data-footer-hide-desktop~="contact"] #footer-about .footer-contact-button {
        display: none;
    }

    :root #portfolio_page #footer[data-footer-hide-desktop~="headings"] #footer-pages .footer-heading-item {
        display: none;
    }

    :root #portfolio_page #footer[data-footer-hide-desktop~="socials"] #footer-pages #footer-social {
        display: none;
    }

    /* Réseaux masqués : les grilles où ils occupent une colonne la retirent (thèmes, « Colonnes » :
       repeat(calc(N - var(--pf-footer-no-socials, 0)), …)) ; grille du socle (pf-cols-3) : --cols. */
    :root #portfolio_page #footer[data-footer-hide-desktop~="socials"] {
        --pf-footer-no-socials: 1;
    }

    :root #portfolio_page #footer[data-footer-hide-desktop~="socials"] #footer-pages.pf-cols-3 {
        --cols: 2;
        --cols-lg-auto: 2;
    }

    :root #portfolio_page #footer[data-footer-hide-desktop~="signature"] .footer-signature {
        display: none;
    }

    /* --- Espacement --- */
    :root #portfolio_page #footer[data-footer-spacing-desktop="compact"] {
        --layout-space-y-sm: 8px;
        --layout-space-y-md: 14px;
        --layout-space-y-lg: 24px;
        --pf-footer-gap: 1rem 1.75rem;
        --pf-footer-link-gap: 8px;
    }

    :root #portfolio_page #footer[data-footer-spacing-desktop="airy"] {
        --layout-space-y-sm: 22px;
        --layout-space-y-md: 40px;
        --layout-space-y-lg: 80px;
        --pf-footer-gap: 3rem 4.5rem;
        --pf-footer-link-gap: 22px;
    }

    /* --- Séparation du haut --- */
    :root #portfolio_page #footer[data-footer-rule-desktop="none"] {
        --pf-footer-rule: 0 none;
    }

    :root #portfolio_page #footer[data-footer-rule-desktop="rule"] {
        --pf-footer-rule: var(--pf-theme-footer-rule, var(--pf-rule-width, 1px) solid var(--pf-rule-color, currentColor));
    }

    /* Fond contrasté : la barre du pied de page et des mentions prend une teinte nettement distincte du fond
       de page, y compris pour les thèmes à pilule (la barre se rallume derrière leurs blocs). Sans filet.
       « En carte » garde son panneau (--pf-island-bg). */
    :root #portfolio_page :is(#footer, #legal)[data-footer-rule-desktop="contrast"] {
        --pf-footer-rule: 0 none;
        --pf-chrome-bg: color-mix(in srgb, var(--portfolios-text-main-color, #111) 8%, var(--portfolios-theme-bg-main, #fff));
    }

    :root #portfolio_page :is(#footer, #legal)[data-footer-rule-desktop="contrast"]::before {
        display: block;
    }
}

/* ==========================================================================
   Mobile (≤ 1100 px)
   ========================================================================== */
@media (max-width: 1100px) {

    :root #portfolio_page #footer[data-footer-hide-mobile~="description"] #footer-about p {
        display: none;
    }

    :root #portfolio_page #footer[data-footer-hide-mobile~="contact"] #footer-about .footer-contact-button {
        display: none;
    }

    :root #portfolio_page #footer[data-footer-hide-mobile~="headings"] #footer-pages .footer-heading-item {
        display: none;
    }

    :root #portfolio_page #footer[data-footer-hide-mobile~="socials"] #footer-pages #footer-social {
        display: none;
    }

    :root #portfolio_page #footer[data-footer-hide-mobile~="socials"] {
        --pf-footer-no-socials: 1;
    }

    :root #portfolio_page #footer[data-footer-hide-mobile~="socials"] #footer-pages.pf-cols-3 {
        --cols: 2;
    }

    :root #portfolio_page #footer[data-footer-hide-mobile~="signature"] .footer-signature {
        display: none;
    }

    :root #portfolio_page #footer[data-footer-spacing-mobile="compact"] {
        --layout-space-y-sm: 6px;
        --layout-space-y-md: 12px;
        --layout-space-y-lg: 20px;
        --pf-footer-gap: 0.75rem 1.25rem;
        --pf-footer-link-gap: 6px;
    }

    :root #portfolio_page #footer[data-footer-spacing-mobile="airy"] {
        --layout-space-y-sm: 20px;
        --layout-space-y-md: 34px;
        --layout-space-y-lg: 64px;
        --pf-footer-gap: 2.5rem 3rem;
        --pf-footer-link-gap: 20px;
    }

    :root #portfolio_page #footer[data-footer-rule-mobile="none"] {
        --pf-footer-rule: 0 none;
    }

    :root #portfolio_page #footer[data-footer-rule-mobile="rule"] {
        --pf-footer-rule: var(--pf-theme-footer-rule, var(--pf-rule-width, 1px) solid var(--pf-rule-color, currentColor));
    }

    :root #portfolio_page :is(#footer, #legal)[data-footer-rule-mobile="contrast"] {
        --pf-footer-rule: 0 none;
        --pf-chrome-bg: color-mix(in srgb, var(--portfolios-text-main-color, #111) 8%, var(--portfolios-theme-bg-main, #fff));
    }

    :root #portfolio_page :is(#footer, #legal)[data-footer-rule-mobile="contrast"]::before {
        display: block;
    }
}
}
