/* assets/css/public/design/home/order.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Version: 20-09-2026-16-46 */
@layer general {
main:where(.pf-c-main) {
    display: flex;
    flex-direction: column;
}
}


@layer general {
[data-pf-order="1"]:where(main > *) {
    order: 2;
}

[data-pf-order="2"]:where(main > *) {
    order: 3;
}

[data-pf-order="3"]:where(main > *) {
    order: 4;
}

[data-pf-order="4"]:where(main > *) {
    order: 5;
}

[data-pf-order="5"]:where(main > *) {
    order: 6;
}

[data-pf-order="6"]:where(main > *) {
    order: 7;
}

[data-pf-order="7"]:where(main > *) {
    order: 8;
}

[data-pf-order="8"]:where(main > *) {
    order: 9;
}

[data-pf-order="9"]:where(main > *) {
    order: 10;
}

[data-pf-order="10"]:where(main > *) {
    order: 11;
}

[data-pf-order="11"]:where(main > *) {
    order: 12;
}

[data-pf-order="12"]:where(main > *) {
    order: 13;
}

[data-pf-order="13"]:where(main > *) {
    order: 14;
}

[data-pf-order="14"]:where(main > *) {
    order: 15;
}
}
}

/* assets/css/public/modules/videos/showreel.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Version: 20-09-2026-16-46 */
}

/* assets/css/public/modules/casting/casting.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Version: 23-10-2026-grammaire */
/* Module Casting — thème portfolio (polices, fonds, contours via variables :root).
   Composants (grammaire HTML, docs/llm/plans/grammaire-html-tronc.md) : pf-c-details (caractéristiques),
   pf-c-casting-block (groupes titrés : --card = carte de texte, --formations / --experiences = frises),
   pf-c-timeline--casting (frise du profil, distincte de celle des expériences : modules/experiences/experiences.css).
   Bloc + élément dans les sélecteurs de texte : ils passent devant les dispositions de design/elements/casting.css
   (même spécificité, chargées avant), comme quand ils étaient portés par l'id de la section. */

.pf-c-page .pf-c-casting-block .pf-c-casting-block__title,
.pf-c-page .pf-c-details .pf-c-details__label,
.pf-c-page .pf-c-timeline--casting .pf-c-timeline__title {
    margin: 0;
    padding: 0;
    font-family: inherit;
    font-size: var(--pf-heading-secondary-size, 14px);
    line-height: var(--pf-heading-secondary-line-height, calc(var(--pf-heading-secondary-size, 14px) + 10px));
    font-weight: bold;
    letter-spacing: var(--pf-letter-spacing, 0.4px);
    color: var(--pf-heading-primary-color, inherit);
    text-align: inherit;
}

.pf-c-page .pf-c-timeline--casting .pf-c-timeline__category {
    margin: 0 0 0.35rem;
    font-size: inherit;
    line-height: var(--pf-line-height-base);
    font-weight: bold;
    color: var(--pf-heading-secondary-color, inherit);
}

.pf-c-page .pf-c-details .pf-c-details__summary,
.pf-c-page .pf-c-timeline--casting .pf-c-timeline__summary {
    margin: 0;
}

.pf-c-page .pf-c-timeline--casting .pf-c-timeline__title + .pf-c-timeline__summary {
    margin-top: 0.35rem;
}

.pf-c-page .pf-c-details .pf-c-details__label + .pf-c-details__summary {
    margin-top: 0.35rem;
}

@layer general {
.pf-c-details {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pf-c-details__item {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.pf-c-casting-block__title {
    margin-top: 0;
}

/* ----- Frise chronologique ----- */

.pf-c-timeline--casting {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}

.pf-c-timeline.pf-c-timeline--casting::before {
    content: "";
    position: absolute;
    top: 0.35rem;
    bottom: 0.35rem;
    left: 4.75rem;
    width: 2px;
    transform: translateX(-50%);
    background: var(--pf-ui-border-color, var(--pf-theme-border, var(--pf-color-border-custom, currentColor)));
    opacity: 0.45;
}

.pf-c-timeline--casting .pf-c-timeline__entry {
    position: relative;
    display: grid;
    grid-template-columns: 4.75rem minmax(0, 1fr);
    gap: 1.25rem;
    margin-bottom: 1.75rem;
}

.pf-c-timeline--casting .pf-c-timeline__entry:last-child {
    margin-bottom: 0;
}

.pf-c-timeline--casting .pf-c-timeline__axis {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding-right: 1.25rem;
    padding-top: 0.15rem;
}

.pf-c-timeline--casting .pf-c-timeline__year {
    font-size: var(--pf-heading-secondary-size, 14px);
    line-height: var(--pf-heading-secondary-line-height, calc(var(--pf-heading-secondary-size, 14px) + 10px));
    font-weight: var(--pf-font-weight-bold, 700);
    color: var(--pf-heading-primary-color, inherit);
}

.pf-c-timeline--casting .pf-c-timeline__year--nodate {
    opacity: 0.55;
}

.pf-c-timeline--casting .pf-c-timeline__dot {
    position: absolute;
    right: -0.45rem;
    top: 0.5rem;
    width: 0.85rem;
    height: 0.85rem;
    border-radius: var(--pf-border-radius-full, 50%);
    background: var(--pf-theme-bg-main, var(--pf-color-bg-main, #fafafa));
    border: 2px solid var(--pf-heading-primary-color, currentColor);
    box-sizing: border-box;
}

.pf-c-timeline--casting .pf-c-timeline__card {
    min-width: 0;
}

[data-pf-card-style="list"] .pf-c-timeline--casting .pf-c-timeline__card,
[data-pf-card-style="list"] .pf-c-casting-block--card,
[data-pf-card-style="list"] .pf-c-details__item {
    padding-bottom: 15px;
}

[data-pf-card-style="list"] .pf-c-timeline--casting .pf-c-timeline__card:is(.pf-c-timeline__card, .pf-c-quote, .pf-c-event, .pf-c-details__item, .pf-c-casting-block--card, .pf-c-service, .pf-c-offer, .pf-c-person__button, .pf-c-profile__infos, .pf-c-faq__item, .pf-c-invitation, .pf-c-hero__cover, .pf-c-biolink-tile__inner, .pf-c-biolink-profile__avatar, .pf-c-biolink-content-card, .pf-c-biolink-content-card__media, .pf-c-biolink-preview-card, .pf-c-biolink-preview-card__media, .pf-c-biolink-creation-gallery__item, .customizer-showreel-demo),
[data-pf-card-style="list"] .pf-c-casting-block--card:is(.pf-c-timeline__card, .pf-c-quote, .pf-c-event, .pf-c-details__item, .pf-c-casting-block--card, .pf-c-service, .pf-c-offer, .pf-c-person__button, .pf-c-profile__infos, .pf-c-faq__item, .pf-c-invitation, .pf-c-hero__cover, .pf-c-biolink-tile__inner, .pf-c-biolink-profile__avatar, .pf-c-biolink-content-card, .pf-c-biolink-content-card__media, .pf-c-biolink-preview-card, .pf-c-biolink-preview-card__media, .pf-c-biolink-creation-gallery__item, .customizer-showreel-demo),
[data-pf-card-style="list"] .pf-c-details__item:is(.pf-c-timeline__card, .pf-c-quote, .pf-c-event, .pf-c-details__item, .pf-c-casting-block--card, .pf-c-service, .pf-c-offer, .pf-c-person__button, .pf-c-profile__infos, .pf-c-faq__item, .pf-c-invitation, .pf-c-hero__cover, .pf-c-biolink-tile__inner, .pf-c-biolink-profile__avatar, .pf-c-biolink-content-card, .pf-c-biolink-content-card__media, .pf-c-biolink-preview-card, .pf-c-biolink-preview-card__media, .pf-c-biolink-creation-gallery__item, .customizer-showreel-demo) {
    box-shadow: none;
}

.pf-c-timeline--casting.pf-c-timeline--preview .pf-c-timeline__entry {
    margin-bottom: 1.25rem;
}
}

@media screen and (max-width: 600px) {
    @layer general {
    .pf-c-timeline.pf-c-timeline--casting::before {
        left: 3.5rem;
    }

    .pf-c-timeline--casting .pf-c-timeline__entry {
        grid-template-columns: 3.5rem minmax(0, 1fr);
        gap: 0.85rem;
    }

    .pf-c-timeline--casting .pf-c-timeline__axis {
        padding-right: 0.85rem;
    }

    .pf-c-timeline--casting .pf-c-timeline__dot {
        right: -0.4rem;
        width: 0.75rem;
        height: 0.75rem;
    }
    }
}
}

/* Primitives retirées du HTML (grammaire, décision n° 1) : leur effet, dans la couche qu'elles occupaient, pour un
   rendu identique en mode commun. Grille : couche socle (core/layout.css) ; espacements : couche utilitaires
   (core/utilities.css), qui passe devant les éléments (les dispositions de design/elements/casting.css règlent ces
   marges par les variables --layout-space-*). */
@layer site.socle {
/* ex-.pf-cols-3.pf-cols-md-2.pf-cols-sm-1 : 3 colonnes, 2 sur tablette, 1 sur mobile. */
@layer general {
.pf-c-details {
    --cols-lg: initial;
    --cols-md: 2;
    --cols-sm: 1;
    --cols: 3;
    --cols-lg-auto: 3;
    display: grid;
    grid-template-rows: auto;
    gap: var(--layout-gap);
}
}

.pf-c-page .pf-c-details {
    --_cols: var(--cols);
    grid-template-columns: repeat(var(--_cols), 1fr);
}

@media screen and (min-width: 1101px) and (max-width: 1439px) {
    .pf-c-page .pf-c-details {
        --_cols: var(--cols-lg, var(--cols-lg-auto));
    }
}

@media screen and (max-width: 1100px) {
    .pf-c-page .pf-c-details {
        --_cols: var(--cols-md, var(--cols));
    }
}

@media screen and (max-width: 650px) {
    .pf-c-page .pf-c-details {
        --_cols: var(--cols-sm, var(--cols-md, var(--cols)));
    }
}

@media screen and (min-width: 1440px) {
    .pf-c-page .pf-c-details:is(.pf-w-content, [data-pf-width="content"], .pf-c-consent-prefs, :is(.pf-w-content, [data-pf-width="content"], .pf-c-consent-prefs) *) {
        --_cols: var(--cols-lg, var(--cols-lg-auto));
    }
}
}

@layer site.utilitaires {
/* ex-.pf-pad-md */
@layer general {
.pf-c-details__item,
.pf-c-casting-block--card,
.pf-c-timeline--casting .pf-c-timeline__card {
    padding: var(--layout-space-y-md) var(--layout-space-x-md);
}

/* ex-.pf-mb-md (page À propos) / .pf-mt-md (aperçu de l'accueil) */
.pf-c-details:not(.pf-c-details--preview),
.pf-c-casting-block--card:not(.pf-c-casting-block--preview),
.pf-c-casting-block__title,
.pf-c-casting-block--formations:has(+ .pf-c-casting-block--experiences) {
    margin-bottom: var(--layout-space-y-md);
}

.pf-c-casting-block--card.pf-c-casting-block--preview,
.pf-c-casting-block--experiences.pf-c-casting-block--preview {
    margin-top: var(--layout-space-y-md);
}
}
}

/* assets/css/public/modules/experiences/experiences.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Version: 23-10-2026-grammaire */
/* Frise pf-c-timeline (expériences, formations ; la frise du profil artistique, pf-c-timeline--casting, a ses
   propres règles dans modules/casting/casting.css). Grammaire HTML : docs/llm/plans/grammaire-html-tronc.md. */
.pf-c-page .pf-c-timeline__title {
    margin: 0;
    padding: 0;
    font-size: var(--pf-heading-secondary-size, 14px);
    line-height: var(--pf-heading-secondary-line-height, calc(var(--pf-heading-secondary-size, 14px) + 10px));
    font-weight: bold;
    letter-spacing: var(--pf-letter-spacing, 0.4px);
    color: var(--pf-heading-primary-color, inherit);
    text-align: inherit;
}

.pf-c-page .pf-c-timeline__org {
    margin: 0.35rem 0 0;
}

.pf-c-page .pf-c-timeline__type {
    color: var(--pf-heading-secondary-color, inherit);
}

.pf-c-page .pf-c-timeline__summary {
    margin: 0;
}

.pf-c-page .pf-c-timeline__body :is(.pf-c-timeline__title, .pf-c-timeline__org, .pf-c-timeline__summary) {
    overflow: visible;
    text-overflow: unset;
    white-space: normal;
}

.pf-c-page .pf-c-timeline__title + .pf-c-timeline__summary,
.pf-c-page .pf-c-timeline__org + .pf-c-timeline__summary {
    margin-top: 0.35rem;
}

@layer general {
.pf-c-timeline {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}

.pf-c-timeline::before {
    content: "";
    position: absolute;
    top: 0.35rem;
    bottom: 0.35rem;
    left: 4.75rem;
    width: 2px;
    transform: translateX(-50%);
    background: color-mix(in srgb, var(--pf-heading-secondary-color, currentColor) 35%, var(--pf-theme-border, currentColor));
    opacity: 0.55;
}

.pf-c-timeline__entry {
    position: relative;
    display: grid;
    grid-template-columns: 4.75rem minmax(0, 1fr);
    gap: 1.25rem;
    margin-bottom: 1.75rem;
}

.pf-c-timeline__entry:last-child {
    margin-bottom: 0;
}

.pf-c-timeline__axis {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding-right: 1.25rem;
    padding-top: 0.15rem;
}

.pf-c-timeline__year {
    font-size: var(--pf-heading-secondary-size, 14px);
    line-height: var(--pf-heading-secondary-line-height, calc(var(--pf-heading-secondary-size, 14px) + 10px));
    font-weight: var(--pf-font-weight-bold, 700);
}

/* Date en pastille : même réglage /theme que « Populaire » et les dates de l'agenda (Pastilles,
   design/matrices/base.css). Sans réglage, repli = couleur principale du site, texte « sur fond ». */
/* Pas la frise du profil artistique (dates sans pastille) : :where() garde la spécificité. */
:where(.pf-c-timeline:not(.pf-c-timeline--casting)) .pf-c-timeline__year:not(.pf-c-timeline__year--nodate) {
    --pf-badge-base: var(--pf-color-one, #222222);
    --pf-badge-base-on: var(--pf-button-text-color, #fff);
    display: inline-block;
    padding: calc(0.15em * var(--pf-badge-pad, 1)) calc(0.7em * var(--pf-badge-pad, 1));
    border-radius: var(--pf-badge-radius, 999px);
    background-color: var(--pf-badge-bg);
    box-shadow: inset 0 0 0 1px var(--pf-badge-line);
    /* Encre des réglages « Pastilles » (design/matrices/base.css), comme les dates de l'agenda. */
    color: var(--pf-badge-ink);
    font-size: var(--pf-badge-size, var(--pf-heading-secondary-size, 14px));
    text-transform: var(--pf-badge-transform);
}

.pf-c-timeline__year--nodate {
    opacity: 0.55;
}

.pf-c-timeline__dot {
    position: absolute;
    right: -0.45rem;
    top: 0.5rem;
    width: 0.85rem;
    height: 0.85rem;
    border-radius: var(--pf-border-radius-full, 50%);
    background: var(--pf-theme-bg-main, var(--pf-color-bg-main, #fafafa));
    border: 2px solid var(--pf-heading-primary-color, currentColor);
    box-sizing: border-box;
}

.pf-c-timeline__card {
    min-width: 0;
}

.pf-c-timeline__header {
    align-items: flex-start;
    gap: 1rem;
}

.pf-c-timeline__header .pf-c-timeline__photo {
    height: 80px;
    width: 80px;
    margin-right: 0;
    margin-bottom: 0;
    flex-shrink: 0;
}

.pf-c-timeline__body {
    min-width: 0;
    flex: 1 1 auto;
}

.pf-c-timeline__socials .pf-c-socials {
    margin-bottom: 0;
}

.pf-c-timeline--preview .pf-c-timeline__entry {
    margin-bottom: 1.25rem;
}

.pf-c-timeline--preview:where(:not(.pf-c-timeline--casting)) .pf-c-timeline__entry:last-child {
    margin-bottom: 0;
}

[data-pf-card-style="list"] .pf-c-timeline__card {
    padding-bottom: 15px;
}

[data-pf-card-style="list"] .pf-c-timeline__card:is(.pf-c-timeline__card, .pf-c-quote, .pf-c-event, .pf-c-details__item, .pf-c-casting-block--card, .pf-c-service, .pf-c-offer, .pf-c-person__button, .pf-c-profile__infos, .pf-c-faq__item, .pf-c-invitation, .pf-c-hero__cover, .pf-c-biolink-tile__inner, .pf-c-biolink-profile__avatar, .pf-c-biolink-content-card, .pf-c-biolink-content-card__media, .pf-c-biolink-preview-card, .pf-c-biolink-preview-card__media, .pf-c-biolink-creation-gallery__item, .customizer-showreel-demo) {
    box-shadow: none;
}
}

@media screen and (max-width: 600px) {
    @layer general {
    .pf-c-timeline::before {
        left: 3.5rem;
    }

    .pf-c-timeline__entry {
        grid-template-columns: 3.5rem minmax(0, 1fr);
        gap: 0.85rem;
    }

    .pf-c-timeline__axis {
        padding-right: 0.85rem;
    }

    .pf-c-timeline__dot {
        right: -0.4rem;
        width: 0.75rem;
        height: 0.75rem;
    }

    .pf-c-timeline__header .pf-c-timeline__photo {
        height: 64px;
        width: 64px;
    }
    }
}
}

/* Primitives retirées du HTML (grammaire, décision n° 1) : leur effet, dans la couche qu'elles occupaient, pour un
   rendu identique en mode commun. Grille et flux : couche socle (core/layout.css) ; espacements : couche utilitaires
   (core/utilities.css), qui passe devant les éléments. */
@layer site.socle {
/* ex-.pf-cluster */
@layer general {
.pf-c-timeline__header {
    display: flex;
    flex-wrap: wrap;
    gap: var(--pf-cluster-gap, 0);
}
}
}

@layer site.utilitaires {
/* ex-.pf-pad-md */
@layer general {
.pf-c-timeline__card {
    padding: var(--layout-space-y-md) var(--layout-space-x-md);
}

/* ex-.pf-mt-md */
.pf-c-timeline__socials {
    margin-top: var(--layout-space-y-md);
}
}
}

/* assets/css/public/modules/formations/formations.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Version: 20-09-2026-16-46 */
/* Réutilise les styles de frise définis dans experiences.css (chargé avant sur about.php) */
}

/* assets/css/public/modules/recommendations/recommendations/01-quote.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 1/2 de modules/recommendations/recommendations.css : composant « quote » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */

/* Version: 23-10-2026-grammaire */
/* Recommandations : pf-c-quote (grammaire HTML, docs/llm/plans/grammaire-html-tronc.md). Bloc + élément dans les
   sélecteurs de couleur : ils passent devant les dispositions de design/elements/cards.css (chargées avant), comme
   quand ils étaient portés par l'id de la section. */
.pf-c-page .pf-c-quote {
    color: var(--pf-body-text-color, var(--pf-text-main-color, inherit));
}

.pf-c-page .pf-c-quote .pf-c-quote__text {
    color: var(--pf-body-text-color, var(--pf-text-main-color, inherit));
}

.pf-c-page .pf-c-quote .pf-c-quote__author,
.pf-c-page .pf-c-quote .pf-c-quote__author :is(.pf-c-quote__cite, .pf-c-quote__year, .pf-c-quote__link),
.pf-c-page .pf-c-quote .pf-c-quote__link:hover,
.pf-c-page .pf-c-quote .pf-c-quote__link:focus-visible {
    color: var(--pf-heading-secondary-color, inherit);
}

/* Même écart que les cartes d'expériences / formations (grilles de base.css § 16) : les deux blocs s'alignent. */
@layer general {
.pf-c-quotes {
    gap: var(--layout-gap, 20px);
}

.pf-c-quote {
    margin: 0;
    min-height: 0;
}

.pf-c-quote__header {
    align-items: flex-start;
    gap: 1rem;
}

.pf-c-quote__header .pf-c-avatar.pf-c-quote__photo {
    height: 80px;
    width: 80px;
    margin-right: 0;
    margin-bottom: 0;
    flex-shrink: 0;
}

.pf-c-quote__body {
    min-width: 0;
    flex: 1 1 auto;
}

.pf-c-quote__text {
    margin: 0;
    font-style: italic;
}

.pf-c-quote__text::before {
    content: "\201C";
}

.pf-c-quote__text::after {
    content: "\201D";
}

.pf-c-quote__author {
    margin-top: 0.75rem;
    padding-top: 0;
    font-size: calc(var(--pf-font-size-base) * 0.95);
}

.pf-c-quote__cite {
    font-style: normal;
    font-weight: var(--pf-font-weight-bold, 700);
}

.pf-c-quote__year {
    color: inherit;
    opacity: 0.85;
}

[data-pf-card-style="list"] .pf-c-quote:is(.pf-c-timeline__card, .pf-c-quote, .pf-c-event, .pf-c-details__item, .pf-c-casting-block--card, .pf-c-service, .pf-c-offer, .pf-c-person__button, .pf-c-profile__infos, .pf-c-faq__item, .pf-c-invitation, .pf-c-hero__cover, .pf-c-biolink-tile__inner, .pf-c-biolink-profile__avatar, .pf-c-biolink-content-card, .pf-c-biolink-content-card__media, .pf-c-biolink-preview-card, .pf-c-biolink-preview-card__media, .pf-c-biolink-creation-gallery__item, .customizer-showreel-demo) {
    box-shadow: none;
}
}
}

/* assets/css/public/modules/recommendations/recommendations/02-avatar.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 2/2 de modules/recommendations/recommendations.css : composant « avatar » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


@media screen and (max-width: 600px) {
    @layer general {
    .pf-c-quote__header .pf-c-avatar.pf-c-quote__photo {
        height: 64px;
        width: 64px;
    }
    }
}
}

/* Primitives retirées du HTML (grammaire, décision n° 1) : leur effet, dans la couche qu'elles occupaient, pour un
   rendu identique en mode commun. */
@layer site.socle {
/* ex-.pf-cluster */
@layer general {
.pf-c-quote__header {
    display: flex;
    flex-wrap: wrap;
    gap: var(--pf-cluster-gap, 0);
}
}
}

@layer site.utilitaires {
/* ex-.pf-pad-md */
@layer general {
.pf-c-quote {
    padding: var(--layout-space-y-md) var(--layout-space-x-md);
}
}
}

/* assets/css/public/modules/photos/gallery/01-gallery.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 1/2 de modules/photos/gallery.css : composant « gallery » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */

/* Version: 08-10-2026-square */
/* Grille de photos pf-c-gallery (fiche d'album photo, photos d'une œuvre). « .pf-c-page :where(.pf-c-gallery) » et
   « a:where(.pf-c-gallery__item) » gardent la spécificité des anciens #gallery / #production-show-photos-grid et « a ». */
.pf-c-page :where(.pf-c-gallery) {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-template-rows: auto;
	grid-gap: var(--layout-gap, 20px); /* densité des images : design/elements/options.css */
	overflow-x: clip;
}

@media screen and (max-width: 1439px) and (min-width: 901px) {
  .pf-c-page :where(.pf-c-gallery) {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.pf-c-page :where(.pf-c-gallery) a:where(.pf-c-gallery__item) {
  position: relative;
  /* Tuile carrée qui remplit sa cellule, image recadrée (comme les pochettes) */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
  width: 100%;
  min-width: 0;
  height: auto;
  aspect-ratio: 1 / 1;
  padding: 0;
  box-sizing: border-box;
  transition:
    box-shadow 0.3s ease-in-out,
    border 0.3s ease-in-out,
    filter 0.3s ease-in-out,
    transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.2s linear;
}

.pf-c-page :where(.pf-c-gallery) a:where(.pf-c-gallery__item):hover {
  transform: var(--pf-thumbnail-hover-transform, none);
  filter: var(--pf-thumbnail-hover-filter, brightness(100%));
}

.pf-c-page :where(.pf-c-gallery) a:where(.pf-c-gallery__item):active {
  transform: var(--pf-thumbnail-click-transform, none);
  transition: transform 0.1s ease;
}

.pf-c-page :where(.pf-c-gallery) a:where(.pf-c-gallery__item)::after {
  position: absolute;
  top: 0;
  content: "↕";
  height: 100%;
  width: 100%;
  font-size: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  transition: 0.2s linear;
  color: var(--modules-white);
}

.pf-c-page :where(.pf-c-gallery) a:where(.pf-c-gallery__item):hover::after {
  bottom: 0px;
  opacity: 1;
}

.pf-c-page :where(.pf-c-gallery) a:where(.pf-c-gallery__item) {
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
}

.pf-c-page :where(.pf-c-gallery) a:where(.pf-c-gallery__item) img:where(.pf-c-gallery__img) {
  display: none;
}

@media screen and (max-width: 900px) {

  .pf-c-page :where(.pf-c-gallery) {
    grid-template-columns: 1fr 1fr;
  }

}

@media screen and (max-width: 620px) {

  .pf-c-page :where(.pf-c-gallery) {
    grid-template-columns: 1fr 1fr;
    grid-gap: calc(var(--layout-gap, 20px) / 2);
  }

}
}

/* assets/css/public/modules/photos/gallery/02-base.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 2/2 de modules/photos/gallery.css : composant « base » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


/* Accueil : 2 lignes selon les colonnes (la page Galerie affiche tout) */
@media screen and (max-width: 620px) {
  }

@media screen and (min-width: 621px) and (max-width: 900px) {
  }

@media screen and (min-width: 901px) and (max-width: 1439px) {
  }
}

/* assets/css/public/modules/agenda/agenda/01-event.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 1/2 de modules/agenda/agenda.css : composant « event » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */

/* Version: 23-10-2026-grammaire */
/* Agenda : pf-c-events (liste) > pf-c-event (grammaire HTML, docs/llm/plans/grammaire-html-tronc.md). */
/* Fond = « Couleur de fond des contenus » du générateur, sinon fond du site. */
.pf-c-page .pf-c-events .pf-c-event {
    background: var(--pf-content-bg-color, var(--pf-theme-bg-main, #272727));
}

@layer general {
.pf-c-event {
    display: flex;
	margin-bottom: calc(25px * var(--pf-density-gap, 1));
	padding: calc(25px * var(--pf-density-pad, 1));
    transition: 0.2s linear;
    position: relative;
    font-family: var(--pf-font-name), var(--pf-font-stack, sans-serif);
}

[data-pf-card-style="list"] .pf-c-event {
    padding: 0px 0px 15px 0px;
}

.pf-c-event:last-child {
    margin-bottom: 0px;
}

.pf-c-event .pf-c-event__date {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-width: 150px;
    min-height: 150px;
    margin-right: 35px;
    padding: 20px;
    transition: 0.2s linear;
}
}

/* Pavé daté : couleur principale, réglable dans /theme (Pastilles, design/matrices/base.css).
   Les thèmes d'agenda sans fond (liste, journal…) l'écrasent par des sélecteurs plus précis. */
.pf-c-page .pf-c-event .pf-c-event__date {
    --pf-badge-base: var(--pf-color-one, #222222);
    --pf-badge-base-on: var(--pf-button-text-color, #fff);
    padding: calc(20px * var(--pf-badge-pad, 1));
    border-radius: var(--pf-badge-radius, 0);
    background-color: var(--pf-badge-bg);
    box-shadow: inset 0 0 0 1px var(--pf-badge-line);
    /* Taille et casse des pastilles : sans réglage, la variable est invalide et la valeur héritée reste. */
    font-size: var(--pf-badge-size);
    text-transform: var(--pf-badge-transform);
}

@media screen and (max-width: 1080px) {

    @layer general {
    .pf-c-event .pf-c-event__date {
        min-width: 100px;
        min-height: 100px;
    }
    }

}

@media screen and (max-width: 500px) {

    @layer general {
    .pf-c-event {
        flex-direction: column;
    }

    .pf-c-event .pf-c-event__date {
        margin: 0px 0px 20px 0px;
        text-align: left;
        align-items: flex-start;
    }
    }
}

@layer general {
.pf-c-event .pf-c-event__date .pf-c-event__day {
    font-weight: bold;
}

.pf-c-event .pf-c-event__date .pf-c-event__month {
    font-weight: bold;
}
}

/* Texte du pavé daté : couleur du texte des boutons (contraste avec la couleur principale). */
.pf-c-page .pf-c-event .pf-c-event__date,
.pf-c-page .pf-c-event .pf-c-event__date p:where(.pf-c-event__day, .pf-c-event__month, .pf-c-event__year) {
    color: var(--pf-badge-ink, var(--pf-button-text-color, #fff));
}

.pf-c-page .pf-c-event ul li:where(.pf-c-event__item):not(.pf-c-event__date),
.pf-c-page .pf-c-event ul li:not(.pf-c-event__date) span:where(.pf-c-event__text) {
    font-family: inherit;
    font-size: var(--pf-font-size-base);
    line-height: var(--pf-text-line-height);
    color: var(--pf-text-main-color, inherit);
}

.pf-c-page .pf-c-event ul li:not(.pf-c-event__date) :is(h2, h3) {
    font-size: var(--pf-heading-secondary-size);
    line-height: var(--pf-heading-secondary-line-height, calc(var(--pf-heading-secondary-size) + 10px));
    font-weight: bold;
    color: var(--pf-card-title, var(--pf-content-title-color, var(--pf-heading-secondary-color, var(--pf-text-main-color, inherit))));
    margin: 0;
    padding: 0;
    text-align: left;
}

.pf-c-page .pf-c-event ul li:not(.pf-c-event__date) :is(h2, h3) :is(a, span, p, strong, em, b, i, small) {
    color: inherit;
}

@layer general {

.pf-c-event h3:where(.pf-c-event__title) {
    margin: 0px;
    padding: 0px;
    text-align: left;
}

.pf-c-event .pf-c-event__description {
    font-weight: bold;
    margin-bottom: 30px;
}

.pf-c-event ul li:where(.pf-c-event__item):not(.pf-c-event__date) {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 15px;
    font-weight: normal;
}

.pf-c-event ul li svg:where(.pf-c-icon) {
    width: 25px;
    margin-right: 15px;
    flex-shrink: 0;
}

.pf-c-event ul li:not(.pf-c-event__date) p:where(.pf-c-event__day, .pf-c-event__month, .pf-c-event__year) {
    margin: 0px;
    font-size: var(--pf-font-size-base);
    line-height: var(--pf-text-line-height);
}

.pf-c-event .pf-c-event__open {
    position: absolute;
    right: 35px;
    bottom: 35px;
  
}

.pf-c-event .pf-c-event__open svg:where(.pf-c-icon) {
    width: 25px;
    transition: 0.2s linear;
}
}
}

/* assets/css/public/modules/agenda/agenda/02-icon.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 2/2 de modules/agenda/agenda.css : composant « icon » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


@media screen and (max-width: 500px) {

    @layer general {
    .pf-c-event .pf-c-event__open svg:where(.pf-c-icon) {
        margin-right: 10px;
    }
    }

}

@layer general {
.pf-c-event:hover .pf-c-event__open svg:where(.pf-c-icon) {
    opacity: 0.6;
}
}
}

/* assets/css/public/modules/blog/blog.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Version: 09-10-2026-card-ink */
@layer general {
.pf-c-cards--articles {
    width: 100%;
    margin: 0 auto;
    display: grid;
    grid-template-rows: auto;
    /* Écart réglé par la densité des articles (design/elements/options.css, --layout-gap du conteneur). */
    grid-gap: var(--layout-gap, 20px);
}
}

/* Vignettes blog — typo et métadonnées (variables thème portfolio) */
.pf-c-page main .pf-c-cards__item--list .pf-c-card__body,
.pf-c-page main .pf-c-card--tile .pf-c-card__body {
    gap: 0.65rem;
}

.pf-c-page main .pf-c-cards__item--list .pf-c-card__title,
.pf-c-page main .pf-c-card--tile .pf-c-card__title {
    font-size: var(--pf-heading-secondary-size, 14px);
    line-height: var(--pf-heading-secondary-line-height, calc(var(--pf-heading-secondary-size, 14px) + 10px));
    font-weight: bold;
    color: var(--pf-card-title, var(--pf-content-title-color, var(--pf-heading-primary-color, var(--pf-text-main-color, inherit))));
    margin: 0;
    padding: 0;
    text-align: inherit;
}

.pf-c-page main .pf-c-cards__item--list .pf-c-card__meta,
.pf-c-page main .pf-c-card--tile .pf-c-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    /* Taille : structure/layout/reading.css (couche « typo ») l'impose sur toutes les listes ; ici la valeur de base. */
    font-size: var(--pf-font-size-meta);
    line-height: calc(0.75rem + 8px);
    color: var(--pf-heading-secondary-color, var(--pf-text-main-color, inherit));
    opacity: 0.9;
}

.pf-c-page main .pf-c-cards__item--list .pf-c-card__date,
.pf-c-page main .pf-c-card--tile .pf-c-card__date {
    font-style: normal;
    letter-spacing: 0.02em;
}

.pf-c-page main .pf-c-cards__item--list .pf-c-card__category,
.pf-c-page main .pf-c-card--tile .pf-c-card__category {
    /* Pastille : même réglage /theme que « Populaire » et les dates (Pastilles, design/matrices/base.css). */
    --pf-badge-base: var(--pf-button-background-color, #222);
    --pf-badge-base-on: var(--pf-button-text-color, #fff);
    display: inline-block;
    padding: calc(0.12em * var(--pf-badge-pad, 1)) calc(0.55em * var(--pf-badge-pad, 1));
    border-radius: var(--pf-badge-radius, var(--pf-button-radius, var(--pf-border-radius-custom, 4px)));
    background: var(--pf-badge-bg);
    color: var(--pf-badge-ink);
    border: none;
    box-shadow: inset 0 0 0 1px var(--pf-badge-line);
    font-family: var(--pf-button-font-family, inherit);
    /* Lisibilité : 12 px au minimum (un thème peut le régler par --pf-c-card-category-size). */
    font-size: var(--pf-c-card-category-size, max(var(--pf-font-size-small), 12px));
    line-height: calc(0.68rem + 6px);
    letter-spacing: var(--pf-button-letter-spacing, 0.04em);
    text-transform: var(--pf-button-text-transform, none);
    font-weight: var(--pf-button-font-weight, 600);
}

.pf-c-page main .pf-c-cards__item--list .pf-c-card__excerpt,
.pf-c-page main .pf-c-card--tile .pf-c-card__excerpt {
    flex: 1;
    margin: 0;
    font-size: calc(var(--pf-font-size-base, 14px) * 0.875);
    line-height: calc(var(--pf-text-line-height) * 0.875);
    color: var(--pf-text-main-color, inherit);
    opacity: 0.92;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
}

/* Colonnes de la liste des articles (pages Blog et catégorie) : autrefois pf-cols-4 pf-cols-lg-3 pf-cols-md-2 pf-cols-sm-1
   dans le HTML ; même couche (socle) et même spécificité que core/layout.css. */
@layer site.socle {
@layer general {
:where(body[data-pf-page="blog"], body[data-pf-page="blog-category"]) .pf-c-cards--articles {
  --cols-lg: 3;
  --cols-md: 2;
  --cols-sm: 1;
  display: grid;
  grid-template-rows: auto;
  gap: var(--layout-gap);
  --cols: 4;
  --cols-lg-auto: 3;
}
}

:where(body[data-pf-page="blog"], body[data-pf-page="blog-category"]) .pf-c-page .pf-c-cards--articles {
  --_cols: var(--cols);
  grid-template-columns: repeat(var(--_cols), 1fr);
}

@media screen and (min-width: 1101px) and (max-width: 1439px) {
  :where(body[data-pf-page="blog"], body[data-pf-page="blog-category"]) .pf-c-page .pf-c-cards--articles {
    --_cols: var(--cols-lg, var(--cols-lg-auto));
  }
}

@media screen and (max-width: 1100px) {
  :where(body[data-pf-page="blog"], body[data-pf-page="blog-category"]) .pf-c-page .pf-c-cards--articles {
    --_cols: var(--cols-md, var(--cols));
  }
}

@media screen and (max-width: 650px) {
  :where(body[data-pf-page="blog"], body[data-pf-page="blog-category"]) .pf-c-page .pf-c-cards--articles {
    --_cols: var(--cols-sm, var(--cols-md, var(--cols)));
  }
}

@media screen and (min-width: 1440px) {
  :where(body[data-pf-page="blog"], body[data-pf-page="blog-category"]) .pf-c-page .pf-c-cards--articles:is(.pf-w-content, [data-pf-width="content"], .pf-c-consent-prefs, :is(.pf-w-content, [data-pf-width="content"], .pf-c-consent-prefs) *) {
    --_cols: var(--cols-lg, var(--cols-lg-auto));
  }
}
}

/* assets/css/public/modules/informations/informations.css */
@layer site.elements.general {
/* Version: 18-10-2026-illustration-variable */
.pf-c-infos {
    width: 100%;
}

.pf-c-info {
    display: block;
    padding: 0;
}

/* Grille (« Comme les articles » quand les articles sont en grille) : même carte que les articles,
   l'agenda et les services en grille — fond des contenus, contour, arrondi, ombre, survol et clic
   du générateur. Les autres styles sont habillés comme tous les contenus (design/matrices/base.css,
   section 15). */
.pf-c-infos:not([data-pf-informations-layout]) .pf-c-info,
.pf-c-infos[data-pf-informations-layout="grid"] .pf-c-info {
    box-sizing: border-box;
    padding: 20px;
    border-width: var(--pf-thumbnail-border-width, 0px);
    border-style: var(--pf-thumbnail-border-type, solid);
    border-color: var(--pf-thumbnail-border-color, #222);
    border-radius: var(--pf-thumbnail-radius, 0%);
    box-shadow: var(--pf-thumbnail-box-shadow, none);
    background-color: var(--pf-content-bg-color, var(--pf-bg-alt-color, transparent));
    color: var(--pf-text, var(--pf-content-text-color, inherit));
    text-decoration: none;
    transition: box-shadow 0.3s ease-in-out, filter 0.3s ease-in-out, transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Titre / texte lisibles sur le fond des contenus. .pf-c-page : « .pf-c-page * » pose la couleur
   du thème sur chaque élément, une règle sans identifiant ne passait pas. */
.pf-c-page .pf-c-infos:is(:not([data-pf-informations-layout]), [data-pf-informations-layout="grid"]) .pf-c-info__title {
    color: var(--pf-title, var(--pf-content-title-color, inherit));
}

.pf-c-page .pf-c-infos:is(:not([data-pf-informations-layout]), [data-pf-informations-layout="grid"]) .pf-c-info__description,
.pf-c-page .pf-c-infos:is(:not([data-pf-informations-layout]), [data-pf-informations-layout="grid"]) .pf-c-info__description :is(p, span, li, strong, em) {
    color: var(--pf-text, var(--pf-content-text-color, inherit));
}

.pf-c-infos:not([data-pf-informations-layout]) a.pf-c-info:hover,
.pf-c-infos[data-pf-informations-layout="grid"] a.pf-c-info:hover {
    transform: var(--pf-thumbnail-hover-transform, none);
    filter: var(--pf-thumbnail-hover-filter, brightness(100%));
}

.pf-c-infos:not([data-pf-informations-layout]) a.pf-c-info:active,
.pf-c-infos[data-pf-informations-layout="grid"] a.pf-c-info:active {
    transform: var(--pf-thumbnail-click-transform, none);
    transition: transform 0.1s ease;
}

.pf-c-info__media {
    display: block;
    /* Largeur réglée par fiche (--pf-info-illu-w, posée par le template) ; jamais plus large que la carte. */
    width: var(--pf-info-illu-w, auto);
    max-width: min(100%, var(--pf-info-illu-w, 100%));
    height: auto;
    margin-bottom: 0.75rem;
    border: none;
    background: none;
}

/* Illustration « reprend le design » : l'arrondi des vignettes. Le contour et l'ombre sont ceux de la
   carte (un seul contour, comme les autres éléments). */
.pf-c-info__media.pf-c-info__media--inherit-design {
    box-sizing: border-box;
    border-radius: var(--pf-thumbnail-radius, 0%);
}

.pf-c-info__title {
    /* Marges latérales laissées à l'alignement des titres (core/fonts.css, data-pf-align). */
    margin-block: 0;
}

.pf-c-info__title a:where(.pf-c-info__link) {
    color: inherit;
    text-decoration: none;
}

.pf-c-info__title a:where(.pf-c-info__link):hover {
    text-decoration: underline;
}

.pf-c-info__description {
    margin-top: 0.5rem;
}

}
/* assets/css/public/modules/surveys/surveys.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Version: 06-10-2026-12-00 */
/* Vignettes enquêtes — bouton ouvrant la modale (reset UA sans casser thumb-border / thème) */
.pf-c-page .pf-c-survey.pf-c-card--tile {
    width: 100%;
    margin: 0;
    padding: 0;
    font: inherit;
    color: inherit;
    text-align: start;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

.pf-c-page .pf-c-cards__item--list .pf-c-survey {
    display: block;
    width: 100%;
    text-align: start;
    padding: 0;
    font: inherit;
    color: inherit;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

/* Vignettes enquêtes : icône formulaire au survol (à la place du ¶ des contenus) */
.pf-c-page .pf-c-survey .pf-c-card__media::after {
    content: "";
    font-size: 0;
    background-color: var(--pf-text-main-color, var(--modules-white, #fff));
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='2'/%3E%3Cpath d='M9 7h6M9 11h6M9 15h4'/%3E%3C/svg%3E");
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: 2.35rem 2.35rem;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='2'/%3E%3Cpath d='M9 7h6M9 11h6M9 15h4'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: 2.35rem 2.35rem;
}

/* Modale plein écran — fond et fermer partagés avec swipebox.css (visionneuse pf-c-viewer).
   Portée « :is(.pf-c-page, html) :where(.pf-c-survey-modal) » : la fenêtre est hors de .pf-c-page ; même
   spécificité que l'ancien « #survey-response-modal » face aux règles « :is(.pf-c-page, .pf-c-survey-modal) »
   de contact.css. */
:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__scroll {
    flex: 1 1 0;
    width: 100%;
    min-height: 0;
    max-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__content {
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
    text-align: left;
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__form[hidden] {
    display: none;
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__readonly[hidden] {
    display: none;
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__legal[hidden] {
    display: none;
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__stage {
    align-items: stretch;
    text-align: left;
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__title,
:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__title[data-pf-align="left"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)),
:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__title[data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)),
:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__title[data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) {
    margin: 0 0 1rem;
    font-size: var(--pf-heading-primary-size, 21px);
    line-height: var(--pf-heading-primary-line-height, calc(var(--pf-heading-primary-size, 21px) + 2px));
    font-weight: bold;
    color: var(--pf-heading-primary-color, inherit);
    text-align: left;
    align-self: stretch;
    width: 100%;
}

.pf-c-page [data-pf-section="surveys"] .pf-c-survey .pf-c-card__body,
.pf-c-page [data-pf-section="surveys"] .pf-c-survey .pf-c-card__title,
.pf-c-page [data-pf-section="surveys"] .pf-c-survey .pf-c-card__meta,
.pf-c-page [data-pf-section="surveys"] .pf-c-survey .pf-c-card__excerpt {
    text-align: left;
}

.pf-c-page [data-pf-section="surveys"] .pf-c-survey.pf-c-card--tile,
.pf-c-page [data-pf-section="surveys"] .pf-c-cards__item--list .pf-c-survey {
    align-items: flex-start;
}

/* Contenu du questionnaire : tout à gauche, sur la largeur du formulaire,
   y compris les alignements writer (writer-align-*) et data-pf-align du thème. */
:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__fields.pf-c-prose,
:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__fields.pf-c-prose :is(
    h2, h3, h4, h5, h6,
    p, .writer-editable, hr.writer-separator,
    a, .pf-c-survey-modal__link, .pf-c-survey-modal__choice-hint
) {
    text-align: left;
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__fields.pf-c-prose .pf-c-form__field {
    align-items: flex-start;
    text-align: left;
}

/* Intertitres et blocs de contenu : enfants de chaque exemplaire
   (fieldset .survey-modal__entry), pas de la liste elle-même. Même largeur et
   même départ que les champs ; la marge haute générique de .content-article h2
   (45px) est ramenée au rythme du formulaire. */
:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__entry > :is(h2, h3, h4) {
    width: 100%;
    margin: 0.75rem 0 1.25rem;
    padding: 0;
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) :where(.pf-c-prose) .pf-c-survey-modal__entry > :is(hr, p.description) {
    margin-bottom: 1.25rem;
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__message--error {
    color: var(--pf-color-error, #b00020);
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__legal,
:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__legal p:where(.pf-c-survey-modal__paragraph) {
    font-size: var(--pf-font-size-base, 14px);
    line-height: var(--pf-text-line-height, calc(1em + 10px));
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__submit-warning {
    margin: 0;
    font-size: var(--pf-font-size-base, 14px);
    line-height: var(--pf-text-line-height, calc(1em + 10px));
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__identity-otp {
    margin-bottom: 1.5rem;
    padding: 0.75rem 0 0;
    border-top: 1px solid color-mix(in srgb, var(--pf-ui-border-strong-color, rgba(127, 127, 127, 0.35)) 35%, transparent);
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__identity-otp-hint {
    margin: 0 0 0.75rem;
    font-size: calc(var(--pf-font-size-base) * 0.88);
    line-height: 1.4;
    color: color-mix(in srgb, var(--pf-text-main-color, inherit) 65%, transparent);
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-form .pf-c-form__field,
:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__fields .pf-c-form__field {
    margin-bottom: 1.5rem;
    gap: 0.55rem;
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-form__label {
    text-align: left;
    align-self: stretch;
    width: 100%;
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-form__control[readonly] {
    cursor: default;
    opacity: 0.75;
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-form__field .pf-c-survey-modal__link {
    display: inline-block;
    line-height: var(--pf-text-line-height, calc(1em + 10px));
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__readonly-intro {
    margin: 0 0 1.5rem;
    font-weight: bold;
    font-size: var(--pf-heading-secondary-size, 14px);
    line-height: var(--pf-heading-secondary-line-height, calc(1em + 6px));
    color: var(--pf-heading-secondary-color, inherit);
    text-align: left;
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__readonly-content {
    margin-top: 0.25rem;
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__readonly-success {
    margin: 0 0 1rem;
    text-align: left;
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__readonly-success:not([hidden]) {
    margin-top: 0.75rem;
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__responses-date {
    margin: 0 0 1rem;
    font-size: calc(var(--pf-font-size-base) * 0.88);
    line-height: 1.4;
    text-align: left;
    color: color-mix(in srgb, var(--pf-text-main-color, inherit) 65%, transparent);
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__responses-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    margin: 0 0 1.25rem;
    padding: 0.75rem 0;
    border-top: 1px solid color-mix(in srgb, var(--pf-ui-border-strong-color, rgba(127, 127, 127, 0.35)) 35%, transparent);
    border-bottom: 1px solid color-mix(in srgb, var(--pf-ui-border-strong-color, rgba(127, 127, 127, 0.35)) 35%, transparent);
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__responses-counter {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    font-size: calc(var(--pf-font-size-base) * 0.95);
    line-height: 1.4;
    font-weight: bold;
    text-align: center;
    color: var(--pf-heading-primary-color, inherit);
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__responses-bar .pf-c-viewer__prev,
:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__responses-bar .pf-c-viewer__next {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 3rem;
    height: 3rem;
    padding: 0;
    border: var(--pf-button-border-width, 0px) var(--pf-button-border-type, solid) var(--pf-button-border-color, transparent);
    border-radius: var(--pf-button-radius, var(--pf-border-radius-full));
    box-shadow: var(--pf-button-box-shadow, none);
    background-color: var(--pf-button-background-color, #222);
    background-image: var(--pf-button-gradient, none);
    cursor: pointer;
    color: var(--pf-button-text-color, #fff);
    box-sizing: border-box;
    transition: box-shadow 0.2s, border 0.2s, background 0.2s, color 0.2s, filter 0.18s, transform 0.18s;
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__responses-bar .pf-c-viewer__prev.pf-c-viewer__prev svg:where(.pf-c-icon) {
    transform: rotate(-90deg);
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__responses-bar .pf-c-viewer__next.pf-c-viewer__next svg:where(.pf-c-icon) {
    transform: rotate(90deg);
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__responses-bar .pf-c-viewer__prev:disabled,
:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__responses-bar .pf-c-viewer__next:disabled {
    opacity: 0.35;
    cursor: not-allowed;
    pointer-events: none;
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__summary {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__summary-block {
    padding: 1rem;
    border-style: solid;
    border-width: var(--contact-control-border-width, 2px);
    border-color: var(--contact-control-border-color, var(--pf-ui-border-strong-color, rgba(127, 127, 127, 0.35)));
    border-radius: var(--pf-thumbnail-radius, 0%);
    background-color: var(--form-bg, var(--pf-theme-bg-main));
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__summary-title {
    margin: 0 0 0.75rem;
    font-size: calc(var(--pf-font-size-base) * 0.95);
    line-height: 1.35;
    font-weight: bold;
    text-align: left;
    color: var(--pf-heading-primary-color, inherit);
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__summary-list {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__summary-item {
    margin: 0;
    padding: 0 0 0.65rem;
    border-bottom: 1px solid color-mix(in srgb, var(--pf-ui-border-strong-color, rgba(127, 127, 127, 0.35)) 25%, transparent);
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__summary-item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__summary-item dt:where(.pf-c-survey-modal__summary-label) {
    margin: 0 0 0.2rem;
    font-weight: bold;
    font-size: calc(var(--pf-font-size-base) * 0.88);
    line-height: 1.35;
    text-align: left;
    color: color-mix(in srgb, var(--pf-text-main-color, inherit) 72%, transparent);
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__summary-item dd:where(.pf-c-survey-modal__summary-value) {
    margin: 0;
    line-height: 1.45;
    text-align: left;
    overflow-wrap: break-word;
    word-break: break-word;
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__readonly-actions {
    margin-top: 1.25rem;
}

/* Choix simples / multiples — cartes cliquables alignées sur contact-form */
:is(.pf-c-page, .pf-c-survey-modal) .pf-c-survey-modal__choice-grid,
:is(.pf-c-page, .pf-c-survey-modal) .pf-c-prose .pf-c-survey-modal__choice-grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr));
    grid-auto-rows: 1fr;
    gap: 0.5rem;
}

:is(.pf-c-page, .pf-c-survey-modal) .pf-c-survey-modal__choice-grid > li:where(.pf-c-survey-modal__choice),
:is(.pf-c-page, .pf-c-survey-modal) .pf-c-prose .pf-c-survey-modal__choice-grid > li:where(.pf-c-survey-modal__choice) {
    list-style: none;
    margin: 0;
    padding: 0;
    margin-left: 0;
    margin-bottom: 0;
    line-height: inherit;
    display: flex;
    height: 100%;
}

:is(.pf-c-page, .pf-c-survey-modal) .pf-c-survey-modal__choice-grid > li:where(.pf-c-survey-modal__choice)::marker {
    content: none;
}

:is(.pf-c-page, .pf-c-survey-modal) .pf-c-survey-modal__choice-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: var(--contact-control-padding-y, 0.75rem) var(--contact-control-padding-x, 0.75rem);
    cursor: pointer;
    font: inherit;
    color: inherit;
    text-align: center;
    background-color: var(--form-bg, var(--pf-theme-bg-main));
    border-style: solid;
    border-width: var(--contact-control-border-width, 2px);
    border-color: var(--contact-control-border-color, var(--pf-ui-border-strong-color, rgba(127, 127, 127, 0.35)));
    border-radius: var(--pf-thumbnail-radius, 0%);
    box-shadow: none;
    transition: border-color 0.25s ease, box-shadow 0.25s ease, background-color 0.2s ease;
}

:is(.pf-c-page, .pf-c-survey-modal) .pf-c-survey-modal__choice-card:hover {
    border-color: var(--pf-heading-primary-color, var(--contact-control-border-color));
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--pf-heading-primary-color, var(--contact-control-border-color)) 18%, transparent);
}

:is(.pf-c-page, .pf-c-survey-modal) :where(.pf-c-survey-modal__choice-card).is-selected {
    border-color: var(--pf-heading-primary-color, var(--contact-control-border-color));
    background: color-mix(in srgb, var(--pf-heading-primary-color, #6d42c3) 8%, var(--form-bg, var(--pf-theme-bg-main)));
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--pf-heading-primary-color, #6d42c3) 22%, transparent);
}

:is(.pf-c-page, .pf-c-survey-modal) .pf-c-survey-modal__choice-card input:where(.pf-c-survey-modal__choice-input) {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0, 0, 0, 0);
    overflow: hidden;
    white-space: nowrap;
}

:is(.pf-c-page, .pf-c-survey-modal) .pf-c-survey-modal__choice-card::before {
    content: "";
    display: block;
    flex-shrink: 0;
    width: 1.1rem;
    height: 1.1rem;
    box-sizing: border-box;
    border: 2px solid color-mix(in srgb, currentColor 42%, transparent);
    background: color-mix(in srgb, var(--form-bg, var(--pf-theme-bg-main)) 35%, transparent);
    opacity: 0.55;
    transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

:is(.pf-c-page, .pf-c-survey-modal) .pf-c-survey-modal__choice-card--radio::before {
    border-radius: 50%;
}

:is(.pf-c-page, .pf-c-survey-modal) .pf-c-survey-modal__choice-card--checkbox::before {
    border-radius: calc(var(--pf-border-radius-s, 4px) * 0.5);
}

:is(.pf-c-page, .pf-c-survey-modal) :where(.pf-c-survey-modal__choice-card).is-selected::before {
    opacity: 1;
    border-color: var(--pf-heading-primary-color, #6d42c3);
    background: var(--pf-heading-primary-color, #6d42c3);
    box-shadow: inset 0 0 0 2px var(--form-bg, #fff);
}

:is(.pf-c-page, .pf-c-survey-modal) .pf-c-survey-modal__choice-text {
    flex: 0 1 auto;
    width: 100%;
    min-width: 0;
    line-height: 1.35;
    text-align: center;
    overflow-wrap: break-word;
    word-break: break-word;
    hyphens: auto;
}

:is(.pf-c-page, .pf-c-survey-modal) :where(.pf-c-form__field).is-invalid .pf-c-survey-modal__choice-card,
:is(.pf-c-page, .pf-c-survey-modal) .pf-c-form__field:has(.pf-c-survey-modal__choice-group[data-required="true"]:not(:has(:checked))) .pf-c-survey-modal__choice-card {
    border-color: var(--form-error);
    box-shadow: none;
}

:is(.pf-c-page, .pf-c-survey-modal) :where(.pf-c-form__field).is-valid:has(.pf-c-survey-modal__choice-grid) :where(.pf-c-survey-modal__choice-card).is-selected {
    border-color: var(--pf-heading-primary-color, var(--contact-control-border-color));
}

:is(.pf-c-page, .pf-c-survey-modal) .pf-c-form__field:has(.pf-c-survey-modal__choice-grid) {
    align-items: stretch;
}

:is(.pf-c-page, .pf-c-survey-modal) .pf-c-form__field:has(.pf-c-survey-modal__choice-grid) .pf-c-survey-modal__choice-grid {
    width: 100%;
}

:is(.pf-c-page, .pf-c-survey-modal) .pf-c-survey-modal__choice-hint {
    margin: 0;
    font-size: calc(var(--pf-font-size-base) * 0.88);
    line-height: 1.4;
    text-align: left;
    color: color-mix(in srgb, var(--pf-text-main-color, inherit) 65%, transparent);
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-form__actions {
    align-items: flex-start;
}

:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-form__submit:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

@media screen and (max-width: 650px) {
    :is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-form__row:is(.pf-cols-2, .pf-c-quotes, .pf-c-biolink-creations-grid, .pf-c-biolink-creation-blog, .pf-c-infos:where([data-pf-cols="2"])) {
        grid-template-columns: 1fr;
    }

    :is(.pf-c-page, .pf-c-survey-modal) .pf-c-survey-modal__choice-grid,
    :is(.pf-c-page, .pf-c-survey-modal) .pf-c-prose .pf-c-survey-modal__choice-grid {
        grid-template-columns: repeat(auto-fill, minmax(min(100%, 12rem), 1fr));
    }
}

/* E-mail isolé en tête : mention invitation. */
:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__email-note {
    margin: 0.5rem 0 0;
    font-size: 0.875em;
    opacity: 0.75;
}

/* Choix du nombre de personnes (enquêtes à réponses multiples). */
:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__count {
    margin-bottom: 1.5rem;
}
:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__count-control {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
}
:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__count-btn {
    /* Pastille ronde lisible : le plafond max-content des boutons la réduisait à la largeur du signe. */
    --pf-button-max-width: none;
    min-width: 2.5rem;
    min-height: 2.5rem;
    padding-inline: 0.75rem;
}
@media (max-width: 650px) {
    :is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__count-btn {
        min-width: var(--pf-c-touch-target, 44px);
        min-height: var(--pf-c-touch-target, 44px);
    }
}
:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__count-value {
    min-width: 2ch;
    text-align: center;
    font-weight: 600;
}

/* Exemplaires : un fieldset par personne ; titre et cadre seulement s'il y en a plusieurs. */
:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__entry {
    margin: 0;
    padding: 0;
    border: 0;
    min-width: 0;
}
:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__entry-title {
    display: none;
}
:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__fields--multi .pf-c-survey-modal__entry {
    padding: 1.25rem;
    margin-bottom: 1.5rem;
    border: 1px solid currentColor;
    border-color: color-mix(in srgb, currentColor 20%, transparent);
    border-radius: 0.75rem;
}
:is(.pf-c-page, html) :where(.pf-c-survey-modal) .pf-c-survey-modal__fields--multi .pf-c-survey-modal__entry-title {
    display: block;
    padding: 0 0.5rem;
    font-weight: 600;
}
}

/* Page d'une enquête (contents/survey.php) : <main> vide sous la fenêtre de réponse, pleine hauteur ; autrefois en
   style="" sur <main> : couche « reglages », comme l'était le style en ligne. */
@layer site.reglages {
@layer general {
body[data-pf-page="survey"] .pf-c-main {
    min-height: 100vh;
}
}
}

/* Primitives retirées du HTML de la fenêtre (grammaire, décision n° 1) : leur effet, dans la couche qu'elles occupaient. */
@layer site.socle {
/* ex-.pf-w-content */
@layer general {
.pf-c-survey-modal__content {
    width: 100%;
    margin: 0 auto;
    max-width: var(--layout-width-content);
}
}
}

@layer site.utilitaires {
/* ex-.pf-mb-md / .pf-mt-md */
@layer general {
.pf-c-survey-modal__legal {
    margin-bottom: var(--layout-space-y-md);
}

.pf-c-survey-modal__otp-verify {
    margin-top: var(--layout-space-y-md);
}
}
}

/* assets/css/public/modules/memberships/memberships.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Version: 23-10-2026-grammaire — module Adhésions (offres, personnes affichées). Couleurs et arrondis : variables du thème.
   Composants (grammaire HTML, docs/llm/plans/grammaire-html-tronc.md) : pf-c-offers > pf-c-offer, pf-c-join
   (modalités pour adhérer), pf-c-people (personnes affichées). Balisage : shared/includes/ui/memberships_public.php. */

@layer general {
.pf-c-offers {
    gap: var(--layout-gap, 25px);
}

.pf-c-offer {
    display: flex;
    flex-direction: column;
    gap: 12px;
    background-color: var(--pf-theme-bg-alt, rgba(0, 0, 0, 0.04));
}

.pf-c-offer__title {
    margin: 0;
}

.pf-c-offer__fee {
    margin: 0;
}

.pf-c-offer__amount {
    font-size: 1.6em;
}

.pf-c-offer__action {
    margin: auto 0 0;
    padding-top: 10px;
}

.pf-c-people {
    margin: 0;
    padding: 0;
    gap: var(--layout-gap, 25px);
    list-style: none;
}

.pf-c-people__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    text-align: center;
}

.pf-c-people__image {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    object-fit: cover;
}

.pf-c-people__image--initial {
    display: grid;
    place-items: center;
    background-color: var(--pf-button-background-color, #222);
    color: var(--pf-button-text-color, #fff);
    font-weight: 700;
    font-size: 1.4em;
}

.pf-c-people__name {
    font-weight: 700;
}

.pf-c-people__title {
    opacity: 0.8;
}

.pf-c-people__text {
    margin: 0;
}

.pf-c-join__paragraph + .pf-c-join__paragraph {
    margin-top: 12px;
}

.pf-c-join__action {
    margin: 25px 0 15px;
}

.pf-c-join__note {
    opacity: 0.8;
}
}
}

/* Primitives retirées du HTML (grammaire, décision n° 1) : leur effet, dans la couche qu'elles occupaient. */
@layer site.socle {
/* ex-.pf-cols-<nombre d'offres>.pf-cols-sm-1 : une colonne par offre, une seule sur mobile. */
@layer general {
.pf-c-offers,
.pf-c-people {
    --cols-lg: initial;
    --cols-md: initial;
    display: grid;
    grid-template-rows: auto;
    gap: var(--layout-gap);
}

.pf-c-offers {
    --cols-sm: 1;
    --cols: 1;
    --cols-lg-auto: 1;
}

.pf-c-offers:has(> .pf-c-offer:nth-child(2)) {
    --cols: 2;
    --cols-lg-auto: 2;
}

.pf-c-offers:has(> .pf-c-offer:nth-child(3)) {
    --cols: 3;
    --cols-lg-auto: 3;
}

.pf-c-offers:has(> .pf-c-offer:nth-child(4)) {
    --cols: 4;
    --cols-lg-auto: 3;
}

/* ex-.pf-cols-4.pf-cols-md-3.pf-cols-sm-2 */
.pf-c-people {
    --cols-md: 3;
    --cols-sm: 2;
    --cols: 4;
    --cols-lg-auto: 3;
}
}

.pf-c-page :is(.pf-c-offers, .pf-c-people) {
    --_cols: var(--cols);
    grid-template-columns: repeat(var(--_cols), 1fr);
}

@media screen and (min-width: 1101px) and (max-width: 1439px) {
    .pf-c-page :is(.pf-c-offers, .pf-c-people) {
        --_cols: var(--cols-lg, var(--cols-lg-auto));
    }
}

@media screen and (max-width: 1100px) {
    .pf-c-page :is(.pf-c-offers, .pf-c-people) {
        --_cols: var(--cols-md, var(--cols));
    }
}

@media screen and (max-width: 650px) {
    .pf-c-page :is(.pf-c-offers, .pf-c-people) {
        --_cols: var(--cols-sm, var(--cols-md, var(--cols)));
    }
}

@media screen and (min-width: 1440px) {
    .pf-c-page :is(.pf-c-offers, .pf-c-people):is(.pf-w-content, [data-pf-width="content"], .pf-c-consent-prefs, :is(.pf-w-content, [data-pf-width="content"], .pf-c-consent-prefs) *) {
        --_cols: var(--cols-lg, var(--cols-lg-auto));
    }
}
}

@layer site.utilitaires {
/* ex-.pf-pad-md */
@layer general {
.pf-c-offer {
    padding: var(--layout-space-y-md) var(--layout-space-x-md);
}
}
}

/* assets/css/public/design/home/section-layout/01-base.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 1/28 de design/home/section-layout.css : composant « base » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */

/* Version: 19-10-2026-behind-edge */
/* Version: 02-09-2026-22-45 — mobile : gauche/droite → dessus/dessous */
@layer general {
[data-pf-hero-image],
[data-pf-feature-image] {
    width: 100%;
}
}
}

/* assets/css/public/design/home/section-layout/02-hero.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 2/28 de design/home/section-layout.css : composant « hero » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


[data-pf-hero-image] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *),
[data-pf-feature-image] :where(.pf-c-home-feature__inner):is(.pf-c-page *) {
    display: grid;
    width: 100%;
    align-items: stretch;
    box-sizing: border-box;
    position: relative;
}

/* Espacement vertical uniforme (haut = bas) — au niveau section pour fond pleine largeur.
   --pf-hero-offset : place du header fixe au-dessus du hero (posée par themes/basic/header.css), 0 sinon. */
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *)[data-pf-hero-image]:not([data-pf-hero-image="behind"]) {
    padding-top: calc(var(--pf-hero-offset, 0px) + var(--pf-c-hero-padding-block, 45px));
    padding-bottom: var(--pf-c-hero-padding-block, 45px);
}
}

/* assets/css/public/design/home/section-layout/03-home.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 3/28 de design/home/section-layout.css : composant « home » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */

@layer general {
section.pf-c-home-feature[data-pf-feature-image]:not([data-pf-feature-image="behind"]) {
    padding-top: calc(var(--pf-hero-offset, 0px) + var(--pf-c-hero-padding-block, 45px));
    padding-bottom: var(--pf-c-hero-padding-block, 45px);
}

section.pf-c-home-feature[data-pf-feature-image]:not([data-pf-feature-image="behind"]) {
    padding-top: var(--pf-c-home-feature-padding-block, var(--pf-c-hero-padding-block, 45px));
    padding-bottom: var(--pf-c-home-feature-padding-block, var(--pf-c-hero-padding-block, 45px));
}
}
}

/* assets/css/public/design/home/section-layout/04-hero.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 4/28 de design/home/section-layout.css : composant « hero » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


[data-pf-hero-image]:not([data-pf-hero-image="behind"]) :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *),
[data-pf-feature-image]:not([data-pf-feature-image="behind"]) :where(.pf-c-home-feature__inner):is(.pf-c-page *) {
    padding-top: 0;
    padding-bottom: 0;
}

[data-pf-hero-image] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *),
[data-pf-feature-image] :where(.pf-c-home-feature__inner):is(.pf-c-page *) :where(.pf-c-home-feature__text):is(.pf-c-page *) {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
}

/* Image en fond : le padding vertical reste sur le bloc texte (+ place du header fixe, --pf-hero-offset) */
[data-pf-hero-image="behind"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *),
[data-pf-feature-image="behind"] :where(.pf-c-home-feature__inner):is(.pf-c-page *) :where(.pf-c-home-feature__text):is(.pf-c-page *) {
    padding-top: calc(var(--pf-hero-offset, 0px) + var(--pf-c-hero-padding-block, 45px));
    padding-bottom: var(--pf-c-hero-padding-block, 45px);
}
}

/* assets/css/public/design/home/section-layout/05-home.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 5/28 de design/home/section-layout.css : composant « home » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


[data-pf-feature-image="behind"] :where(.pf-c-home-feature__inner):is(.pf-c-page *) :where(.pf-c-home-feature__text):is(.pf-c-page *) {
    padding-top: var(--pf-c-home-feature-padding-block, var(--pf-c-hero-padding-block, 45px));
    padding-bottom: var(--pf-c-home-feature-padding-block, var(--pf-c-hero-padding-block, 45px));
}
}

/* assets/css/public/design/home/section-layout/06-hero.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 6/28 de design/home/section-layout.css : composant « hero » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


[data-pf-hero-image]:not([data-pf-hero-image="behind"]) :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *),
[data-pf-feature-image]:not([data-pf-feature-image="behind"]) :where(.pf-c-home-feature__inner):is(.pf-c-page *) :where(.pf-c-home-feature__text):is(.pf-c-page *) {
    padding-top: 0;
    padding-bottom: 0;
    padding-inline: 0;
    margin-inline: 0;
    width: 100%;
    max-width: 100%;
}

/* Largeur du contenu — pilotée par hero-layout--content-full|limited (pas .pf-w-wide utilitaire) */
/* Pas de padding-inline ici : la section (#hero / .home-feature-vedette) porte déjà .pf-pad-x-md (20px) — sinon le contenu se retrouve avec 40px de marge latérale au lieu de 20px */
/* « Pleine largeur » reste plafonnée à --layout-width-wide (comme #footer-main et le reste du site) — pas de max-width: none */
[data-pf-hero-content="full"]:not([data-pf-hero-image="behind"]) :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *),
[data-pf-feature-content="full"]:not([data-pf-feature-image="behind"]) :where(.pf-c-home-feature__inner):is(.pf-c-page *),
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *)[data-pf-hero-content="full"]:not([data-pf-hero-image="behind"]) :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *),
.pf-c-page section.pf-c-home-feature[data-pf-feature-content="full"]:not([data-pf-feature-image="behind"]) :where(.pf-c-home-feature__inner):is(.pf-c-page *) {
    max-width: var(--layout-width-wide);
    width: 100%;
    margin-inline: auto;
    box-sizing: border-box;
}

[data-pf-hero-content="limited"]:not([data-pf-hero-image="behind"]) :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *),
[data-pf-feature-content="limited"]:not([data-pf-feature-image="behind"]) :where(.pf-c-home-feature__inner):is(.pf-c-page *),
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *)[data-pf-hero-content="limited"]:not([data-pf-hero-image="behind"]) :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *),
.pf-c-page section.pf-c-home-feature[data-pf-feature-content="limited"]:not([data-pf-feature-image="behind"]) :where(.pf-c-home-feature__inner):is(.pf-c-page *) {
    max-width: var(--layout-width-content);
    width: 100%;
    margin-inline: auto;
    box-sizing: border-box;
}
}

/* assets/css/public/design/home/section-layout/07-consent.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 7/28 de design/home/section-layout.css : composant « consent » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


/* Annule .pf-w-wide / .pf-w-content globaux si encore présents sur le conteneur grid */
[data-pf-hero-content="full"]:not([data-pf-hero-image="behind"]) :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *):is(.pf-w-wide, [data-pf-width="wide"], .pf-c-header__inner, .pf-c-nav__submenu-list, .pf-c-footer__main, .pf-c-legal__list, :is(.pf-w-content, [data-pf-width="content"], .pf-c-consent-prefs)),
[data-pf-feature-content="full"]:not([data-pf-feature-image="behind"]) :where(.pf-c-home-feature__inner):is(.pf-c-page *):is(.pf-w-wide, [data-pf-width="wide"], .pf-c-header__inner, .pf-c-nav__submenu-list, .pf-c-footer__main, .pf-c-legal__list, :is(.pf-w-content, [data-pf-width="content"], .pf-c-consent-prefs)),
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *)[data-pf-hero-content="full"]:not([data-pf-hero-image="behind"]) :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *):is(.pf-w-wide, [data-pf-width="wide"], .pf-c-header__inner, .pf-c-nav__submenu-list, .pf-c-footer__main, .pf-c-legal__list, :is(.pf-w-content, [data-pf-width="content"], .pf-c-consent-prefs)),
.pf-c-page section.pf-c-home-feature[data-pf-feature-content="full"]:not([data-pf-feature-image="behind"]) :where(.pf-c-home-feature__inner):is(.pf-c-page *):is(.pf-w-wide, [data-pf-width="wide"], .pf-c-header__inner, .pf-c-nav__submenu-list, .pf-c-footer__main, .pf-c-legal__list, :is(.pf-w-content, [data-pf-width="content"], .pf-c-consent-prefs)) {
    max-width: var(--layout-width-wide);
    margin-inline: auto;
}

[data-pf-hero-content="limited"]:not([data-pf-hero-image="behind"]) :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *):is(.pf-w-wide, [data-pf-width="wide"], .pf-c-header__inner, .pf-c-nav__submenu-list, .pf-c-footer__main, .pf-c-legal__list, :is(.pf-w-content, [data-pf-width="content"], .pf-c-consent-prefs)),
[data-pf-feature-content="limited"]:not([data-pf-feature-image="behind"]) :where(.pf-c-home-feature__inner):is(.pf-c-page *):is(.pf-w-wide, [data-pf-width="wide"], .pf-c-header__inner, .pf-c-nav__submenu-list, .pf-c-footer__main, .pf-c-legal__list, :is(.pf-w-content, [data-pf-width="content"], .pf-c-consent-prefs)),
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *)[data-pf-hero-content="limited"]:not([data-pf-hero-image="behind"]) :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *):is(.pf-w-wide, [data-pf-width="wide"], .pf-c-header__inner, .pf-c-nav__submenu-list, .pf-c-footer__main, .pf-c-legal__list, :is(.pf-w-content, [data-pf-width="content"], .pf-c-consent-prefs)),
.pf-c-page section.pf-c-home-feature[data-pf-feature-content="limited"]:not([data-pf-feature-image="behind"]) :where(.pf-c-home-feature__inner):is(.pf-c-page *):is(.pf-w-wide, [data-pf-width="wide"], .pf-c-header__inner, .pf-c-nav__submenu-list, .pf-c-footer__main, .pf-c-legal__list, :is(.pf-w-content, [data-pf-width="content"], .pf-c-consent-prefs)) {
    max-width: var(--layout-width-content);
    margin-inline: auto;
}
}

/* assets/css/public/design/home/section-layout/08-hero.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 8/28 de design/home/section-layout.css : composant « hero » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


[data-pf-hero-image]:not([data-pf-hero-image="behind"]) :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *),
[data-pf-feature-image]:not([data-pf-feature-image="behind"]) :where(.pf-c-home-feature__inner):is(.pf-c-page *) :where(.pf-c-home-feature__text):is(.pf-c-page *) {
    max-width: 100%;
    margin-inline: 0;
}

/* Image derrière : largeur du bloc texte selon content-full|limited (« pleine largeur » plafonnée à --layout-width-wide, comme ailleurs) */
[data-pf-hero-content="full"][data-pf-hero-image="behind"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *),
[data-pf-feature-content="full"][data-pf-feature-image="behind"] :where(.pf-c-home-feature__inner):is(.pf-c-page *) :where(.pf-c-home-feature__text):is(.pf-c-page *),
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *)[data-pf-hero-content="full"][data-pf-hero-image="behind"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *),
.pf-c-page section.pf-c-home-feature[data-pf-feature-content="full"][data-pf-feature-image="behind"] :where(.pf-c-home-feature__inner):is(.pf-c-page *) :where(.pf-c-home-feature__text):is(.pf-c-page *) {
    max-width: var(--layout-width-wide);
    width: 100%;
    margin-inline: auto;
    padding-inline: 20px;
    box-sizing: border-box;
}

[data-pf-hero-content="limited"][data-pf-hero-image="behind"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *),
[data-pf-feature-content="limited"][data-pf-feature-image="behind"] :where(.pf-c-home-feature__inner):is(.pf-c-page *) :where(.pf-c-home-feature__text):is(.pf-c-page *),
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *)[data-pf-hero-content="limited"][data-pf-hero-image="behind"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *),
.pf-c-page section.pf-c-home-feature[data-pf-feature-content="limited"][data-pf-feature-image="behind"] :where(.pf-c-home-feature__inner):is(.pf-c-page *) :where(.pf-c-home-feature__text):is(.pf-c-page *) {
    max-width: var(--layout-width-content);
    width: 100%;
    margin-inline: auto;
    padding-inline: 20px;
    box-sizing: border-box;
}

.pf-c-page :where(.pf-c-hero):is(.pf-c-page *)[data-pf-hero-image] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *),
.pf-c-page section.pf-c-home-feature[data-pf-feature-image] :where(.pf-c-home-feature__inner):is(.pf-c-page *) {
    display: grid;
    column-gap: var(--pf-c-hero-content-gap, 48px);
    row-gap: var(--pf-c-hero-content-gap, 48px);
}
}

/* assets/css/public/design/home/section-layout/09-consent.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 9/28 de design/home/section-layout.css : composant « consent » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


[data-pf-hero-content="full"][data-pf-hero-image="behind"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *):is(.pf-w-wide, [data-pf-width="wide"], .pf-c-header__inner, .pf-c-nav__submenu-list, .pf-c-footer__main, .pf-c-legal__list, :is(.pf-w-content, [data-pf-width="content"], .pf-c-consent-prefs)),
[data-pf-feature-content="full"][data-pf-feature-image="behind"] :where(.pf-c-home-feature__inner):is(.pf-c-page *) :where(.pf-c-home-feature__text):is(.pf-c-page *):is(.pf-w-wide, [data-pf-width="wide"], .pf-c-header__inner, .pf-c-nav__submenu-list, .pf-c-footer__main, .pf-c-legal__list, :is(.pf-w-content, [data-pf-width="content"], .pf-c-consent-prefs)) {
    max-width: var(--layout-width-wide);
    margin-inline: auto;
}

[data-pf-hero-content="limited"][data-pf-hero-image="behind"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *):is(.pf-w-wide, [data-pf-width="wide"], .pf-c-header__inner, .pf-c-nav__submenu-list, .pf-c-footer__main, .pf-c-legal__list, :is(.pf-w-content, [data-pf-width="content"], .pf-c-consent-prefs)),
[data-pf-feature-content="limited"][data-pf-feature-image="behind"] :where(.pf-c-home-feature__inner):is(.pf-c-page *) :where(.pf-c-home-feature__text):is(.pf-c-page *):is(.pf-w-wide, [data-pf-width="wide"], .pf-c-header__inner, .pf-c-nav__submenu-list, .pf-c-footer__main, .pf-c-legal__list, :is(.pf-w-content, [data-pf-width="content"], .pf-c-consent-prefs)) {
    max-width: var(--layout-width-content);
    margin-inline: auto;
}
}

/* assets/css/public/design/home/section-layout/10-home.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 10/28 de design/home/section-layout.css : composant « home » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


.pf-c-page section.pf-c-home-feature[data-pf-feature-image] :where(.pf-c-home-feature__inner):is(.pf-c-page *) {
    column-gap: var(--pf-c-home-feature-content-gap, var(--pf-c-hero-content-gap, 48px));
    row-gap: var(--pf-c-home-feature-content-gap, var(--pf-c-hero-content-gap, 48px));
}
}

/* assets/css/public/design/home/section-layout/11-base.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 11/28 de design/home/section-layout.css : composant « base » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


/* Image derrière : l'image va d'un bord à l'autre. La section porte .pf-pad-x-md
   (couche utilitaires, après celle-ci) : on annule sa variable plutôt que la
   propriété, sinon les 20px reviennent de chaque côté. Aucun descendant
   n'utilise cette variable (le texte porte son propre padding-inline). */
@layer general {
[data-pf-hero-image="behind"],
[data-pf-feature-image="behind"] {
    --layout-space-x-md: 0px;
    padding-inline: 0;
}
}

@layer general {
[data-pf-hero-image="left"],
[data-pf-hero-image="right"],
[data-pf-feature-image="left"],
[data-pf-feature-image="right"] {
    --pf-c-hero-side-image-max: 50%;
}
}
}

/* assets/css/public/design/home/section-layout/12-hero.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 12/28 de design/home/section-layout.css : composant « hero » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


/* Image derrière : conteneur titre pleine largeur (annule le plafond .pf-w-wide) */
/* Pas de padding-inline ici : #home-about / #feature-about porte déjà le padding-inline (20px) du bloc texte — sinon le texte se retrouve avec 40px de marge latérale au lieu de 20px */
[data-pf-hero-image="behind"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *),
[data-pf-hero-image="behind"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *):is(.pf-w-content, [data-pf-width="content"], .pf-c-consent-prefs),
[data-pf-hero-image="behind"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *):is(.pf-w-wide, [data-pf-width="wide"], .pf-c-header__inner, .pf-c-nav__submenu-list, .pf-c-footer__main, .pf-c-legal__list),
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *)[data-pf-hero-image="behind"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *),
[data-pf-feature-image="behind"] :where(.pf-c-home-feature__inner):is(.pf-c-page *),
[data-pf-feature-image="behind"] :where(.pf-c-home-feature__inner):is(.pf-c-page *):is(.pf-w-content, [data-pf-width="content"], .pf-c-consent-prefs),
[data-pf-feature-image="behind"] :where(.pf-c-home-feature__inner):is(.pf-c-page *):is(.pf-w-wide, [data-pf-width="wide"], .pf-c-header__inner, .pf-c-nav__submenu-list, .pf-c-footer__main, .pf-c-legal__list),
.pf-c-page section.pf-c-home-feature[data-pf-feature-image="behind"] :where(.pf-c-home-feature__inner):is(.pf-c-page *) {
    max-width: none;
    width: 100%;
    margin-inline: 0;
    grid-template-columns: minmax(0, 1fr);
    column-gap: 0;
    row-gap: 0;
    box-sizing: border-box;
}

[data-pf-hero-image="behind"] :where(.pf-c-hero__present):is(.pf-c-page *),
[data-pf-feature-image="behind"] :where(.pf-c-home-feature__present):is(.pf-c-page *) {
    display: none;
}

.pf-c-page :where(.pf-c-hero):is(.pf-c-page *)[data-pf-hero-image],
.pf-c-page section.pf-c-home-feature[data-pf-feature-image] {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    box-sizing: border-box;
}

[data-pf-hero-image="behind"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *),
[data-pf-feature-image="behind"] :where(.pf-c-home-feature__inner):is(.pf-c-page *) {
    background-size: cover;
    background-position: center;
    border-radius: 0;
    box-sizing: border-box;
    overflow: visible;
}

.pf-c-page :where(.pf-c-hero):is(.pf-c-page *)[data-pf-hero-image="behind"],
.pf-c-page section.pf-c-home-feature[data-pf-feature-image="behind"] {
    border-radius: 0;
}

[data-pf-hero-image="behind"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *),
[data-pf-feature-image="behind"] :where(.pf-c-home-feature__inner):is(.pf-c-page *) :where(.pf-c-home-feature__text):is(.pf-c-page *) {
    height: auto;
    min-height: 0;
}

[data-pf-hero-image="behind"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *)::before,
[data-pf-feature-image="behind"] :where(.pf-c-home-feature__inner):is(.pf-c-page *)::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, var(--pf-c-hero-overlay-opacity, 0.24));
    pointer-events: none;
    z-index: 0;
    border-radius: 0;
}

/* Image à gauche : colonne image | colonne texte */
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *)[data-pf-hero-image][data-pf-hero-image="left"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *),
[data-pf-hero-image="left"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *) {
    --side-image-width: min(var(--pf-c-hero-image-width-ratio, 50%), var(--pf-c-hero-side-image-max));
    grid-template-columns: minmax(0, var(--side-image-width)) minmax(0, 1fr);
}
}

/* assets/css/public/design/home/section-layout/13-home.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 13/28 de design/home/section-layout.css : composant « home » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


[data-pf-feature-image="behind"] :where(.pf-c-home-feature__inner):is(.pf-c-page *)::before {
    background: rgba(0, 0, 0, var(--pf-c-home-feature-overlay-opacity, var(--pf-c-hero-overlay-opacity, 0.24)));
}

.pf-c-page section.pf-c-home-feature[data-pf-feature-image][data-pf-feature-image="left"] :where(.pf-c-home-feature__inner):is(.pf-c-page *),
[data-pf-feature-image="left"] :where(.pf-c-home-feature__inner):is(.pf-c-page *) {
    --side-image-width: min(var(--pf-c-home-feature-image-width-ratio, 50%), var(--pf-c-hero-side-image-max));
    grid-template-columns: minmax(0, var(--side-image-width)) minmax(0, 1fr);
}
}

/* assets/css/public/design/home/section-layout/14-btn.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 14/28 de design/home/section-layout.css : composant « btn » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


[data-pf-hero-image="behind"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *) > *,
[data-pf-feature-image="behind"] :where(.pf-c-home-feature__inner):is(.pf-c-page *) > *:where(.pf-c-btn, .pf-c-home-feature__bg, .pf-c-home-feature__lead, .pf-c-home-feature__present, .pf-c-home-feature__subtitle, .pf-c-home-feature__text, .pf-c-home-feature__title) {
    position: relative;
    z-index: 1;
}
}

/* assets/css/public/design/home/section-layout/15-hero.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 15/28 de design/home/section-layout.css : composant « hero » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


/* Image à droite : colonne texte | colonne image */
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *)[data-pf-hero-image][data-pf-hero-image="right"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *),
[data-pf-hero-image="right"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *) {
    --side-image-width: min(var(--pf-c-hero-image-width-ratio, 50%), var(--pf-c-hero-side-image-max));
    grid-template-columns: minmax(0, 1fr) minmax(0, var(--side-image-width));
}

[data-pf-hero-image="left"] :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *),
[data-pf-feature-image="left"] :where(.pf-c-home-feature__text):is(.pf-c-page *) {
    order: 2;
}

[data-pf-hero-image="left"] :where(.pf-c-hero__present):is(.pf-c-page *),
[data-pf-feature-image="left"] :where(.pf-c-home-feature__present):is(.pf-c-page *) {
    order: 1;
}

[data-pf-hero-image="right"] :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *),
[data-pf-feature-image="right"] :where(.pf-c-home-feature__text):is(.pf-c-page *) {
    order: 1;
}

[data-pf-hero-image="right"] :where(.pf-c-hero__present):is(.pf-c-page *),
[data-pf-feature-image="right"] :where(.pf-c-home-feature__present):is(.pf-c-page *) {
    order: 2;
}

/*
 * Image à gauche/droite : l'alignement vertical vaut pour le couple texte / image —
 * le plus court des deux se cale en haut, au centre ou en bas de l'autre.
 */
[data-pf-hero-image="left"] :is(:where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *), :where(.pf-c-hero__present):is(.pf-c-page *)),
[data-pf-hero-image="right"] :is(:where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *), :where(.pf-c-hero__present):is(.pf-c-page *)),
[data-pf-feature-image="left"] :is(:where(.pf-c-home-feature__text):is(.pf-c-page *), :where(.pf-c-home-feature__present):is(.pf-c-page *)),
[data-pf-feature-image="right"] :is(:where(.pf-c-home-feature__text):is(.pf-c-page *), :where(.pf-c-home-feature__present):is(.pf-c-page *)) {
    align-self: center;
}

[data-pf-hero-image="left"] :where(.pf-c-hero__present):is(.pf-c-page *),
[data-pf-hero-image="right"] :where(.pf-c-hero__present):is(.pf-c-page *),
[data-pf-feature-image="left"] :where(.pf-c-home-feature__present):is(.pf-c-page *),
[data-pf-feature-image="right"] :where(.pf-c-home-feature__present):is(.pf-c-page *) {
    height: auto;
}

[data-pf-hero-image="left"][data-pf-hero-valign="top"] :is(:where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *), :where(.pf-c-hero__present):is(.pf-c-page *)),
[data-pf-hero-image="right"][data-pf-hero-valign="top"] :is(:where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *), :where(.pf-c-hero__present):is(.pf-c-page *)),
[data-pf-feature-image="left"][data-pf-feature-valign="top"] :is(:where(.pf-c-home-feature__text):is(.pf-c-page *), :where(.pf-c-home-feature__present):is(.pf-c-page *)),
[data-pf-feature-image="right"][data-pf-feature-valign="top"] :is(:where(.pf-c-home-feature__text):is(.pf-c-page *), :where(.pf-c-home-feature__present):is(.pf-c-page *)) {
    align-self: start;
}

[data-pf-hero-image="left"][data-pf-hero-valign="bottom"] :is(:where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *), :where(.pf-c-hero__present):is(.pf-c-page *)),
[data-pf-hero-image="right"][data-pf-hero-valign="bottom"] :is(:where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *), :where(.pf-c-hero__present):is(.pf-c-page *)),
[data-pf-feature-image="left"][data-pf-feature-valign="bottom"] :is(:where(.pf-c-home-feature__text):is(.pf-c-page *), :where(.pf-c-home-feature__present):is(.pf-c-page *)),
[data-pf-feature-image="right"][data-pf-feature-valign="bottom"] :is(:where(.pf-c-home-feature__text):is(.pf-c-page *), :where(.pf-c-home-feature__present):is(.pf-c-page *)) {
    align-self: end;
}
}

/* assets/css/public/design/home/section-layout/16-home.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 16/28 de design/home/section-layout.css : composant « home » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


.pf-c-page section.pf-c-home-feature[data-pf-feature-image][data-pf-feature-image="right"] :where(.pf-c-home-feature__inner):is(.pf-c-page *),
[data-pf-feature-image="right"] :where(.pf-c-home-feature__inner):is(.pf-c-page *) {
    --side-image-width: min(var(--pf-c-home-feature-image-width-ratio, 50%), var(--pf-c-hero-side-image-max));
    grid-template-columns: minmax(0, 1fr) minmax(0, var(--side-image-width));
}
}

/* assets/css/public/design/home/section-layout/17-hero.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 17/28 de design/home/section-layout.css : composant « hero » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


[data-pf-hero-image="above"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *),
[data-pf-hero-image="below"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *),
[data-pf-feature-image="above"] :where(.pf-c-home-feature__inner):is(.pf-c-page *),
[data-pf-feature-image="below"] :where(.pf-c-home-feature__inner):is(.pf-c-page *) {
    grid-template-columns: 1fr;
}

/* Au-dessus / en dessous : l’image reste dans #home-present / #feature-present, jamais en fond de section */
[data-pf-hero-image="above"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *),
[data-pf-hero-image="below"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *),
[data-pf-feature-image="above"] :where(.pf-c-home-feature__inner):is(.pf-c-page *),
[data-pf-feature-image="below"] :where(.pf-c-home-feature__inner):is(.pf-c-page *) {
    background-image: none;
}

[data-pf-hero-image="above"] :where(.pf-c-hero__present):is(.pf-c-page *),
[data-pf-feature-image="above"] :where(.pf-c-home-feature__present):is(.pf-c-page *) {
    order: 1;
}

[data-pf-hero-image="above"] :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *),
[data-pf-feature-image="above"] :where(.pf-c-home-feature__text):is(.pf-c-page *) {
    order: 2;
}

[data-pf-hero-image="below"] :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *),
[data-pf-feature-image="below"] :where(.pf-c-home-feature__text):is(.pf-c-page *) {
    order: 1;
}

[data-pf-hero-image="below"] :where(.pf-c-hero__present):is(.pf-c-page *),
[data-pf-feature-image="below"] :where(.pf-c-home-feature__present):is(.pf-c-page *) {
    order: 2;
}

[data-pf-hero-image="none"] :where(.pf-c-hero__present):is(.pf-c-page *),
[data-pf-feature-image="none"] :where(.pf-c-home-feature__present):is(.pf-c-page *) {
    display: none;
}

[data-pf-hero-image="none"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *),
[data-pf-feature-image="none"] :where(.pf-c-home-feature__inner):is(.pf-c-page *) {
    column-gap: 0;
    row-gap: 0;
}
}

/* assets/css/public/design/home/section-layout/18-base.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 18/28 de design/home/section-layout.css : composant « base » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */

@layer general {
[data-pf-hero-image="above"],
[data-pf-hero-image="below"],
[data-pf-feature-image="above"],
[data-pf-feature-image="below"] {
    background-image: none;
}
}
}

/* assets/css/public/design/home/section-layout/19-hero.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 19/28 de design/home/section-layout.css : composant « hero » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


[data-pf-hero-image] :where(.pf-c-hero__present):is(.pf-c-page *) {
    width: 100%;
    max-width: 100%;
    aspect-ratio: var(--pf-c-hero-image-aspect-ratio, 16 / 9);
    background-size: cover;
    background-position: center;
    background-color: var(--modules-black-alpha2, rgba(0, 0, 0, 0.12));
    border-radius: var(--pf-thumbnail-radius, 0);
    overflow: hidden;
    display: block;
    position: relative;
}
}

/* assets/css/public/design/home/section-layout/20-home.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 20/28 de design/home/section-layout.css : composant « home » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


[data-pf-feature-image] :where(.pf-c-home-feature__present):is(.pf-c-page *) {
    width: 100%;
    max-width: 100%;
    aspect-ratio: var(--pf-c-home-feature-image-aspect-ratio, 16 / 9);
    background-size: cover;
    background-position: center;
    background-color: var(--modules-black-alpha2, rgba(0, 0, 0, 0.12));
    border-radius: var(--pf-thumbnail-radius, 0);
    overflow: hidden;
    display: block;
    position: relative;
}
}

/* assets/css/public/design/home/section-layout/21-hero.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 21/28 de design/home/section-layout.css : composant « hero » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


/* Bordure / ombre vignettes sur la couche image (comme .thumb.thumb-border) */
[data-pf-hero-image]:not([data-pf-hero-image="behind"]):not([data-pf-hero-image="none"]) :where(.pf-c-hero__present):is(.pf-c-page *) :where(.pf-c-hero__bg):is(.pf-c-page *),
[data-pf-hero-image]:not([data-pf-hero-image="behind"]):not([data-pf-hero-image="none"]) :where(.pf-c-hero__present):is(.pf-c-page *).customizer-hero-placeholder,
[data-pf-feature-image]:not([data-pf-feature-image="behind"]):not([data-pf-feature-image="none"]) :where(.pf-c-home-feature__present):is(.pf-c-page *) :where(.pf-c-home-feature__bg):is(.pf-c-page *),
[data-pf-feature-image]:not([data-pf-feature-image="behind"]):not([data-pf-feature-image="none"]) :where(.pf-c-home-feature__present):is(.pf-c-page *).customizer-hero-placeholder {
    box-sizing: border-box;
    border-width: var(--pf-thumbnail-border-width, 0px);
    border-style: var(--pf-thumbnail-border-type, solid);
    border-color: var(--pf-thumbnail-border-color, #222);
    box-shadow: var(--pf-thumbnail-box-shadow, none);
    overflow: hidden;
}

/* Image derrière : pas de bordure/ombre sur la couche image (contrairement aux autres dispositions) */
[data-pf-hero-image="behind"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *) :where(.pf-c-hero__bg):is(.pf-c-page *),
[data-pf-hero-image="behind"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *) :where(.pf-c-hero__present):is(.pf-c-page *) :where(.pf-c-hero__bg):is(.pf-c-page *),
[data-pf-hero-image="behind"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *) :where(.pf-c-hero__present):is(.pf-c-page *).customizer-hero-placeholder,
[data-pf-feature-image="behind"] :where(.pf-c-home-feature__inner):is(.pf-c-page *) :where(.pf-c-home-feature__bg):is(.pf-c-page *),
[data-pf-feature-image="behind"] :where(.pf-c-home-feature__inner):is(.pf-c-page *) :where(.pf-c-home-feature__present):is(.pf-c-page *) :where(.pf-c-home-feature__bg):is(.pf-c-page *),
[data-pf-feature-image="behind"] :where(.pf-c-home-feature__inner):is(.pf-c-page *) :where(.pf-c-home-feature__present):is(.pf-c-page *).customizer-hero-placeholder {
    border: none;
    box-shadow: none;
}

[data-pf-hero-image="behind"] :where(.pf-c-hero__present):is(.pf-c-page *),
[data-pf-hero-image="none"] :where(.pf-c-hero__present):is(.pf-c-page *),
[data-pf-feature-image="behind"] :where(.pf-c-home-feature__present):is(.pf-c-page *),
[data-pf-feature-image="none"] :where(.pf-c-home-feature__present):is(.pf-c-page *) {
    border-radius: 0;
}

/*
 * Ratio libre : --hero/feature-image-aspect-ratio (« L / H ») et
 * --hero/feature-image-ratio (nombre) viennent du réglage (layout_engine.php).
 * Les classes --aspect-square|vertical|horizontal ne donnent que l'orientation.
 *
 * Portrait : ne pas dériver la hauteur de la largeur du bloc
 * (pleine grille ou colonne 50 % → image démesurée). On plafonne
 * la hauteur, la largeur suit le ratio.
 */
[data-pf-hero-aspect="vertical"]:not([data-pf-hero-image="behind"]) :where(.pf-c-hero__present):is(.pf-c-page *),
[data-pf-feature-aspect="vertical"]:not([data-pf-feature-image="behind"]) :where(.pf-c-home-feature__present):is(.pf-c-page *) {
    --pf-c-hero-portrait-max-height: min(72vh, 40rem);
    max-width: 100%;
    height: auto;
    max-height: var(--pf-c-hero-portrait-max-height);
}

[data-pf-hero-aspect="vertical"]:not([data-pf-hero-image="behind"]) :where(.pf-c-hero__present):is(.pf-c-page *) {
    width: min(100%, calc(var(--pf-c-hero-portrait-max-height) * var(--pf-c-hero-image-ratio, 0.5625)));
}

[data-pf-hero-aspect="vertical"][data-pf-hero-image="left"] :where(.pf-c-hero__present):is(.pf-c-page *),
[data-pf-feature-aspect="vertical"][data-pf-feature-image="left"] :where(.pf-c-home-feature__present):is(.pf-c-page *) {
    justify-self: start;
}

[data-pf-hero-aspect="vertical"][data-pf-hero-image="right"] :where(.pf-c-hero__present):is(.pf-c-page *),
[data-pf-feature-aspect="vertical"][data-pf-feature-image="right"] :where(.pf-c-home-feature__present):is(.pf-c-page *) {
    justify-self: end;
}
}

/* assets/css/public/design/home/section-layout/22-home.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 22/28 de design/home/section-layout.css : composant « home » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


[data-pf-feature-aspect="vertical"]:not([data-pf-feature-image="behind"]) :where(.pf-c-home-feature__present):is(.pf-c-page *) {
    width: min(100%, calc(var(--pf-c-hero-portrait-max-height) * var(--pf-c-home-feature-image-ratio, 0.5625)));
}
}

/* assets/css/public/design/home/section-layout/23-hero.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 23/28 de design/home/section-layout.css : composant « hero » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


/*
 * Image au-dessus / en dessous : hauteur plafonnée quel que soit le format
 * (sinon un carré pleine largeur devient démesuré), et l'image suit
 * l'alignement du texte (gauche / centre / droite).
 */
[data-pf-hero-image]:is([data-pf-hero-image="above"], [data-pf-hero-image="below"]) :where(.pf-c-hero__present):is(.pf-c-page *),
[data-pf-feature-image]:is([data-pf-feature-image="above"], [data-pf-feature-image="below"]) :where(.pf-c-home-feature__present):is(.pf-c-page *) {
    --pf-c-hero-portrait-max-height: min(72vh, 40rem);
    height: auto;
    max-width: 100%;
    max-height: var(--pf-c-hero-portrait-max-height);
    justify-self: start;
}

[data-pf-hero-image]:is([data-pf-hero-image="above"], [data-pf-hero-image="below"]) :where(.pf-c-hero__present):is(.pf-c-page *) {
    width: min(100%, calc(var(--pf-c-hero-portrait-max-height) * var(--pf-c-hero-image-ratio, 1.7778)));
}

[data-pf-hero-image]:is([data-pf-hero-image="above"], [data-pf-hero-image="below"]) :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *)[data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where(.pf-c-hero__present):is(.pf-c-page *),
[data-pf-feature-image]:is([data-pf-feature-image="above"], [data-pf-feature-image="below"]) :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where(.pf-c-home-feature__present):is(.pf-c-page *) {
    justify-self: center;
}

[data-pf-hero-image]:is([data-pf-hero-image="above"], [data-pf-hero-image="below"]) :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *)[data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where(.pf-c-hero__present):is(.pf-c-page *),
[data-pf-feature-image]:is([data-pf-feature-image="above"], [data-pf-feature-image="below"]) :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where(.pf-c-home-feature__present):is(.pf-c-page *) {
    justify-self: end;
}

/* Alignement de l'image choisi explicitement (prime sur l'alignement du texte) */
[data-pf-hero-image]:is([data-pf-hero-image="above"], [data-pf-hero-image="below"])[data-pf-hero-valign="left"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *) :where(.pf-c-hero__present):is(.pf-c-page *),
[data-pf-feature-image]:is([data-pf-feature-image="above"], [data-pf-feature-image="below"])[data-pf-feature-valign="left"] :where(.pf-c-home-feature__inner):is(.pf-c-page *) :where(.pf-c-home-feature__present):is(.pf-c-page *) {
    justify-self: start;
}

[data-pf-hero-image]:is([data-pf-hero-image="above"], [data-pf-hero-image="below"])[data-pf-hero-valign="center"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *) :where(.pf-c-hero__present):is(.pf-c-page *),
[data-pf-feature-image]:is([data-pf-feature-image="above"], [data-pf-feature-image="below"])[data-pf-feature-valign="center"] :where(.pf-c-home-feature__inner):is(.pf-c-page *) :where(.pf-c-home-feature__present):is(.pf-c-page *) {
    justify-self: center;
}

[data-pf-hero-image]:is([data-pf-hero-image="above"], [data-pf-hero-image="below"])[data-pf-hero-valign="right"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *) :where(.pf-c-hero__present):is(.pf-c-page *),
[data-pf-feature-image]:is([data-pf-feature-image="above"], [data-pf-feature-image="below"])[data-pf-feature-valign="right"] :where(.pf-c-home-feature__inner):is(.pf-c-page *) :where(.pf-c-home-feature__present):is(.pf-c-page *) {
    justify-self: end;
}

/* Image derrière : la hauteur suit le texte + padding, pas le ratio d'aspect */
[data-pf-hero-image="behind"][data-pf-hero-aspect="square"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *),
[data-pf-hero-image="behind"][data-pf-hero-aspect="vertical"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *),
[data-pf-hero-image="behind"][data-pf-hero-aspect="horizontal"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *),
[data-pf-feature-image="behind"][data-pf-feature-aspect="square"] :where(.pf-c-home-feature__inner):is(.pf-c-page *),
[data-pf-feature-image="behind"][data-pf-feature-aspect="vertical"] :where(.pf-c-home-feature__inner):is(.pf-c-page *),
[data-pf-feature-image="behind"][data-pf-feature-aspect="horizontal"] :where(.pf-c-home-feature__inner):is(.pf-c-page *) {
    aspect-ratio: auto;
    min-height: 0;
}
}

/* assets/css/public/design/home/section-layout/24-home.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 24/28 de design/home/section-layout.css : composant « home » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


[data-pf-feature-image]:is([data-pf-feature-image="above"], [data-pf-feature-image="below"]) :where(.pf-c-home-feature__present):is(.pf-c-page *) {
    width: min(100%, calc(var(--pf-c-hero-portrait-max-height) * var(--pf-c-home-feature-image-ratio, 1.7778)));
}
}

/* assets/css/public/design/home/section-layout/25-hero.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 25/28 de design/home/section-layout.css : composant « hero » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


[data-pf-hero-image] :where(.pf-c-hero__present):is(.pf-c-page *) :where(.pf-c-hero__bg):is(.pf-c-page *),
[data-pf-feature-image] :where(.pf-c-home-feature__present):is(.pf-c-page *) :where(.pf-c-home-feature__bg):is(.pf-c-page *) {
    width: 100%;
    height: 100%;
    min-height: inherit;
    background-size: cover;
    background-position: center;
    border-radius: inherit;
}

[data-pf-hero-image="behind"].customizer-hero-placeholder :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *),
[data-pf-feature-image="behind"].customizer-hero-placeholder :where(.pf-c-home-feature__inner):is(.pf-c-page *) {
    background-color: var(--modules-black-alpha2, rgba(0, 0, 0, 0.12));
}

[data-pf-hero-image].customizer-hero-placeholder :where(.pf-c-hero__present):is(.pf-c-page *),
[data-pf-feature-image].customizer-hero-placeholder :where(.pf-c-home-feature__present):is(.pf-c-page *) {
    background-image: var(--customizer-hero-placeholder-image, none);
}

[data-pf-hero-image] :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *),
[data-pf-feature-image] :where(.pf-c-home-feature__text):is(.pf-c-page *) {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-width: 0;
    max-width: 100%;
}
}

/* assets/css/public/design/home/section-layout/26-social.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 26/28 de design/home/section-layout.css : composant « social » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


[data-pf-hero-image] :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *) .pf-c-socials,
[data-pf-feature-image] :where(.pf-c-home-feature__text):is(.pf-c-page *) .pf-c-socials {
    flex-wrap: wrap;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    align-self: stretch;
}
}

/* assets/css/public/design/home/section-layout/27-header.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 27/28 de design/home/section-layout.css : composant « header » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


@layer general {
[data-pf-feature-image] [data-pf-align="left"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) {
    align-items: flex-start;
    text-align: left;
}

[data-pf-feature-image] [data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) {
    align-items: center;
    text-align: center;
}

[data-pf-feature-image] [data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) {
    align-items: flex-end;
    text-align: right;
}
}
}

/* assets/css/public/design/home/section-layout/28-hero.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 28/28 de design/home/section-layout.css : composant « hero » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


@media (max-width: 768px) {
    /*
     * Gauche / droite : trop étroit en colonnes.
     * Gauche → même pile que « au-dessus » ; droite → même pile que « en dessous ».
     * L’espace texte/image passe de column-gap à row-gap (même variable).
     */
    .pf-c-page :where(.pf-c-hero):is(.pf-c-page *)[data-pf-hero-image][data-pf-hero-image="left"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *),
    .pf-c-page :where(.pf-c-hero):is(.pf-c-page *)[data-pf-hero-image][data-pf-hero-image="right"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *),
    [data-pf-hero-image="left"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *),
    [data-pf-hero-image="right"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *),
    .pf-c-page section.pf-c-home-feature[data-pf-feature-image][data-pf-feature-image="left"] :where(.pf-c-home-feature__inner):is(.pf-c-page *),
    .pf-c-page section.pf-c-home-feature[data-pf-feature-image][data-pf-feature-image="right"] :where(.pf-c-home-feature__inner):is(.pf-c-page *),
    [data-pf-feature-image="left"] :where(.pf-c-home-feature__inner):is(.pf-c-page *),
    [data-pf-feature-image="right"] :where(.pf-c-home-feature__inner):is(.pf-c-page *) {
        --pf-c-hero-side-image-max: 100%;
        grid-template-columns: 1fr;
        column-gap: 0;
    }

    .pf-c-page :where(.pf-c-hero):is(.pf-c-page *)[data-pf-hero-image][data-pf-hero-image="left"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *),
    .pf-c-page :where(.pf-c-hero):is(.pf-c-page *)[data-pf-hero-image][data-pf-hero-image="right"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *),
    [data-pf-hero-image="left"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *),
    [data-pf-hero-image="right"] :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *) {
        row-gap: var(--pf-c-hero-content-gap, 48px);
    }

    .pf-c-page section.pf-c-home-feature[data-pf-feature-image][data-pf-feature-image="left"] :where(.pf-c-home-feature__inner):is(.pf-c-page *),
    .pf-c-page section.pf-c-home-feature[data-pf-feature-image][data-pf-feature-image="right"] :where(.pf-c-home-feature__inner):is(.pf-c-page *),
    [data-pf-feature-image="left"] :where(.pf-c-home-feature__inner):is(.pf-c-page *),
    [data-pf-feature-image="right"] :where(.pf-c-home-feature__inner):is(.pf-c-page *) {
        row-gap: var(--pf-c-home-feature-content-gap, var(--pf-c-hero-content-gap, 48px));
    }

    [data-pf-hero-image="left"] :where(.pf-c-hero__present):is(.pf-c-page *),
    [data-pf-feature-image="left"] :where(.pf-c-home-feature__present):is(.pf-c-page *) {
        order: 1;
        align-self: stretch;
        justify-self: center;
        width: 100%;
        max-width: 100%;
        height: auto;
    }

    [data-pf-hero-image="left"] :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *),
    [data-pf-feature-image="left"] :where(.pf-c-home-feature__text):is(.pf-c-page *) {
        order: 2;
        align-self: stretch;
    }

    [data-pf-hero-image="right"] :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *),
    [data-pf-feature-image="right"] :where(.pf-c-home-feature__text):is(.pf-c-page *) {
        order: 1;
        align-self: stretch;
    }

    [data-pf-hero-image="right"] :where(.pf-c-hero__present):is(.pf-c-page *),
    [data-pf-feature-image="right"] :where(.pf-c-home-feature__present):is(.pf-c-page *) {
        order: 2;
        align-self: stretch;
        justify-self: center;
        width: 100%;
        max-width: 100%;
        height: auto;
    }

    [data-pf-hero-image="left"][data-pf-hero-valign="top"] :where(.pf-c-hero__present):is(.pf-c-page *),
    [data-pf-hero-image="left"][data-pf-hero-valign="center"] :where(.pf-c-hero__present):is(.pf-c-page *),
    [data-pf-hero-image="left"][data-pf-hero-valign="bottom"] :where(.pf-c-hero__present):is(.pf-c-page *),
    [data-pf-hero-image="right"][data-pf-hero-valign="top"] :where(.pf-c-hero__present):is(.pf-c-page *),
    [data-pf-hero-image="right"][data-pf-hero-valign="center"] :where(.pf-c-hero__present):is(.pf-c-page *),
    [data-pf-hero-image="right"][data-pf-hero-valign="bottom"] :where(.pf-c-hero__present):is(.pf-c-page *),
    [data-pf-feature-image="left"][data-pf-feature-valign="top"] :where(.pf-c-home-feature__present):is(.pf-c-page *),
    [data-pf-feature-image="left"][data-pf-feature-valign="center"] :where(.pf-c-home-feature__present):is(.pf-c-page *),
    [data-pf-feature-image="left"][data-pf-feature-valign="bottom"] :where(.pf-c-home-feature__present):is(.pf-c-page *),
    [data-pf-feature-image="right"][data-pf-feature-valign="top"] :where(.pf-c-home-feature__present):is(.pf-c-page *),
    [data-pf-feature-image="right"][data-pf-feature-valign="center"] :where(.pf-c-home-feature__present):is(.pf-c-page *),
    [data-pf-feature-image="right"][data-pf-feature-valign="bottom"] :where(.pf-c-home-feature__present):is(.pf-c-page *),
    :is([data-pf-hero-image="left"], [data-pf-hero-image="right"]):is([data-pf-hero-valign="top"], [data-pf-hero-valign="bottom"]) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *),
    :is([data-pf-feature-image="left"], [data-pf-feature-image="right"]):is([data-pf-feature-valign="top"], [data-pf-feature-valign="bottom"]) :where(.pf-c-home-feature__text):is(.pf-c-page *) {
        align-self: stretch;
    }

    [data-pf-hero-aspect="vertical"][data-pf-hero-image="left"] :where(.pf-c-hero__present):is(.pf-c-page *),
    [data-pf-hero-aspect="vertical"][data-pf-hero-image="right"] :where(.pf-c-hero__present):is(.pf-c-page *),
    [data-pf-feature-aspect="vertical"][data-pf-feature-image="left"] :where(.pf-c-home-feature__present):is(.pf-c-page *),
    [data-pf-feature-aspect="vertical"][data-pf-feature-image="right"] :where(.pf-c-home-feature__present):is(.pf-c-page *) {
        justify-self: center;
    }
}
}

/* assets/css/public/modules/features/section-layout.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Version: 20-09-2026-16-46 */
/* Version: 18-07-2026-20-46 — vedettes : réutilise le moteur hero */
/* Pas d'@import ici : ce fichier est toujours chargé en même temps que design/home/section-layout.css
   (home.php, preview_assets.php), qui contient déjà les règles .feature-layout / #title-feature.
   Un @import provoquait un double chargement/parsing de ces règles (visible en double dans le réseau). */
}

/* assets/css/public/design/home/home-feature-title-align/01-hero.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 1/5 de design/home/home-feature-title-align.css : composant « hero » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */

/* Version: 20-09-2026-16-46 */
/*
 * Accueil (#hero) & vedettes (.home-feature-vedette) : le PHP pose data-pf-align sur #title-home / #home-about
 * (et équivalents vedettes).
 * On réaligne titres, paragraphes et boutons (.pf-c-btn) de la même façon.
 */

/* ----- Texte : même logique que les anciennes règles .align-* / #home-about ----- */

.pf-c-page :where(.pf-c-hero):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *)[data-pf-align="left"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *) h1:where(.pf-c-hero__title),
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *)[data-pf-align="left"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *) h2:where(.pf-c-hero__subtitle),
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *)[data-pf-align="left"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *) p:where(.pf-c-hero__lead),
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *)[data-pf-align="left"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) h1:where(.pf-c-hero__title),
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *)[data-pf-align="left"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) h2:where(.pf-c-hero__subtitle),
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *)[data-pf-align="left"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) p:where(.pf-c-hero__lead) {
    text-align: left;
}

.pf-c-page :where(.pf-c-hero):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *)[data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *) h1:where(.pf-c-hero__title),
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *)[data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *) h2:where(.pf-c-hero__subtitle),
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *)[data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *) p:where(.pf-c-hero__lead),
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *)[data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) h1:where(.pf-c-hero__title),
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *)[data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) h2:where(.pf-c-hero__subtitle),
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *)[data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) p:where(.pf-c-hero__lead) {
    text-align: center;
}

.pf-c-page :where(.pf-c-hero):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *)[data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *) h1:where(.pf-c-hero__title),
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *)[data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *) h2:where(.pf-c-hero__subtitle),
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *)[data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *) p:where(.pf-c-hero__lead),
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *)[data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) h1:where(.pf-c-hero__title),
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *)[data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) h2:where(.pf-c-hero__subtitle),
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *)[data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) p:where(.pf-c-hero__lead) {
    text-align: right;
}
}

/* assets/css/public/design/home/home-feature-title-align/02-home.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 2/5 de design/home/home-feature-title-align.css : composant « home » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


.pf-c-page section.pf-c-home-feature :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="left"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where(.pf-c-home-feature__text):is(.pf-c-page *) h1:where(.pf-c-home-feature__title),
.pf-c-page section.pf-c-home-feature :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="left"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where(.pf-c-home-feature__text):is(.pf-c-page *) h2:where(.pf-c-home-feature__subtitle),
.pf-c-page section.pf-c-home-feature :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="left"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where(.pf-c-home-feature__text):is(.pf-c-page *) p:where(.pf-c-home-feature__lead),
.pf-c-page section.pf-c-home-feature :where(.pf-c-home-feature__text):is(.pf-c-page *)[data-pf-align="left"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) h1:where(.pf-c-home-feature__title),
.pf-c-page section.pf-c-home-feature :where(.pf-c-home-feature__text):is(.pf-c-page *)[data-pf-align="left"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) h2:where(.pf-c-home-feature__subtitle),
.pf-c-page section.pf-c-home-feature :where(.pf-c-home-feature__text):is(.pf-c-page *)[data-pf-align="left"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) p:where(.pf-c-home-feature__lead) {
    text-align: left;
}

.pf-c-page section.pf-c-home-feature :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where(.pf-c-home-feature__text):is(.pf-c-page *) h1:where(.pf-c-home-feature__title),
.pf-c-page section.pf-c-home-feature :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where(.pf-c-home-feature__text):is(.pf-c-page *) h2:where(.pf-c-home-feature__subtitle),
.pf-c-page section.pf-c-home-feature :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where(.pf-c-home-feature__text):is(.pf-c-page *) p:where(.pf-c-home-feature__lead),
.pf-c-page section.pf-c-home-feature :where(.pf-c-home-feature__text):is(.pf-c-page *)[data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) h1:where(.pf-c-home-feature__title),
.pf-c-page section.pf-c-home-feature :where(.pf-c-home-feature__text):is(.pf-c-page *)[data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) h2:where(.pf-c-home-feature__subtitle),
.pf-c-page section.pf-c-home-feature :where(.pf-c-home-feature__text):is(.pf-c-page *)[data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) p:where(.pf-c-home-feature__lead) {
    text-align: center;
}

.pf-c-page section.pf-c-home-feature :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where(.pf-c-home-feature__text):is(.pf-c-page *) h1:where(.pf-c-home-feature__title),
.pf-c-page section.pf-c-home-feature :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where(.pf-c-home-feature__text):is(.pf-c-page *) h2:where(.pf-c-home-feature__subtitle),
.pf-c-page section.pf-c-home-feature :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where(.pf-c-home-feature__text):is(.pf-c-page *) p:where(.pf-c-home-feature__lead),
.pf-c-page section.pf-c-home-feature :where(.pf-c-home-feature__text):is(.pf-c-page *)[data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) h1:where(.pf-c-home-feature__title),
.pf-c-page section.pf-c-home-feature :where(.pf-c-home-feature__text):is(.pf-c-page *)[data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) h2:where(.pf-c-home-feature__subtitle),
.pf-c-page section.pf-c-home-feature :where(.pf-c-home-feature__text):is(.pf-c-page *)[data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) p:where(.pf-c-home-feature__lead) {
    text-align: right;
}

/* ----- Gabarit 1 & 2 (flex) : alignement transversal comme les anciennes .align-* sur #title-home / #title-feature ----- */

/* Gabarit 1 : colonne texte (#home-about / #feature-about), comme .align-* #home-about */
.pf-c-page section.pf-c-home-feature.customizer-feature-design-one :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="left"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where(.pf-c-home-feature__text):is(.pf-c-page *),
.pf-c-page section.pf-c-home-feature.customizer-feature-design-one :where(.pf-c-home-feature__text):is(.pf-c-page *)[data-pf-align="left"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.pf-c-page section.pf-c-home-feature.customizer-feature-design-one :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where(.pf-c-home-feature__text):is(.pf-c-page *),
.pf-c-page section.pf-c-home-feature.customizer-feature-design-one :where(.pf-c-home-feature__text):is(.pf-c-page *)[data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.pf-c-page section.pf-c-home-feature.customizer-feature-design-one :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where(.pf-c-home-feature__text):is(.pf-c-page *),
.pf-c-page section.pf-c-home-feature.customizer-feature-design-one :where(.pf-c-home-feature__text):is(.pf-c-page *)[data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.pf-c-page section.pf-c-home-feature.customizer-feature-design-two :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="left"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) {
    align-items: flex-start;
    text-align: left;
}

.pf-c-page section.pf-c-home-feature.customizer-feature-design-two :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) {
    align-items: center;
    text-align: center;
}

.pf-c-page section.pf-c-home-feature.customizer-feature-design-two :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) {
    align-items: flex-end;
    text-align: right;
}

.pf-c-page section.pf-c-home-feature.customizer-feature-design-one :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="left"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) {
    align-items: flex-start;
}

.pf-c-page section.pf-c-home-feature.customizer-feature-design-one :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) {
    align-items: center;
}

.pf-c-page section.pf-c-home-feature.customizer-feature-design-one :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) {
    align-items: flex-end;
}

/* Gabarit 3 : section en colonne ; #title-home porte data-pf-align */
.pf-c-page section.pf-c-home-feature.customizer-feature-design-three :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="left"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) {
    align-items: flex-start;
}

.pf-c-page section.pf-c-home-feature.customizer-feature-design-three :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) {
    align-items: center;
}

.pf-c-page section.pf-c-home-feature.customizer-feature-design-three :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) {
    align-items: flex-end;
}

.pf-c-page section.pf-c-home-feature.customizer-feature-design-three :where(.pf-c-home-feature__inner):is(.pf-c-page *) {
    display: flex;
    flex-direction: column;
}

/* Gabarit 4 : titres dans #*-present ; CTA souvent dans #*-about sous #title-* */
.pf-c-page section.pf-c-home-feature.customizer-feature-design-four :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="left"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) {
    align-items: flex-start;
}

.pf-c-page section.pf-c-home-feature.customizer-feature-design-four :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) {
    align-items: center;
}

.pf-c-page section.pf-c-home-feature.customizer-feature-design-four :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) {
    align-items: flex-end;
}

.pf-c-page section.pf-c-home-feature.customizer-feature-design-four :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="left"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where(.pf-c-home-feature__text):is(.pf-c-page *),
.pf-c-page section.pf-c-home-feature.customizer-feature-design-four :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where(.pf-c-home-feature__text):is(.pf-c-page *),
.pf-c-page section.pf-c-home-feature.customizer-feature-design-four :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where(.pf-c-home-feature__text):is(.pf-c-page *) {
    display: flex;
    flex-direction: column;
}

.pf-c-page section.pf-c-home-feature.customizer-feature-design-four :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="left"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where(.pf-c-home-feature__text):is(.pf-c-page *) {
    align-items: flex-start;
}

.pf-c-page section.pf-c-home-feature.customizer-feature-design-four :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where(.pf-c-home-feature__text):is(.pf-c-page *) {
    align-items: center;
}

.pf-c-page section.pf-c-home-feature.customizer-feature-design-four :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where(.pf-c-home-feature__text):is(.pf-c-page *) {
    align-items: flex-end;
}
}

/* assets/css/public/design/home/home-feature-title-align/03-hero.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 3/5 de design/home/home-feature-title-align.css : composant « hero » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


/* ----- Colonnes #home-about / #feature-about (flex + media fonts.css) : pas d’étirement des CTA ----- */

.pf-c-page :where(.pf-c-hero):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *)[data-pf-align="left"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)),
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *)[data-pf-align="left"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *):not([data-pf-align]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list))) {
    align-items: flex-start;
}

.pf-c-page :where(.pf-c-hero):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *)[data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)),
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *)[data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *):not([data-pf-align]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list))) {
    align-items: center;
}

.pf-c-page :where(.pf-c-hero):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *)[data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)),
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *)[data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *):not([data-pf-align]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list))) {
    align-items: flex-end;
}
}

/* assets/css/public/design/home/home-feature-title-align/04-home.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 4/5 de design/home/home-feature-title-align.css : composant « home » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


.pf-c-page section.pf-c-home-feature :where(.pf-c-home-feature__text):is(.pf-c-page *)[data-pf-align="left"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)),
.pf-c-page section.pf-c-home-feature :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="left"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where(.pf-c-home-feature__text):is(.pf-c-page *):not([data-pf-align]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list))) {
    align-items: flex-start;
}

.pf-c-page section.pf-c-home-feature :where(.pf-c-home-feature__text):is(.pf-c-page *)[data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)),
.pf-c-page section.pf-c-home-feature :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where(.pf-c-home-feature__text):is(.pf-c-page *):not([data-pf-align]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list))) {
    align-items: center;
}

.pf-c-page section.pf-c-home-feature :where(.pf-c-home-feature__text):is(.pf-c-page *)[data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)),
.pf-c-page section.pf-c-home-feature :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where(.pf-c-home-feature__text):is(.pf-c-page *):not([data-pf-align]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list))) {
    align-items: flex-end;
}
}

/* assets/css/public/design/home/home-feature-title-align/05-btn.css */
/* @layer-wrap:site.elements */
@layer site.elements {
/* Part 5/5 de design/home/home-feature-title-align.css : composant « btn » (découpage par composant, lot 5b ; la cascade de la feuille d'origine est gardée). */


/* Boutons : même ligne de base que le bloc de texte (flex : align-self ; flux : héritage text-align sur inline-block) */
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *)[data-pf-align="left"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *) .pf-c-btn,
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *)[data-pf-align="left"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) .pf-c-btn,
.pf-c-page section.pf-c-home-feature :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="left"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where(.pf-c-home-feature__text):is(.pf-c-page *) .pf-c-btn,
.pf-c-page section.pf-c-home-feature :where(.pf-c-home-feature__text):is(.pf-c-page *)[data-pf-align="left"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) .pf-c-btn {
    align-self: flex-start;
}

.pf-c-page :where(.pf-c-hero):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *)[data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *) .pf-c-btn,
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *)[data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) .pf-c-btn,
.pf-c-page section.pf-c-home-feature :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where(.pf-c-home-feature__text):is(.pf-c-page *) .pf-c-btn,
.pf-c-page section.pf-c-home-feature :where(.pf-c-home-feature__text):is(.pf-c-page *)[data-pf-align="center"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) .pf-c-btn {
    align-self: center;
}

.pf-c-page :where(.pf-c-hero):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__inner):is(.pf-c-page *)[data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *) .pf-c-btn,
.pf-c-page :where(.pf-c-hero):is(.pf-c-page *) :where([data-pf-page-type="home"] .pf-c-hero__text):is(.pf-c-page *)[data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) .pf-c-btn,
.pf-c-page section.pf-c-home-feature :where(.pf-c-home-feature__inner):is(.pf-c-page *)[data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) :where(.pf-c-home-feature__text):is(.pf-c-page *) .pf-c-btn,
.pf-c-page section.pf-c-home-feature :where(.pf-c-home-feature__text):is(.pf-c-page *)[data-pf-align="right"]:where(:not(.pf-c-header, .pf-c-footer, .pf-c-legal, .pf-c-services__list)) .pf-c-btn {
    align-self: flex-end;
}
}

