/*
Theme Name: Divi 5 Child Starter
Theme URI: https://www.elegantthemes.com/gallery/divi/
Description: Theme enfant minimal, propre et rapide a deployer pour Divi 5.
Author: Graffocean
Author URI: https://graffocean.com
Template: Divi
Version: 1.1.54
Text Domain: divi-5-child-starter
*/

/* ============================================================
   ARCHITECTURE CSS
   ============================================================

   01. Fonts, tokens, global, animations
   02. Header, CTA, hero
   03. Blurbs, cards, bandes fonctionnelles
   04. Titres éditoriaux, pages légales, blog
   05. Contact, footer
   06. Team / À propos / références
   07. FAQ
   08. Tarifs

   Convention :
   - Les classes préfixées pp-* sont des composants projet réutilisables.
   - Les classes sans préfixe gardent souvent une compatibilité Divi existante.
   - Les overrides responsive restent près du composant concerné quand c'est lisible.
*/

/* ============================================================
   TOKENS
   ============================================================ */

:root {
    --color-vert: #3e7742;
    --color-vert-fonce: #2d6a2d;
    --color-vert-footer: #2d5a2d;
    --color-jaune: #f7ca4d;
    --color-jaune-vif: #f5c518;
    --color-blanc: #ffffff;
    --color-blanc-85: rgba(255, 255, 255, 0.85);
    --color-blanc-60: rgba(255, 255, 255, 0.60);
    --color-texte: #1f2933;

    --radius-pill: 999px;
    --radius-card: 24px;
    --radius-icon: 18px;

    --font-base: "Montserrat", Arial, sans-serif;
    --font-cta: "Montserrat", Arial, sans-serif;

    --cta-font-size: 16px;
    --cta-font-weight: 600;
    --cta-line-height: 1;
    --cta-padding-y: 16px;
    --cta-padding-x: 32px;
    --cta-height: 52px;

    --cta-bg: var(--color-jaune);
    --cta-text: var(--color-vert);
    --cta-shadow-hover: 0 0 24px 6px rgba(247, 202, 77, 0.7);
    --cta-shadow-pulse: 0 0 24px 6px rgba(247, 202, 77, 0.6);

    --cta-bg-invert: var(--color-vert);
    --cta-text-invert: var(--color-jaune);
    --cta-shadow-hover-invert: 0 0 24px 6px rgba(62, 119, 66, 0.55);
    --cta-shadow-pulse-invert: 0 0 24px 6px rgba(62, 119, 66, 0.45);

    --highlight-bg: var(--color-jaune);
    --highlight-text: var(--color-vert);
    --highlight-pad-y: 2px;
    --highlight-pad-x: 6px;
    --highlight-size-y: 78%;
    --highlight-position-y: 70%;

    --blurb-icon-bg-default: var(--color-jaune-vif);
    --blurb-icon-color-default: var(--color-vert-fonce);
    --blurb-title-color-default: var(--color-vert-fonce);

    --pp-green: var(--color-vert);
    --pp-green-dark: var(--color-vert-fonce);
    --pp-gold: var(--color-jaune);
    --pp-text: var(--color-texte);
    --pp-muted: #5d6570;
    --pp-border: rgba(62, 119, 66, 0.16);
    --pp-soft-green: rgba(62, 119, 66, 0.06);
    --pp-radius: var(--radius-card);
    --pp-transition: 0.25s ease;
}

/* ============================================================
   NEWSLETTER BREVO
   ============================================================ */

.pp-newsletter {
    width: min(100% - 32px, 860px);
    margin: 0 auto;
    color: var(--color-texte);
}

.pp-newsletter__container {
    overflow: hidden;
    border: 1px solid rgba(62, 119, 66, 0.14);
    border-radius: 20px;
    background:
        linear-gradient(135deg, rgba(247, 202, 77, 0.16), rgba(255, 255, 255, 0) 46%),
        var(--color-blanc);
    box-shadow: 0 18px 48px rgba(31, 41, 51, 0.09);
}

.pp-newsletter__form {
    display: grid;
    gap: 18px;
    padding: clamp(22px, 4vw, 36px);
}

.pp-newsletter__intro {
    max-width: 640px;
}

.pp-newsletter__eyebrow {
    margin: 0 0 6px;
    color: var(--color-vert);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.pp-newsletter h2 {
    margin: 0 0 10px;
    padding: 0;
    color: var(--color-vert);
    font-size: clamp(1.75rem, 3.2vw, 2.45rem);
    font-weight: 900;
    line-height: 1.08;
}

.pp-newsletter__intro p:not(.pp-newsletter__eyebrow) {
    margin: 0;
    color: var(--pp-muted);
    font-size: 1rem;
    font-weight: 650;
    line-height: 1.55;
}

.pp-newsletter__fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.pp-newsletter__field,
.pp-newsletter__optin {
    min-width: 0;
}

.pp-newsletter .entry__label {
    display: block;
    margin: 0 0 7px;
    color: var(--color-vert);
    font-size: 0.88rem;
    font-weight: 850;
    line-height: 1.25;
}

.pp-newsletter .entry__field {
    overflow: hidden;
    border: 1px solid rgba(62, 119, 66, 0.18);
    border-radius: 12px;
    background: var(--color-blanc);
}

.pp-newsletter .input {
    width: 100%;
    min-height: 48px;
    padding: 0 14px;
    border: 0;
    background: transparent;
    color: var(--color-texte);
    font-family: var(--font-base);
    font-size: 0.95rem;
    font-weight: 650;
    outline: none;
}

.pp-newsletter .input::placeholder {
    color: rgba(31, 41, 51, 0.42);
}

.pp-newsletter .entry__field:focus-within {
    border-color: var(--color-vert);
    box-shadow: 0 0 0 3px rgba(62, 119, 66, 0.12);
}

.pp-newsletter .entry__specification {
    margin: 7px 0 0;
    color: rgba(31, 41, 51, 0.62);
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.4;
}

.pp-newsletter__optin {
    padding: 13px 14px;
    border-radius: 14px;
    background: rgba(62, 119, 66, 0.06);
}

.pp-newsletter__optin label:first-child {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0;
    color: var(--color-texte);
    font-size: 0.86rem;
    font-weight: 650;
    line-height: 1.45;
}

.pp-newsletter__optin input[type="checkbox"] {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    margin: 2px 0 0;
    accent-color: var(--color-vert);
}

.pp-newsletter__brevo {
    margin: -4px 0 0;
    color: rgba(31, 41, 51, 0.55);
    font-size: 0.76rem;
    font-weight: 550;
    line-height: 1.45;
}

.pp-newsletter__actions {
    margin: 0;
}

.pp-newsletter__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 52px;
    padding: 15px 26px;
    border: 0;
    border-radius: var(--radius-pill);
    background: var(--color-jaune);
    color: var(--color-vert);
    font-family: var(--font-base);
    font-size: 0.98rem;
    font-weight: 850;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 14px 28px rgba(31, 41, 51, 0.12);
    transition:
        box-shadow 0.2s ease,
        transform 0.2s ease;
}

.pp-newsletter__button:hover,
.pp-newsletter__button:focus-visible {
    box-shadow: 0 18px 34px rgba(31, 41, 51, 0.16);
    transform: translateY(-2px);
}

.pp-newsletter__message {
    display: none;
    margin: 0;
    padding: 12px 16px;
    font-size: 0.92rem;
    font-weight: 750;
    line-height: 1.4;
}

.pp-newsletter__message--error {
    border-bottom: 1px solid rgba(102, 29, 29, 0.16);
    background: #ffeded;
    color: #661d1d;
}

.pp-newsletter__message--success {
    border-bottom: 1px solid rgba(8, 82, 41, 0.16);
    background: #e7faf0;
    color: #085229;
}

.pp-newsletter .input--hidden {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

@media (max-width: 700px) {
    .pp-newsletter__fields {
        grid-template-columns: 1fr;
    }

    .pp-newsletter__button {
        width: 100%;
    }
}

.pp-newsletter-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 0;
    border-radius: var(--radius-pill);
    font-family: var(--font-base);
    font-weight: 850;
    line-height: 1;
    cursor: pointer;
    transition:
        box-shadow 0.2s ease,
        transform 0.2s ease,
        background-color 0.2s ease;
}

.pp-newsletter-trigger:hover,
.pp-newsletter-trigger:focus-visible {
    transform: translateY(-2px);
}

.pp-newsletter-trigger__icon {
    position: relative;
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    border-radius: 999px;
    background: var(--color-vert);
}

.pp-newsletter-trigger__icon::before,
.pp-newsletter-trigger__icon::after {
    position: absolute;
    content: "";
}

.pp-newsletter-trigger__icon::before {
    inset: 7px 5px;
    border: 2px solid var(--color-jaune);
    border-radius: 3px;
}

.pp-newsletter-trigger__icon::after {
    top: 8px;
    left: 6px;
    width: 12px;
    height: 8px;
    border-right: 2px solid var(--color-jaune);
    border-bottom: 2px solid var(--color-jaune);
    transform: rotate(45deg) skew(-12deg, -12deg);
    transform-origin: center;
}

.pp-newsletter-trigger--floating {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 99990;
    min-height: 54px;
    padding: 0 22px;
    background: var(--color-jaune);
    color: var(--color-vert);
    font-size: 0.96rem;
    box-shadow: 0 14px 34px rgba(31, 41, 51, 0.22);
}

.pp-newsletter-trigger--inline {
    min-height: 48px;
    padding: 0 20px;
    background: var(--color-vert);
    color: var(--color-blanc);
    font-size: 0.95rem;
    box-shadow: 0 12px 26px rgba(31, 41, 51, 0.12);
}

.pp-newsletter-trigger--inline .pp-newsletter-trigger__icon {
    background: var(--color-jaune);
}

.pp-newsletter-trigger--inline .pp-newsletter-trigger__icon::before,
.pp-newsletter-trigger--inline .pp-newsletter-trigger__icon::after {
    border-color: var(--color-vert);
}

.pp-newsletter-shortcode-cta {
    display: flex;
    justify-content: center;
    width: 100%;
}

.pp-newsletter-modal-open,
.pp-newsletter-modal-open body {
    overflow: hidden;
}

.pp-newsletter-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: grid;
    place-items: center;
    padding: 18px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
}

.pp-newsletter-modal.is-open {
    opacity: 1;
    pointer-events: auto;
}

.pp-newsletter-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(31, 41, 51, 0.72);
    backdrop-filter: blur(5px);
}

.pp-newsletter-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(1040px, 100%);
    max-height: calc(100dvh - 36px);
    overflow: auto;
    border-radius: 22px;
    background:
        linear-gradient(135deg, rgba(247, 202, 77, 0.14), rgba(255, 255, 255, 0) 44%),
        var(--color-blanc);
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.28);
    transform: translateY(12px) scale(0.98);
    transition: transform 0.2s ease;
}

.pp-newsletter-modal.is-open .pp-newsletter-modal__dialog {
    transform: translateY(0) scale(1);
}

.pp-newsletter-modal__close {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 2;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 999px;
    background: rgba(62, 119, 66, 0.1);
    cursor: pointer;
}

.pp-newsletter-modal__close::before,
.pp-newsletter-modal__close::after {
    position: absolute;
    top: 20px;
    left: 12px;
    width: 18px;
    height: 2px;
    border-radius: 2px;
    background: var(--color-vert);
    content: "";
}

.pp-newsletter-modal__close::before {
    transform: rotate(45deg);
}

.pp-newsletter-modal__close::after {
    transform: rotate(-45deg);
}

.pp-newsletter-modal__content {
    display: grid;
    grid-template-columns: minmax(240px, 0.9fr) minmax(0, 1.5fr);
    gap: clamp(22px, 4vw, 44px);
    padding: clamp(28px, 5vw, 58px);
}

.pp-newsletter-modal__intro {
    align-self: start;
    padding-right: 8px;
}

.pp-newsletter-modal__intro h2 {
    margin: 0 0 12px;
    padding: 0;
    color: var(--color-vert);
    font-size: clamp(2.15rem, 4vw, 3.55rem);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 0.96;
}

.pp-newsletter-modal__intro > p:not(.pp-newsletter__eyebrow) {
    margin: 0;
    color: var(--pp-muted);
    font-size: clamp(1rem, 1.5vw, 1.18rem);
    font-weight: 650;
    line-height: 1.52;
}

.pp-newsletter-modal .pp-newsletter {
    width: 100%;
    margin: 0;
}

.pp-newsletter-modal .pp-newsletter__container {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.pp-newsletter-modal .pp-newsletter__form {
    gap: 14px;
    padding: 0;
}

.pp-newsletter-modal .pp-newsletter__button {
    min-height: 54px;
}

@media (max-width: 980px) {
    .pp-newsletter-modal__content {
        grid-template-columns: 1fr;
    }

    .pp-newsletter-modal__intro {
        max-width: 640px;
        padding-right: 46px;
    }
}

@media (max-width: 700px) {
    .pp-newsletter-trigger--floating {
        right: 14px;
        bottom: 14px;
        left: 14px;
        min-height: 50px;
    }

    .pp-newsletter-modal {
        padding: 10px;
    }

    .pp-newsletter-modal__dialog {
        max-height: calc(100dvh - 20px);
        border-radius: 18px;
    }

    .pp-newsletter-modal__content {
        padding: 24px 18px 20px;
    }

    .pp-newsletter-modal__intro {
        padding-right: 42px;
    }
}

/* Version premium de l'experience newsletter. */
.pp-newsletter-trigger--floating {
    gap: 12px;
    min-height: 58px;
    padding: 0 20px 0 16px;
    border: 2px solid rgba(255, 255, 255, 0.78);
    background:
        linear-gradient(135deg, #f7ca4d, #f9d970 58%, #f5c43c);
    box-shadow:
        0 18px 40px rgba(31, 41, 51, 0.26),
        0 0 0 6px rgba(247, 202, 77, 0.16);
}

.pp-newsletter-trigger--floating::before {
    display: block;
    margin: 0 -6px 0 0;
    color: rgba(62, 119, 66, 0.76);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
    content: "Newsletter";
}

.pp-newsletter-trigger--floating .pp-newsletter-trigger__text {
    font-size: 1rem;
}

.pp-newsletter-trigger--floating .pp-newsletter-trigger__icon {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
    box-shadow: inset 0 -3px 0 rgba(0, 0, 0, 0.12);
}

.pp-newsletter-trigger--floating .pp-newsletter-trigger__icon::before {
    inset: 9px 7px;
}

.pp-newsletter-trigger--floating .pp-newsletter-trigger__icon::after {
    top: 10px;
    left: 8px;
}

.pp-newsletter-modal__overlay {
    background:
        linear-gradient(180deg, rgba(31, 41, 51, 0.72), rgba(19, 47, 26, 0.86));
}

.pp-newsletter-modal__dialog {
    width: min(1120px, 100%);
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 28px;
    background: var(--color-vert);
    box-shadow:
        0 34px 90px rgba(0, 0, 0, 0.36),
        0 0 0 1px rgba(247, 202, 77, 0.16);
}

.pp-newsletter-modal__dialog::before {
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: inherit;
    background:
        linear-gradient(135deg, rgba(247, 202, 77, 0.2) 0 18%, rgba(247, 202, 77, 0) 18% 100%),
        repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.045) 0 1px, rgba(255, 255, 255, 0) 1px 14px);
    content: "";
    pointer-events: none;
}

.pp-newsletter-modal__content {
    position: relative;
    z-index: 1;
    grid-template-columns: minmax(280px, 0.85fr) minmax(0, 1.45fr);
    gap: 10px;
    padding: 10px;
}

.pp-newsletter-modal__intro {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    justify-content: center;
    padding: clamp(26px, 4vw, 46px);
    border-radius: 22px;
    color: var(--color-blanc);
}

.pp-newsletter-modal__intro .pp-newsletter__eyebrow {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 12px;
    padding: 7px 10px 6px;
    border-radius: 999px;
    background: var(--color-jaune);
    color: var(--color-vert);
    letter-spacing: 0.06em;
}

.pp-newsletter-modal__intro h2 {
    max-width: 9ch;
    color: var(--color-blanc);
    font-size: clamp(2.55rem, 5.2vw, 5.15rem);
    line-height: 0.9;
    text-wrap: balance;
}

.pp-newsletter-modal__intro > p:not(.pp-newsletter__eyebrow) {
    max-width: 34rem;
    color: rgba(255, 255, 255, 0.86);
    font-size: clamp(1.02rem, 1.45vw, 1.16rem);
}

.pp-newsletter-modal__proofs {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
}

.pp-newsletter-modal__proofs li {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.78rem;
    font-weight: 850;
    line-height: 1;
}

.pp-newsletter-modal .pp-newsletter {
    align-self: center;
}

.pp-newsletter-modal .pp-newsletter__container {
    padding: clamp(20px, 3vw, 34px);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow:
        0 22px 54px rgba(31, 41, 51, 0.2),
        inset 0 0 0 1px rgba(62, 119, 66, 0.1);
}

.pp-newsletter-modal .pp-newsletter__form {
    gap: 16px;
}

.pp-newsletter-modal .pp-newsletter .entry__label {
    font-size: 0.92rem;
}

.pp-newsletter-modal .pp-newsletter .entry__field {
    border-color: rgba(62, 119, 66, 0.2);
    border-radius: 16px;
    background: #fbfcfa;
}

.pp-newsletter-modal .pp-newsletter .input {
    min-height: 56px;
    padding: 0 16px;
}

.pp-newsletter-modal .pp-newsletter__optin {
    border: 1px solid rgba(62, 119, 66, 0.1);
    border-radius: 16px;
    background: #f5f7f3;
}

.pp-newsletter-modal .pp-newsletter__button {
    min-height: 58px;
    padding-inline: 28px;
    background:
        linear-gradient(135deg, #f7ca4d, #f9d970 58%, #f5c43c);
    box-shadow:
        0 18px 34px rgba(31, 41, 51, 0.14),
        inset 0 -2px 0 rgba(62, 119, 66, 0.13);
}

.pp-newsletter-modal__close {
    top: 22px;
    right: 22px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 12px 24px rgba(31, 41, 51, 0.18);
}

@media (prefers-reduced-motion: no-preference) {
    .pp-newsletter-trigger--floating {
        animation: ppNewsletterFloat 4.6s ease-in-out infinite;
    }

    .pp-newsletter-modal.is-open .pp-newsletter-modal__intro {
        animation: ppNewsletterIntroIn 0.38s ease both;
    }

    .pp-newsletter-modal.is-open .pp-newsletter__container {
        animation: ppNewsletterFormIn 0.42s ease both;
    }
}

@keyframes ppNewsletterFloat {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-5px);
    }
}

@keyframes ppNewsletterIntroIn {
    from {
        opacity: 0;
        transform: translateX(-14px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes ppNewsletterFormIn {
    from {
        opacity: 0;
        transform: translateY(14px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 980px) {
    .pp-newsletter-modal__content {
        grid-template-columns: 1fr;
    }

    .pp-newsletter-modal__intro {
        padding-right: clamp(58px, 12vw, 84px);
    }

    .pp-newsletter-modal__intro h2 {
        max-width: 13ch;
        font-size: clamp(2.25rem, 8vw, 4rem);
    }
}

@media (max-width: 700px) {
    .pp-newsletter-trigger--floating {
        padding-inline: 15px;
    }

    .pp-newsletter-trigger--floating::before {
        display: none;
    }

    .pp-newsletter-modal__dialog {
        border-radius: 22px;
    }

    .pp-newsletter-modal__content {
        padding: 8px;
    }

    .pp-newsletter-modal__intro {
        padding: 22px 58px 16px 16px;
    }

    .pp-newsletter-modal__proofs {
        gap: 7px;
        margin-top: 16px;
    }

    .pp-newsletter-modal__proofs li {
        min-height: 30px;
        padding-inline: 10px;
        font-size: 0.72rem;
    }

    .pp-newsletter-modal .pp-newsletter__container {
        padding: 16px;
        border-radius: 18px;
    }

    .pp-newsletter-modal__close {
        top: 16px;
        right: 16px;
    }
}

/* CTA newsletter final : iconique, compact, proche des pictos du site. */
.pp-newsletter-trigger--floating {
    position: fixed;
    width: 56px;
    min-width: 56px;
    min-height: 56px;
    max-width: 56px;
    gap: 0;
    overflow: hidden;
    padding: 0;
    border: 0;
    border-radius: var(--radius-pill);
    background: var(--color-jaune);
    color: var(--color-vert);
    box-shadow: none;
    transition:
        max-width 0.28s ease,
        width 0.28s ease,
        border-radius 0.28s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}

.pp-newsletter-trigger--floating:hover,
.pp-newsletter-trigger--floating:focus-visible {
    width: 174px;
    max-width: 174px;
    justify-content: flex-start;
    gap: 9px;
    padding: 0 18px;
    border-radius: 999px;
    box-shadow: none;
}

.pp-newsletter-trigger--floating::before {
    display: none;
}

.pp-newsletter-trigger--floating::after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    order: 0;
    background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%233e7742' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.5 3.8 3.7 11.1c-.9.4-.85 1.7.07 2.02l5.55 1.93 1.93 5.55c.32.92 1.62.97 2.02.07L20.5 3.8Z'/%3E%3Cpath d='m9.35 14.95 4.25-4.25'/%3E%3Cpath d='m20.25 4.05-10.9 10.9'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
    content: "";
    transform: translate(-50%, -50%);
    transition:
        left 0.28s ease,
        transform 0.28s ease;
}

.pp-newsletter-trigger--floating .pp-newsletter-trigger__icon {
    display: none;
}

.pp-newsletter-trigger--floating .pp-newsletter-trigger__icon::before,
.pp-newsletter-trigger--floating .pp-newsletter-trigger__icon::after {
    content: none;
}

.pp-newsletter-trigger--floating .pp-newsletter-trigger__icon svg {
    display: none;
    width: 28px;
    height: 28px;
    overflow: visible;
}

.pp-newsletter-trigger--floating .pp-newsletter-trigger__icon path {
    fill: none;
    stroke: var(--color-jaune);
    stroke-width: 2.25;
    stroke-linecap: round;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
}

.pp-newsletter-trigger--floating .pp-newsletter-trigger__text {
    display: block;
    width: 0;
    min-width: 0;
    order: 1;
    opacity: 0;
    color: var(--color-vert);
    font-size: 0.98rem;
    font-weight: 900;
    letter-spacing: 0;
    transform: translateX(-6px);
    transition:
        opacity 0.18s ease,
        transform 0.18s ease;
    white-space: nowrap;
}

.pp-newsletter-trigger--floating:hover .pp-newsletter-trigger__text,
.pp-newsletter-trigger--floating:focus-visible .pp-newsletter-trigger__text {
    width: auto;
    min-width: 0;
    opacity: 1;
    transform: translateX(35px);
}

.pp-newsletter-trigger--floating:hover::after,
.pp-newsletter-trigger--floating:focus-visible::after {
    left: 18px;
    transform: translateY(-50%);
}

@media (max-width: 700px) {
    .pp-newsletter-trigger--floating,
    .pp-newsletter-trigger--floating:hover,
    .pp-newsletter-trigger--floating:focus-visible {
        right: 16px;
        bottom: 16px;
        left: auto;
        width: 54px;
        min-width: 54px;
        min-height: 54px;
        max-width: 54px;
        padding: 0;
        border-radius: 17px;
    }

    .pp-newsletter-trigger--floating .pp-newsletter-trigger__text {
        display: none;
    }
}

/* Modale newsletter : raccord final avec le systeme Parc Pilote. */
.pp-newsletter-modal__overlay {
    background: rgba(31, 41, 51, 0.72);
}

.pp-newsletter-modal__dialog {
    width: min(1240px, calc(100% - 32px));
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: var(--color-vert);
    box-shadow: 0 22px 54px rgba(31, 41, 51, 0.24);
}

.pp-newsletter-modal__dialog::before {
    content: none;
}

.pp-newsletter-modal__content {
    grid-template-columns: minmax(390px, 0.9fr) minmax(660px, 1.48fr);
    gap: 18px;
    padding: 18px 24px 18px 12px;
}

.pp-newsletter-modal__intro {
    padding: clamp(30px, 4vw, 52px) clamp(26px, 3.6vw, 46px);
}

.pp-newsletter-modal__intro .pp-newsletter__eyebrow {
    align-items: center;
    gap: 10px;
    min-height: 44px;
    margin-bottom: 22px;
    padding: 0 18px;
    border-radius: var(--radius-pill);
    background: var(--color-jaune);
    color: var(--color-vert);
    font-size: 0.88rem;
}

.pp-newsletter-modal__intro .pp-newsletter__eyebrow::before {
    display: inline-block;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%233e7742' stroke-width='2.35' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.5 3.8 3.7 11.1c-.9.4-.85 1.7.07 2.02l5.55 1.93 1.93 5.55c.32.92 1.62.97 2.02.07L20.5 3.8Z'/%3E%3Cpath d='m9.35 14.95 4.25-4.25'/%3E%3Cpath d='m20.25 4.05-10.9 10.9'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
    content: "";
}

.pp-newsletter-modal__intro h2 {
    max-width: 8.8ch;
    margin-bottom: 30px;
    color: var(--color-blanc);
    font-size: clamp(2.82rem, 4.85vw, 4.85rem);
    line-height: 0.92;
}

.pp-newsletter-title-highlight {
    display: inline;
    padding: 0 0.06em 0.03em;
    color: var(--color-blanc);
    background-image: linear-gradient(var(--color-jaune), var(--color-jaune));
    background-repeat: no-repeat;
    background-position: 0 86%;
    background-size: 0% 78%;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    transition:
        background-size 0.8s ease,
        color 0.35s ease;
}

.pp-newsletter-modal.is-open .pp-newsletter-title-highlight {
    color: var(--color-vert);
    background-size: 100% 78%;
}

.pp-newsletter-modal__intro > p:not(.pp-newsletter__eyebrow) {
    max-width: 36rem;
    color: rgba(255, 255, 255, 0.9);
}

.pp-newsletter-modal__proofs {
    flex-wrap: nowrap;
    gap: 10px;
    margin-top: 24px;
}

.pp-newsletter-modal__proofs li {
    min-height: 34px;
    padding: 0 13px;
    border-color: rgba(255, 255, 255, 0.28);
    background: transparent;
    white-space: nowrap;
}

.pp-newsletter-modal .pp-newsletter__container {
    padding: clamp(20px, 2.7vw, 32px);
    background: var(--color-blanc);
}

.pp-newsletter-modal .pp-newsletter__optin {
    padding: 9px 12px;
    background: rgba(62, 119, 66, 0.045);
}

.pp-newsletter-modal .pp-newsletter__optin label:first-child {
    gap: 8px;
    font-size: 0.72rem;
    font-weight: 650;
    line-height: 1.32;
}

.pp-newsletter-modal .pp-newsletter__optin input[type="checkbox"] {
    width: 16px;
    height: 16px;
    flex-basis: 16px;
}

.pp-newsletter-modal .pp-newsletter__optin .entry__specification {
    margin-top: 5px;
    font-size: 0.68rem;
    line-height: 1.32;
}

.pp-newsletter-modal .pp-newsletter__brevo {
    font-size: 0.72rem;
}

.pp-newsletter-modal .pp-newsletter__button {
    background: var(--color-jaune);
    color: var(--color-vert);
    box-shadow: none;
}

.pp-newsletter-modal__close {
    top: 22px;
    right: 22px;
    transform: none;
}

@media (max-width: 1100px) {
    .pp-newsletter-modal__content {
        grid-template-columns: minmax(320px, 0.92fr) minmax(520px, 1.28fr);
        padding-right: 18px;
    }

    .pp-newsletter-modal__proofs {
        flex-wrap: wrap;
    }
}

@media (min-width: 981px) {
    .pp-newsletter-modal .pp-newsletter .entry__specification {
        font-size: 0.72rem;
        white-space: nowrap;
    }
}

@media (max-width: 980px) {
    .pp-newsletter-modal__content {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   CENTRE D'AIDE
   ============================================================ */

.pp-help-center,
.pp-help-article {
    width: min(1120px, calc(100% - 48px));
    margin: 0 auto;
}

.pp-help-center {
    padding: 0 0 72px;
}

.pp-help-admin-notice {
    width: min(760px, calc(100% - 48px));
    margin: 24px auto;
    padding: 16px 18px;
    border: 1px solid rgba(62, 119, 66, 0.2);
    border-radius: 14px;
    background: var(--pp-soft-green);
    color: var(--color-texte);
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.5;
}

.pp-help-center__intro {
    max-width: 760px;
    margin: 0 auto 32px;
    text-align: center;
}

.pp-help-center-icon {
    display: flex !important;
    justify-content: center !important;
    margin: 0 auto 2px !important;
    padding: 0 !important;
    text-align: center !important;
}

.pp-help-center-icon.et_pb_module,
.pp-help-center-icon .et_pb_icon,
.pp-help-center-icon .et_pb_icon_wrap {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.pp-help-center-icon .et_pb_icon_wrap,
.pp-help-center-icon .et-pb-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.pp-help-center-icon .et-pb-icon {
    width: 56px !important;
    height: 56px !important;
    color: var(--color-vert) !important;
    font-size: 52px !important;
    line-height: 1 !important;
}

.pp-help-center-icon + .pp-help-center,
.pp-help-center-icon + .et_pb_module {
    margin-top: 0 !important;
}

.pp-help-center__eyebrow {
    margin: 0 0 8px;
    color: var(--color-vert);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1.3;
    text-transform: uppercase;
}

.pp-help-center__intro h2 {
    margin: 0 0 12px;
    padding: 0;
    color: var(--color-vert);
    font-size: clamp(1.7rem, 3vw, 2.45rem);
    font-weight: 800;
    line-height: 1.15;
}

.pp-help-center__intro p:not(.pp-help-center__eyebrow) {
    margin: 0 auto;
    max-width: 620px;
    color: var(--pp-muted);
    font-size: 1rem;
    line-height: 1.65;
}

.pp-help-grid {
    counter-reset: pp-help-card;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.pp-help-card {
    counter-increment: pp-help-card;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    overflow: hidden;
    border: 1px solid rgba(62, 119, 66, 0.12);
    border-radius: 22px;
    background: var(--color-blanc);
    color: var(--color-texte) !important;
    text-decoration: none !important;
    box-shadow: 0 12px 34px rgba(31, 41, 51, 0.07);
    transition:
        border-color 0.22s ease,
        box-shadow 0.22s ease,
        transform 0.22s ease;
}

.pp-help-card:hover {
    border-color: rgba(62, 119, 66, 0.22);
    box-shadow: 0 18px 44px rgba(31, 41, 51, 0.11);
    transform: translateY(-2px);
}

.pp-help-card__media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(247, 202, 77, 0.72), rgba(255, 248, 222, 0.92) 48%, rgba(62, 119, 66, 0.18)),
        var(--color-jaune);
}

.pp-help-card__media::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(135deg, rgba(45, 106, 45, 0.52), rgba(62, 119, 66, 0.28) 48%, rgba(247, 202, 77, 0.12)),
        linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(31, 41, 51, 0.14));
    mix-blend-mode: color;
    transition: background 0.28s ease, opacity 0.28s ease;
}

.pp-help-card:hover .pp-help-card__media::before {
    background:
        linear-gradient(135deg, rgba(45, 106, 45, 0.72), rgba(45, 106, 45, 0.46) 52%, rgba(31, 41, 51, 0.24)),
        linear-gradient(180deg, rgba(31, 41, 51, 0.10), rgba(31, 41, 51, 0.34));
    mix-blend-mode: multiply;
}

.pp-help-card__media::after {
    content: counter(pp-help-card);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 76px;
    border: 3px solid rgba(255, 255, 255, 0.92);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: var(--color-blanc);
    font-size: 1.65rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.04em;
    pointer-events: none;
    text-shadow: 0 2px 10px rgba(31, 41, 51, 0.24);
    box-shadow:
        0 12px 30px rgba(31, 41, 51, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.22);
    transform: translate(-50%, -50%);
    backdrop-filter: blur(2px);
}

.pp-help-card__media img,
.pp-help-card__placeholder {
    display: block;
    width: 100%;
    height: 100%;
}

.pp-help-card__media img {
    object-fit: cover;
    opacity: 0.72;
    filter: grayscale(1) saturate(0.42) contrast(1.08) brightness(0.92);
    mix-blend-mode: luminosity;
    transform: scale(1.01);
    transition:
        opacity 0.28s ease,
        filter 0.28s ease,
        mix-blend-mode 0.28s ease,
        transform 0.28s ease;
}

.pp-help-card:hover .pp-help-card__media img {
    opacity: 0.82;
    filter: grayscale(1) saturate(0.36) contrast(1.12) brightness(0.72);
    mix-blend-mode: luminosity;
    transform: scale(1.035);
}

.pp-help-card__placeholder {
    background:
        linear-gradient(135deg, rgba(62, 119, 66, 0.18), rgba(247, 202, 77, 0.3)),
        var(--pp-soft-green);
}

.pp-help-card__body {
    position: relative;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 18px 20px 20px;
    text-align: center;
}

.pp-help-card__title {
    width: 100%;
    max-width: 440px;
    color: var(--color-vert);
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.25;
    text-align: center;
}

.pp-help-card__excerpt {
    max-width: 440px;
    color: var(--pp-muted);
    font-size: 0.92rem;
    line-height: 1.5;
    text-align: center;
}

.pp-help-article {
    max-width: 860px;
    padding: 28px 0 78px;
}

.pp-help-article-hero {
    display: grid;
    justify-items: center;
    gap: 18px;
    margin: 0 auto 32px;
    text-align: center;
}

.pp-help-article-hero h1 {
    margin: 0;
    padding: 0;
    max-width: 760px;
    color: var(--color-vert);
    font-size: clamp(2rem, 4vw, 3.125rem);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.12;
}

.pp-help-article-hero__subtitle {
    margin: -4px auto 0;
    max-width: 640px;
    color: var(--pp-muted);
    font-size: clamp(1rem, 1.35vw, 1.18rem);
    font-weight: 600;
    line-height: 1.55;
}

.pp-help-article-hero__divider {
    display: block;
    width: min(130px, 22vw);
    height: 5px;
    border-radius: 999px;
    background: var(--color-jaune);
}

.pp-help-article-hero__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    padding: 10px 14px;
    border: 2px solid rgba(62, 119, 66, 0.18);
    border-radius: 999px;
    background: var(--color-blanc);
    color: var(--color-vert) !important;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.25;
    text-decoration: none !important;
    box-shadow: 0 10px 26px rgba(31, 41, 51, 0.04);
    transition:
        border-color 0.2s ease,
        background 0.2s ease,
        color 0.2s ease;
}

.pp-help-article-hero__badge-icon {
    display: inline-block;
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    background: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='m4.93 4.93 4.24 4.24'/%3E%3Cpath d='m14.83 14.83 4.24 4.24'/%3E%3Cpath d='m14.83 9.17 4.24-4.24'/%3E%3Cpath d='m4.93 19.07 4.24-4.24'/%3E%3C/svg%3E") center / contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='m4.93 4.93 4.24 4.24'/%3E%3Cpath d='m14.83 14.83 4.24 4.24'/%3E%3Cpath d='m14.83 9.17 4.24-4.24'/%3E%3Cpath d='m4.93 19.07 4.24-4.24'/%3E%3C/svg%3E") center / contain no-repeat;
}

.pp-help-article-hero__badge:hover,
.pp-help-article-hero__badge:focus {
    border-color: var(--color-vert);
    background: var(--color-vert);
    color: var(--color-blanc) !important;
}

.pp-help-breadcrumb {
    margin: 0 0 18px;
    font-size: 0.9rem;
    font-weight: 700;
}

.pp-help-breadcrumb a {
    color: var(--color-vert) !important;
    text-decoration: none !important;
}

.pp-help-breadcrumb a:hover {
    text-decoration: underline !important;
}

.pp-help-toc {
    margin: 0 0 26px;
    padding: 22px;
    border: 1px solid rgba(62, 119, 66, 0.14);
    border-radius: 20px;
    background: var(--pp-soft-green);
}

.pp-help-toc__title {
    margin: 0 0 12px;
    color: var(--color-vert);
    font-size: 0.86rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.pp-help-toc__list {
    display: grid;
    gap: 9px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pp-help-toc__item {
    margin: 0;
}

.pp-help-toc__item a {
    display: inline-flex;
    align-items: baseline;
    color: var(--color-texte) !important;
    font-size: 0.95rem;
    font-weight: 650;
    line-height: 1.4;
    text-decoration: none !important;
}

.pp-help-toc__item--h1 a {
    color: var(--color-vert) !important;
    font-size: 1.02rem;
    font-weight: 850;
    letter-spacing: 0.01em;
}

.pp-help-toc__item--h1:not(:first-child) {
    margin-top: 10px;
}

.pp-help-toc__item--h2 {
    padding-left: 16px;
}

.pp-help-toc__item--h2 a {
    color: var(--color-texte) !important;
    font-size: 0.94rem;
    font-weight: 650;
}

.pp-help-toc__item--h3 a {
    color: var(--pp-muted) !important;
    font-size: 0.88rem;
    font-weight: 520;
}

.pp-help-toc__item a:hover {
    color: var(--color-vert) !important;
}

.pp-help-toc__item--h3 {
    padding-left: 34px;
    position: relative;
}

.pp-help-toc__item--h3::before {
    position: absolute;
    top: 0.78em;
    left: 17px;
    width: 9px;
    height: 2px;
    border-radius: 999px;
    background: rgba(62, 119, 66, 0.28);
    content: "";
}

.pp-help-rail {
    position: fixed;
    z-index: 50;
    top: 50%;
    right: clamp(14px, 3.2vw, 56px);
    display: flex;
    align-items: center;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(-50%);
    transition: opacity 0.18s ease;
}

.pp-help-rail.is-hidden {
    opacity: 0;
    pointer-events: none;
}

.pp-help-rail__ticks {
    margin: 0;
    padding: 0;
    display: grid;
    gap: 7px;
    justify-items: end;
    max-height: 64vh;
    overflow: hidden;
    list-style: none;
}

.pp-help-rail__tick-item {
    display: block;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0;
    list-style: none !important;
}

.pp-help-rail__tick-item::before,
.pp-help-rail__tick-item::after,
.pp-help-rail__tick-item::marker {
    display: none !important;
    content: "" !important;
}

.pp-help-rail__tick-link {
    display: block;
    width: 16px;
    height: 2px;
    border-radius: 999px;
    background: rgba(31, 41, 51, 0.14);
    text-decoration: none !important;
    transition:
        width 0.18s ease,
        background 0.18s ease,
        opacity 0.18s ease;
}

.pp-help-rail__tick-item--h1 .pp-help-rail__tick-link {
    width: 20px;
    opacity: 0.86;
}

.pp-help-rail__tick-item--h3 .pp-help-rail__tick-link {
    width: 10px;
    opacity: 0.62;
}

.pp-help-rail__tick-link span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}

.pp-help-rail__tick-link:hover,
.pp-help-rail__tick-link:focus,
.pp-help-rail__tick-link.is-active {
    width: 22px;
    background: var(--color-vert) !important;
    opacity: 1;
}

.pp-help-rail__tick-item.is-active .pp-help-rail__tick-link {
    width: 22px;
    background: var(--color-vert) !important;
    opacity: 1;
}

.pp-help-rail__tick-item--h1 .pp-help-rail__tick-link:hover,
.pp-help-rail__tick-item--h1 .pp-help-rail__tick-link:focus,
.pp-help-rail__tick-item--h1 .pp-help-rail__tick-link.is-active {
    width: 26px;
    background: var(--color-vert) !important;
    opacity: 1;
}

.pp-help-rail__tick-item--h1.is-active .pp-help-rail__tick-link {
    width: 26px;
    background: var(--color-vert) !important;
    opacity: 1;
}

.pp-help-rail__tick-item--h3 .pp-help-rail__tick-link:hover,
.pp-help-rail__tick-item--h3 .pp-help-rail__tick-link:focus,
.pp-help-rail__tick-item--h3 .pp-help-rail__tick-link.is-active {
    width: 18px;
    background: var(--color-vert) !important;
    opacity: 1;
}

.pp-help-rail__tick-item--h3.is-active .pp-help-rail__tick-link {
    width: 18px;
    background: var(--color-vert) !important;
    opacity: 1;
}

.pp-help-content {
    color: var(--color-texte);
    font-size: 1rem;
    line-height: 1.72;
}

.pp-help-content > * + * {
    margin-top: 1rem;
}

.pp-help-content > :last-child {
    margin-bottom: 0 !important;
}

body #page-container .pp-help-content > .et_pb_section:last-child {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

body #page-container .pp-help-content > .et_pb_section:first-child {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body #page-container .pp-help-content > .et_pb_section:first-child > .et_pb_row:first-child,
body #page-container .pp-help-content > .et_pb_section:first-child > .et_pb_row:first-child .et_pb_module:first-child {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body #page-container .pp-help-content .et_pb_section:first-of-type {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body #page-container .pp-help-content .et_pb_section:first-of-type .et_pb_row:first-of-type,
body #page-container .pp-help-content .et_pb_section:first-of-type .et_pb_column:first-of-type,
body #page-container .pp-help-content .et_pb_section:first-of-type .et_pb_module:first-of-type {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body #page-container .pp-help-content .et_pb_section:first-of-type .pp-help-heading-from-h1:first-of-type {
    margin-top: 34px !important;
    padding-top: 0 !important;
}

body #page-container .pp-help-content > .et_pb_section:last-child > .et_pb_row:last-child,
body #page-container .pp-help-content > .et_pb_section:last-child > .et_pb_row:last-child .et_pb_module:last-child {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

.pp-help-content h2,
.pp-help-content h3 {
    scroll-margin-top: 110px;
    color: var(--color-vert);
    font-weight: 700;
    line-height: 1.22;
}

.pp-help-content .pp-help-heading-from-h1 {
    margin-top: 2.7rem;
    padding-top: 0.2rem;
    font-size: clamp(1.5rem, 2.35vw, 2.05rem);
    font-weight: 850;
}

.pp-help-content h2 {
    margin-top: 2.25rem;
    font-size: clamp(1.35rem, 2vw, 1.78rem);
    font-weight: 720;
}

.pp-help-content h3 {
    margin-top: 1.45rem;
    font-size: clamp(1.12rem, 1.4vw, 1.32rem);
    font-weight: 650;
}

.pp-help-content a {
    color: var(--color-vert);
    text-underline-offset: 3px;
}

.pp-help-content ul,
.pp-help-content ol {
    padding-left: 1.2rem;
}

.pp-help-content blockquote {
    margin: 1.2rem 0;
    padding: 0.95rem 1.1rem;
    border-left: 4px solid var(--color-vert);
    border-radius: 0 12px 12px 0;
    background: var(--pp-soft-green);
}

.pp-help-content table {
    width: 100%;
    overflow: hidden;
    margin: 1.4rem 0;
    border: 1px solid rgba(62, 119, 66, 0.14);
    border-radius: 14px;
    border-collapse: separate;
    border-spacing: 0;
    background: var(--color-blanc);
    box-shadow: 0 10px 28px rgba(31, 41, 51, 0.05);
}

.pp-help-content th,
.pp-help-content td {
    padding: 0.8rem 0.95rem;
    border: 0;
    border-bottom: 1px solid rgba(62, 119, 66, 0.1);
    color: var(--color-texte);
    font-size: 0.94rem;
    line-height: 1.45;
    text-align: left;
}

.pp-help-content th {
    background: rgba(62, 119, 66, 0.07);
    color: var(--color-vert);
    font-weight: 800;
}

.pp-help-content tr:last-child td {
    border-bottom: 0;
}

.pp-help-back-cta {
    display: flex;
    justify-content: center;
    margin: 34px 0 0;
}

.pp-help-back-cta a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 14px 30px;
    border: 2px solid var(--color-vert);
    border-radius: 999px;
    background: transparent;
    color: var(--color-vert) !important;
    font-size: 1.02rem;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
    transition:
        background 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.pp-help-back-cta a:hover,
.pp-help-back-cta a:focus {
    background: var(--color-vert);
    color: var(--color-blanc) !important;
    transform: translateY(-1px);
}

@media (max-width: 980px) {
    .pp-help-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pp-help-rail {
        display: none;
    }
}

@media (max-width: 640px) {
    .pp-help-center,
    .pp-help-article {
        width: min(100% - 32px, 1120px);
    }

    .pp-help-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .pp-help-center {
        padding-top: 24px;
    }

    .pp-help-center-icon {
        margin-bottom: 2px !important;
    }

    .pp-help-center-icon .et-pb-icon {
        width: 46px !important;
        height: 46px !important;
        font-size: 43px !important;
    }

    .pp-help-article-hero {
        gap: 14px;
        margin-bottom: 26px;
    }

    .pp-help-article-hero h1 {
        font-size: clamp(1.8rem, 9vw, 2.6rem);
    }

    .pp-help-article-hero__subtitle {
        font-size: 0.98rem;
    }

    .pp-help-article-hero__badge {
        min-height: 44px;
        padding: 9px 18px;
        font-size: 0.95rem;
    }

    .pp-help-article-hero__badge-icon {
        width: 20px;
        height: 20px;
        flex-basis: 20px;
    }

    .pp-help-card__body {
        padding: 16px 18px 18px;
    }

    .pp-help-toc {
        padding: 18px;
        border-radius: 18px;
    }

}


/* ============================================================
   GLOBAL
   ============================================================ */

html {
    scroll-behavior: smooth;
}

body {
    color: var(--color-texte);
}

body,
input,
textarea,
select,
button,
.et_pb_text,
.et_pb_module,
.et_pb_button,
.et_pb_menu a,
.et_pb_blurb_description,
.et_pb_blurb_description p,
.et-l--footer,
.et-l--footer p,
.et-l--footer a {
    font-family: var(--font-base) !important;
}

img {
    height: auto;
    max-width: 100%;
}

.et_pb_column,
.et_pb_module,
.et_pb_module_inner,
.et_pb_blurb_content {
    overflow: visible !important;
}

/* Filet de sécurité responsive : évite les débordements horizontaux
   causés par certains modules Divi, titres longs ou boutons en nowrap. */
@media (max-width: 767px) {
    html,
    body,
    #page-container {
        max-width: 100%;
        overflow-x: hidden;
    }

    body #page-container .et_pb_button,
    body #page-container .et_pb_button_module_wrapper .et_pb_button,
    body #page-container a.et_pb_button {
        max-width: 100% !important;
        white-space: normal !important;
        text-align: center !important;
    }

    .et_pb_text,
    .et_pb_text_inner,
    .et_pb_blurb_description,
    .et_pb_blurb_description p,
    .et_pb_module_header,
    .et_pb_module_header a {
        overflow-wrap: anywhere;
    }

    .et_pb_row {
        max-width: calc(100% - 32px) !important;
    }
}


/* ============================================================
   ANIMATIONS
   ============================================================ */

@keyframes cta-pulse {
    0%,
    92%,
    98%,
    100% {
        transform: scale(1);
        box-shadow: none;
    }

    95% {
        transform: scale(1.06);
        box-shadow: var(--cta-pulse-shadow, var(--cta-shadow-pulse));
    }
}

@keyframes highlight-fill-smooth {
    from {
        background-size: 0% var(--highlight-size-y, 100%);
    }

    to {
        background-size: 100% var(--highlight-size-y, 100%);
    }
}


/* ============================================================
   HEADER
   ============================================================ */

.et_search_form_container {
    display: none !important;
}

#top-menu li.current-menu-item:not(.menu-cta) > a,
#top-menu li.current_page_item:not(.menu-cta) > a {
    color: var(--color-jaune) !important;
}

#top-menu li.menu-cta {
    position: relative !important;
    top: -2px !important;
    margin-left: 12px !important;
}

@media (min-width: 981px) {
    .et_header_style_left #main-header:not(.et-fixed-header) #et-top-navigation,
    .et_header_style_split #main-header:not(.et-fixed-header) #et-top-navigation {
        padding-top: 16px !important;
    }

    .et_header_style_left #main-header.et-fixed-header #et-top-navigation,
    .et_header_style_split #main-header.et-fixed-header #et-top-navigation {
        padding-top: 8px !important;
    }
}


/* ============================================================
   CTA
   Classes : cta--jaune / cta--vert
   ============================================================ */

#top-menu li.menu-cta > a,
#top-menu li.menu-cta.current-menu-item > a,
#top-menu li.menu-cta.current_page_item > a,
.et_pb_button.cta--jaune,
.et_pb_button.cta--vert,
.et_pb_section.hero-section .et_pb_button:not(.cta--vert),
.et-l--footer .et_pb_button:not(.cta--vert) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: var(--cta-height) !important;
    padding: var(--cta-padding-y) var(--cta-padding-x) !important;
    border: none !important;
    border-radius: var(--radius-pill) !important;
    box-shadow: none !important;
    opacity: 1 !important;
    font-family: var(--font-cta) !important;
    font-size: var(--cta-font-size) !important;
    font-weight: var(--cta-font-weight) !important;
    line-height: var(--cta-line-height) !important;
    text-decoration: none !important;
    text-align: center !important;
    white-space: nowrap !important;
    background-color: var(--cta-bg) !important;
    color: var(--cta-text) !important;
    animation: cta-pulse 3s ease-in-out infinite !important;
    transition: box-shadow 0.2s ease, transform 0.2s ease !important;
}

#top-menu li.menu-cta > a:hover,
#top-menu li.menu-cta.current-menu-item > a:hover,
#top-menu li.menu-cta.current_page_item > a:hover,
.et_pb_button.cta--jaune:hover,
.et_pb_button.cta--vert:hover,
.et_pb_section.hero-section .et_pb_button:not(.cta--vert):hover,
.et-l--footer .et_pb_button:not(.cta--vert):hover {
    background-color: var(--cta-bg) !important;
    color: var(--cta-text) !important;
    opacity: 1 !important;
    animation: none !important;
    transform: scale(1.05) !important;
    box-shadow: var(--cta-hover-shadow, var(--cta-shadow-hover)) !important;
}

#top-menu li.menu-cta > a::before,
#top-menu li.menu-cta > a::after,
.et_pb_button.cta--jaune::after,
.et_pb_button.cta--vert::after,
.et_pb_section.hero-section .et_pb_button::after,
.et-l--footer .et_pb_button::after {
    display: none !important;
    content: none !important;
}

#top-menu li.menu-cta:not(.cta--vert) > a,
#top-menu li.menu-cta:not(.cta--vert).current-menu-item > a,
#top-menu li.menu-cta:not(.cta--vert).current_page_item > a,
.et_pb_button.cta--jaune,
.et_pb_section.hero-section .et_pb_button:not(.cta--vert),
.et-l--footer .et_pb_button:not(.cta--vert) {
    --cta-bg: var(--color-jaune);
    --cta-text: var(--color-vert);
    --cta-hover-shadow: var(--cta-shadow-hover);
    --cta-pulse-shadow: var(--cta-shadow-pulse);
}

#top-menu li.menu-cta.cta--vert > a,
#top-menu li.menu-cta.cta--vert.current-menu-item > a,
#top-menu li.menu-cta.cta--vert.current_page_item > a,
.et_pb_button.cta--vert,
.et_pb_section.hero-section .et_pb_button.cta--vert,
.et-l--footer .et_pb_button.cta--vert {
    --cta-bg: var(--cta-bg-invert);
    --cta-text: var(--cta-text-invert);
    --cta-hover-shadow: var(--cta-shadow-hover-invert);
    --cta-pulse-shadow: var(--cta-shadow-pulse-invert);
}

.et_pb_section.hero-section .et_pb_button_module_wrapper {
    margin-top: 8px !important;
}

.et-l--footer .et_pb_button {
    margin-top: 16px !important;
    animation: none !important;
}

.et-l--footer .et_pb_button.cta--jaune,
.et-l--footer .et_pb_button.cta--vert,
.et_pb_section.hero-section .et_pb_button.cta--jaune,
.et_pb_section.hero-section .et_pb_button.cta--vert,
.et_pb_section.hero-section .et_pb_button:not(.cta--vert) {
    animation: none !important;
}


/* ============================================================
   VISUELS ADMINISTRABLES — Modules Divi flottants + parallaxe
   Mode d'emploi :
   - Section : pp-parallax-stage
   - Module : pp-floating-visual + pp-floating-visual--left/right
   - Options : pp-depth-1/2/3, pp-visual-small/medium/large, pp-visual-top/middle/bottom
   ============================================================ */

.et_pb_section.pp-parallax-stage {
    position: relative;
    isolation: isolate;
    overflow: visible !important;
}

.et_pb_section.pp-parallax-stage > .et_pb_row {
    position: relative;
    z-index: 2;
}

.pp-floating-visual {
    --pp-parallax-y: 0px;
    --pp-parallax-offset: 0px;
    --pp-parallax-factor: 0.5;
    --pp-visual-width: clamp(210px, 22vw, 340px);
    --pp-visual-x: 0px;
    --pp-visual-y: 0px;
    --pp-visual-rotate: 0deg;
    --pp-visual-opacity: 0.92;
    --pp-visual-z: 1;
    --pp-visual-shadow: 0 24px 32px rgba(31, 41, 51, 0.16);
}

@media (min-width: 981px) {
    .et_pb_section.pp-parallax-stage .pp-floating-visual {
        position: absolute !important;
        z-index: var(--pp-visual-z) !important;
        width: var(--pp-visual-width) !important;
        max-width: none !important;
        margin: 0 !important;
        opacity: var(--pp-visual-opacity);
        pointer-events: none;
        filter: drop-shadow(var(--pp-visual-shadow));
        transform:
            translate3d(var(--pp-visual-x), calc(var(--pp-visual-y) + var(--pp-parallax-offset)), 0)
            rotate(var(--pp-visual-rotate));
        transform-origin: center center;
        will-change: transform;
    }

    .et_pb_section.pp-parallax-stage .pp-floating-visual,
    .et_pb_section.pp-parallax-stage .pp-floating-visual .et_pb_image_wrap,
    .et_pb_section.pp-parallax-stage .pp-floating-visual img {
        display: block !important;
    }

    .et_pb_section.pp-parallax-stage .pp-floating-visual img {
        width: 100% !important;
        height: auto !important;
        max-width: none !important;
    }

    .et_pb_section.pp-parallax-stage .pp-floating-visual--left {
        top: 12%;
        left: max(-126px, calc((100vw - 1500px) / -2));
        --pp-visual-rotate: -7deg;
        --pp-parallax-factor: -0.55;
    }

    .et_pb_section.pp-parallax-stage .pp-floating-visual--right {
        right: max(-132px, calc((100vw - 1500px) / -2));
        bottom: 8%;
        --pp-visual-rotate: 8deg;
        --pp-parallax-factor: 0.42;
    }

    .et_pb_section.pp-parallax-stage .pp-visual-top {
        top: 6%;
        bottom: auto;
    }

    .et_pb_section.pp-parallax-stage .pp-visual-middle {
        top: 50%;
        bottom: auto;
        --pp-visual-y: -50%;
    }

    .et_pb_section.pp-parallax-stage .pp-visual-bottom {
        top: auto;
        bottom: 6%;
    }

    .et_pb_section.pp-parallax-stage .pp-visual-near {
        --pp-visual-x: 48px;
    }

    .et_pb_section.pp-parallax-stage .pp-floating-visual--right.pp-visual-near {
        --pp-visual-x: -48px;
    }

    .et_pb_section.pp-parallax-stage .pp-visual-far {
        --pp-visual-x: -48px;
    }

    .et_pb_section.pp-parallax-stage .pp-floating-visual--right.pp-visual-far {
        --pp-visual-x: 48px;
    }

    .et_pb_section.pp-parallax-stage .pp-visual-small {
        --pp-visual-width: clamp(170px, 18vw, 260px);
    }

    .et_pb_section.pp-parallax-stage .pp-visual-medium {
        --pp-visual-width: clamp(220px, 23vw, 340px);
    }

    .et_pb_section.pp-parallax-stage .pp-visual-large {
        --pp-visual-width: clamp(270px, 29vw, 460px);
    }

    .et_pb_section.pp-parallax-stage .pp-depth-1 {
        --pp-visual-opacity: 0.34;
        --pp-visual-z: 1;
        --pp-parallax-factor: 0.28;
    }

    .et_pb_section.pp-parallax-stage .pp-floating-visual--left.pp-depth-1 {
        --pp-parallax-factor: -0.28;
    }

    .et_pb_section.pp-parallax-stage .pp-depth-2 {
        --pp-visual-opacity: 0.58;
        --pp-visual-z: 3;
    }

    .et_pb_section.pp-parallax-stage .pp-floating-visual--left.pp-depth-2 {
        --pp-parallax-factor: -0.5;
    }

    .et_pb_section.pp-parallax-stage .pp-depth-3 {
        --pp-visual-opacity: 0.92;
        --pp-visual-z: 5;
        --pp-parallax-factor: 0.72;
    }

    .et_pb_section.pp-parallax-stage .pp-floating-visual--left.pp-depth-3 {
        --pp-parallax-factor: -0.72;
    }

    .et_pb_section.pp-parallax-stage .pp-visual-clickable {
        pointer-events: auto;
    }

    .et_pb_section.pp-parallax-stage .pp-visual-no-shadow {
        --pp-visual-shadow: 0 0 0 rgba(31, 41, 51, 0);
    }
}

@media (min-width: 981px) and (max-width: 1220px) {
    .et_pb_section.pp-parallax-stage .pp-floating-visual {
        --pp-visual-width: clamp(170px, 20vw, 260px);
    }

    .et_pb_section.pp-parallax-stage .pp-floating-visual--left {
        left: -138px;
    }

    .et_pb_section.pp-parallax-stage .pp-floating-visual--right {
        right: -148px;
    }
}

@media (max-width: 980px) {
    .et_pb_section.pp-parallax-stage .pp-floating-visual:not(.pp-visual-mobile-show) {
        display: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pp-floating-visual {
        --pp-parallax-y: 0px !important;
        --pp-parallax-offset: 0px !important;
    }
}


/* ============================================================
   VISUELS DE PAGE — Selection admin gauche/droite
   ============================================================ */

.pp-page-side-visuals {
    display: none;
}

@media (min-width: 1440px) {
    body.pp-has-page-side-visuals {
        overflow-x: hidden;
    }

    #page-container.pp-side-visuals-container {
        position: relative;
        overflow-x: hidden;
        overflow-x: clip;
    }

    .pp-page-side-visuals {
        --pp-page-content-width: 1120px;
        --pp-page-side-gap: 0px;
        --pp-page-side-rail-width: min(420px, calc((100vw - var(--pp-page-content-width)) / 2 - var(--pp-page-side-gap)));
        --pp-page-side-peek: clamp(36px, 4vw, 92px);
        --pp-page-side-zone-height: 0px;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        max-width: 100vw;
        height: var(--pp-page-side-zone-height);
        overflow: hidden;
        overflow-x: clip;
        contain: paint;
        z-index: 3;
        display: block;
        pointer-events: none;
    }

    .pp-page-side-visuals__rail,
    .pp-page-side-visuals__item {
        position: absolute;
        pointer-events: none;
    }

    .pp-page-side-visuals__rail {
        top: 0;
        bottom: 0;
        width: max(180px, var(--pp-page-side-rail-width));
    }

    .pp-page-side-visuals__rail--left {
        left: var(--pp-page-side-gap);
    }

    .pp-page-side-visuals__rail--right {
        right: var(--pp-page-side-gap);
    }

    .pp-page-side-visuals__item {
        --pp-page-side-offset: 0px;
        --pp-side-top: 42vh;
        --pp-side-rotate: 0deg;
        top: var(--pp-side-top);
        width: min(100%, 380px);
        opacity: 1;
        filter: drop-shadow(0 20px 28px rgba(31, 41, 51, 0.18));
        transform: translate3d(0, var(--pp-page-side-offset), 0);
        transform-origin: center center;
        transition: opacity 0.2s ease;
        will-change: transform;
    }

    .pp-page-side-visuals__item.is-hidden {
        display: none;
    }

    .pp-page-side-visuals__rail--left .pp-page-side-visuals__item {
        left: 0;
        transform: translate3d(calc(var(--pp-page-side-peek) * -1), var(--pp-page-side-offset), 0);
    }

    .pp-page-side-visuals__rail--right .pp-page-side-visuals__item {
        right: 0;
        transform: translate3d(var(--pp-page-side-peek), var(--pp-page-side-offset), 0);
    }

    .pp-page-side-visuals__image {
        display: block;
        width: 100%;
        height: auto;
        border-radius: 18px;
    }

    body.et-fb .pp-page-side-visuals,
    body.et-db #et-boc .pp-page-side-visuals {
        display: none;
    }
}

@media (min-width: 1680px) {
    .pp-page-side-visuals__rail {
        width: min(500px, var(--pp-page-side-rail-width));
    }

    .pp-page-side-visuals__item {
        width: min(100%, 460px);
        opacity: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pp-page-side-visuals__item {
        --pp-page-side-offset: 0px !important;
    }
}


/* ============================================================
   HERO
   ============================================================ */

.et_pb_section.hero-section {
    position: relative;
    z-index: 1;
    overflow: visible !important;
    min-height: 600px !important;
    padding-top: 100px !important;
    padding-bottom: 100px !important;
    background-color: var(--color-vert) !important;
}

.et_pb_section.hero-section > .et_pb_row {
    position: relative;
    z-index: 2;
}

.et_pb_section.hero-section .et_pb_column:first-child,
.et_pb_section.hero-section .et_pb_text,
.et_pb_section.hero-section .et_pb_button_module_wrapper {
    position: relative;
    z-index: 80;
}

.et_pb_section.hero-section .et_pb_column:last-child {
    position: relative;
    z-index: 20;
}

.et_pb_section.hero-section .et_pb_bottom_inside_divider,
.et_pb_section.hero-section .et_pb_bottom_outside_divider {
    z-index: 1;
    pointer-events: none;
}

.et_pb_section.hero-section:has(+ .et_pb_section.pp-video-overlap-section) .et_pb_bottom_inside_divider,
.et_pb_section.hero-section:has(+ .et_pb_section.pp-video-overlap-section) .et_pb_bottom_outside_divider {
    display: none !important;
}

.et_pb_section.hero-section:has(+ .et_pb_section.pp-section-wave-top-vert),
.et_pb_section.hero-section:has(+ .et_pb_section.pp-section-wave-top-jaune) {
    z-index: 20 !important;
}

.et_pb_section.hero-section + .et_pb_section.pp-section-wave-top-vert,
.et_pb_section.hero-section + .et_pb_section.pp-section-wave-top-jaune {
    z-index: 1 !important;
}

.et_pb_section.hero-section + .et_pb_section.pp-section-wave-top-vert .et_pb_top_inside_divider,
.et_pb_section.hero-section + .et_pb_section.pp-section-wave-top-vert .et_pb_top_outside_divider,
.et_pb_section.hero-section + .et_pb_section.pp-section-wave-top-jaune .et_pb_top_inside_divider,
.et_pb_section.hero-section + .et_pb_section.pp-section-wave-top-jaune .et_pb_top_outside_divider {
    z-index: 0 !important;
    pointer-events: none;
}

.et_pb_section.hero-section h1 {
    font-family: var(--font-base) !important;
    font-size: clamp(58px, 4.8vw, 68px) !important;
    font-weight: 900 !important;
    letter-spacing: 1px !important;
    line-height: 0.98 !important;
    text-transform: uppercase !important;
    color: var(--color-blanc) !important;
    -webkit-text-stroke: 1px white !important;
    white-space: nowrap !important;
}

.et_pb_section.hero-section h2 {
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    color: var(--color-blanc) !important;
}

.et_pb_section.hero-section p {
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    color: var(--color-blanc) !important;
    max-width: 650px;
    margin-top: 10px;
}

.et_pb_section.hero-section .et_pb_text {
    margin-bottom: 0 !important;
}

.hero-section .et_pb_text_inner h2 {
    display: inline !important;
    margin-bottom: 20px !important;
    padding: 2px 6px !important;
    color: var(--color-blanc);
    background-image: linear-gradient(var(--color-jaune), var(--color-jaune)) !important;
    background-repeat: no-repeat !important;
    background-position: left var(--highlight-position-y) !important;
    background-size: 0% var(--highlight-size-y);
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    transition: background-size 0.8s ease, color 0.4s ease !important;
}

.hero-section .et_pb_text_inner h2.highlighted {
    color: var(--color-vert) !important;
    background-size: 100% var(--highlight-size-y);
}

.et_pb_section.hero-section .et_pb_column:last-child .et_pb_image_wrap img {
    position: relative !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

.et_pb_section.hero-section .et_pb_image_wrap img {
    transform: scale(2) translateX(5%) translateY(28%) !important;
    transform-origin: center center !important;
}

.et_pb_section.hero-section .et_pb_image.hero-image-overlap-up {
    position: relative !important;
    z-index: 50 !important;
    margin-top: -18px !important;
    margin-bottom: -138px !important;
    overflow: visible !important;
}

.et_pb_section.hero-section .et_pb_image.hero-image-overlap-up,
.et_pb_section.hero-section .et_pb_image.hero-image-overlap-up .et_pb_image_wrap {
    overflow: visible !important;
}

.et_pb_section.hero-section .et_pb_image.hero-image-overlap-up .et_pb_image_wrap img {
    position: relative !important;
    z-index: 50 !important;
    transform: scale(1.58) translateX(8%) translateY(calc(14% + var(--pp-hero-parallax-y, 0px))) !important;
    transform-origin: center center !important;
    will-change: transform !important;
}

.et_pb_section.hero-section .et_pb_image.hero-image-overlap-up.hero-image-parallax .et_pb_image_wrap img {
    transition: transform 0.18s linear !important;
}

@media (min-width: 1321px) and (max-width: 1500px) {
    .et_pb_section.hero-section .et_pb_image.hero-image-overlap-up .et_pb_image_wrap img {
        transform: scale(1.48) translateX(11%) translateY(calc(13% + var(--pp-hero-parallax-y, 0px))) !important;
    }
}

@media (min-width: 981px) and (max-width: 1320px) {
    .et_pb_section.hero-section h1 {
        font-size: clamp(50px, 5.1vw, 62px) !important;
        line-height: 0.98 !important;
    }

    .et_pb_section.hero-section h2 {
        font-size: 18px !important;
    }

    .et_pb_section.hero-section p {
        max-width: 540px !important;
        font-size: 17px !important;
        line-height: 1.55 !important;
    }

    .et_pb_section.hero-section .et_pb_column:first-child {
        position: relative;
        z-index: 80;
    }

    .et_pb_section.hero-section .et_pb_column:last-child {
        position: relative;
        z-index: 20;
    }

    .et_pb_section.hero-section .et_pb_image_wrap img {
        transform: scale(1.72) translateX(10%) translateY(25%) !important;
    }

    .et_pb_section.hero-section .et_pb_image.hero-image-overlap-up .et_pb_image_wrap img {
        transform: scale(1.34) translateX(14%) translateY(calc(12% + var(--pp-hero-parallax-y, 0px))) !important;
    }
}

@media (max-width: 980px) {
    .et_pb_section.hero-section {
        min-height: auto !important;
        padding-top: 72px !important;
        padding-bottom: 72px !important;
        text-align: center !important;
    }

    .et_pb_section.hero-section > .et_pb_row {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 28px !important;
    }

    .et_pb_section.hero-section .et_pb_column:first-child,
    .et_pb_section.hero-section .et_pb_column:last-child {
        width: 100% !important;
        max-width: 680px !important;
        margin-right: auto !important;
        margin-left: auto !important;
    }

    .et_pb_section.hero-section h1 {
        font-size: clamp(3rem, 9vw, 4.4rem) !important;
        line-height: 0.95 !important;
        letter-spacing: 0.03em !important;
    }

    .et_pb_section.hero-section h2 {
        font-size: clamp(0.98rem, 2.3vw, 1.15rem) !important;
        line-height: 1.35 !important;
    }

    body #page-container .et_pb_section.hero-section .et_pb_text_inner h2.highlighted {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-right: auto !important;
        margin-left: 0 !important;
        padding: 2px 6px !important;
        background: var(--color-jaune) !important;
        background-color: var(--color-jaune) !important;
        background-image: none !important;
        color: var(--color-vert) !important;
    }

    body #page-container .et_pb_section.hero-section .et_pb_text_inner h2.highlighted * {
        background: var(--color-jaune) !important;
        color: var(--color-vert) !important;
    }

    body #page-container .et_pb_section.hero-section--faq .et_pb_text_inner h2.highlighted {
        background: var(--color-vert) !important;
        background-color: var(--color-vert) !important;
        color: var(--color-jaune) !important;
    }

    body #page-container .et_pb_section.hero-section--faq .et_pb_text_inner h2.highlighted * {
        background: var(--color-vert) !important;
        color: var(--color-jaune) !important;
    }

    .et_pb_section.hero-section p {
        max-width: 620px !important;
        margin-right: auto !important;
        margin-left: auto !important;
        font-size: 1rem !important;
        line-height: 1.55 !important;
    }

    .et_pb_section.hero-section .et_pb_button_module_wrapper {
        text-align: center !important;
    }

    .et_pb_section.hero-section .et_pb_image {
        max-width: min(520px, 78vw) !important;
        margin-right: auto !important;
        margin-left: auto !important;
    }

    .et_pb_section.hero-section .et_pb_image.hero-image-overlap-up {
        margin-top: -8px !important;
        margin-bottom: -54px !important;
    }

    .et_pb_section.hero-section .et_pb_image.hero-image-overlap-up .et_pb_image_wrap img {
        transform: scale(1.06) translateX(0) translateY(calc(2% + var(--pp-hero-parallax-y, 0px))) !important;
    }
}

@media (max-width: 767px) {
    .et_pb_section.hero-section {
        padding-top: 52px !important;
        padding-bottom: 50px !important;
    }

    .et_pb_section.hero-section h1 {
        font-size: clamp(2.4rem, 12vw, 3rem) !important;
        line-height: 0.98 !important;
        letter-spacing: 0.01em !important;
        white-space: nowrap !important;
        -webkit-text-stroke: 0 !important;
    }

    .et_pb_section.hero-section h2 {
        font-size: 0.92rem !important;
    }

    body #page-container .et_pb_section.hero-section .et_pb_text_inner h2.highlighted {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-right: auto !important;
        margin-left: 0 !important;
        padding: 2px 6px !important;
        background: var(--color-jaune) !important;
        background-color: var(--color-jaune) !important;
        background-image: none !important;
        color: var(--color-vert) !important;
    }

    body #page-container .et_pb_section.hero-section--faq .et_pb_text_inner h2.highlighted {
        background: var(--color-vert) !important;
        background-color: var(--color-vert) !important;
        color: var(--color-jaune) !important;
    }

    .et_pb_section.hero-section p {
        font-size: 0.94rem !important;
    }

    .et_pb_section.hero-section .et_pb_image {
        max-width: min(330px, 86vw) !important;
        margin-top: -12px !important;
        margin-bottom: -20px !important;
    }

    .et_pb_section.hero-section .et_pb_image:not(.hero-image-overlap-up) .et_pb_image_wrap img {
        transform: scale(0.98) translateX(0) translateY(-10%) !important;
        transform-origin: center center !important;
    }

    .et_pb_section.hero-section .et_pb_image.hero-image-overlap-up {
        margin-top: -4px !important;
        margin-bottom: -10px !important;
    }

    .et_pb_section.hero-section .et_pb_image.hero-image-overlap-up .et_pb_image_wrap img {
        transform: scale(1) translateX(0) translateY(0) !important;
        will-change: auto !important;
    }
}

/* Hero administrable : 2 modules Image superposes avec flottement. */
.et_pb_section.hero-section .pp-hero-image-stack {
    --pp-hero-stack-y: 0px;
    --pp-hero-stack-x: 0px;
    position: relative !important;
    z-index: 30;
    width: min(640px, 45vw) !important;
    min-height: clamp(390px, 32vw, 520px);
    margin: -54px 0 0 auto !important;
    overflow: visible !important;
    isolation: isolate;
    perspective: 1000px;
    transform: translateX(clamp(70px, 6vw, 120px));
}

.et_pb_section.hero-section .pp-hero-image-stack .pp-hero-shot {
    position: absolute !important;
    max-width: none !important;
    margin: 0 !important;
    overflow: visible !important;
    pointer-events: none;
    will-change: transform;
}

.et_pb_section.hero-section .pp-hero-image-stack .pp-hero-shot,
.et_pb_section.hero-section .pp-hero-image-stack .pp-hero-shot .et_pb_image_wrap,
.et_pb_section.hero-section .pp-hero-image-stack .pp-hero-shot img {
    display: block !important;
    overflow: visible !important;
}

.et_pb_section.hero-section .pp-hero-image-stack .pp-hero-shot img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    transform: none !important;
    transform-origin: center center !important;
    filter: drop-shadow(0 18px 24px rgba(31, 41, 51, 0.16));
}

.et_pb_section.hero-section .pp-hero-image-stack .pp-hero-shot--back {
    top: -1%;
    right: 0;
    left: auto;
    z-index: 1;
    width: clamp(320px, 31vw, 540px);
    opacity: 0.9;
    transform:
        translate3d(
            calc(var(--pp-hero-stack-x) * -0.34),
            calc(var(--pp-hero-stack-y) * 0.38),
            0
        )
        rotate(0deg)
        scale(0.94) !important;
}

.et_pb_section.hero-section .pp-hero-image-stack .pp-hero-shot--front {
    top: 4%;
    right: 30%;
    z-index: 2;
    width: clamp(330px, 31.5vw, 550px);
    transform:
        translate3d(
            calc(var(--pp-hero-stack-x) * 0.28),
            calc(var(--pp-hero-stack-y) * -0.24),
            0
        )
        rotate(0deg)
        scale(0.98) !important;
}

.et_pb_section.hero-section .pp-hero-image-stack .pp-hero-shot--front img {
    filter: drop-shadow(0 22px 28px rgba(31, 41, 51, 0.2));
}

@media (prefers-reduced-motion: no-preference) {
    .et_pb_section.hero-section .pp-hero-image-stack .pp-hero-shot--back {
        animation: none;
    }

    .et_pb_section.hero-section .pp-hero-image-stack .pp-hero-shot--front {
        animation: none;
    }
}

@keyframes ppHeroFloatBack {
    0%,
    100% {
        margin-top: 0;
    }

    50% {
        margin-top: -10px;
    }
}

@keyframes ppHeroFloatFront {
    0%,
    100% {
        margin-top: 0;
    }

    50% {
        margin-top: 12px;
    }
}

@media (min-width: 981px) and (max-width: 1320px) {
    .et_pb_section.hero-section .pp-hero-image-stack {
        width: min(520px, 44vw) !important;
        min-height: clamp(310px, 32vw, 420px);
        margin-top: -34px !important;
        transform: translateX(clamp(48px, 5vw, 82px));
    }

    .et_pb_section.hero-section .pp-hero-image-stack .pp-hero-shot--back {
        right: 0;
        left: auto;
        width: clamp(280px, 30vw, 420px);
    }

    .et_pb_section.hero-section .pp-hero-image-stack .pp-hero-shot--front {
        top: 4%;
        right: 28%;
        width: clamp(300px, 31vw, 450px);
    }
}

@media (max-width: 980px) {
    .et_pb_section.hero-section .pp-hero-image-stack {
        width: min(500px, 90vw) !important;
        max-width: 100% !important;
        min-height: clamp(300px, 78vw, 390px);
        margin: 34px auto -18px !important;
        transform: none !important;
    }

    .et_pb_section.hero-section .pp-hero-image-stack .pp-hero-shot {
        max-width: none !important;
    }

    .et_pb_section.hero-section .pp-hero-image-stack .pp-hero-shot--back {
        top: 0;
        right: 3%;
        left: auto;
        width: min(64vw, 330px);
        transform: translate3d(0, 0, 0) rotate(0deg) scale(0.95) !important;
    }

    .et_pb_section.hero-section .pp-hero-image-stack .pp-hero-shot--front {
        top: 16%;
        right: 28%;
        width: min(68vw, 360px);
        transform: translate3d(0, 0, 0) rotate(0deg) scale(1) !important;
    }
}

@media (max-width: 767px) {
    .et_pb_section.hero-section .pp-hero-image-stack {
        width: min(390px, 88vw) !important;
        min-height: clamp(260px, 78vw, 340px);
        margin-top: 30px !important;
        margin-bottom: -8px !important;
    }

    .et_pb_section.hero-section .pp-hero-image-stack .pp-hero-shot--back {
        right: 0;
        width: min(64vw, 280px);
    }

    .et_pb_section.hero-section .pp-hero-image-stack .pp-hero-shot--front {
        top: 17%;
        right: 30%;
        width: min(68vw, 300px);
    }

    .et_pb_section.hero-section .pp-hero-image-stack .pp-hero-shot img {
        filter: drop-shadow(0 14px 18px rgba(31, 41, 51, 0.18));
    }
}

@media (max-width: 480px) {
    .et_pb_section.hero-section .pp-hero-image-stack {
        width: min(330px, 86vw) !important;
        min-height: clamp(230px, 74vw, 292px);
        margin-top: 28px !important;
    }

    .et_pb_section.hero-section .pp-hero-image-stack .pp-hero-shot--back {
        right: -2%;
        width: min(61vw, 236px);
    }

    .et_pb_section.hero-section .pp-hero-image-stack .pp-hero-shot--front {
        top: 18%;
        right: 29%;
        width: min(66vw, 256px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .pp-hero-image-stack {
        --pp-hero-stack-y: 0px !important;
    }
}

/* ============================================================
   HERO FAQ — Variante jaune
   ============================================================ */

.et_pb_section.hero-section--faq {
    background-color: var(--color-jaune) !important;
}

/* Titre */
.et_pb_section.hero-section--faq h1 {
    color: var(--color-vert) !important;
    -webkit-text-stroke: 0 !important; /* on enlève le contour blanc */
}

/* Texte */
.et_pb_section.hero-section--faq h2,
.et_pb_section.hero-section--faq p {
    color: var(--color-vert-fonce) !important;
}

/* Highlight inversé (jaune -> vert) */
.hero-section--faq .et_pb_text_inner h2 {
    color: var(--color-vert) !important;
    background-image: linear-gradient(var(--color-vert), var(--color-vert)) !important;
}

/* Etat actif highlight */
.hero-section--faq .et_pb_text_inner h2.highlighted {
    color: var(--color-jaune) !important;
    background-size: 100% var(--highlight-size-y);
}

/* CTA version inversée */
.hero-section--faq .et_pb_button:not(.cta--vert) {
    background-color: var(--color-vert) !important;
    color: var(--color-jaune) !important;
}

/* Hover CTA */
.hero-section--faq .et_pb_button:not(.cta--vert):hover {
    background-color: var(--color-vert-fonce) !important;
    color: var(--color-jaune) !important;
    box-shadow: 0 0 24px rgba(62, 119, 66, 0.4) !important;
}


/* ============================================================
   APPEL A L'ACTION — Variante fond jaune
   Classes module : module-cta--bg-jaune / module-cta--bg-vert / module-cta--bg-blanc
   ============================================================ */

.et_pb_promo.module-cta--bg-jaune,
.et_pb_promo.module-cta--bg-vert,
.et_pb_promo.module-cta--bg-blanc {
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    text-align: center !important;
}

.et_pb_promo.module-cta--bg-jaune .et_pb_promo_description,
.et_pb_promo.module-cta--bg-vert .et_pb_promo_description,
.et_pb_promo.module-cta--bg-blanc .et_pb_promo_description {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

.et_pb_promo.module-cta--bg-jaune .et_pb_module_header,
.et_pb_promo.module-cta--bg-jaune .et_pb_module_header a,
.et_pb_promo.module-cta--bg-jaune .et_pb_promo_description h2,
.et_pb_promo.module-cta--bg-jaune .et_pb_promo_description h3 {
    color: var(--color-vert) !important;
    font-size: clamp(1.55rem, 2vw, 1.9rem) !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    margin-bottom: 0.08em !important;
    text-align: center !important;
}

.et_pb_promo.module-cta--bg-jaune .et_pb_promo_description p {
    color: var(--color-vert-fonce) !important;
    margin-bottom: 0.15em !important;
    text-align: center !important;
}

.et_pb_promo.module-cta--bg-jaune .et_pb_promo_description > div {
    margin-bottom: 0 !important;
}

.et_pb_promo.module-cta--bg-jaune .et_pb_promo_button.et_pb_button,
.et_pb_promo.module-cta--bg-jaune .et_pb_button,
.et_pb_promo.module-cta--bg-vert .et_pb_promo_button.et_pb_button,
.et_pb_promo.module-cta--bg-vert .et_pb_button,
.et_pb_promo.module-cta--bg-blanc .et_pb_promo_button.et_pb_button,
.et_pb_promo.module-cta--bg-blanc .et_pb_button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 52px !important;
    padding: 0 28px !important;
    border-radius: var(--radius-pill) !important;
    box-shadow: none !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease !important;
}

.et_pb_promo.module-cta--bg-jaune .et_pb_promo_button.et_pb_button,
.et_pb_promo.module-cta--bg-jaune .et_pb_button {
    border: 2px solid var(--color-vert) !important;
    background: transparent !important;
    color: var(--color-vert) !important;
    margin-top: 0 !important;
}

.et_pb_promo.module-cta--bg-jaune .et_pb_promo_button_wrapper,
.et_pb_promo.module-cta--bg-jaune .et_pb_button_wrapper {
    margin-top: -8px !important;
}

.et_pb_promo.module-cta--bg-jaune .et_pb_promo_button.et_pb_button:hover,
.et_pb_promo.module-cta--bg-jaune .et_pb_button:hover {
    background: var(--color-vert) !important;
    color: var(--color-jaune) !important;
    border-color: var(--color-vert) !important;
    transform: none !important;
}

.et_pb_promo.module-cta--bg-vert .et_pb_module_header,
.et_pb_promo.module-cta--bg-vert .et_pb_module_header a,
.et_pb_promo.module-cta--bg-vert .et_pb_promo_description h2,
.et_pb_promo.module-cta--bg-vert .et_pb_promo_description h3 {
    color: var(--color-jaune) !important;
    font-weight: 800 !important;
    text-align: center !important;
}

.et_pb_promo.module-cta--bg-vert .et_pb_promo_description p {
    color: var(--color-blanc) !important;
    text-align: center !important;
}

.et_pb_promo.module-cta--bg-vert .et_pb_promo_button.et_pb_button,
.et_pb_promo.module-cta--bg-vert .et_pb_button {
    border: 2px solid var(--color-jaune) !important;
    background: transparent !important;
    color: var(--color-jaune) !important;
}

.et_pb_promo.module-cta--bg-vert .et_pb_promo_button.et_pb_button:hover,
.et_pb_promo.module-cta--bg-vert .et_pb_button:hover {
    background: var(--color-jaune) !important;
    color: var(--color-vert) !important;
    border-color: var(--color-jaune) !important;
    transform: none !important;
}

.et_pb_promo.module-cta--bg-blanc .et_pb_module_header,
.et_pb_promo.module-cta--bg-blanc .et_pb_module_header a,
.et_pb_promo.module-cta--bg-blanc .et_pb_promo_description h2,
.et_pb_promo.module-cta--bg-blanc .et_pb_promo_description h3 {
    color: var(--color-vert) !important;
    font-weight: 800 !important;
    text-align: center !important;
}

.et_pb_promo.module-cta--bg-blanc .et_pb_promo_description p {
    color: var(--color-texte) !important;
    text-align: center !important;
}

.et_pb_promo.module-cta--bg-blanc .et_pb_promo_button.et_pb_button,
.et_pb_promo.module-cta--bg-blanc .et_pb_button {
    border: 2px solid var(--color-vert) !important;
    background: var(--color-blanc) !important;
    color: var(--color-vert) !important;
}

.et_pb_promo.module-cta--bg-blanc .et_pb_promo_button.et_pb_button:hover,
.et_pb_promo.module-cta--bg-blanc .et_pb_button:hover {
    border-color: var(--color-vert) !important;
    background: var(--color-vert) !important;
    color: var(--color-blanc) !important;
    transform: none !important;
}

.et_pb_promo.module-cta--bg-jaune .et_pb_promo_button.et_pb_button::after,
.et_pb_promo.module-cta--bg-jaune .et_pb_button::after,
.et_pb_promo.module-cta--bg-vert .et_pb_promo_button.et_pb_button::after,
.et_pb_promo.module-cta--bg-vert .et_pb_button::after,
.et_pb_promo.module-cta--bg-blanc .et_pb_promo_button.et_pb_button::after,
.et_pb_promo.module-cta--bg-blanc .et_pb_button::after {
    display: none !important;
    content: none !important;
}

/* Variante CTA classique appliquee a un module Bouton Divi. */
.et_pb_button_module_wrapper.module-cta--bg-jaune,
.et_pb_button_module_wrapper.module-cta--bg-blanc,
.et_pb_button_module_wrapper:has(.et_pb_button.module-cta--bg-jaune),
.et_pb_button_module_wrapper:has(.et_pb_button.module-cta--bg-blanc) {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    text-align: center !important;
}

body #page-container .et_pb_button_module_wrapper.module-cta--bg-jaune .et_pb_button,
body #page-container .et_pb_button.module-cta--bg-jaune,
body #page-container .et_pb_button_module_wrapper.module-cta--bg-blanc .et_pb_button,
body #page-container .et_pb_button.module-cta--bg-blanc {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 52px !important;
    padding: 0 32px !important;
    border: 2px solid var(--color-vert) !important;
    border-radius: var(--radius-pill) !important;
    box-shadow: none !important;
    color: var(--color-vert) !important;
    font-family: var(--font-cta) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    animation: none !important;
    transform: none !important;
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease !important;
}

body #page-container .et_pb_button_module_wrapper.module-cta--bg-jaune .et_pb_button,
body #page-container .et_pb_button.module-cta--bg-jaune {
    background: var(--color-jaune) !important;
}

body #page-container .et_pb_button_module_wrapper.module-cta--bg-blanc .et_pb_button,
body #page-container .et_pb_button.module-cta--bg-blanc {
    background: var(--color-blanc) !important;
}

body #page-container .et_pb_button_module_wrapper.module-cta--bg-jaune .et_pb_button:hover,
body #page-container .et_pb_button.module-cta--bg-jaune:hover,
body #page-container .et_pb_button_module_wrapper.module-cta--bg-blanc .et_pb_button:hover,
body #page-container .et_pb_button.module-cta--bg-blanc:hover {
    border-color: var(--color-vert) !important;
    background: var(--color-vert) !important;
    box-shadow: none !important;
    animation: none !important;
    transform: none !important;
}

body #page-container .et_pb_button_module_wrapper.module-cta--bg-jaune .et_pb_button:hover,
body #page-container .et_pb_button.module-cta--bg-jaune:hover {
    color: var(--color-jaune) !important;
}

body #page-container .et_pb_button_module_wrapper.module-cta--bg-blanc .et_pb_button:hover,
body #page-container .et_pb_button.module-cta--bg-blanc:hover {
    color: var(--color-blanc) !important;
}

body #page-container .et_pb_button_module_wrapper.module-cta--bg-jaune .et_pb_button::after,
body #page-container .et_pb_button.module-cta--bg-jaune::after,
body #page-container .et_pb_button_module_wrapper.module-cta--bg-blanc .et_pb_button::after,
body #page-container .et_pb_button.module-cta--bg-blanc::after {
    display: none !important;
    content: none !important;
}

/* Duo de CTA centre : a appliquer sur la ligne Divi qui contient les deux boutons. */
.et_pb_row.cta-row--centered,
.cta-row--centered {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(18px, 2.4vw, 42px) !important;
}

.et_pb_row.cta-row--centered::after,
.cta-row--centered::after {
    display: none !important;
    content: none !important;
}

.et_pb_row.cta-row--centered > .et_pb_column,
.cta-row--centered > .et_pb_column {
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
}

.et_pb_row.cta-row--centered .et_pb_button_module_wrapper,
.cta-row--centered .et_pb_button_module_wrapper {
    width: auto !important;
}

@media (max-width: 767px) {
    .et_pb_row.cta-row--centered,
    .cta-row--centered {
        flex-direction: column !important;
        gap: 16px !important;
    }
}

/* Bloc CTA compact : a appliquer sur la section qui contient la ligne texte + la ligne boutons. */
.et_pb_section.cta-section--compact,
.cta-section--compact {
    padding-top: 0 !important;
    padding-bottom: clamp(72px, 8vw, 128px) !important;
}

.et_pb_section.cta-section--compact > .et_pb_row,
.cta-section--compact > .et_pb_row,
body #page-container .et_pb_section.cta-section--compact .et_pb_row {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.et_pb_section.cta-section--compact > .et_pb_row:first-child,
.cta-section--compact > .et_pb_row:first-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.et_pb_section.cta-section--compact > .et_pb_row:first-child .et_pb_text,
.cta-section--compact > .et_pb_row:first-child .et_pb_text,
body #page-container .et_pb_section.cta-section--compact .section-intro-title-bg-jaune {
    margin-bottom: 0 !important;
}

.et_pb_section.cta-section--compact > .et_pb_row:first-child + .et_pb_row,
.cta-section--compact > .et_pb_row:first-child + .et_pb_row {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body #page-container .et_pb_section.cta-section--compact .cta-row--centered {
    --cta-row-lift: -36px;
    margin-top: var(--cta-row-lift) !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body #page-container .et_pb_section.cta-section--compact .cta-row--centered > .et_pb_column,
body #page-container .et_pb_section.cta-section--compact .cta-row--centered .et_pb_button_module_wrapper,
body #page-container .et_pb_section.cta-section--compact .cta-row--centered .et_pb_module {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body #page-container .et_pb_section.cta-section--compact .cta-row--centered .et_pb_button {
    min-height: 52px !important;
    line-height: 1 !important;
}

.et_pb_section.cta-section--compact .section-intro-title-bg-jaune h1,
.cta-section--compact .section-intro-title-bg-jaune h1,
.et_pb_section.cta-section--compact .section-intro-title h1,
.cta-section--compact .section-intro-title h1 {
    margin-bottom: 8px !important;
}

@media (max-width: 767px) {
    .et_pb_section.cta-section--compact,
    .cta-section--compact {
        padding-top: 0 !important;
        padding-bottom: 72px !important;
    }

    body #page-container .et_pb_section.cta-section--compact .cta-row--centered {
        --cta-row-lift: -18px;
    }

    .et_pb_section.cta-section--compact > .et_pb_row:first-child,
    .cta-section--compact > .et_pb_row:first-child {
        padding-bottom: 0 !important;
    }
}

/* ============================================================
   SECTION SHAPES — Courbes de transition
   Classes section :
   - pp-section-wave-top-jaune / pp-section-wave-bottom-jaune
   - pp-section-wave-top-vert / pp-section-wave-bottom-vert
   Option : pp-section-wave-overlap pour autoriser une carte a chevaucher.
   ============================================================ */

.et_pb_section.pp-section-wave-top-jaune,
.et_pb_section.pp-section-wave-bottom-jaune,
.et_pb_section.pp-section-wave-top-vert,
.et_pb_section.pp-section-wave-bottom-vert {
    --pp-section-wave-bg: var(--color-jaune);

    position: relative;
    overflow: hidden;
    background: var(--pp-section-wave-bg) !important;
    isolation: isolate;
}

.et_pb_section.pp-section-wave-overlap {
    overflow: visible;
    z-index: 2;
}

.et_pb_section.pp-section-wave-top-vert,
.et_pb_section.pp-section-wave-bottom-vert {
    --pp-section-wave-bg: var(--color-vert);
}

.et_pb_section.pp-section-wave-top-jaune::before,
.et_pb_section.pp-section-wave-top-vert::before,
.et_pb_section.pp-section-wave-bottom-jaune::after,
.et_pb_section.pp-section-wave-bottom-vert::after {
    content: "";
    position: absolute;
    left: 50%;
    z-index: 0;
    width: 140vw;
    height: 170px;
    background: var(--color-blanc);
    pointer-events: none;
    transform: translateX(-50%);
}

.et_pb_section.pp-section-wave-top-jaune::before,
.et_pb_section.pp-section-wave-top-vert::before {
    top: -92px;
    border-radius: 0 0 50% 50% / 0 0 100% 100%;
}

.et_pb_section.pp-section-wave-bottom-jaune::after,
.et_pb_section.pp-section-wave-bottom-vert::after {
    bottom: -92px;
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
}

.et_pb_section.pp-section-wave-overlap.pp-section-wave-bottom-jaune::after,
.et_pb_section.pp-section-wave-overlap.pp-section-wave-bottom-vert::after {
    z-index: -1;
}

.et_pb_section.pp-section-wave-top-jaune > .et_pb_row,
.et_pb_section.pp-section-wave-bottom-jaune > .et_pb_row,
.et_pb_section.pp-section-wave-top-vert > .et_pb_row,
.et_pb_section.pp-section-wave-bottom-vert > .et_pb_row {
    position: relative;
    z-index: 1;
}

/* ============================================================
   VIDEO — Carte en chevauchement sous le hero Solution
   Classes Divi :
   - section : pp-video-overlap-section
   - row     : pp-video-overlap-row
   - module  : pp-video-overlap-card
   ============================================================ */

.et_pb_section.pp-video-overlap-section {
    position: relative;
    z-index: 2;
    isolation: isolate;
    overflow-x: clip !important;
    overflow-y: visible !important;
    margin-top: 0 !important;
    padding: clamp(4px, 1.4vw, 20px) 0 clamp(24px, 3vw, 42px) !important;
    background: var(--color-blanc) !important;
}

.et_pb_section.pp-video-overlap-section::before,
.et_pb_section.pp-video-overlap-section::after {
    content: "";
    position: absolute;
    left: 50%;
    z-index: 0;
    pointer-events: none;
    transform: translateX(-50%);
}

.et_pb_section.pp-video-overlap-section::before {
    top: 0;
    width: 100vw;
    height: clamp(92px, 10vw, 150px);
    background: var(--color-vert);
}

.et_pb_section.pp-video-overlap-section::after {
    top: clamp(54px, 6vw, 92px);
    width: 150vw;
    height: clamp(86px, 8vw, 130px);
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
    background: var(--color-blanc);
}

.et_pb_section.pp-video-overlap-section .et_pb_top_inside_divider,
.et_pb_section.pp-video-overlap-section .et_pb_top_outside_divider,
.et_pb_section.pp-video-overlap-section .et_pb_bottom_inside_divider,
.et_pb_section.pp-video-overlap-section .et_pb_bottom_outside_divider {
    display: none !important;
}

.et_pb_section.pp-video-overlap-section > .et_pb_row {
    position: relative;
    z-index: 2;
}

body #page-container .et_pb_section.pp-video-overlap-section > .et_pb_row.pp-video-overlap-row,
body #page-container .pp-video-overlap-row {
    width: min(760px, calc(100% - 40px)) !important;
    max-width: 760px !important;
    margin: clamp(-46px, -3vw, -28px) auto 0 !important;
    padding: 0 !important;
}

.pp-video-overlap-card {
    --pp-video-radius: 24px;

    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 6px solid var(--color-blanc);
    border-radius: 30px;
    background: var(--color-blanc);
    box-shadow: 0 24px 60px rgba(31, 41, 51, 0.16);
}

.pp-video-overlap-card .et_pb_video {
    overflow: hidden;
    border-radius: var(--pp-video-radius);
}

.pp-video-overlap-card .et_pb_video_box,
.pp-video-overlap-card .et_pb_code_inner {
    overflow: hidden;
    margin: 0 !important;
    border-radius: var(--pp-video-radius);
    background: #172016;
    line-height: 0;
}

.pp-video-overlap-card .et_pb_video_box {
    aspect-ratio: 16 / 9;
}

.pp-video-overlap-card iframe,
.pp-video-overlap-card video,
.pp-video-overlap-card .et_pb_video_box iframe,
.pp-video-overlap-card .et_pb_video_box video {
    display: block;
    width: 100% !important;
    max-width: 100%;
    aspect-ratio: 16 / 9;
    height: auto !important;
    min-height: 0 !important;
    border: 0;
    border-radius: var(--pp-video-radius);
}

.pp-video-overlap-card .et_pb_video_overlay {
    inset: 0;
    overflow: hidden;
    background-color: transparent !important;
    background-size: cover !important;
    background-position: center !important;
    border-radius: var(--pp-video-radius);
}

.pp-video-overlap-card .et_pb_video_overlay img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto;
    object-fit: cover;
    border-radius: var(--pp-video-radius);
}

.pp-video-overlap-card .et_pb_video_overlay_hover {
    border-radius: var(--pp-video-radius);
}

@media (max-width: 980px) {
    .et_pb_section.pp-video-overlap-section {
        padding-top: 10px !important;
        padding-bottom: 38px !important;
    }

    body #page-container .et_pb_section.pp-video-overlap-section > .et_pb_row.pp-video-overlap-row,
    body #page-container .pp-video-overlap-row {
        width: min(760px, calc(100% - 34px)) !important;
        margin-top: -30px !important;
    }
}

@media (max-width: 640px) {
    .et_pb_section.pp-video-overlap-section {
        padding-top: 8px !important;
        padding-bottom: 30px !important;
    }

    body #page-container .et_pb_section.pp-video-overlap-section > .et_pb_row.pp-video-overlap-row,
    body #page-container .pp-video-overlap-row {
        width: calc(100% - 28px) !important;
        margin-top: -18px !important;
    }

    .pp-video-overlap-card {
        padding: 8px !important;
        border-radius: 20px;
        box-shadow: 0 16px 36px rgba(31, 41, 51, 0.11);
    }

    .pp-video-overlap-card .et_pb_video_box,
    .pp-video-overlap-card .et_pb_code_inner,
    .pp-video-overlap-card iframe,
    .pp-video-overlap-card video,
    .pp-video-overlap-card .et_pb_video_overlay {
        border-radius: 14px;
    }
}

@media (max-width: 767px) {
    .et_pb_section.pp-section-wave-top-jaune::before,
    .et_pb_section.pp-section-wave-top-vert::before,
    .et_pb_section.pp-section-wave-bottom-jaune::after,
    .et_pb_section.pp-section-wave-bottom-vert::after {
        width: 155vw;
        height: 104px;
    }

    .et_pb_section.pp-section-wave-top-jaune::before,
    .et_pb_section.pp-section-wave-top-vert::before {
        top: -54px;
    }

    .et_pb_section.pp-section-wave-bottom-jaune::after,
    .et_pb_section.pp-section-wave-bottom-vert::after {
        bottom: -54px;
    }
}


/* ============================================================
   BLURBS — Homepage
   Classes parent : homepage-blurbs + blurb-icon-bg-jaune / blurb-icon-bg-vert / blurb-icon-bg-gris
   ============================================================ */

.homepage-blurbs .et_pb_blurb:not(.contact-info-card) {
    --blurb-icon-bg: var(--blurb-icon-bg-default);
    --blurb-icon-color: var(--blurb-icon-color-default);
    --blurb-title-color: var(--blurb-title-color-default);

    position: relative;
    overflow: visible !important;
    margin-top: 58px !important;
    padding: 0 24px 28px !important;
    border-radius: var(--radius-card);
    background: var(--color-blanc);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
    transition: box-shadow 0.3s ease;
}

.homepage-blurbs .et_pb_blurb:not(.contact-info-card):hover {
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.14);
}

.homepage-blurbs .et_pb_blurb:not(.contact-info-card) .et_pb_module_header {
    margin-top: 0 !important;
    margin-bottom: 14px !important;
    color: var(--blurb-title-color) !important;
    font-size: 17px;
    font-weight: 700 !important;
    line-height: 1.1;
    letter-spacing: -0.2px;
}

.homepage-blurbs .et_pb_blurb:not(.contact-info-card) .et_pb_blurb_description p {
    color: var(--color-texte) !important;
    line-height: 1.4 !important;
}

.homepage-blurbs .et_pb_blurb:not(.contact-info-card) .et_pb_main_blurb_image {
    position: absolute !important;
    top: 0;
    left: 50%;
    z-index: 10;
    margin: 0 !important;
    transform: translate(-50%, -50%);
}

.homepage-blurbs .et_pb_blurb:not(.contact-info-card) .et_pb_image_wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 78px !important;
    height: 78px !important;
    border-radius: var(--radius-icon) !important;
    background-color: var(--blurb-icon-bg) !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.06) !important;
}

.homepage-blurbs .et_pb_blurb:not(.contact-info-card) .et-pb-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    font-size: 32px !important;
    color: var(--blurb-icon-color) !important;
    background-color: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.homepage-blurbs .et_pb_blurb:not(.contact-info-card) .et_pb_image_wrap *,
.homepage-blurbs .et_pb_blurb:not(.contact-info-card) .et-pb-icon::before {
    color: var(--blurb-icon-color) !important;
    opacity: 1 !important;
    -webkit-text-fill-color: var(--blurb-icon-color) !important;
}

.homepage-blurbs .et_pb_blurb:not(.contact-info-card) .et_pb_image_wrap svg,
.homepage-blurbs .et_pb_blurb:not(.contact-info-card) .et_pb_image_wrap svg * {
    fill: var(--blurb-icon-color) !important;
    stroke: var(--blurb-icon-color) !important;
}

.homepage-blurbs .et_pb_blurb:not(.contact-info-card) .et_pb_blurb_content {
    padding-top: 64px;
}

.homepage-blurbs.blurb-content-center .et_pb_blurb:not(.contact-info-card) .et_pb_module_header,
.homepage-blurbs.blurb-content-center .et_pb_blurb:not(.contact-info-card) .et_pb_blurb_description,
.homepage-blurbs.blurb-content-center .et_pb_blurb:not(.contact-info-card) .et_pb_blurb_description p {
    text-align: center !important;
}

.et_pb_section.homepage-blurbs.blurb-icon-bg-jaune .et_pb_blurb:not(.contact-info-card),
.et_pb_row.homepage-blurbs.blurb-icon-bg-jaune .et_pb_blurb:not(.contact-info-card),
.et_pb_column.homepage-blurbs.blurb-icon-bg-jaune .et_pb_blurb:not(.contact-info-card),
.homepage-blurbs .et_pb_blurb.blurb-icon-bg-jaune:not(.contact-info-card) {
    --blurb-icon-bg: var(--color-jaune-vif);
    --blurb-icon-color: var(--color-vert-fonce);
}

.et_pb_section.homepage-blurbs.blurb-icon-bg-vert .et_pb_blurb:not(.contact-info-card),
.et_pb_row.homepage-blurbs.blurb-icon-bg-vert .et_pb_blurb:not(.contact-info-card),
.et_pb_column.homepage-blurbs.blurb-icon-bg-vert .et_pb_blurb:not(.contact-info-card),
.homepage-blurbs .et_pb_blurb.blurb-icon-bg-vert:not(.contact-info-card) {
    --blurb-icon-bg: var(--color-vert-fonce);
    --blurb-icon-color: var(--color-jaune-vif);
}

.et_pb_section.homepage-blurbs.blurb-icon-bg-gris .et_pb_blurb:not(.contact-info-card),
.et_pb_row.homepage-blurbs.blurb-icon-bg-gris .et_pb_blurb:not(.contact-info-card),
.et_pb_column.homepage-blurbs.blurb-icon-bg-gris .et_pb_blurb:not(.contact-info-card),
.homepage-blurbs .et_pb_blurb.blurb-icon-bg-gris:not(.contact-info-card) {
    --blurb-icon-bg: #eef0ed;
    --blurb-icon-color: var(--color-vert-fonce);
    --blurb-title-color: var(--color-vert-fonce);
}

.et_pb_section.homepage-blurbs.blurb-icon-bg-gris .et_pb_blurb:not(.contact-info-card),
.et_pb_row.homepage-blurbs.blurb-icon-bg-gris .et_pb_blurb:not(.contact-info-card),
.et_pb_column.homepage-blurbs.blurb-icon-bg-gris .et_pb_blurb:not(.contact-info-card),
.homepage-blurbs .et_pb_blurb.blurb-icon-bg-gris:not(.contact-info-card) {
    border: 1px solid rgba(31, 41, 51, 0.06);
    box-shadow: 0 4px 22px rgba(31, 41, 51, 0.05);
}

.et_pb_section.homepage-blurbs.blurb-icon-bg-gris .et_pb_blurb:not(.contact-info-card):hover,
.et_pb_row.homepage-blurbs.blurb-icon-bg-gris .et_pb_blurb:not(.contact-info-card):hover,
.et_pb_column.homepage-blurbs.blurb-icon-bg-gris .et_pb_blurb:not(.contact-info-card):hover,
.homepage-blurbs .et_pb_blurb.blurb-icon-bg-gris:not(.contact-info-card):hover {
    box-shadow: 0 10px 34px rgba(31, 41, 51, 0.1);
}

.et_pb_row.homepage-blurbs.blurb-icon-bg-gris {
    width: min(96%, 1260px) !important;
    max-width: 1260px !important;
}

.et_pb_section.homepage-blurbs.blurb-icon-bg-gris .et_pb_blurb:not(.contact-info-card),
.et_pb_row.homepage-blurbs.blurb-icon-bg-gris .et_pb_blurb:not(.contact-info-card),
.et_pb_column.homepage-blurbs.blurb-icon-bg-gris .et_pb_blurb:not(.contact-info-card),
.homepage-blurbs .et_pb_blurb.blurb-icon-bg-gris:not(.contact-info-card) {
    padding-right: 32px !important;
    padding-left: 32px !important;
}

.et_pb_section.homepage-blurbs.blurb-icon-bg-gris .et_pb_module_header,
.et_pb_row.homepage-blurbs.blurb-icon-bg-gris .et_pb_module_header,
.et_pb_column.homepage-blurbs.blurb-icon-bg-gris .et_pb_module_header,
.homepage-blurbs.blurb-icon-bg-gris .et_pb_module_header,
.et_pb_section.homepage-blurbs.blurb-icon-bg-gris .et_pb_blurb_description,
.et_pb_row.homepage-blurbs.blurb-icon-bg-gris .et_pb_blurb_description,
.et_pb_column.homepage-blurbs.blurb-icon-bg-gris .et_pb_blurb_description,
.homepage-blurbs.blurb-icon-bg-gris .et_pb_blurb_description,
.et_pb_section.homepage-blurbs.blurb-icon-bg-gris .et_pb_blurb_description p,
.et_pb_row.homepage-blurbs.blurb-icon-bg-gris .et_pb_blurb_description p,
.et_pb_column.homepage-blurbs.blurb-icon-bg-gris .et_pb_blurb_description p,
.homepage-blurbs.blurb-icon-bg-gris .et_pb_blurb_description p {
    text-align: center !important;
}

.et_pb_section.homepage-blurbs.blurb-icon-bg-gris .et_pb_module_header,
.et_pb_row.homepage-blurbs.blurb-icon-bg-gris .et_pb_module_header,
.et_pb_column.homepage-blurbs.blurb-icon-bg-gris .et_pb_module_header,
.homepage-blurbs.blurb-icon-bg-gris .et_pb_module_header {
    font-size: clamp(1rem, 1.05vw, 1.12rem) !important;
    text-wrap: balance;
}

.et_pb_section.homepage-blurbs.blurb-icon-bg-gris .et_pb_blurb_description,
.et_pb_row.homepage-blurbs.blurb-icon-bg-gris .et_pb_blurb_description,
.et_pb_column.homepage-blurbs.blurb-icon-bg-gris .et_pb_blurb_description,
.homepage-blurbs.blurb-icon-bg-gris .et_pb_blurb_description {
    max-width: 245px;
    margin-right: auto !important;
    margin-left: auto !important;
}

.et_pb_row.homepage-blurbs.blurb-icon-bg-gris.blurb-grid-2x2,
.homepage-blurbs.blurb-icon-bg-gris.blurb-grid-2x2 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 24px !important;
    width: min(84%, 680px) !important;
    max-width: 680px !important;
}

.et_pb_row.homepage-blurbs.blurb-icon-bg-gris.blurb-grid-2x2::after,
.homepage-blurbs.blurb-icon-bg-gris.blurb-grid-2x2::after {
    display: none !important;
}

.et_pb_row.homepage-blurbs.blurb-icon-bg-gris.blurb-grid-2x2 > .et_pb_column,
.homepage-blurbs.blurb-icon-bg-gris.blurb-grid-2x2 > .et_pb_column {
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

.et_pb_row.homepage-blurbs.blurb-icon-bg-gris.blurb-grid-2x2 .et_pb_blurb:not(.contact-info-card),
.homepage-blurbs.blurb-icon-bg-gris.blurb-grid-2x2 .et_pb_blurb:not(.contact-info-card) {
    min-height: 190px;
    padding-right: 22px !important;
    padding-left: 22px !important;
}

.et_pb_row.homepage-blurbs.blurb-icon-bg-gris.blurb-grid-2x2 .et_pb_blurb_description,
.homepage-blurbs.blurb-icon-bg-gris.blurb-grid-2x2 .et_pb_blurb_description {
    max-width: 235px;
}

@media (max-width: 767px) {
    .et_pb_row.homepage-blurbs.blurb-icon-bg-gris.blurb-grid-2x2,
    .homepage-blurbs.blurb-icon-bg-gris.blurb-grid-2x2 {
        grid-template-columns: 1fr;
        gap: 28px !important;
        width: min(100% - 34px, 430px) !important;
    }

    .et_pb_row.homepage-blurbs.blurb-icon-bg-gris.blurb-grid-2x2 .et_pb_blurb:not(.contact-info-card),
    .homepage-blurbs.blurb-icon-bg-gris.blurb-grid-2x2 .et_pb_blurb:not(.contact-info-card) {
        min-height: 0;
        padding-right: 24px !important;
        padding-left: 24px !important;
    }
}


/* ============================================================
   BENEFIT STATS — ROI / À propos
   Classes ligne : pp-benefit-stats
   Classe module Blurb : pp-benefit-stat-card
   ============================================================ */

.et_pb_row.pp-benefit-stats,
.pp-benefit-stats {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px !important;
    align-items: stretch !important;
    width: min(92%, 1120px) !important;
    max-width: 1120px !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

.et_pb_row.pp-benefit-stats::after,
.pp-benefit-stats::after {
    display: none !important;
}

.et_pb_row.pp-benefit-stats > .et_pb_column,
.pp-benefit-stats > .et_pb_column {
    display: flex !important;
    width: 100% !important;
    margin: 0 !important;
}

.et_pb_blurb.pp-benefit-stat-card {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 245px;
    margin: 0 !important;
    padding: 28px 24px 26px !important;
    border: 1px solid rgba(255, 202, 50, 0.18);
    border-radius: 14px;
    background: var(--color-vert);
    box-shadow: 0 18px 42px rgba(62, 119, 66, 0.22);
    text-align: center !important;
}

.d5cs-js .et_pb_blurb.pp-benefit-stat-card {
    opacity: 0;
    transform: translateY(26px) scale(0.96);
    transition:
        opacity 0.55s ease,
        transform 0.75s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.25s ease;
    will-change: opacity, transform;
}

.d5cs-js .pp-benefit-stats.is-visible .pp-benefit-stat-card {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.d5cs-js .pp-benefit-stats.is-visible > .et_pb_column:nth-child(1) .pp-benefit-stat-card {
    transition-delay: 0.05s;
}

.d5cs-js .pp-benefit-stats.is-visible > .et_pb_column:nth-child(2) .pp-benefit-stat-card {
    transition-delay: 0.17s;
}

.d5cs-js .pp-benefit-stats.is-visible > .et_pb_column:nth-child(3) .pp-benefit-stat-card {
    transition-delay: 0.29s;
}

.d5cs-js .pp-benefit-stats.is-visible > .et_pb_column:nth-child(4) .pp-benefit-stat-card {
    transition-delay: 0.41s;
}

.et_pb_blurb.pp-benefit-stat-card .et_pb_blurb_content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: none !important;
}

.et_pb_blurb.pp-benefit-stat-card .et_pb_main_blurb_image {
    width: 74px !important;
    height: 74px !important;
    margin: 0 0 -14px !important;
}

.et_pb_blurb.pp-benefit-stat-card .et_pb_image_wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 74px !important;
    height: 74px !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.et_pb_blurb.pp-benefit-stat-card .et-pb-icon {
    width: 58px !important;
    height: 58px !important;
    color: var(--color-jaune-vif) !important;
    font-size: 56px !important;
    line-height: 1 !important;
}

.et_pb_blurb.pp-benefit-stat-card .et_pb_module_header,
.et_pb_blurb.pp-benefit-stat-card .et_pb_module_header h4,
.et_pb_blurb.pp-benefit-stat-card h4 {
    margin: 0 0 14px !important;
    padding: 0 !important;
    color: var(--color-jaune-vif) !important;
    font-size: clamp(2.25rem, 3vw, 3.1rem) !important;
    font-weight: 900 !important;
    line-height: 0.95 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
}

.et_pb_blurb.pp-benefit-stat-card .et_pb_blurb_description {
    max-width: 235px;
    margin-right: auto !important;
    margin-left: auto !important;
    color: var(--color-blanc) !important;
    font-size: 0.92rem !important;
    font-weight: 500 !important;
    line-height: 1.42 !important;
    text-align: center !important;
}

.et_pb_blurb.pp-benefit-stat-card .et_pb_blurb_description strong,
.et_pb_blurb.pp-benefit-stat-card .et_pb_blurb_description b {
    display: block;
    margin-bottom: 2px;
    color: var(--color-blanc) !important;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.12;
}

.et_pb_blurb.pp-benefit-stat-card .et_pb_blurb_description p {
    margin: 0 !important;
    color: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    text-align: center !important;
}

@media (prefers-reduced-motion: reduce) {
    .d5cs-js .et_pb_blurb.pp-benefit-stat-card,
    .d5cs-js .pp-benefit-stats.is-visible .pp-benefit-stat-card {
        opacity: 1;
        transform: none;
        transition: none;
        will-change: auto;
    }
}

@media (max-width: 980px) {
    .et_pb_row.pp-benefit-stats,
    .pp-benefit-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 680px !important;
    }
}

@media (max-width: 640px) {
    .et_pb_row.pp-benefit-stats,
    .pp-benefit-stats {
        grid-template-columns: 1fr;
        gap: 18px !important;
        width: min(100% - 34px, 430px) !important;
    }

    .et_pb_blurb.pp-benefit-stat-card {
        min-height: 0;
        padding: 24px 22px !important;
    }

    .et_pb_blurb.pp-benefit-stat-card .et_pb_module_header,
    .et_pb_blurb.pp-benefit-stat-card .et_pb_module_header h4,
    .et_pb_blurb.pp-benefit-stat-card h4 {
        font-size: clamp(2.05rem, 10vw, 2.75rem) !important;
    }
}


/* ============================================================
   EQUAL-CARDS
   ============================================================ */

.equal-cards,
.equal-cards-3 {
    display: flex !important;
    align-items: stretch !important;
}

.et_pb_row.equal-cards.homepage-blurbs.blurb-icon-bg-jaune {
    max-width: 1110px !important;
}

.equal-cards > .et_pb_column,
.equal-cards .et_pb_column,
.equal-cards-3 > .et_pb_column {
    display: flex !important;
    align-items: stretch !important;
}

.equal-cards > .et_pb_column > .et_pb_module,
.equal-cards .et_pb_column .et_pb_module,
.equal-cards-3 > .et_pb_column > .et_pb_module {
    display: flex !important;
    width: 100% !important;
}

.equal-cards .et_pb_blurb,
.equal-cards-3 .et_pb_blurb {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
}

.et_pb_row:has(.section-intro-title) + .et_pb_row.equal-cards.homepage-blurbs,
.et_pb_row:has(.section-intro-title) + .et_pb_row.equal-cards-3.homepage-blurbs {
    margin-top: -34px !important;
    padding-top: 0 !important;
}

.equal-cards .et_pb_blurb .et_pb_main_blurb_image,
.equal-cards-3 .et_pb_blurb .et_pb_main_blurb_image,
.homepage-blurbs.blurb-grid-2x2 .et_pb_blurb .et_pb_main_blurb_image {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1) !important;
    will-change: auto;
    transition: opacity 0.45s ease, transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
    animation: none !important;
}

.d5cs-js .equal-cards:not(.is-visible) .et_pb_blurb .et_pb_main_blurb_image,
.d5cs-js .equal-cards-3:not(.is-visible) .et_pb_blurb .et_pb_main_blurb_image,
.d5cs-js .homepage-blurbs.blurb-grid-2x2:not(.is-visible) .et_pb_blurb .et_pb_main_blurb_image {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.92) !important;
}

.equal-cards.is-visible .et_pb_blurb .et_pb_main_blurb_image,
.equal-cards-3.is-visible .et_pb_blurb .et_pb_main_blurb_image,
.homepage-blurbs.blurb-grid-2x2.is-visible .et_pb_blurb .et_pb_main_blurb_image {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1) !important;
}

.equal-cards.is-visible .et_pb_column:nth-child(1) .et_pb_main_blurb_image,
.equal-cards-3.is-visible .et_pb_column:nth-child(1) .et_pb_main_blurb_image,
.homepage-blurbs.blurb-grid-2x2.is-visible > .et_pb_column:nth-child(1) .et_pb_main_blurb_image {
    transition-delay: 0s;
}

.equal-cards.is-visible .et_pb_column:nth-child(2) .et_pb_main_blurb_image,
.equal-cards-3.is-visible .et_pb_column:nth-child(2) .et_pb_main_blurb_image,
.homepage-blurbs.blurb-grid-2x2.is-visible > .et_pb_column:nth-child(2) .et_pb_main_blurb_image {
    transition-delay: 0.1s;
}

.equal-cards.is-visible .et_pb_column:nth-child(3) .et_pb_main_blurb_image,
.equal-cards-3.is-visible .et_pb_column:nth-child(3) .et_pb_main_blurb_image,
.homepage-blurbs.blurb-grid-2x2.is-visible > .et_pb_column:nth-child(3) .et_pb_main_blurb_image {
    transition-delay: 0.2s;
}

.equal-cards.is-visible .et_pb_column:nth-child(4) .et_pb_main_blurb_image,
.homepage-blurbs.blurb-grid-2x2.is-visible > .et_pb_column:nth-child(4) .et_pb_main_blurb_image {
    transition-delay: 0.3s;
}

.equal-cards-3 .et_pb_blurb .et_pb_main_blurb_image,
.homepage-blurbs.blurb-grid-2x2 .et_pb_blurb .et_pb_main_blurb_image {
    transform: translate(-50%, -50%) scale(1) !important;
}

.equal-cards .et_pb_blurb .et_pb_main_blurb_image.et-waypoint,
.equal-cards .et_pb_blurb .et_pb_main_blurb_image.et_animated,
.equal-cards-3 .et_pb_blurb .et_pb_main_blurb_image.et-waypoint,
.equal-cards-3 .et_pb_blurb .et_pb_main_blurb_image.et_animated,
.homepage-blurbs.blurb-grid-2x2 .et_pb_blurb .et_pb_main_blurb_image.et-waypoint,
.homepage-blurbs.blurb-grid-2x2 .et_pb_blurb .et_pb_main_blurb_image.et_animated {
    animation: none !important;
    transform: translate(-50%, -50%) scale(1) !important;
    transition-property: opacity, transform !important;
}

.equal-cards .et_pb_blurb .et_pb_image_wrap,
.equal-cards .et_pb_blurb .et-pb-icon,
.equal-cards .et_pb_blurb .et-pb-icon::before,
.equal-cards-3 .et_pb_blurb .et_pb_image_wrap,
.equal-cards-3 .et_pb_blurb .et-pb-icon,
.equal-cards-3 .et_pb_blurb .et-pb-icon::before,
.homepage-blurbs.blurb-grid-2x2 .et_pb_blurb .et_pb_image_wrap,
.homepage-blurbs.blurb-grid-2x2 .et_pb_blurb .et-pb-icon,
.homepage-blurbs.blurb-grid-2x2 .et_pb_blurb .et-pb-icon::before {
    animation: none !important;
    transform: none !important;
    transition-property: color, background-color, border-color, box-shadow, opacity !important;
}

.homepage-blurbs.blurb-grid-2x2 .et_pb_blurb .et_pb_main_blurb_image,
.homepage-blurbs.blurb-grid-2x2 .et_pb_blurb .et_pb_main_blurb_image.et-waypoint,
.homepage-blurbs.blurb-grid-2x2 .et_pb_blurb .et_pb_main_blurb_image.et_animated {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1) !important;
    transition:
        opacity 0.58s ease,
        transform 0.58s cubic-bezier(0.22, 1, 0.36, 1) !important;
    transition-delay: 0s;
    animation: none !important;
    will-change: opacity, transform;
}

.d5cs-js .homepage-blurbs.blurb-grid-2x2:not(.is-visible) .et_pb_blurb .et_pb_main_blurb_image,
.d5cs-js .homepage-blurbs.blurb-grid-2x2:not(.is-visible) .et_pb_blurb .et_pb_main_blurb_image.et-waypoint,
.d5cs-js .homepage-blurbs.blurb-grid-2x2:not(.is-visible) .et_pb_blurb .et_pb_main_blurb_image.et_animated {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.97) !important;
}

.homepage-blurbs.blurb-grid-2x2.is-visible .et_pb_blurb .et_pb_main_blurb_image,
.homepage-blurbs.blurb-grid-2x2.is-visible .et_pb_blurb .et_pb_main_blurb_image.et-waypoint,
.homepage-blurbs.blurb-grid-2x2.is-visible .et_pb_blurb .et_pb_main_blurb_image.et_animated {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1) !important;
}

.homepage-blurbs.blurb-grid-2x2.is-visible > .et_pb_column:nth-child(1) .et_pb_main_blurb_image {
    transition-delay: 0.02s !important;
}

.homepage-blurbs.blurb-grid-2x2.is-visible > .et_pb_column:nth-child(2) .et_pb_main_blurb_image {
    transition-delay: 0.12s !important;
}

.homepage-blurbs.blurb-grid-2x2.is-visible > .et_pb_column:nth-child(3) .et_pb_main_blurb_image {
    transition-delay: 0.22s !important;
}

.homepage-blurbs.blurb-grid-2x2.is-visible > .et_pb_column:nth-child(4) .et_pb_main_blurb_image {
    transition-delay: 0.32s !important;
}

@media (prefers-reduced-motion: reduce) {
    .equal-cards .et_pb_blurb .et_pb_main_blurb_image,
    .equal-cards.is-visible .et_pb_blurb .et_pb_main_blurb_image,
    .equal-cards-3 .et_pb_blurb .et_pb_main_blurb_image,
    .equal-cards-3.is-visible .et_pb_blurb .et_pb_main_blurb_image,
    .homepage-blurbs.blurb-grid-2x2 .et_pb_blurb .et_pb_main_blurb_image,
    .homepage-blurbs.blurb-grid-2x2.is-visible .et_pb_blurb .et_pb_main_blurb_image {
        opacity: 1;
        transform: translate(-50%, -50%) translateY(0) scale(1);
        transition: none;
    }
}

@media (max-width: 980px) {
    .equal-cards,
    .equal-cards-3 {
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 26px !important;
    }

    .equal-cards > .et_pb_column,
    .equal-cards .et_pb_column,
    .equal-cards-3 > .et_pb_column {
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 520px !important;
        margin-right: auto !important;
        margin-left: auto !important;
    }
}

@media (max-width: 767px) {
    .equal-cards,
    .equal-cards-3 {
        gap: 22px !important;
    }

    .et_pb_row:has(.section-intro-title) + .et_pb_row.equal-cards.homepage-blurbs,
    .et_pb_row:has(.section-intro-title) + .et_pb_row.equal-cards-3.homepage-blurbs {
        margin-top: -18px !important;
    }

    .homepage-blurbs .et_pb_blurb:not(.contact-info-card) {
        margin-top: 48px !important;
        padding-right: 20px !important;
        padding-left: 20px !important;
    }

    .homepage-blurbs .et_pb_blurb:not(.contact-info-card) .et_pb_module_header {
        font-size: 1.08rem !important;
        line-height: 1.18 !important;
    }
}


/* ============================================================
   FEATURES STRIP
   Section globale administrable via modules Blurb.
   Classes : features-strip + features-strip__item
   ============================================================ */

.features-strip.et_pb_section {
    padding: 28px 0 !important;
    background: var(--color-jaune) !important;
}

.features-strip .et_pb_row {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 54px;
    width: 90% !important;
    max-width: 1110px !important;
    padding: 0 !important;
}

.features-strip .et_pb_column {
    display: flex !important;
    flex: 0 0 auto;
    align-items: center !important;
    width: auto !important;
    margin: 0 !important;
}

.features-strip__item.et_pb_blurb {
    width: auto !important;
    margin: 0 !important;
}

.features-strip__item .et_pb_blurb_content {
    display: flex !important;
    align-items: center !important;
    gap: 12px;
    max-width: none !important;
}

.features-strip__item .et_pb_main_blurb_image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    margin: 0 !important;
}

.features-strip__item .et_pb_image_wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    border-radius: 10px !important;
    background: var(--color-vert) !important;
    box-shadow: none !important;
}

.features-strip__item .et-pb-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    color: var(--color-blanc) !important;
    font-size: 22px !important;
    line-height: 1 !important;
}

.features-strip__item .et_pb_image_wrap *,
.features-strip__item .et-pb-icon::before {
    color: var(--color-blanc) !important;
    opacity: 1 !important;
    -webkit-text-fill-color: var(--color-blanc) !important;
}

.features-strip__item .et_pb_image_wrap img,
.features-strip__item .et_pb_image_wrap svg {
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    opacity: 1 !important;
    filter: brightness(0) invert(1) !important;
}

.features-strip__item .et_pb_image_wrap svg,
.features-strip__item .et_pb_image_wrap svg * {
    fill: var(--color-blanc) !important;
    stroke: var(--color-blanc) !important;
}

.features-strip__item .et_pb_module_header {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-vert) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

.features-strip__item .et_pb_module_header a {
    color: inherit !important;
}

.features-strip__item .et_pb_blurb_description {
    display: none !important;
}

@media (min-width: 981px) {
    .features-strip__item.et_pb_blurb {
        text-align: left !important;
    }

    .features-strip__item .et_pb_blurb_content {
        flex-direction: row !important;
    }

    .features-strip__item .et_pb_blurb_container {
        display: flex !important;
        align-items: center !important;
        padding-left: 0 !important;
    }
}

@media (max-width: 980px) {
    .features-strip .et_pb_row {
        flex-wrap: wrap;
        gap: 22px 34px;
        justify-content: center !important;
    }
}

@media (max-width: 640px) {
    .features-strip.et_pb_section {
        padding: 26px 0 30px !important;
    }

    .features-strip .et_pb_row {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-content: center !important;
        gap: 22px 18px;
        width: min(100% - 34px, 390px) !important;
    }

    .features-strip .et_pb_column {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .features-strip__item.et_pb_blurb {
        width: 100% !important;
        text-align: center !important;
    }

    .features-strip__item .et_pb_blurb_content {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        min-width: 0;
        gap: 9px !important;
        justify-content: center !important;
        width: 100% !important;
    }

    .features-strip__item .et_pb_blurb_container {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        padding-left: 0 !important;
        text-align: center !important;
    }

    .features-strip__item .et_pb_main_blurb_image,
    .features-strip__item .et_pb_image_wrap {
        flex: 0 0 48px !important;
        width: 48px !important;
        height: 48px !important;
        margin: 0 !important;
    }

    .features-strip__item .et-pb-icon {
        width: 24px !important;
        height: 24px !important;
        font-size: 22px !important;
    }

    .features-strip__item .et_pb_module_header {
        font-size: 0.95rem !important;
        line-height: 1.15 !important;
        text-align: center !important;
    }

    .features-strip__item .et_pb_module_header,
    .features-strip__item .et_pb_module_header a {
        display: block !important;
    }
}

@media (max-width: 420px) {
    .features-strip .et_pb_row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 360px !important;
    }

    .features-strip__item .et_pb_blurb_content {
        justify-content: center !important;
    }
}


/* ============================================================
   SECTION INTRO TITLE — Variante highlight pour fond jaune
   Classes module texte : section-intro-title-bg-jaune / pp-tarifs-offres--yellow-bg / section-intro-title
   Utiliser le soulignement pour appliquer le surlignage vert/jaune.
   ============================================================ */

.section-intro-title-bg-jaune,
.pp-tarifs-offres--yellow-bg,
.section-intro-title {
    width: min(100%, 900px) !important;
    max-width: 900px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    text-align: center !important;
}

.section-intro-title-bg-jaune .et_pb_text_inner,
.pp-tarifs-offres--yellow-bg .et_pb_text_inner,
.section-intro-title .et_pb_text_inner {
    text-align: center !important;
}

.pp-tarifs-offres--yellow-bg h1,
.pp-tarifs-offres--yellow-bg h2,
.pp-tarifs-offres--yellow-bg h3,
.pp-tarifs-offres--yellow-bg h4,
.pp-tarifs-offres--yellow-bg h5,
.pp-tarifs-offres--yellow-bg h6,
.section-intro-title h1,
.section-intro-title h2,
.section-intro-title h3,
.section-intro-title h4,
.section-intro-title h5,
.section-intro-title h6 {
    margin: 0 0 22px !important;
    padding: 0 !important;
    color: var(--color-vert) !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    text-align: center !important;
}

.section-intro-title-bg-jaune h1,
.section-intro-title-bg-jaune h2,
.section-intro-title-bg-jaune h3,
.section-intro-title-bg-jaune h4,
.section-intro-title-bg-jaune h5,
.section-intro-title-bg-jaune h6 {
    margin: 0 0 10px !important;
    padding: 0 !important;
    color: var(--color-vert) !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    text-align: center !important;
}

.section-intro-title-bg-jaune h1,
.pp-tarifs-offres--yellow-bg h1,
.section-intro-title h1 {
    font-size: clamp(2.6rem, 5vw, 4.6rem) !important;
}

.section-intro-title-bg-jaune h2,
.pp-tarifs-offres--yellow-bg h2,
.section-intro-title h2 {
    font-size: clamp(1.6rem, 2.5vw, 2.4rem) !important;
}

.section-intro-title-bg-jaune p,
.pp-tarifs-offres--yellow-bg p,
.section-intro-title p {
    max-width: 760px;
    margin: 0 auto !important;
    color: var(--color-texte) !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    text-align: center !important;
    text-decoration: none !important;
}

.section-intro-title--wide-text p {
    max-width: 940px !important;
    font-weight: 500 !important;
    line-height: 1.42 !important;
}

.section-intro-title--wide-text h1,
.section-intro-title--wide-text h2,
.section-intro-title--wide-text h3,
.section-intro-title--wide-text h4,
.section-intro-title--wide-text h5,
.section-intro-title--wide-text h6 {
    line-height: 1.14 !important;
}

.section-intro-title--wide-text u,
.section-intro-title--wide-text .et_pb_text_inner u,
.section-intro-title--wide-text span[style*="underline"],
.section-intro-title--wide-text span[style*="text-decoration"] {
    line-height: 1.2 !important;
}

.section-intro-title-bg-jaune u,
.section-intro-title-bg-jaune .et_pb_text_inner u,
.section-intro-title-bg-jaune span[style*="underline"],
.section-intro-title-bg-jaune span[style*="text-decoration"],
.section-intro-title-bg-jaune p[style*="underline"],
.section-intro-title-bg-jaune p[style*="text-decoration"],
.pp-tarifs-offres--yellow-bg u,
.pp-tarifs-offres--yellow-bg .et_pb_text_inner u,
.pp-tarifs-offres--yellow-bg span[style*="underline"],
.pp-tarifs-offres--yellow-bg span[style*="text-decoration"],
.pp-tarifs-offres--yellow-bg p[style*="underline"],
.pp-tarifs-offres--yellow-bg p[style*="text-decoration"],
.section-intro-title u,
.section-intro-title .et_pb_text_inner u,
.section-intro-title span[style*="underline"],
.section-intro-title span[style*="text-decoration"],
.section-intro-title p[style*="underline"] {
    display: inline !important;
    padding: 2px 7px !important;
    max-width: none !important;
    color: var(--color-jaune) !important;
    background-color: transparent !important;
    background-image: linear-gradient(var(--color-vert), var(--color-vert)) !important;
    background-repeat: no-repeat !important;
    background-position: left var(--highlight-position-y) !important;
    background-size: 100% var(--highlight-size-y) !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    text-transform: none !important;
    animation: highlight-fill-smooth 0.65s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.section-intro-title-bg-jaune p[style*="underline"],
.section-intro-title-bg-jaune p[style*="text-decoration"],
.pp-tarifs-offres--yellow-bg p[style*="underline"],
.pp-tarifs-offres--yellow-bg p[style*="text-decoration"],
.section-intro-title p[style*="underline"] {
    display: inline-block !important;
    margin: 0 auto !important;
}

@media (max-width: 640px) {
    .section-intro-title-bg-jaune h1,
    .pp-tarifs-offres--yellow-bg h1,
    .section-intro-title h1 {
        font-size: clamp(2.05rem, 10vw, 3rem) !important;
        line-height: 1.05 !important;
    }

    .section-intro-title-bg-jaune h2,
    .pp-tarifs-offres--yellow-bg h2,
    .section-intro-title h2 {
        font-size: clamp(1.55rem, 8vw, 2.2rem) !important;
        line-height: 1.08 !important;
    }

    .section-intro-title-bg-jaune p,
    .pp-tarifs-offres--yellow-bg p,
    .section-intro-title p {
        max-width: 100%;
        font-size: 1rem !important;
        line-height: 1.45 !important;
    }
}


/* ============================================================
   FOOTER
   ============================================================ */

.et-l--footer .et_pb_section {
    background-color: var(--color-vert) !important;
}

.et-l--footer .et_pb_section_1_tb_footer {
    background-color: var(--color-vert-footer) !important;
    padding: 16px 0 !important;
}

.et-l--footer h3 {
    margin-bottom: 10px !important;
    color: var(--color-blanc);
    font-size: 20px !important;
    font-weight: 700 !important;
}

.et-l--footer p {
    color: var(--color-blanc-85) !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}

.et-l--footer .et_pb_section_1_tb_footer p,
.et-l--footer .et_pb_section_1_tb_footer a {
    color: var(--color-blanc-60) !important;
    font-size: 13px !important;
    text-align: center !important;
    line-height: 1.35 !important;
}

.et-l--footer .et_pb_section_1_tb_footer a:hover {
    color: var(--color-jaune-vif) !important;
}

.et-l--footer .et_pb_image_wrap img {
    width: 220px !important;
    max-width: 220px !important;
}

.et_pb_column_0_tb_footer {
    row-gap: 12px !important;
}

.et-l--footer .et_pb_menu,
.et-l--footer .et_pb_menu_inner_container,
.et-l--footer nav,
.et-l--footer .et_pb_mobile_menu {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.et-l--footer .et_pb_menu .et_mobile_menu {
    display: none !important;
}

.et-l--footer .et_pb_menu a,
.et-l--footer nav a {
    color: var(--color-blanc-85) !important;
    font-size: 14px !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.et-l--footer .et_pb_menu_0_tb_footer ul.et-menu li a:hover,
.et-l--footer .et_pb_menu_1_tb_footer ul.et-menu li a:hover {
    color: var(--color-jaune-vif) !important;
    opacity: 1 !important;
}

.et_pb_menu_0_tb_footer ul.et-menu,
.et_pb_menu_1_tb_footer ul.et-menu {
    flex-direction: column !important;
    gap: 0 !important;
}

.et_pb_menu_0_tb_footer ul.et-menu > li,
.et_pb_menu_1_tb_footer ul.et-menu > li {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

.et_pb_menu_0_tb_footer ul.et-menu > li > a,
.et_pb_menu_1_tb_footer ul.et-menu > li > a {
    display: block !important;
    padding: 3px 0 !important;
    line-height: 1.4 !important;
}

.et-l--footer .et_pb_social_media_follow a,
.et-l--footer .et_pb_social_media_follow a.icon,
.et-l--footer .et_pb_social_media_follow .et_pb_social_icon a {
    background-color: var(--color-blanc) !important;
    border-radius: 8px !important;
    transition: background-color 0.3s ease !important;
}

.et-l--footer .et_pb_social_media_follow a:hover {
    background-color: var(--color-jaune-vif) !important;
}

.et-l--footer .et_pb_social_media_follow li a::before,
.et-l--footer .et_pb_social_media_follow a span,
.et-l--footer .et_pb_social_media_follow a i,
.et-l--footer .et_pb_social_media_follow a:hover::before {
    color: var(--color-vert) !important;
}

.et-l--footer .et_pb_social_media_follow a i,
.et-l--footer .et_pb_social_media_follow a span {
    filter: none !important;
}

.et-l--footer .et_pb_column_2_tb_footer .et_pb_menu_1_tb_footer {
    margin-bottom: 0 !important;
}

.et_pb_menu_1_tb_footer {
    margin-bottom: 0 !important;
}

.et_pb_social_media_follow_0_tb_footer {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.et_pb_code_0_tb_footer {
    margin-top: 6px !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
}

.et-l--footer .et_pb_column_2_tb_footer {
    gap: 8px !important;
    row-gap: 8px !important;
}

.et-l--footer .et_pb_column_2_tb_footer .et_pb_menu_1_tb_footer {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
}

.et-l--footer .et_pb_column_2_tb_footer .et_pb_social_media_follow_0_tb_footer,
.et-l--footer .et_pb_column_2_tb_footer .et_pb_code_0_tb_footer {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: -11px !important;
    margin-right: 0 !important;
    text-align: left !important;
}

.et-l--footer .et_pb_column_2_tb_footer .et_pb_menu_1_tb_footer .et_pb_menu__wrap,
.et-l--footer .et_pb_column_2_tb_footer .et_pb_menu_1_tb_footer .et_pb_menu__menu,
.et-l--footer .et_pb_column_2_tb_footer .et_pb_menu_1_tb_footer nav,
.et-l--footer .et_pb_column_2_tb_footer .et_pb_menu_1_tb_footer ul.et-menu {
    justify-content: flex-start !important;
    text-align: left !important;
}

.et-l--footer .et_pb_column_2_tb_footer .et_pb_social_media_follow {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-left: -11px !important;
    padding: 0 !important;
}

.et-l--footer .et_pb_section .et_pb_column .et_pb_social_media_follow_0_tb_footer {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-left: -11px !important;
    padding: 0 !important;
}

.et-l--footer .et_pb_social_media_follow ul {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.et-l--footer .et_pb_social_media_follow li {
    margin: 0 !important;
}

@media (max-width: 980px) {
    .et-l--footer .et_pb_row {
        display: block !important;
    }

    .et-l--footer .et_pb_row > .et_pb_column {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 18px 0 !important;
        text-align: left !important;
    }

    .et-l--footer .et_pb_image,
    .et-l--footer .et_pb_text,
    .et-l--footer .et_pb_button_module_wrapper,
    .et-l--footer .et_pb_menu,
    .et-l--footer .et_pb_social_media_follow {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        text-align: left !important;
    }

    .et-l--footer .et_pb_text {
        margin-bottom: 10px !important;
    }

    .et-l--footer .et_pb_button_module_wrapper {
        margin-top: 0 !important;
        margin-bottom: 8px !important;
    }

    .et-l--footer .et_pb_button {
        display: inline-block !important;
        width: auto !important;
        max-width: none !important;
    }

    .et-l--footer .et_pb_menu {
        margin-bottom: 8px !important;
    }

    .et-l--footer .et_pb_menu .et_pb_menu__menu {
        display: block !important;
    }

    .et-l--footer .et_pb_menu .et_mobile_nav_menu,
    .et-l--footer .et_pb_menu .et_mobile_menu {
        display: none !important;
    }

    .et-l--footer .et_pb_menu .et_pb_menu_inner_container,
    .et-l--footer .et_pb_menu .et_pb_menu__wrap,
    .et-l--footer .et_pb_menu .et_pb_menu__menu,
    .et-l--footer .et_pb_menu nav,
    .et-l--footer .et_pb_menu .et-menu-nav,
    .et-l--footer .et_pb_menu ul.et-menu,
    .et-l--footer .et_pb_menu ul.et-menu > li,
    .et-l--footer .et_pb_menu ul.et-menu > li > a,
    .et_pb_column_1_tb_footer,
    .et_pb_column_2_tb_footer {
        text-align: left !important;
        justify-content: flex-start !important;
    }

    .et-l--footer .et_pb_menu ul.et-menu {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .et-l--footer .et_pb_menu ul.et-menu > li {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .et-l--footer .et_pb_menu ul.et-menu > li > a {
        display: block !important;
        width: 100% !important;
        padding: 3px 0 !important;
        line-height: 1.25 !important;
    }

    .et_pb_menu_0_tb_footer {
        margin-bottom: 6px !important;
    }

    .et_pb_menu_1_tb_footer {
        margin-top: 0 !important;
    }

    .et-l--footer .et_pb_social_media_follow {
        margin-top: 8px !important;
        margin-left: 0 !important;
    }

    .et-l--footer .et_pb_social_media_follow ul {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 12px !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .et-l--footer .et_pb_social_media_follow li {
        margin: 0 !important;
    }

    .et-l--footer .et_pb_section .et_pb_column .et_pb_social_media_follow_0_tb_footer {
        margin-left: 0 !important;
    }

    .et-l--footer .et_pb_section:not(.et_pb_section_1_tb_footer) {
        padding-top: 32px !important;
        padding-bottom: 14px !important;
    }

    .et-l--footer .et_pb_section_1_tb_footer {
        padding: 10px 16px !important;
    }

    .et-l--footer .et_pb_section_1_tb_footer p,
    .et-l--footer .et_pb_section_1_tb_footer a {
        text-align: left !important;
        line-height: 1.35 !important;
    }
}


/* ============================================================
   HIGHLIGHT
   ============================================================ */

.highlight-inline {
    display: inline !important;
    padding: var(--highlight-pad-y) var(--highlight-pad-x) !important;
    color: inherit;
    background-image: linear-gradient(var(--highlight-bg), var(--highlight-bg)) !important;
    background-repeat: no-repeat !important;
    background-position: left var(--highlight-position-y) !important;
    background-size: 0% var(--highlight-size-y);
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    border-radius: 0 !important;
    transition: background-size 0.8s ease, color 0.4s ease !important;
}

.highlight-inline.is-highlighted {
    background-size: 100% var(--highlight-size-y);
    color: var(--highlight-text) !important;
}

.highlight-jaune {
    --highlight-bg: var(--color-jaune);
    --highlight-text: var(--color-vert);
}

.pp-editorial-heading u,
.pp-editorial-heading span[style*="text-decoration"] {
    --highlight-bg: var(--color-jaune);
    --highlight-text: var(--color-vert);
    display: inline !important;
    padding: var(--highlight-pad-y) var(--highlight-pad-x) !important;
    color: inherit;
    text-decoration: none !important;
    background-image: linear-gradient(var(--highlight-bg), var(--highlight-bg)) !important;
    background-repeat: no-repeat !important;
    background-position: left var(--highlight-position-y) !important;
    background-size: 0% var(--highlight-size-y);
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    border-radius: 0 !important;
    transition: background-size 0.8s ease, color 0.4s ease !important;
}

.pp-editorial-heading u.is-highlighted,
.pp-editorial-heading span[style*="text-decoration"].is-highlighted {
    background-size: 100% var(--highlight-size-y);
    color: var(--highlight-text) !important;
}

.highlight-vert {
    --highlight-bg: var(--color-vert);
    --highlight-text: var(--color-jaune);
}

.highlight-auto h1,
.highlight-auto h2,
.highlight-auto h3,
.highlight-auto h4 {
    display: inline !important;
    padding: 2px 6px !important;
    color: var(--color-vert);
    background-image: linear-gradient(var(--color-jaune), var(--color-jaune)) !important;
    background-repeat: no-repeat !important;
    background-position: left var(--highlight-position-y) !important;
    background-size: 0% var(--highlight-size-y);
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    border-radius: 0 !important;
    will-change: background-size;
    animation: highlight-fill-smooth 0.65s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.highlight-auto--invert h1,
.highlight-auto--invert h2,
.highlight-auto--invert h3,
.highlight-auto--invert h4 {
    display: inline !important;
    padding: 2px 6px !important;
    color: var(--color-jaune);
    background-image: linear-gradient(var(--color-vert), var(--color-vert)) !important;
    background-repeat: no-repeat !important;
    background-position: left var(--highlight-position-y) !important;
    background-size: 0% var(--highlight-size-y);
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    border-radius: 0 !important;
    will-change: background-size;
    animation: highlight-fill-smooth 0.65s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@media (max-width: 767px) {
    .highlight-inline.is-highlighted,
    .pp-editorial-heading u,
    .pp-editorial-heading u.is-highlighted,
    .pp-editorial-heading span[style*="text-decoration"],
    .pp-editorial-heading span[style*="text-decoration"].is-highlighted {
        background-color: transparent !important;
        background-size: 100% var(--highlight-size-y) !important;
        color: var(--highlight-text, var(--color-vert)) !important;
    }

    .highlight-auto h1,
    .highlight-auto h2,
    .highlight-auto h3,
    .highlight-auto h4,
    .highlight-auto--invert h1,
    .highlight-auto--invert h2,
    .highlight-auto--invert h3,
    .highlight-auto--invert h4 {
        background-size: 100% var(--highlight-size-y) !important;
    }
}

/* Titre de section reutilisable : H2 centre + paragraphe surligne jaune. */
.pp-section-title-highlight,
.pp-section-title-highlight .et_pb_text_inner {
    text-align: center !important;
}

.pp-section-title-highlight {
    max-width: 760px;
    margin-right: auto !important;
    margin-left: auto !important;
}

.pp-section-title-highlight h2 {
    margin: 0 0 10px !important;
    color: var(--color-vert) !important;
    font-size: clamp(1.55rem, 2.4vw, 2.35rem) !important;
    font-weight: 800 !important;
    line-height: 1.12 !important;
    text-align: center !important;
    text-wrap: balance;
}

.pp-section-title-highlight .et_pb_text_inner > h2 + p {
    display: inline-block !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 2px 6px !important;
    color: var(--color-vert) !important;
    background-image: linear-gradient(var(--color-jaune), var(--color-jaune)) !important;
    background-repeat: no-repeat !important;
    background-position: left var(--highlight-position-y) !important;
    background-size: 0% var(--highlight-size-y);
    border-radius: 0 !important;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    text-align: center !important;
    text-transform: none !important;
    animation: highlight-fill-smooth 0.65s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}


/* ============================================================
   PAGES LÉGALES
   Classes : title-separator-legal / legal-page
   ============================================================ */

.legal-page {
    --legal-max-width: 820px;
    --legal-text: #3f4652;
    --legal-accent: var(--color-vert);
    --legal-title-color: #111111;
}

.title-separator-legal {
    text-align: center;
}

.title-separator-legal .et_pb_text_inner {
    max-width: 820px;
    margin: 0 auto;
    text-align: center;
}

.title-separator-legal h1 {
    width: 100%;
    margin: 0 auto;
    padding-bottom: 12px;
    text-align: center;
    line-height: 1.2;
    font-weight: 700;
}

.title-separator-legal h1::after {
    content: "";
    display: block;
    width: min(300px, 60vw);
    height: 3px;
    margin: 16px auto 0;
    background-color: var(--color-vert);
    border-radius: 999px;
}

.legal-page .et_pb_text_inner {
    max-width: var(--legal-max-width);
    margin: 0 auto;
}

.legal-page p {
    margin: 0 0 1.1em 0;
    color: var(--legal-text);
    font-weight: 400;
    line-height: 1.75;
}

.legal-page ul,
.legal-page ol {
    margin: 0 0 1.1em 1.2em;
    padding: 0;
}

.legal-page li {
    margin: 0 0 0.55em 0;
    color: var(--legal-text);
    font-weight: 400;
    line-height: 1.75;
}

.legal-page p + ul,
.legal-page p + ol {
    margin-top: -0.2em;
}

.legal-page ul + p,
.legal-page ol + p {
    margin-top: 0.2em;
}

.legal-page h2,
.legal-page h3,
.legal-page h4 {
    max-width: var(--legal-max-width);
    margin-left: auto;
    margin-right: auto;
    color: var(--legal-title-color);
}

.legal-page h2 {
    margin-top: 3rem;
    margin-bottom: 1rem;
    font-size: clamp(1.7rem, 2.2vw, 2.15rem);
    font-weight: 700;
    line-height: 1.2;
}

.legal-page h3 {
    margin-top: 2rem;
    margin-bottom: 0.9rem;
    font-size: clamp(1.15rem, 1.2vw, 1.35rem);
    font-weight: 700;
    line-height: 1.25;
}

.legal-page h3:first-child {
    margin-top: 0;
}

.legal-page h4 {
    margin-top: 1.8rem;
    margin-bottom: 0.8rem;
    font-weight: 600;
    line-height: 1.25;
}

.legal-page a {
    color: var(--legal-accent);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.legal-page .et_pb_module + .et_pb_module {
    margin-top: 0.75rem;
}

.highlight-pp-wrapper {
    margin-top: 0;
    text-align: center;
}

.highlight-pp {
    display: inline-block;
    padding: 6px 14px;
    line-height: 1.3;
    font-weight: 500;
    background-color: var(--color-jaune);
    border-radius: 0;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

@media (max-width: 767px) {
    .legal-page {
        --legal-max-width: 100%;
    }

    .legal-page .et_pb_text_inner,
    .title-separator-legal .et_pb_text_inner {
        max-width: 100%;
    }

    .legal-page p,
    .legal-page li {
        line-height: 1.65;
    }

    .title-separator-legal h1 {
        line-height: 1.25;
        padding-bottom: 10px;
    }

    .title-separator-legal h1::after {
        width: min(180px, 55vw);
        margin-top: 14px;
    }

    .legal-page h2 {
        margin-top: 2.4rem;
    }

    .legal-page h3 {
        margin-top: 2rem;
    }

    .legal-page h4 {
        margin-top: 1.6rem;
    }
}


/* ============================================================
   PAGE CONTACT
   ============================================================ */

.contact-hero,
.editorial-hero,
.pp-editorial-heading,
.pp-editorial-heading .et_pb_text_inner {
    max-width: 720px;
    margin: 0 auto 8px !important;
    text-align: center;
}

.contact-hero h1,
.editorial-hero h1,
.editorial-hero h2,
.editorial-hero h3,
.pp-editorial-heading h1,
.pp-editorial-heading h2,
.pp-editorial-heading h3 {
    padding-bottom: 0 !important;
    margin-bottom: 12px;
    color: var(--color-vert);
    font-size: clamp(1.6rem, 2.5vw, 2.4rem);
    font-weight: 800;
    line-height: 1.2;
}

.contact-hero__sub,
.editorial-hero__sub,
.pp-editorial-heading p {
    max-width: 530px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0 !important;
    color: var(--color-texte);
    font-size: 1.05rem;
    line-height: 1.6;
    text-align: center;
}


/* ============================================================
   SINGLE ARTICLE
   ============================================================ */

.single-post :is(.et_post_meta_wrapper h1.entry-title, article.et_pb_post h1.entry-title) {
    max-width: 860px;
    margin: 0 auto 14px;
    color: var(--color-vert);
    font-size: clamp(1.8rem, 3.6vw, 3.15rem);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.03em;
    text-wrap: balance;
    text-align: center;
}

.single-post :is(.et_post_meta_wrapper h1.entry-title, article.et_pb_post h1.entry-title)::after {
    content: "";
    display: block;
    width: min(100px, 30vw);
    height: 3px;
    margin: 18px auto 0;
    border-radius: 999px;
    background: var(--color-jaune);
}

.single-post :is(.et_post_meta_wrapper .post-meta, article.et_pb_post > p.post-meta) {
    margin: 0 auto 26px;
    color: rgba(31, 41, 51, 0.72);
    font-size: 0.95rem;
    line-height: 1.5;
    text-align: center;
}

.single-post :is(.et_post_meta_wrapper .post-meta a[href*="/categorie/"], .et_post_meta_wrapper .post-meta a[href*="?filtre="], .et_post_meta_wrapper .post-meta a[href*="&filtre="], article.et_pb_post > p.post-meta a[href*="/categorie/"], article.et_pb_post > p.post-meta a[href*="?filtre="], article.et_pb_post > p.post-meta a[href*="&filtre="]) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 18px;
    border: 1.5px solid rgba(62, 119, 66, 0.18);
    border-radius: var(--radius-pill);
    background: var(--color-blanc);
    color: var(--color-vert) !important;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none !important;
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease;
}

.single-post :is(.et_post_meta_wrapper .post-meta a[href*="/categorie/"], .et_post_meta_wrapper .post-meta a[href*="?filtre="], .et_post_meta_wrapper .post-meta a[href*="&filtre="], article.et_pb_post > p.post-meta a[href*="/categorie/"], article.et_pb_post > p.post-meta a[href*="?filtre="], article.et_pb_post > p.post-meta a[href*="&filtre="]):hover {
    background: var(--color-vert);
    color: var(--color-blanc) !important;
    border-color: var(--color-vert);
}

.single-post :is(.et_post_meta_wrapper .post-meta a[href*="/categorie/"], .et_post_meta_wrapper .post-meta a[href*="?filtre="], .et_post_meta_wrapper .post-meta a[href*="&filtre="], article.et_pb_post > p.post-meta a[href*="/categorie/"], article.et_pb_post > p.post-meta a[href*="?filtre="], article.et_pb_post > p.post-meta a[href*="&filtre="])::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 8px;
    background-color: currentColor;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-position: center;
    mask-size: contain;
    -webkit-mask-size: contain;
}

.single-post article.et_pb_post {
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
    background: transparent;
    box-shadow: none;
    border: none;
    overflow: visible;
}

.single-post .et_post_meta_wrapper {
    text-align: center;
}

.single-post .et_post_meta_wrapper .post-meta a.cat-icon--shield::before,
.single-post article.et_pb_post > p.post-meta a.cat-icon--shield::before,
.single-post .et_post_meta_wrapper .post-meta a[href*="/categorie/securite-conformite/"]::before,
.single-post article.et_pb_post > p.post-meta a[href*="/categorie/securite-conformite/"]::before,
.single-post .et_post_meta_wrapper .post-meta a[href*="filtre=securite-conformite"]::before,
.single-post article.et_pb_post > p.post-meta a[href*="filtre=securite-conformite"]::before {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5.5 5.6v5.2c0 4.1 2.5 7.9 6.5 9.2 4-1.3 6.5-5.1 6.5-9.2V5.6L12 3Z'/%3E%3Cpath d='m9.2 12 1.9 1.9 3.7-4.2'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5.5 5.6v5.2c0 4.1 2.5 7.9 6.5 9.2 4-1.3 6.5-5.1 6.5-9.2V5.6L12 3Z'/%3E%3Cpath d='m9.2 12 1.9 1.9 3.7-4.2'/%3E%3C/svg%3E");
}

.single-post .et_post_meta_wrapper .post-meta a.cat-icon--checklist::before,
.single-post article.et_pb_post > p.post-meta a.cat-icon--checklist::before,
.single-post .et_post_meta_wrapper .post-meta a[href*="/categorie/gestion-organisation/"]::before,
.single-post article.et_pb_post > p.post-meta a[href*="/categorie/gestion-organisation/"]::before,
.single-post .et_post_meta_wrapper .post-meta a[href*="filtre=gestion-organisation"]::before,
.single-post article.et_pb_post > p.post-meta a[href*="filtre=gestion-organisation"]::before {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='16' height='14' rx='2'/%3E%3Cpath d='m8 10 1.4 1.4L12 8.8'/%3E%3Cpath d='M13.5 10H17'/%3E%3Cpath d='m8 15 1.4 1.4L12 13.8'/%3E%3Cpath d='M13.5 15H17'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='16' height='14' rx='2'/%3E%3Cpath d='m8 10 1.4 1.4L12 8.8'/%3E%3Cpath d='M13.5 10H17'/%3E%3Cpath d='m8 15 1.4 1.4L12 13.8'/%3E%3Cpath d='M13.5 15H17'/%3E%3C/svg%3E");
}

.single-post .et_post_meta_wrapper .post-meta a.cat-icon--compass::before,
.single-post article.et_pb_post > p.post-meta a.cat-icon--compass::before,
.single-post .et_post_meta_wrapper .post-meta a[href*="/categorie/conseils-pratiques/"]::before,
.single-post article.et_pb_post > p.post-meta a[href*="/categorie/conseils-pratiques/"]::before,
.single-post .et_post_meta_wrapper .post-meta a[href*="filtre=conseils-pratiques"]::before,
.single-post article.et_pb_post > p.post-meta a[href*="filtre=conseils-pratiques"]::before {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='7'/%3E%3Cpath d='m10 14 4-4'/%3E%3Cpath d='m12 12 4-4'/%3E%3Cpath d='M14 8 16 6'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='7'/%3E%3Cpath d='m10 14 4-4'/%3E%3Cpath d='m12 12 4-4'/%3E%3Cpath d='M14 8 16 6'/%3E%3C/svg%3E");
}

.single-post .et_post_meta_wrapper img,
.single-post article.et_pb_post > img,
.single-post article.et_pb_post .wp-post-image {
    display: block;
    width: 100%;
    max-width: 980px;
    margin: 0 auto 30px;
    border-radius: 24px;
}

.single-post .entry-content,
.single-post .entry-content p,
.single-post .entry-content li {
    color: #1f2933;
    font-size: 1.04rem;
    line-height: 1.72;
}

.single-post .entry-content {
    max-width: 760px;
    margin: 0 auto;
}

.single-post .entry-content > * + * {
    margin-top: 1rem;
}

.single-post .entry-content h2,
.single-post .entry-content .pp-post-cta__hook,
.single-post .entry-content h3,
.single-post .entry-content h4 {
    color: var(--color-vert);
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.single-post .entry-content h2 {
    margin-top: 2.8rem;
    font-size: clamp(1.48rem, 2.05vw, 2rem);
    font-weight: 800;
    letter-spacing: -0.025em;
}

.single-post .entry-content h3 {
    margin-top: 1.55rem;
    margin-bottom: 0.45rem;
    font-size: clamp(1.18rem, 1.35vw, 1.38rem);
    font-weight: 700;
    letter-spacing: -0.018em;
}

.single-post .entry-content h4 {
    margin-top: 1.15rem;
    margin-bottom: 0.35rem;
    font-size: 1.02rem;
    font-weight: 700;
    letter-spacing: -0.012em;
}

.single-post .entry-content ul {
    list-style: none !important;
    padding-left: 0;
}

.single-post .entry-content ul li {
    list-style: none !important;
    position: relative;
    padding-left: 1.55rem;
}

.single-post .entry-content ul li::marker {
    content: "" !important;
}

.single-post .entry-content ul li::before {
    content: "";
    position: absolute;
    top: 0.62em;
    left: 0.08rem;
    width: 0.72rem;
    height: 0.4rem;
    border-left: 2px solid var(--color-vert);
    border-bottom: 2px solid var(--color-vert);
    transform: translateY(-50%) rotate(-45deg);
}

.single-post .entry-content ol {
    padding-left: 1.2rem;
}

.single-post .entry-content a {
    color: var(--color-vert);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.single-post .entry-content .pp-post-cta {
    margin-top: 2.75rem;
    padding-top: 2rem;
    text-align: center;
}

.single-post .entry-content .pp-post-cta__hook {
    margin: 0 0 0.72rem;
    font-size: clamp(1.48rem, 2.05vw, 2rem);
    font-weight: 800;
    letter-spacing: -0.025em;
    text-wrap: balance;
}

.single-post .entry-content .pp-post-cta__action {
    margin: 0;
}

.single-post .entry-content .pp-post-cta__button {
    min-height: 52px !important;
    padding: 0 28px !important;
    border: 2px solid var(--color-vert) !important;
    border-radius: var(--radius-pill) !important;
    background: var(--color-blanc) !important;
    color: var(--color-vert) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    box-shadow: none !important;
    transform: none !important;
    animation: none !important;
    text-decoration: none !important;
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease !important;
}

.single-post .entry-content .pp-post-cta__button:hover {
    border-color: var(--color-vert) !important;
    background: var(--color-vert) !important;
    color: var(--color-blanc) !important;
    box-shadow: none !important;
    transform: none !important;
    animation: none !important;
}

.reading-progress {
    --reading-progress-top: 0px;
    position: fixed;
    top: var(--reading-progress-top);
    left: 0;
    z-index: 99999;
    width: 100%;
    height: 5px;
    background: rgba(31, 41, 51, 0.14);
    box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.35);
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.reading-progress.is-active {
    opacity: 1;
}

.reading-progress__fill {
    display: block;
    width: 100%;
    height: 100%;
    background: var(--color-jaune);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.12s linear;
}

@media (max-width: 767px) {
    .single-post :is(.et_post_meta_wrapper h1.entry-title, article.et_pb_post h1.entry-title) {
        font-size: clamp(1.68rem, 7vw, 2.25rem);
    }

    .single-post :is(.et_post_meta_wrapper h1.entry-title, article.et_pb_post h1.entry-title)::after {
        margin-top: 14px;
    }

    .single-post .et_post_meta_wrapper img,
    .single-post article.et_pb_post > img,
    .single-post article.et_pb_post .wp-post-image {
        margin-bottom: 24px;
        border-radius: 20px;
    }

    .single-post .entry-content,
    .single-post .entry-content p,
    .single-post .entry-content li {
        font-size: 1rem;
        line-height: 1.68;
    }

    .single-post .entry-content .pp-post-cta {
        margin-top: 2.2rem;
        padding-top: 1.6rem;
    }

    .single-post .entry-content .pp-post-cta__hook {
        font-size: clamp(1.26rem, 5.8vw, 1.58rem);
    }

    .reading-progress {
        height: 4px;
    }
}


/* ============================================================
   CATEGORY ARCHIVES
   ============================================================ */

body.category #main-content.category-archive-page {
    background: var(--color-blanc);
}

.category-archive-page__inner {
    width: min(1084px, calc(100% - 48px));
    max-width: 1084px;
    margin: 0 auto;
    padding: 64px 0 180px;
}

.category-archive-page .category-archive-hero .editorial-hero__sub {
    max-width: 670px;
    margin-left: auto;
    margin-right: auto;
}

.category-archive-page .category-archive-filters {
    margin-top: 28px;
    margin-bottom: 0;
}

.category-archive-page .category-archive-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    align-items: start;
    margin-top: 40px;
}

.category-archive-page .category-archive-grid article.et_pb_post {
    display: flex;
    flex-direction: column;
    height: auto;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(62, 119, 66, 0.14);
    border-radius: 24px;
    background: var(--color-blanc);
    transition:
        box-shadow 0.24s ease,
        border-color 0.24s ease;
}

.category-archive-page .category-archive-grid article.et_pb_post:hover {
    border-color: rgba(62, 119, 66, 0.2);
    box-shadow: 0 14px 34px rgba(31, 41, 51, 0.08);
}

.category-archive-page .category-archive-grid article.et_pb_post .entry-featured-image-url {
    display: block;
    height: 248px;
    margin-bottom: 18px;
    overflow: hidden;
}

.category-archive-page .category-archive-grid article.et_pb_post .entry-featured-image-url img,
.category-archive-page .category-archive-grid article.et_pb_post img.wp-post-image {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: cover;
    object-position: center top;
}

.category-archive-page .category-archive-grid article.et_pb_post .post-card__body {
    display: flex;
    flex-direction: column;
    padding: 0 22px 22px;
}

.category-archive-page .category-archive-grid article.et_pb_post .entry-title,
.category-archive-page .category-archive-grid article.et_pb_post h2.entry-title {
    margin: 0 0 12px;
}

.category-archive-page .category-archive-grid article.et_pb_post .entry-title::after,
.category-archive-page .category-archive-grid article.et_pb_post h2.entry-title::after {
    width: 100px;
    max-width: 100%;
}

.category-archive-page .category-archive-grid article.et_pb_post .post-content {
    margin: 0;
}

.category-archive-page .category-archive-grid article.et_pb_post .post-content p {
    margin-bottom: 0;
}

.category-archive-page .category-archive-grid article.et_pb_post p.post-more {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 0;
    padding-top: 0;
    padding-bottom: 0;
    text-align: center;
}

.category-archive-page .category-archive-grid article.et_pb_post .more-link {
    margin: 24px auto 0 !important;
}

.category-archive-page .pagination {
    display: flex;
    justify-content: center;
    margin-top: 36px;
}

.category-archive-page .category-archive-empty {
    max-width: 720px;
    margin: 56px auto 0;
    color: var(--color-vert-fonce);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
}

body.category #main-content .container::before {
    display: none;
}

body.category #left-area {
    float: none;
    width: 100%;
    padding-right: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    align-items: start;
    margin-top: 20px;
}

body.category #sidebar {
    display: none;
}

body.category .container,
body.category .et_pb_row,
body.category .et-l--body .et_builder_inner_content {
    width: min(1200px, calc(100% - 48px));
    max-width: 1200px;
}

body.category #main-content .container {
    padding-top: 34px;
}

body.category .archive-title,
body.category .main_title,
body.category h1.main_title,
body.category .archive-meta,
body.category .category-description,
body.category .term-description {
    display: none;
}

body.category #left-area .category-archive-hero,
body.category #left-area .category-archive-filters,
body.category #left-area .pagination {
    grid-column: 1 / -1;
}

body.category #left-area .category-archive-hero {
    margin-bottom: 0;
}

body.category #left-area .category-archive-hero .editorial-hero__sub {
    max-width: 680px;
}

body.category #left-area .category-archive-filters {
    margin-top: 8px;
}

body.category #left-area article.et_pb_post {
    display: flex;
    flex-direction: column;
    position: relative;
    margin-bottom: 0;
    padding: 0 0 26px;
    border: 1px solid rgba(62, 119, 66, 0.14);
    border-radius: var(--radius-card);
    background: var(--color-blanc);
    box-shadow: none;
    overflow: hidden;
    transition: box-shadow 0.24s ease, border-color 0.24s ease;
}

body.category #left-area article.et_pb_post:hover {
    border-color: rgba(62, 119, 66, 0.2);
    box-shadow: 0 14px 34px rgba(31, 41, 51, 0.08);
}

body.category #left-area article.et_pb_post > a.entry-featured-image-url,
body.category #left-area article.et_pb_post .entry-featured-image-url {
    display: block;
    margin-bottom: 18px;
}

body.category #left-area article.et_pb_post img,
body.category #left-area article.et_pb_post .wp-post-image {
    display: block;
    width: 100%;
    margin-bottom: 0;
}

body.category #left-area article.et_pb_post .entry-title,
body.category #left-area article.et_pb_post h2.entry-title {
    margin: 0 22px 12px;
    color: var(--color-vert);
    font-size: clamp(1.22rem, 1.2vw, 1.5rem);
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -0.02em;
    text-wrap: balance;
}

body.category #left-area article.et_pb_post .entry-title a,
body.category #left-area article.et_pb_post h2.entry-title a {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--color-vert) !important;
    text-decoration: none !important;
}

body.category #left-area article.et_pb_post .entry-title::after,
body.category #left-area article.et_pb_post h2.entry-title::after {
    content: "";
    display: block;
    width: 100px;
    max-width: 100%;
    height: 4px;
    margin-top: 14px;
    border-radius: 999px;
    background: var(--color-jaune);
}

body.category #left-area article.et_pb_post .post-meta {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 2;
    margin: 0;
    font-size: 0;
    line-height: 0;
}

body.category #left-area .pagination {
    margin-top: 22px;
    text-align: center;
}

body.category #left-area .pagination a,
body.category #left-area .pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 42px;
    margin: 0 4px;
    padding: 0 14px;
    border: 1.5px solid rgba(62, 119, 66, 0.16);
    border-radius: var(--radius-pill);
    color: var(--color-vert);
}

body.category #left-area .pagination .current,
body.category #left-area .pagination a:hover {
    background: var(--color-vert);
    border-color: var(--color-vert);
    color: var(--color-blanc);
}

@media (max-width: 980px) {
    .category-archive-page .category-archive-grid article.et_pb_post .entry-featured-image-url {
        height: auto;
        aspect-ratio: 1.72;
    }
}

@media (max-width: 767px) {
    .category-archive-page__inner {
        width: min(100%, calc(100% - 32px));
        padding-top: 40px;
        padding-bottom: 70px;
    }

    .category-archive-page .category-archive-grid {
        grid-template-columns: 1fr;
        gap: 22px;
        margin-top: 30px;
    }

    .category-archive-page .category-archive-grid article.et_pb_post {
        padding-bottom: 18px;
        border-radius: 20px;
    }

    .category-archive-page .category-archive-grid article.et_pb_post .entry-title,
    .category-archive-page .category-archive-grid article.et_pb_post h2.entry-title {
        margin-left: 0;
        margin-right: 0;
    }

    .category-archive-page .category-archive-grid article.et_pb_post .post-content {
        margin-left: 0;
        margin-right: 0;
    }

    .category-archive-page .category-archive-grid article.et_pb_post .entry-title::after,
    .category-archive-page .category-archive-grid article.et_pb_post h2.entry-title::after {
        width: 92px;
    }

    body.category .container,
    body.category .et_pb_row,
    body.category .et-l--body .et_builder_inner_content {
        width: min(100% - 28px, 1200px);
    }

    body.category #main-content .container {
        padding-top: 24px;
    }

    body.category #left-area article.et_pb_post {
        padding-bottom: 22px;
        border-radius: 20px;
    }

    body.category #left-area article.et_pb_post img,
    body.category #left-area article.et_pb_post .wp-post-image {
        margin-bottom: 0;
    }

    body.category #left-area .category-archive-hero .editorial-hero__sub {
        max-width: 560px;
    }
}

@media (min-width: 768px) and (max-width: 980px) {
    .category-archive-page__inner {
        width: min(100%, calc(100% - 40px));
        padding-top: 48px;
        padding-bottom: 110px;
    }

    .category-archive-page .category-archive-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
    }

    body.category #left-area {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    body.category #left-area {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    body.category #left-area article.et_pb_post .entry-title,
    body.category #left-area article.et_pb_post h2.entry-title,
    body.category #left-area article.et_pb_post .post-content,
    body.category #left-area article.et_pb_post > p:not(.post-meta):not(.more-link):not(.post-more),
    body.category #left-area article.et_pb_post .post-content p,
    body.category #left-area article.et_pb_post .pp-archive-excerpt {
        margin-left: 18px;
        margin-right: 18px;
    }

    body.category #left-area article.et_pb_post .entry-title::after,
    body.category #left-area article.et_pb_post h2.entry-title::after {
        width: 92px;
    }
}


/* ============================================================
   BLOG FILTERS
   Classes : blog-filters / blog-filter / is-active
   ============================================================ */

.blog-filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 14px;
    max-width: 980px;
    margin: 28px auto 10px;
    padding: 0 16px;
}

.blog-filter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 18px;
    border: 1.5px solid rgba(62, 119, 66, 0.18);
    border-radius: var(--radius-pill);
    background: var(--color-blanc);
    color: var(--color-vert-fonce);
    font-size: 0.98rem;
    font-weight: 600;
    line-height: 1;
    text-decoration: none !important;
    white-space: nowrap;
    box-shadow: 0 8px 20px rgba(45, 106, 45, 0.06);
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}

.blog-filter.has-cat-icon::before,
.et_pb_posts article.et_pb_post .post-meta a.has-cat-icon::before {
    content: "";
    display: inline-block;
    background-color: currentColor;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-position: center;
    mask-size: contain;
    -webkit-mask-size: contain;
}

.blog-filter.has-cat-icon::before {
    width: 20px;
    height: 20px;
    margin-right: 6px;
    flex: 0 0 20px;
}

.et_pb_posts article.et_pb_post .post-meta a.has-cat-icon::before {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin-right: 0;
    transform: translate(-50%, -50%);
}

.cat-icon--shield::before {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5.5 5.6v5.2c0 4.1 2.5 7.9 6.5 9.2 4-1.3 6.5-5.1 6.5-9.2V5.6L12 3Z'/%3E%3Cpath d='m9.2 12 1.9 1.9 3.7-4.2'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5.5 5.6v5.2c0 4.1 2.5 7.9 6.5 9.2 4-1.3 6.5-5.1 6.5-9.2V5.6L12 3Z'/%3E%3Cpath d='m9.2 12 1.9 1.9 3.7-4.2'/%3E%3C/svg%3E");
}

.cat-icon--checklist::before {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='16' height='14' rx='2'/%3E%3Cpath d='m8 10 1.4 1.4L12 8.8'/%3E%3Cpath d='M13.5 10H17'/%3E%3Cpath d='m8 15 1.4 1.4L12 13.8'/%3E%3Cpath d='M13.5 15H17'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='16' height='14' rx='2'/%3E%3Cpath d='m8 10 1.4 1.4L12 8.8'/%3E%3Cpath d='M13.5 10H17'/%3E%3Cpath d='m8 15 1.4 1.4L12 13.8'/%3E%3Cpath d='M13.5 15H17'/%3E%3C/svg%3E");
}

.cat-icon--compass::before {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='7'/%3E%3Cpath d='m10 14 4-4'/%3E%3Cpath d='m12 12 4-4'/%3E%3Cpath d='M14 8 16 6'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='7'/%3E%3Cpath d='m10 14 4-4'/%3E%3Cpath d='m12 12 4-4'/%3E%3Cpath d='M14 8 16 6'/%3E%3C/svg%3E");
}

.blog-filter:hover {
    background: var(--color-blanc);
    color: var(--color-vert);
    border-color: rgba(62, 119, 66, 0.32);
    box-shadow: 0 10px 24px rgba(45, 106, 45, 0.10);
    transform: translateY(-1px);
}

.blog-filter.is-active {
    background: var(--color-vert);
    color: var(--color-blanc) !important;
    border-color: var(--color-vert);
    box-shadow: 0 12px 28px rgba(45, 106, 45, 0.18);
    transform: translateY(-1px);
}

.blog-filter.is-active:hover {
    background: var(--color-vert);
    color: var(--color-blanc) !important;
    border-color: var(--color-vert);
    transform: translateY(-1px);
}

.blog-filter--static {
    cursor: default;
    pointer-events: none;
}

.blog-filter--static.is-active {
    box-shadow: none;
    transform: none;
}

.blog-filter--static.is-active:hover {
    box-shadow: none;
    transform: none;
}

.et_pb_posts .et_pb_post {
    transition:
        opacity 0.42s ease,
        transform 0.42s ease,
        visibility 0.42s ease;
}

.blog-post-hidden {
    opacity: 0 !important;
    transform: translateY(8px) !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.blog-post-gone {
    display: none !important;
}

.blog-filters-empty {
    display: none;
    max-width: 980px;
    margin: 18px auto 0;
    padding: 0 16px;
    color: var(--color-vert-fonce);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
}

.blog-filters-empty.is-visible {
    display: block;
}

/* Apparition douce des cartes blog, independante du filtrage */
.d5cs-js .blog-posts-reveal article.et_pb_post {
    opacity: 0;
    transform: translateY(16px) scale(0.985);
    will-change: opacity, transform;
}

.d5cs-js .blog-posts-reveal.is-visible article.et_pb_post {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.d5cs-js .blog-posts-reveal.is-visible:not(.has-revealed) article.et_pb_post:nth-of-type(1) {
    transition-delay: 0.02s;
}

.d5cs-js .blog-posts-reveal.is-visible:not(.has-revealed) article.et_pb_post:nth-of-type(2) {
    transition-delay: 0.12s;
}

.d5cs-js .blog-posts-reveal.is-visible:not(.has-revealed) article.et_pb_post:nth-of-type(3) {
    transition-delay: 0.22s;
}

.d5cs-js .blog-posts-reveal.is-visible:not(.has-revealed) article.et_pb_post:nth-of-type(4) {
    transition-delay: 0.32s;
}

.d5cs-js .blog-posts-reveal.is-visible:not(.has-revealed) article.et_pb_post:nth-of-type(5) {
    transition-delay: 0.42s;
}

.d5cs-js .blog-posts-reveal.is-visible:not(.has-revealed) article.et_pb_post:nth-of-type(6) {
    transition-delay: 0.52s;
}

@media (prefers-reduced-motion: reduce) {
    .d5cs-js .blog-posts-reveal article.et_pb_post,
    .d5cs-js .blog-posts-reveal.is-visible article.et_pb_post {
        opacity: 1;
        transform: none;
        transition-delay: 0s;
        will-change: auto;
    }
}

/* ============================================================
   BLOG CARDS — Hierarchie editoriale
   ============================================================ */

.et_pb_posts article.et_pb_post {
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    background: var(--color-blanc);
    transition:
        opacity 0.58s ease,
        transform 0.58s cubic-bezier(0.22, 1, 0.36, 1),
        visibility 0.42s ease,
        box-shadow 0.24s ease,
        border-color 0.24s ease;
}

.et_pb_posts article.et_pb_post:hover {
    box-shadow: 0 14px 34px rgba(31, 41, 51, 0.08);
}

.et_pb_posts article.et_pb_post .entry-featured-image-url {
    display: block;
    margin-bottom: 18px;
}

.et_pb_posts article.et_pb_post .entry-title,
.et_pb_posts article.et_pb_post h2.entry-title {
    margin-bottom: 12px;
    color: var(--color-vert);
    font-size: clamp(1.22rem, 1.2vw, 1.5rem);
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -0.02em;
    text-wrap: balance;
}

.et_pb_posts article.et_pb_post .entry-title a,
.et_pb_posts article.et_pb_post h2.entry-title a {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
    color: inherit !important;
    text-decoration: none !important;
}

.et_pb_posts article.et_pb_post .entry-title::after,
.et_pb_posts article.et_pb_post h2.entry-title::after {
    content: "";
    display: block;
    width: min(100px, 34%);
    height: 3px;
    margin-top: 14px;
    border-radius: 999px;
    background: var(--color-jaune);
}

.et_pb_posts article.et_pb_post .post-meta {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 2;
    margin-bottom: 0;
    color: var(--color-vert) !important;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.et_pb_posts article.et_pb_post .post-meta a {
    display: inline-block;
    position: relative;
    width: 42px;
    min-width: 42px;
    height: 42px;
    min-height: 42px;
    padding: 0;
    border: 1.5px solid rgba(62, 119, 66, 0.22);
    border-radius: 999px;
    background: var(--color-blanc);
    color: inherit !important;
    font-size: 0 !important;
    font-weight: 700;
    line-height: 0;
    text-decoration: none !important;
    text-indent: -9999px;
    white-space: nowrap;
    overflow: hidden;
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease !important;
}

.et_pb_posts article.et_pb_post .post-meta a:hover {
    background: var(--color-vert) !important;
    color: var(--color-blanc) !important;
    border-color: var(--color-vert) !important;
}

.et_pb_posts article.et_pb_post .post-content,
.et_pb_posts article.et_pb_post .post-content p,
.et_pb_posts article.et_pb_post > p:not(.post-meta) {
    color: #1f2933;
    font-size: 0.98rem;
    font-weight: 500;
    line-height: 1.38;
}

.et_pb_posts article.et_pb_post .post-content {
    margin-bottom: 18px;
}

.et_pb_posts article.et_pb_post .post-content p {
    margin-bottom: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: calc(1.38em * 3);
}

.et_pb_posts article.et_pb_post p.post-more {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: auto 0 0;
    padding-top: 0;
    text-align: center;
}

.et_pb_posts article.et_pb_post .more-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    margin: 24px auto 0 !important;
    align-self: center;
    min-height: 42px;
    padding: 0 18px;
    border: 1.5px solid var(--color-vert);
    border-radius: var(--radius-pill);
    background: transparent;
    color: var(--color-vert) !important;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none !important;
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease !important;
}

.et_pb_posts article.et_pb_post .more-link::after {
    display: none;
    content: none;
}

.et_pb_posts article.et_pb_post .more-link:hover {
    background: var(--color-vert);
    color: var(--color-blanc) !important;
    border-color: var(--color-vert) !important;
}

body.category .category-archive-page .et_pb_posts.category-archive-grid article.et_pb_post .post-content {
    margin: 0 0 10px !important;
}

body.category .category-archive-page .et_pb_posts.category-archive-grid article.et_pb_post p.post-more {
    margin: 0 !important;
    padding-bottom: 0 !important;
}

body.category .category-archive-page .et_pb_posts.category-archive-grid article.et_pb_post .more-link {
    margin: 24px auto 0 !important;
}

@media (max-width: 767px) {
    .category-archive-page .category-archive-grid article.et_pb_post .post-card__body {
        padding: 0 18px 18px;
    }

    .et_pb_posts article.et_pb_post .entry-title,
    .et_pb_posts article.et_pb_post h2.entry-title {
        font-size: 1.14rem;
    }

    .et_pb_posts article.et_pb_post .entry-title::after,
    .et_pb_posts article.et_pb_post h2.entry-title::after {
        margin-top: 12px;
    }

    .et_pb_posts article.et_pb_post .post-meta {
        top: 12px;
        right: 12px;
    }

    .et_pb_posts article.et_pb_post .post-meta a {
        width: 38px;
        min-width: 38px;
        height: 38px;
        min-height: 38px;
    }

    .et_pb_posts article.et_pb_post .post-content,
    .et_pb_posts article.et_pb_post .post-content p,
    .et_pb_posts article.et_pb_post > p:not(.post-meta) {
        font-size: 0.94rem;
    }

    body.category .category-archive-page .et_pb_posts.category-archive-grid article.et_pb_post .post-content {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

@media (max-width: 767px) {
    .blog-filters {
        gap: 10px;
        margin-top: 22px;
        padding: 0 10px;
    }

    .blog-filter {
        min-height: 44px;
        padding: 0 14px;
        font-size: 0.92rem;
    }
}


/* Réassurance sous hero */

.contact-reassurance {
    max-width: 760px !important;
    margin: 0 auto 35px !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    text-align: center !important;
}

.contact-reassurance h3 {
    margin: 0 0 16px 0 !important;
    color: var(--color-vert-fonce) !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
}

.contact-reassurance ul {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 14px 28px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.contact-reassurance li {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-texte) !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
}

.contact-reassurance li::before {
    content: "";
    display: inline-block !important;
    width: 22px !important;
    height: 22px !important;
    flex-shrink: 0 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232d6a2d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E");
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}


/* ============================================================
   CONTACT — Layout principal
   Colonne gauche : formulaire
   Colonne droite : coordonnées + carte Thibault
   ============================================================ */

@media (min-width: 981px) {
    .et_pb_row.contact-section-main {
        display: flex !important;
        justify-content: center !important;
        align-items: flex-start !important;
        gap: 40px !important;
        max-width: 760px !important;
        margin: 0 auto 36px !important;
    }

    .et_pb_row.contact-section-main > .et_pb_column {
        float: none !important;
        margin: 0 !important;
    }

    /* Colonne gauche : formulaire */
    .et_pb_row.contact-section-main > .et_pb_column:first-child {
        flex: 0 0 360px !important;
        width: 360px !important;
        max-width: 360px !important;
    }

    /* Colonne droite : infos + Thibault */
    .et_pb_row.contact-section-main > .et_pb_column:last-child {
        display: flex !important;
        flex: 0 0 360px !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        width: 360px !important;
        max-width: 360px !important;
        gap: 14px !important;
    }
}

@media (min-width: 981px) and (max-width: 1180px) {
    .et_pb_row.contact-section-main {
        gap: 32px !important;
        max-width: 752px !important;
    }

    .et_pb_row.contact-section-main > .et_pb_column:first-child {
        flex: 0 0 360px !important;
        width: 360px !important;
        max-width: 360px !important;
    }

    .et_pb_row.contact-section-main > .et_pb_column:last-child {
        flex: 0 0 360px !important;
        width: 360px !important;
        max-width: 360px !important;
    }
}

@media (max-width: 980px) {
    .contact-section-main .et_pb_column {
        width: 100% !important;
        max-width: 100% !important;
    }

    .contact-section-main .et_pb_column:last-child {
        display: flex !important;
        flex-direction: column !important;
        gap: 14px !important;
        margin-top: 28px !important;
    }
}

/* Cartes coordonnées */

.et_pb_column .et_pb_blurb.contact-info-card {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 12px 16px !important;
    background-color: var(--color-blanc) !important;
    border-radius: var(--radius-card) !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
    transition: box-shadow 0.3s ease !important;
}

.et_pb_column .et_pb_blurb.contact-info-card:hover {
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.14) !important;
    transform: none !important;
}

.et_pb_column .et_pb_blurb.contact-info-card *,
.et_pb_column .et_pb_blurb.contact-info-card *::before,
.et_pb_column .et_pb_blurb.contact-info-card *::after {
    transition: none !important;
}

.et_pb_column .et_pb_blurb.contact-info-card .et_pb_blurb_content {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 16px !important;
    padding-top: 0 !important;
}

.et_pb_column .et_pb_blurb.contact-info-card .et_pb_main_blurb_image {
    position: static !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    flex: 0 0 48px !important;
    margin: 0 !important;
    opacity: 1 !important;
}

.et_pb_column .et_pb_blurb.contact-info-card .et_pb_image_wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    border-radius: 12px !important;
    background-color: var(--color-vert-fonce) !important;
    box-shadow: none !important;
}

.et_pb_column .et_pb_blurb.contact-info-card .et-pb-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    font-size: 20px !important;
    color: var(--color-jaune-vif) !important;
    background-color: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.et_pb_column .et_pb_blurb.contact-info-card .et_pb_blurb_container {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    padding-left: 10px !important;
}

.et_pb_column .et_pb_blurb.contact-info-card .et_pb_module_header {
    margin: 0 !important;
    padding-bottom: 0 !important;
    line-height: 1.2 !important;
    color: var(--color-vert-fonce) !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.et_pb_column .et_pb_blurb.contact-info-card .et_pb_blurb_description {
    margin-top: 0 !important;
}

.et_pb_column .et_pb_blurb.contact-info-card .et_pb_blurb_description p {
    margin: 0 !important;
    color: var(--color-texte) !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
}

.et_pb_column .et_pb_blurb.contact-info-card .et_pb_blurb_description a {
    color: var(--color-texte) !important;
    text-decoration: none !important;
}

.et_pb_column .et_pb_blurb.contact-info-card .et_pb_blurb_description a:hover {
    color: var(--color-vert) !important;
}


/* Formulaire contact */

.contact-form-wrapper {
    margin-top: 0 !important;
    padding: 32px !important;
    background-color: var(--color-blanc) !important;
    border-radius: var(--radius-card) !important;
    box-shadow: 0 4px 32px rgba(0, 0, 0, 0.08) !important;
}

.contact-form__intro {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
    padding-bottom: 8px !important;
    text-align: center !important;
    font-style: italic !important;
    font-weight: 500 !important;
    color: var(--color-vert) !important;
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
}

.contact-form__intro::before {
    content: "\201C";
    font-size: 1.4rem;
    color: var(--color-vert);
    line-height: 0;
    vertical-align: -0.3em;
    margin-right: 2px;
}

.contact-form__intro::after {
    content: "\201D";
    font-size: 1.4rem;
    color: var(--color-vert);
    line-height: 0;
    vertical-align: -0.3em;
    margin-left: 2px;
}


/* Brevo overrides */

.brevo-meet-module {
    --brevo-meet-scale: 0.85;
    --brevo-meet-height: 860px;
    width: 100% !important;
    max-width: 360px !important;
    margin: 0 auto !important;
    padding: 12px !important;
    background: var(--color-blanc) !important;
    border: 0 !important;
    border-radius: var(--radius-card) !important;
    box-shadow: 0 18px 52px rgba(31, 41, 51, 0.08) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.brevo-meet-module .et_pb_code_inner {
    width: 100% !important;
    height: calc(var(--brevo-meet-height) * var(--brevo-meet-scale)) !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    overflow: hidden !important;
}

.contact-section-main .brevo-meet-module iframe[src*="meet.brevo.com"],
.contact-section-main .brevo-meet-module iframe.brevo-meet-iframe,
.brevo-meet-module iframe {
    display: block !important;
    width: calc(100% / var(--brevo-meet-scale)) !important;
    max-width: none !important;
    height: var(--brevo-meet-height) !important;
    min-height: var(--brevo-meet-height) !important;
    margin: 0 0 0 calc((100% - (100% / var(--brevo-meet-scale))) / 2) !important;
    border: 0 !important;
    background: transparent !important;
    overflow: auto !important;
    transform: scale(var(--brevo-meet-scale)) !important;
    transform-origin: top center !important;
}

.contact-form-wrapper.contact-form-wrapper--iframe {
    padding: 0 !important;
    overflow: hidden !important;
    background: transparent !important;
    box-shadow: none !important;
}

@supports selector(:has(*)) {
    .contact-form-wrapper:has(iframe) {
        padding: 0 !important;
        overflow: hidden !important;
        background: transparent !important;
        box-shadow: none !important;
    }
}

.contact-form-wrapper .et_pb_code_inner,
.contact-form-wrapper .brevo-iframe-wrapper {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.contact-section-main iframe[src*="brevo"],
.contact-section-main iframe[src*="sibforms"],
.contact-section-main iframe[src*="sendinblue"],
.contact-form-wrapper iframe,
.contact-form-wrapper iframe[src*="brevo"],
.contact-form-wrapper iframe[src*="sibforms"],
.contact-form-wrapper iframe[src*="sendinblue"],
.contact-form-wrapper .brevo-contact-iframe {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 1180px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

.contact-section-main .brevo-contact-iframe,
.contact-form-wrapper .brevo-contact-iframe {
    height: var(--brevo-iframe-height, 1180px) !important;
}

.contact-section-main .brevo-contact-iframe[style*="height"],
.contact-form-wrapper .brevo-contact-iframe[style*="height"] {
    min-height: var(--brevo-iframe-height, 1180px) !important;
}

.contact-section-main iframe[src*="meet.brevo.com"],
.contact-form-wrapper iframe[src*="meet.brevo.com"],
.contact-section-main .brevo-meet-iframe,
.contact-form-wrapper .brevo-meet-iframe {
    min-height: 1120px !important;
    height: var(--brevo-iframe-height, 1120px) !important;
}

@media (max-width: 980px) {
    .contact-form-wrapper.contact-form-wrapper--iframe {
        padding: 0 !important;
    }

    @supports selector(:has(*)) {
        .contact-form-wrapper:has(iframe) {
            padding: 0 !important;
        }
    }

    .contact-section-main iframe[src*="brevo"],
    .contact-section-main iframe[src*="sibforms"],
    .contact-section-main iframe[src*="sendinblue"],
    .contact-form-wrapper iframe,
    .contact-form-wrapper .brevo-contact-iframe {
        min-height: 1240px !important;
    }

    .contact-section-main iframe[src*="meet.brevo.com"],
    .contact-form-wrapper iframe[src*="meet.brevo.com"],
    .contact-section-main .brevo-meet-iframe,
    .contact-form-wrapper .brevo-meet-iframe {
        min-height: 1180px !important;
        height: var(--brevo-iframe-height, 1180px) !important;
    }

    .brevo-meet-module {
        max-width: 560px !important;
        --brevo-meet-scale: 0.95;
        --brevo-meet-height: 800px;
    }
}

@media (max-width: 767px) {
    .contact-form-wrapper {
        padding: 22px !important;
        border-radius: 20px !important;
    }

    .contact-form-wrapper.contact-form-wrapper--iframe {
        padding: 0 !important;
    }

    @supports selector(:has(*)) {
        .contact-form-wrapper:has(iframe) {
            padding: 0 !important;
        }
    }

    .contact-section-main iframe[src*="brevo"],
    .contact-section-main iframe[src*="sibforms"],
    .contact-section-main iframe[src*="sendinblue"],
    .contact-form-wrapper iframe,
    .contact-form-wrapper .brevo-contact-iframe {
        min-height: 1320px !important;
        border-radius: 0 !important;
    }

    .contact-section-main iframe[src*="meet.brevo.com"],
    .contact-form-wrapper iframe[src*="meet.brevo.com"],
    .contact-section-main .brevo-meet-iframe,
    .contact-form-wrapper .brevo-meet-iframe {
        min-height: 1240px !important;
        height: var(--brevo-iframe-height, 1240px) !important;
    }

    .brevo-meet-module {
        --brevo-meet-scale: 1;
        --brevo-meet-height: 800px;
        padding: 10px !important;
        border-radius: 20px !important;
    }
}

.contact-section-main .brevo-meet-module iframe[src*="meet.brevo.com"],
.contact-section-main .brevo-meet-module iframe.brevo-meet-iframe,
.contact-form-wrapper.brevo-meet-module iframe[src*="meet.brevo.com"],
.contact-form-wrapper.brevo-meet-module iframe.brevo-meet-iframe,
.brevo-meet-module iframe {
    height: var(--brevo-meet-height) !important;
    min-height: var(--brevo-meet-height) !important;
}

@media (max-width: 767px) {
    .contact-section-main .brevo-meet-module iframe[src*="meet.brevo.com"],
    .contact-section-main .brevo-meet-module iframe.brevo-meet-iframe,
    .contact-form-wrapper.brevo-meet-module iframe[src*="meet.brevo.com"],
    .contact-form-wrapper.brevo-meet-module iframe.brevo-meet-iframe,
    .brevo-meet-module iframe {
        height: var(--brevo-meet-height) !important;
        min-height: var(--brevo-meet-height) !important;
    }
}

.contact-form-wrapper .sib-form {
    background-color: transparent !important;
    text-align: left !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.contact-form-wrapper #sib-form-container,
.contact-form-wrapper #sib-container {
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    max-width: 100% !important;
    text-align: left !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.contact-form-wrapper .sib-form-block {
    padding: 0 0 16px 0 !important;
}

.contact-form-wrapper .sib-form-block:first-child {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.contact-form-wrapper .sib-container--large,
.contact-form-wrapper .sib-container--vertical,
.contact-form-wrapper .form__entry.entry_block {
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.contact-form-wrapper .entry__label {
    display: block !important;
    margin-bottom: 6px !important;
    color: var(--color-texte) !important;
    font-family: var(--font-base) !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    text-align: left !important;
}

.contact-form-wrapper .form__entry,
.contact-form-wrapper .entry__field,
.contact-form-wrapper .sib-sms-input,
.contact-form-wrapper .sib-sms-input-wrapper {
    width: 100% !important;
    box-sizing: border-box !important;
}

.contact-form-wrapper .entry__field {
    border: none !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
}

.contact-form-wrapper .sib-sms-input-wrapper {
    direction: ltr !important;
}

.contact-form-wrapper .sib-sms-input {
    display: flex !important;
    gap: 8px !important;
    align-items: stretch !important;
    width: 100% !important;
}

.contact-form-wrapper .sib-sms-input .entry__field:first-child {
    flex: 0 0 110px !important;
    width: 110px !important;
}

.contact-form-wrapper .sib-sms-input .entry__field:last-child {
    flex: 1 1 auto !important;
    width: 100% !important;
}

.contact-form-wrapper .input,
.contact-form-wrapper input[type="text"],
.contact-form-wrapper input[type="email"],
.contact-form-wrapper input[type="tel"],
.contact-form-wrapper select,
.contact-form-wrapper .entry__field input,
.contact-form-wrapper .entry__field select {
    width: 100% !important;
    padding: 10px 14px !important;
    border: 1.5px solid #d1dbd1 !important;
    border-radius: 8px !important;
    background-color: #f9fbf9 !important;
    color: var(--color-texte) !important;
    font-family: var(--font-base) !important;
    font-size: 0.95rem !important;
    line-height: 1.4 !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    outline: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-sizing: border-box !important;
}

.contact-form-wrapper .input:focus,
.contact-form-wrapper input:focus,
.contact-form-wrapper select:focus {
    border-color: var(--color-vert) !important;
    box-shadow: 0 0 0 3px rgba(62, 119, 66, 0.15) !important;
    outline: none !important;
}

.contact-form-wrapper .sib-form-block__button {
    width: 100% !important;
    min-height: var(--cta-height) !important;
    padding: var(--cta-padding-y) var(--cta-padding-x) !important;
    border: none !important;
    border-radius: var(--radius-pill) !important;
    background-color: var(--cta-bg) !important;
    color: var(--cta-text) !important;
    font-family: var(--font-cta) !important;
    font-size: var(--cta-font-size) !important;
    font-weight: var(--cta-font-weight) !important;
    cursor: pointer !important;
    animation: cta-pulse 3s ease-in-out infinite !important;
    transition: box-shadow 0.2s ease, transform 0.2s ease !important;
}

.contact-form-wrapper .sib-form-block__button:hover {
    animation: none !important;
    transform: scale(1.03) !important;
    box-shadow: var(--cta-shadow-hover) !important;
}

.contact-form-wrapper .entry__error--primary {
    display: block !important;
    margin-top: 4px !important;
    color: #c0392b !important;
    font-size: 0.8rem !important;
    font-family: var(--font-base) !important;
    background: transparent !important;
    border: none !important;
}

.contact-form-wrapper .entry__specification {
    display: none !important;
}

.contact-form__rgpd {
    margin-top: 12px !important;
    color: #8a95a0 !important;
    font-size: 0.78rem !important;
    line-height: 1.5 !important;
    text-align: center !important;
}

.contact-form__rgpd a,
#sib-container a {
    color: var(--color-vert);
    text-decoration: underline;
}

#sib-container input:-ms-input-placeholder {
    text-align: left;
    font-family: Helvetica, sans-serif;
    color: #c0ccda;
}

#sib-container input::placeholder {
    text-align: left;
    font-family: Helvetica, sans-serif;
    color: #c0ccda;
}


/* Réassurance bas formulaire */

.contact-footer-reassurance {
    margin-top: 24px !important;
    margin-bottom: 42px !important;
    padding-top: 24px !important;
    border-top: 1px solid #e8ede8 !important;
    text-align: center !important;
    opacity: 0.9;
}

.contact-footer-reassurance ul {
    display: flex !important;
    justify-content: center !important;
    gap: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.contact-footer-reassurance li {
    position: relative !important;
    padding-left: 26px !important;
    color: var(--color-texte) !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
}

.contact-footer-reassurance li::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 1px !important;
    width: 16px !important;
    height: 16px !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
}

.contact-footer-reassurance li:nth-child(1)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232d6a2d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='11' x='3' y='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E") !important;
}

.contact-footer-reassurance li:nth-child(2)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232d6a2d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='4' rx='2' ry='2'/%3E%3Cline x1='16' x2='16' y1='2' y2='6'/%3E%3Cline x1='8' x2='8' y1='2' y2='6'/%3E%3Cline x1='3' x2='21' y1='10' y2='10'/%3E%3C/svg%3E") !important;
}

.contact-footer-reassurance li:nth-child(3)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232d6a2d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E") !important;
}

@media (max-width: 767px) {
    .contact-footer-reassurance ul {
        flex-direction: column !important;
        align-items: center !important;
        gap: 12px !important;
    }
}
/* ============================================================
   BLURB — Team contact card
   Classes module : team-contact-card / team-contact-card--linkedin
   ============================================================ */

.et_pb_section.pp-team-section-compact {
    padding-top: 28px !important;
    padding-bottom: 32px !important;
}

.et_pb_section.pp-team-section-compact.et_flex_section {
    --vertical-gap: 22px !important;
}

.pp-team-section-compact .et_pb_row {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

@media (max-width: 980px) {
    .et_pb_section.pp-team-section-compact {
        padding-top: 22px !important;
        padding-bottom: 26px !important;
    }

    .et_pb_section.pp-team-section-compact.et_flex_section {
        --vertical-gap: 18px !important;
    }
}

.et_pb_blurb.team-contact-card {
    width: 100% !important;
    max-width: 420px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 26px 24px !important;
    border-radius: var(--radius-card) !important;
    background-color: var(--color-blanc) !important;
    box-shadow: 0 4px 32px rgba(0, 0, 0, 0.08) !important;
    text-align: center !important;
}

.et_pb_blurb.team-contact-card a {
    text-decoration: none !important;
}

.et_pb_blurb.team-contact-card .et_pb_blurb_content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
}

.et_pb_blurb.team-contact-card .et_pb_blurb_container {
    width: 100% !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-left: 0 !important;
    text-align: center !important;
}

/* Photo */
.et_pb_blurb.team-contact-card .et_pb_main_blurb_image {
    position: relative !important;
    width: 104px !important;
    height: 104px !important;
    margin: 0 auto 10px !important;
    transform: none !important;
}

.et_pb_blurb.team-contact-card .et_pb_image_wrap {
    position: relative !important;
    display: block !important;
    width: 104px !important;
    height: 104px !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.10) !important;
}

.et_pb_blurb.team-contact-card .et_pb_image_wrap img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Badge LinkedIn */
.et_pb_blurb.team-contact-card--linkedin .et_pb_main_blurb_image::after {
    content: "in";
    position: absolute !important;
    right: -8px !important;
    bottom: -8px !important;
    z-index: 5 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 32px !important;
    height: 32px !important;

    border-radius: 11px !important;
    background-color: var(--color-vert-fonce) !important;
    color: var(--color-blanc) !important;

    font-family: Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1 !important;

    box-shadow: 0 7px 16px rgba(0, 0, 0, 0.14) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background-color 0.25s ease !important;
}

/* Hover LinkedIn au survol de la carte */
.et_pb_blurb.team-contact-card--linkedin:hover .et_pb_main_blurb_image::after {
    transform: translateY(-3px) scale(1.08) !important;
    background-color: #0077b5 !important;
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.22) !important;
}

/* Prénom */
.et_pb_blurb.team-contact-card .et_pb_module_header,
.et_pb_blurb.team-contact-card .et_pb_module_header h4,
.et_pb_blurb.team-contact-card h4 {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-vert-fonce) !important;
    font-size: 1.6rem !important;
    font-weight: 800 !important;
    line-height: 1.12 !important;
    text-align: center !important;
}

/* Rôle */
.et_pb_blurb.team-contact-card h5 {
    margin: 2px 0 10px !important;
    padding: 0 !important;
    color: var(--color-jaune-vif) !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    line-height: 1.28 !important;
    letter-spacing: -0.01em !important;
    text-align: center !important;
}

/* Description */
.et_pb_blurb.team-contact-card .et_pb_blurb_description {
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 auto !important;
    text-align: center !important;
}

.et_pb_blurb.team-contact-card .et_pb_blurb_description p {
    margin: 0 !important;
    color: #5d6570 !important;
    font-size: 0.78rem !important;
    font-weight: 500 !important;
    line-height: 1.34 !important;
    letter-spacing: -0.015em !important;
    text-align: center !important;
}

.et_pb_blurb.team-contact-card.team-contact-card--about {
    max-width: 510px !important;
    min-height: 100% !important;
    padding: 34px 34px 40px !important;
    border-radius: 28px !important;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.08) !important;
}

.et_pb_blurb.team-contact-card.team-contact-card--about .et_pb_blurb_content {
    gap: 6px !important;
}

.et_pb_blurb.team-contact-card.team-contact-card--about .et_pb_main_blurb_image,
.et_pb_blurb.team-contact-card.team-contact-card--about .et_pb_image_wrap {
    width: 128px !important;
    height: 128px !important;
}

.et_pb_blurb.team-contact-card.team-contact-card--about .et_pb_main_blurb_image {
    margin-bottom: 12px !important;
}

.et_pb_blurb.team-contact-card.team-contact-card--about .et_pb_image_wrap {
    border-radius: 26px !important;
}

.et_pb_blurb.team-contact-card.team-contact-card--about.team-contact-card--linkedin .et_pb_main_blurb_image::after {
    right: -10px !important;
    bottom: -10px !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 13px !important;
    font-size: 22px !important;
}

.et_pb_blurb.team-contact-card.team-contact-card--about .et_pb_module_header,
.et_pb_blurb.team-contact-card.team-contact-card--about .et_pb_module_header h4,
.et_pb_blurb.team-contact-card.team-contact-card--about h4 {
    font-size: clamp(2rem, 3vw, 2.5rem) !important;
    line-height: 1.05 !important;
}

.et_pb_blurb.team-contact-card.team-contact-card--about h5 {
    margin: 4px 0 18px !important;
    font-size: clamp(1rem, 1.45vw, 1.22rem) !important;
    line-height: 1.22 !important;
}

.et_pb_blurb.team-contact-card.team-contact-card--about .et_pb_blurb_description {
    max-width: 390px !important;
    text-align: left !important;
}

.et_pb_blurb.team-contact-card.team-contact-card--about .et_pb_blurb_description p {
    margin: 0 0 0.82rem !important;
    color: #58616d !important;
    font-size: 0.88rem !important;
    font-weight: 500 !important;
    line-height: 1.48 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-wrap: pretty;
}

.et_pb_blurb.team-contact-card.team-contact-card--about .et_pb_blurb_description p:last-child {
    margin-bottom: 0 !important;
}

.et_pb_blurb.team-contact-card.team-contact-card--about .et_pb_blurb_description strong {
    color: #4f5965 !important;
    font-weight: 800 !important;
}

.et_pb_row.pp-team-about-row,
.pp-team-about-row {
    display: flex !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 36px !important;
    width: min(1060px, 90%) !important;
    max-width: 1060px !important;
    --horizontal-gap: 36px !important;
    --row-gutter-horizontal: 36px !important;
}

.et_pb_row.pp-team-about-row > .et_pb_column,
.pp-team-about-row > .et_pb_column {
    display: flex !important;
    align-items: stretch !important;
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: 510px !important;
    margin: 0 !important;
}

.et_pb_row.pp-team-about-row .et_pb_module,
.et_pb_row.pp-team-about-row .team-contact-card.team-contact-card--about,
.pp-team-about-row .et_pb_module,
.pp-team-about-row .team-contact-card.team-contact-card--about {
    width: 100% !important;
}

.et_pb_row.pp-team-about-row .team-contact-card.team-contact-card--about,
.pp-team-about-row .team-contact-card.team-contact-card--about {
    display: flex !important;
    max-width: none !important;
}

.et_pb_row.pp-team-about-row .team-contact-card.team-contact-card--about .et_pb_blurb_content,
.pp-team-about-row .team-contact-card.team-contact-card--about .et_pb_blurb_content {
    justify-content: flex-start !important;
}

/* Accessibilité */
@media (prefers-reduced-motion: reduce) {
    .et_pb_blurb.team-contact-card--linkedin .et_pb_main_blurb_image::after {
        transition: none !important;
    }

    .et_pb_blurb.team-contact-card--linkedin:hover .et_pb_main_blurb_image::after {
        transform: none !important;
    }
}

/* Responsive */
@media (max-width: 980px) {
    .et_pb_row.pp-team-about-row,
    .pp-team-about-row {
        display: block !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 26px !important;
        width: min(620px, 92%) !important;
        max-width: 620px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        margin-bottom: 42px !important;
        overflow: visible !important;
        clear: both !important;
    }

    .et_pb_row.pp-team-about-row > .et_pb_column,
    .pp-team-about-row > .et_pb_column {
        float: none !important;
        display: block !important;
        width: 100% !important;
        max-width: 620px !important;
        margin: 0 auto 26px !important;
        clear: both !important;
    }

    .et_pb_row.pp-team-about-row > .et_pb_column:last-child,
    .pp-team-about-row > .et_pb_column:last-child {
        margin-bottom: 0 !important;
    }

    .et_pb_blurb.team-contact-card {
        display: block !important;
        max-width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        padding: 24px 22px !important;
        clear: both !important;
    }

    .et_pb_blurb.team-contact-card.team-contact-card--about {
        max-width: 620px !important;
        min-height: 0 !important;
        padding: 30px 24px 34px !important;
    }
}

@media (max-width: 640px) {
    .et_pb_row.pp-team-about-row,
    .pp-team-about-row {
        width: min(430px, 90%) !important;
        max-width: 430px !important;
        margin-bottom: 34px !important;
    }

    .et_pb_row.pp-team-about-row > .et_pb_column,
    .pp-team-about-row > .et_pb_column {
        max-width: 430px !important;
        margin-bottom: 22px !important;
    }

    .et_pb_blurb.team-contact-card.team-contact-card--about {
        padding: 28px 20px 30px !important;
        border-radius: 22px !important;
    }

    .et_pb_blurb.team-contact-card.team-contact-card--about .et_pb_main_blurb_image,
    .et_pb_blurb.team-contact-card.team-contact-card--about .et_pb_image_wrap {
        width: 112px !important;
        height: 112px !important;
    }

    .et_pb_blurb.team-contact-card.team-contact-card--about .et_pb_module_header,
    .et_pb_blurb.team-contact-card.team-contact-card--about .et_pb_module_header h4,
    .et_pb_blurb.team-contact-card.team-contact-card--about h4 {
        font-size: 2rem !important;
    }

    .et_pb_blurb.team-contact-card.team-contact-card--about .et_pb_blurb_description p {
        font-size: 0.86rem !important;
    }
}
/* Neutralise uniquement l'image, pas le badge LinkedIn */
.et_pb_blurb.team-contact-card .et_pb_image_wrap,
.et_pb_blurb.team-contact-card .et_pb_image_wrap img {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
}

/* ============================================================
   LOGOS — Références expériences
   Classes ligne : pp-reference-logos
   Classe module Image : pp-reference-logo
   ============================================================ */

.et_pb_row.pp-reference-logos,
.pp-reference-logos {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)) !important;
    gap: 18px !important;
    align-items: stretch !important;
    width: min(920px, 92%) !important;
    max-width: 920px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.pp-reference-logos > .et_pb_column {
    display: contents !important;
}

.et_pb_image.pp-reference-logo,
.pp-reference-logos .et_pb_image.pp-reference-logo {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

.et_pb_image.pp-reference-logo .et_pb_image_wrap,
.pp-reference-logos .et_pb_image.pp-reference-logo .et_pb_image_wrap {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    padding: 22px !important;
    border: 1px solid rgba(62, 119, 66, 0.08) !important;
    border-radius: 18px !important;
    background: var(--color-blanc) !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.05) !important;
    overflow: hidden !important;
    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease,
        border-color 0.22s ease !important;
}

.et_pb_image.pp-reference-logo a,
.pp-reference-logos .et_pb_image.pp-reference-logo a {
    display: block !important;
    width: 100% !important;
    text-decoration: none !important;
}

.et_pb_image.pp-reference-logo img,
.pp-reference-logos .et_pb_image.pp-reference-logo img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 82px !important;
    object-fit: contain !important;
    opacity: 0.92 !important;
    filter: saturate(0.9) contrast(0.98) !important;
    transform: none !important;
    transition:
        opacity 0.22s ease,
        filter 0.22s ease,
        transform 0.22s ease !important;
}

.et_pb_image.pp-reference-logo:hover .et_pb_image_wrap,
.et_pb_image.pp-reference-logo:focus-within .et_pb_image_wrap,
.pp-reference-logos .et_pb_image.pp-reference-logo:hover .et_pb_image_wrap,
.pp-reference-logos .et_pb_image.pp-reference-logo:focus-within .et_pb_image_wrap {
    border-color: rgba(62, 119, 66, 0.18) !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.12) !important;
    transform: translateY(-4px) !important;
}

.et_pb_image.pp-reference-logo:hover img,
.et_pb_image.pp-reference-logo:focus-within img,
.pp-reference-logos .et_pb_image.pp-reference-logo:hover img,
.pp-reference-logos .et_pb_image.pp-reference-logo:focus-within img {
    opacity: 1 !important;
    filter: saturate(1) contrast(1) !important;
    transform: scale(1.03) !important;
}

@media (max-width: 767px) {
    .et_pb_row.pp-reference-logos,
    .pp-reference-logos {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
        width: min(430px, 90%) !important;
    }

    .et_pb_image.pp-reference-logo .et_pb_image_wrap,
    .pp-reference-logos .et_pb_image.pp-reference-logo .et_pb_image_wrap {
        padding: 18px !important;
        border-radius: 16px !important;
    }

    .pp-reference-logos > .et_pb_column:last-child:nth-child(odd) .pp-reference-logo {
        grid-column: 1 / -1 !important;
        justify-self: center !important;
        width: min(100%, 180px) !important;
    }
}

/* ==========================================================
   FAQ PARC PILOTE — Version harmonisée site
   ========================================================== */

/* Layout */
.pp-faq-page-main {
    padding: 3rem 0 4.5rem;
}

.pp-faq-page-container {
    max-width: 820px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

.faq-page-wrap {
    width: 100%;
    max-width: 710px;
    margin-right: auto;
    margin-left: auto;
}

/* ==========================================================
   BLURB — FAQ trophy card
   Classes module : faq-badge-spark / faq-badge-spark--hero
   ========================================================== */

.et_pb_blurb.faq-badge-spark {
    width: 100% !important;
    max-width: 360px !important;
    aspect-ratio: 1 / 1;
    margin: 0 auto 42px !important;
    padding: 26px 24px !important;
    border-radius: var(--radius-card) !important;
    background: var(--color-blanc) !important;
    box-shadow: 0 4px 32px rgba(0, 0, 0, 0.08) !important;
    text-align: center !important;
}

.et_pb_blurb.faq-badge-spark,
.et_pb_blurb.faq-badge-spark * {
    box-sizing: border-box !important;
}

.et_pb_blurb.faq-badge-spark::before,
.et_pb_blurb.faq-badge-spark::after {
    display: none !important;
    content: none !important;
}

.et_pb_blurb.faq-badge-spark .et_pb_blurb_content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    width: 100% !important;
    min-height: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
}

.et_pb_blurb.faq-badge-spark .et_pb_blurb_container {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
}

/* Image */
.et_pb_blurb.faq-badge-spark .et_pb_main_blurb_image {
    position: relative !important;
    width: 112px !important;
    height: 112px !important;
    margin: 0 auto 10px !important;
    overflow: visible !important;
    transform: none !important;
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
}

.et_pb_blurb.faq-badge-spark .et_pb_image_wrap {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 112px !important;
    height: 112px !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    background: var(--color-blanc) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.10) !important;
}

.et_pb_blurb.faq-badge-spark .et_pb_image_wrap img,
.et_pb_blurb.faq-badge-spark img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
}

/* Badge étoile */
.et_pb_blurb.faq-badge-spark .et_pb_main_blurb_image::after {
    content: "★";
    position: absolute !important;
    right: -8px !important;
    bottom: -8px !important;
    z-index: 5 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 11px !important;
    background: var(--color-jaune) !important;
    color: var(--color-vert-fonce) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    box-shadow: 0 7px 16px rgba(0, 0, 0, 0.14) !important;
    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease !important;
}

.et_pb_blurb.faq-badge-spark:hover .et_pb_main_blurb_image::after {
    background: var(--color-vert-fonce) !important;
    color: var(--color-jaune) !important;
    transform: none !important;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.20) !important;
}

/* Titre */
.et_pb_blurb.faq-badge-spark .et_pb_module_header,
.et_pb_blurb.faq-badge-spark .et_pb_module_header h4,
.et_pb_blurb.faq-badge-spark .et_pb_module_header span,
.et_pb_blurb.faq-badge-spark .et_pb_module_header a,
.et_pb_blurb.faq-badge-spark h4 {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-vert-fonce) !important;
    font-size: 1.4rem !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    text-align: center !important;
}

/* Description */
.et_pb_blurb.faq-badge-spark .et_pb_blurb_description {
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 auto !important;
    text-align: center !important;
}

.et_pb_blurb.faq-badge-spark .et_pb_blurb_description p {
    margin: 5px 0 0 !important;
    color: #6b7280 !important;
    font-size: 0.8rem !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    text-align: center !important;
}

.et_pb_blurb.faq-badge-spark .et_pb_blurb_description a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 4px !important;
    padding: 10px 16px !important;
    border-radius: var(--radius-pill) !important;
    background: var(--color-jaune) !important;
    color: var(--color-vert-fonce) !important;
    font-size: 0.82rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12) !important;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background-color 0.2s ease,
        color 0.2s ease !important;
}

.et_pb_blurb.faq-badge-spark .et_pb_blurb_description a:hover {
    transform: none !important;
    box-shadow: 0 12px 22px rgba(0, 0, 0, 0.16) !important;
}

/* Variante verte */
.et_pb_blurb.faq-badge-spark.faq-badge-spark--hero {
    background: var(--color-vert) !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.16) !important;
}

.et_pb_blurb.faq-badge-spark.faq-badge-spark--hero .et_pb_module_header,
.et_pb_blurb.faq-badge-spark.faq-badge-spark--hero .et_pb_module_header h4,
.et_pb_blurb.faq-badge-spark.faq-badge-spark--hero .et_pb_module_header span,
.et_pb_blurb.faq-badge-spark.faq-badge-spark--hero .et_pb_module_header a,
.et_pb_blurb.faq-badge-spark.faq-badge-spark--hero h4 {
    color: var(--color-jaune) !important;
}

.et_pb_blurb.faq-badge-spark.faq-badge-spark--hero .et_pb_blurb_description p {
    color: var(--color-blanc) !important;
    opacity: 0.9 !important;
}

.et_pb_blurb.faq-badge-spark.faq-badge-spark--hero .et_pb_blurb_description a {
    background: var(--color-blanc) !important;
    color: var(--color-vert) !important;
}

.et_pb_blurb.faq-badge-spark.faq-badge-spark--hero .et_pb_blurb_description a:hover {
    background: var(--color-jaune) !important;
    color: var(--color-vert-fonce) !important;
}

.et_pb_blurb.faq-badge-spark.faq-badge-spark--hero:hover {
    transform: none !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.16) !important;
}

.et_pb_blurb.faq-badge-spark.faq-badge-spark--hero:hover .et_pb_main_blurb_image::after {
    background: var(--color-blanc) !important;
    color: var(--color-vert-fonce) !important;
}

/* Sections FAQ */
.faq-section {
    margin-bottom: 2.15rem;
}

.faq-section-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
}

.faq-section-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    min-width: 56px;
    border-radius: 16px;
    background: var(--pp-green);
    color: var(--pp-gold);
    line-height: 1;
    box-shadow: 0 8px 18px rgba(62, 119, 66, 0.14);
}

.faq-section-icon__svg {
    display: block;
    width: 34px;
    height: 34px;
}

.faq-section-heading {
    flex: 0 1 auto;
    display: flex;
    align-items: center;
    min-height: 56px;
    transform: translateY(2px);
    margin: 0 !important;
    font-size: 0.82rem !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.faq-section-heading__label {
    display: inline !important;
    padding: 5px 8px 4px !important;
    color: var(--color-jaune) !important;
    background-image: linear-gradient(var(--color-vert), var(--color-vert)) !important;
    background-repeat: no-repeat !important;
    background-position: left 52% !important;
    background-size: 0% 96% !important;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    border-radius: 0 !important;
    transition: background-size 1.1s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.faq-section-heading__label.is-revealed {
    background-size: 100% 96% !important;
}

/* Accordéon */
.faq-item {
    margin-bottom: 10px;
    border: none;
    border-radius: 14px;
    background: var(--color-blanc);
    overflow: hidden;
    box-shadow: 0 10px 24px rgba(45, 106, 45, 0.08);
    transition:
        box-shadow var(--pp-transition),
        transform var(--pp-transition);
}

.faq-item:hover {
    box-shadow: 0 14px 28px rgba(45, 106, 45, 0.12);
    transform: translateY(-1px);
}

.faq-item.faq-open {
    box-shadow: 0 16px 32px rgba(45, 106, 45, 0.12);
}

.faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    width: 100%;
    padding: 15px 18px;
    border: none;
    background: transparent;
    color: var(--pp-green);
    font-family: var(--font-base);
    font-size: 0.94rem;
    font-weight: 700;
    line-height: 1.45;
    text-align: left;
    cursor: pointer;
    transition: background var(--pp-transition);
}

.faq-question:hover {
    background: transparent;
}

.faq-question:focus-visible {
    outline: 2px solid var(--pp-gold);
    outline-offset: -3px;
}

.faq-arrow {
    position: relative;
    width: 14px;
    height: 14px;
    min-width: 14px;
    margin-right: 4px;
    transition: transform var(--pp-transition);
}

.faq-arrow::before,
.faq-arrow::after {
    content: "";
    position: absolute;
    top: 6px;
    width: 9px;
    height: 2px;
    border-radius: 999px;
    background: var(--pp-green);
    transition: transform var(--pp-transition), background var(--pp-transition);
}

.faq-arrow::before {
    left: 0;
    transform: rotate(45deg);
}

.faq-arrow::after {
    right: 0;
    transform: rotate(-45deg);
}

.faq-item.faq-open .faq-arrow {
    transform: translateY(-1px);
}

.faq-item.faq-open .faq-arrow::before {
    transform: rotate(-45deg);
}

.faq-item.faq-open .faq-arrow::after {
    transform: rotate(45deg);
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
}

.faq-item.faq-open .faq-answer {
    max-height: 900px;
}

.faq-answer-inner {
    padding: 2px 18px 18px;
    border-top: 1px solid rgba(45, 106, 45, 0.08);
    color: #111111;
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.65;
}

.faq-answer-inner p {
    margin: 0 0 0.75rem;
}

.faq-answer-inner p:last-child {
    margin-bottom: 0;
}

.faq-answer-inner strong {
    color: var(--pp-green-dark);
}

.faq-answer-inner ul {
    margin: 0.5rem 0 0.75rem 1.1rem;
    padding: 0;
}

.faq-answer-inner li {
    margin-bottom: 0.35rem;
}

.faq-question span[itemprop="name"] {
    flex: 1;
}

@media (prefers-reduced-motion: reduce) {
    .faq-item,
    .faq-question,
    .faq-arrow,
    .faq-answer,
    .pp-faq-cta-link__a {
        transition: none !important;
    }
}

/* CTA */
.pp-faq-cta-link {
    margin-top: 1.8rem;
    text-align: center;
}

.pp-faq-cta-link__a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 230px;
    min-height: 56px;
    padding: 14px 28px;
    border: 2px solid var(--pp-green);
    border-radius: var(--radius-pill);
    color: var(--pp-green) !important;
    background: transparent;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1;
    text-decoration: none !important;
    box-shadow: none;
    transition:
        background var(--pp-transition),
        color var(--pp-transition),
        transform var(--pp-transition),
        box-shadow var(--pp-transition);
}

.pp-faq-cta-link__a:hover {
    background: var(--pp-green);
    color: var(--color-jaune) !important;
    transform: none;
    box-shadow: none;
}

/* Responsive */
@media (max-width: 768px) {
    .pp-faq-page-main {
        padding: 2.2rem 0 3.5rem;
    }

    .pp-faq-page-container {
        padding: 0 1rem;
    }

    .faq-section-header {
        gap: 10px;
    }

    .faq-section-icon {
        width: 50px;
        height: 50px;
        min-width: 50px;
        border-radius: 14px;
    }

    .faq-section-icon__svg {
        width: 30px;
        height: 30px;
    }

    .faq-section-heading {
        flex: 1 1 auto;
        min-width: 0;
        max-width: calc(100% - 60px);
        min-height: 50px;
        transform: translateY(1px);
        font-size: 0.76rem !important;
        line-height: 1.2 !important;
        letter-spacing: 0.04em;
    }

    .faq-section-heading__label {
        padding: 4px 6px 3px !important;
        white-space: normal !important;
    }

    .faq-question {
        padding: 14px 15px;
        font-size: 0.88rem;
    }

    .faq-answer-inner {
        padding: 2px 15px 16px;
        font-size: 0.86rem;
    }
}

@media (max-width: 480px) {
    .faq-question {
        font-size: 0.84rem;
    }

    .pp-faq-cta-link__a {
        width: 100%;
    }
}
@media (min-width: 981px) {
    .faq-row > .et_pb_column:first-child {
        flex: 0 0 290px !important;
        width: 290px !important;
        max-width: 290px !important;
        margin-right: 40px !important;
    }

    .faq-row > .et_pb_column:last-child {
        flex: 1 1 auto !important;
        width: auto !important;
        max-width: 720px !important;
    }

    .faq-row > .et_pb_column:first-child .et_pb_blurb.faq-badge-spark {
        width: 100% !important;
        max-width: 290px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}
@media (min-width: 981px) {

    .faq-row {
        display: flex !important;
        align-items: flex-start;
        gap: 40px;
    }

    .faq-col-left {
        flex: 0 0 310px !important;
        max-width: 310px !important;
    }

    .faq-row > .et_pb_column:not(.faq-col-left) {
        flex: 1 !important;
    }
}
/* FAQ — H2 surligné sans span */
.faq-hero-subtitle h2 {
    display: inline !important;
    margin: 0 !important;
    padding: 2px 6px !important;

    color: var(--color-jaune) !important;
    background: var(--color-vert) !important;

    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;

    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

.faq-hero-subtitle .et_pb_text_inner {
    display: inline-block !important;
}


/* ============================================================
   PAGE TARIFS
   ============================================================ */

.pp-pricing-page {
    background: var(--color-blanc);
    padding: 0 0 96px;
}

.pp-pricing-container {
    width: min(1120px, calc(100% - 48px));
    margin: 0 auto;
}

.pp-pricing-page :is(h2, h3, p, li, th, td, summary, a, button) {
    font-family: var(--font-base) !important;
}

.pp-pricing-section-heading {
    max-width: 760px;
    margin: 0 auto 28px;
    text-align: center;
}

.pp-pricing-eyebrow {
    margin: 0 0 8px;
    color: var(--color-vert);
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0;
    text-transform: uppercase;
}

.pp-pricing-section-heading h2,
.pp-pricing-help h2 {
    margin: 0;
    color: var(--color-vert);
    font-size: clamp(1.55rem, 2.4vw, 2.35rem);
    font-weight: 800;
    line-height: 1.12;
    text-align: center;
    text-wrap: balance;
}

.pp-pricing-setup {
    margin-top: -118px;
    padding-top: 0;
}

.pp-pricing-setup-card {
    display: grid;
    grid-template-columns: minmax(220px, 0.65fr) minmax(0, 1.35fr) auto;
    gap: 28px;
    align-items: center;
    padding: 28px 30px;
    border: 1.5px solid rgba(62, 119, 66, 0.16);
    border-radius: 24px;
    background: #f9fbf9;
}

.pp-pricing-setup-card__label {
    margin: 0 0 6px;
    color: rgba(31, 41, 51, 0.72);
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.25;
}

.pp-pricing-setup-card__price {
    margin: 0;
    color: var(--color-vert);
    font-size: clamp(2rem, 4vw, 3.25rem);
    font-weight: 900;
    line-height: 1;
}

.pp-pricing-setup-card__text {
    margin: 0;
    color: var(--color-texte);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.55;
}

.pp-pricing-award {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 190px;
    margin: 0;
    padding: 12px 14px;
    border-radius: 16px;
    background: var(--color-jaune);
    color: var(--color-vert);
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
}

.pp-pricing-award span {
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 7px;
    flex: 0 0 18px;
    border-radius: 999px;
    background: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 2 2.5 6.5L21 9l-5 4.1 1.6 6.9L12 16.4 6.4 20 8 13.1 3 9l6.5-.5L12 2Z'/%3E%3C/svg%3E") center / contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 2 2.5 6.5L21 9l-5 4.1 1.6 6.9L12 16.4 6.4 20 8 13.1 3 9l6.5-.5L12 2Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.pp-pricing-plans,
.pp-pricing-full-grid,
.pp-pricing-help {
    margin-top: 76px;
}

.pp-pricing-billing-toggle {
    display: flex;
    width: max-content;
    margin: -8px auto 30px;
    padding: 4px;
    border: 1.5px solid rgba(62, 119, 66, 0.14);
    border-radius: var(--radius-pill);
    background: #f9fbf9;
}

.pp-pricing-billing-toggle__button {
    min-height: 38px;
    padding: 0 18px;
    border: 0;
    border-radius: var(--radius-pill);
    background: transparent;
    color: var(--color-vert);
    font-size: 0.9rem;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
}

.pp-pricing-billing-toggle__button.is-active {
    background: var(--color-vert);
    color: var(--color-blanc);
}

.pp-pricing-plan-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    align-items: stretch;
}

.pp-pricing-plan {
    display: flex;
    flex-direction: column;
    position: relative;
    min-height: 100%;
    padding: 28px 24px 24px;
    border: 1.5px solid rgba(62, 119, 66, 0.14);
    border-radius: 24px;
    background: var(--color-blanc);
    box-shadow: none;
}

.pp-pricing-plan--featured {
    border-color: var(--color-vert);
    box-shadow: 0 16px 34px rgba(62, 119, 66, 0.11);
}

.pp-pricing-plan__badge {
    position: absolute;
    top: 18px;
    right: 18px;
    margin: 0;
    padding: 8px 12px;
    border-radius: var(--radius-pill);
    background: var(--color-jaune);
    color: var(--color-vert);
    font-size: 0.75rem;
    font-weight: 800;
    line-height: 1;
}

.pp-pricing-plan h3 {
    margin: 0 0 18px;
    padding-right: 104px;
    color: var(--color-vert);
    font-size: clamp(1.2rem, 1.7vw, 1.55rem);
    font-weight: 800;
    line-height: 1.14;
}

.pp-pricing-plan:not(.pp-pricing-plan--featured) h3 {
    padding-right: 0;
}

.pp-pricing-plan__price {
    margin: 0 0 12px;
    color: var(--color-vert);
    font-size: 0.98rem;
    font-weight: 800;
    line-height: 1;
}

.pp-pricing-plan__price span {
    display: inline-block;
    margin-right: 4px;
    font-size: clamp(2.45rem, 4.4vw, 3.4rem);
    font-weight: 900;
    line-height: 0.92;
}

.pp-pricing-plan__description {
    margin: 0 0 10px;
    color: var(--color-texte);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.35;
}

.pp-pricing-plan__details {
    margin: 0 0 18px;
    color: var(--color-texte);
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.5;
}

.pp-pricing-included {
    display: grid;
    gap: 10px;
    margin: 0 0 22px;
    padding: 0;
    list-style: none !important;
}

.pp-pricing-included__item {
    display: flex;
    align-items: center;
    color: var(--color-texte);
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.3;
}

.pp-pricing-included__item::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 9px;
    flex: 0 0 18px;
    background: var(--color-vert);
    mask-position: center;
    -webkit-mask-position: center;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-size: contain;
    -webkit-mask-size: contain;
}

.pp-pricing-included__item--shield::before {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5.5 5.6v5.2c0 4.1 2.5 7.9 6.5 9.2 4-1.3 6.5-5.1 6.5-9.2V5.6L12 3Z'/%3E%3Cpath d='m9.2 12 1.9 1.9 3.7-4.2'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5.5 5.6v5.2c0 4.1 2.5 7.9 6.5 9.2 4-1.3 6.5-5.1 6.5-9.2V5.6L12 3Z'/%3E%3Cpath d='m9.2 12 1.9 1.9 3.7-4.2'/%3E%3C/svg%3E");
}

.pp-pricing-included__item--wrench::before {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a4 4 0 0 0-5 5L4 17l3 3 5.7-5.7a4 4 0 0 0 5-5l-2.4 2.4-3-3 2.4-2.4Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a4 4 0 0 0-5 5L4 17l3 3 5.7-5.7a4 4 0 0 0 5-5l-2.4 2.4-3-3 2.4-2.4Z'/%3E%3C/svg%3E");
}

.pp-pricing-included__item--cloud::before {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.5 19H8a5 5 0 1 1 1.1-9.9A7 7 0 0 1 22 12.5 4.5 4.5 0 0 1 17.5 19Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.5 19H8a5 5 0 1 1 1.1-9.9A7 7 0 0 1 22 12.5 4.5 4.5 0 0 1 17.5 19Z'/%3E%3C/svg%3E");
}

.pp-pricing-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    min-height: 52px;
    margin-top: auto;
    padding: 0 28px;
    border: 2px solid var(--color-vert);
    border-radius: var(--radius-pill);
    background: var(--color-blanc);
    color: var(--color-vert) !important;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none !important;
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease;
}

.pp-pricing-button:hover,
.pp-pricing-button--solid {
    background: var(--color-vert);
    color: var(--color-blanc) !important;
    border-color: var(--color-vert);
}

.pp-pricing-button--solid:hover {
    background: var(--color-vert-fonce);
    color: var(--color-blanc) !important;
    border-color: var(--color-vert-fonce);
}

.pp-pricing-details {
    border: 1.5px solid rgba(62, 119, 66, 0.16);
    border-radius: 24px;
    background: #f9fbf9;
    overflow: hidden;
}

.pp-pricing-details summary {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 62px;
    padding: 18px 24px;
    color: var(--color-vert);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.25;
    text-align: center;
    cursor: pointer;
}

.pp-pricing-details summary::-webkit-details-marker {
    display: none;
}

.pp-pricing-details summary::after {
    content: "+";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    margin-left: 12px;
    border-radius: 999px;
    background: var(--color-vert);
    color: var(--color-blanc);
    font-size: 1.1rem;
    font-weight: 800;
    line-height: 1;
}

.pp-pricing-details[open] summary::after {
    content: "−";
}

.pp-pricing-table-wrap {
    padding: 0 24px 24px;
    overflow-x: auto;
}

.pp-pricing-table {
    width: 100%;
    min-width: 620px;
    border-collapse: collapse;
    background: var(--color-blanc);
    border-radius: 18px;
    overflow: hidden;
}

.pp-pricing-table th,
.pp-pricing-table td {
    padding: 15px 16px;
    border-bottom: 1px solid rgba(62, 119, 66, 0.12);
    color: var(--color-texte);
    font-size: 0.94rem;
    line-height: 1.35;
    text-align: left;
}

.pp-pricing-table th {
    background: var(--color-vert);
    color: var(--color-blanc);
    font-weight: 800;
}

.pp-pricing-table tr:last-child td {
    border-bottom: 0;
}

.pp-pricing-help {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.55fr);
    gap: 28px;
    align-items: stretch;
}

.pp-pricing-help__content,
.pp-pricing-help__cta {
    border: 1.5px solid rgba(62, 119, 66, 0.14);
    border-radius: 24px;
    background: var(--color-blanc);
    padding: 30px;
}

.pp-pricing-help__content h2 {
    margin-bottom: 18px;
    text-align: left;
}

.pp-pricing-help__content .pp-pricing-eyebrow {
    text-align: left;
}

.pp-pricing-help__content p,
.pp-pricing-help__cta p {
    margin: 0;
    color: var(--color-texte);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.6;
}

.pp-pricing-help__content p + p {
    margin-top: 12px;
}

.pp-pricing-help__cta {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: var(--color-jaune);
}

.pp-pricing-help__cta h3 {
    margin: 0 0 10px;
    color: var(--color-vert);
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.18;
}

.pp-pricing-help__cta .pp-pricing-button {
    margin-top: 22px;
}

@media (max-width: 980px) {
    .pp-pricing-container {
        width: min(100% - 40px, 1120px);
    }

    .pp-pricing-setup {
        margin-top: -76px;
    }

    .pp-pricing-setup-card,
    .pp-pricing-help {
        grid-template-columns: 1fr;
    }

    .pp-pricing-award {
        max-width: none;
        justify-self: start;
    }

    .pp-pricing-plan-grid {
        grid-template-columns: 1fr;
        max-width: 560px;
        margin: 0 auto;
    }
}

@media (max-width: 767px) {
    .pp-pricing-page {
        padding-bottom: 70px;
    }

    .pp-pricing-container {
        width: min(100% - 32px, 1120px);
    }

    .pp-pricing-setup {
        margin-top: -48px;
    }

    .pp-pricing-setup-card,
    .pp-pricing-plan,
    .pp-pricing-help__content,
    .pp-pricing-help__cta {
        padding: 22px;
        border-radius: 20px;
    }

    .pp-pricing-plans,
    .pp-pricing-full-grid,
    .pp-pricing-help {
        margin-top: 54px;
    }

    .pp-pricing-billing-toggle {
        width: 100%;
    }

    .pp-pricing-billing-toggle__button {
        flex: 1 1 50%;
    }

    .pp-pricing-plan__badge {
        position: static;
        width: max-content;
        margin-bottom: 14px;
    }

    .pp-pricing-plan h3 {
        padding-right: 0;
    }

    .pp-pricing-button {
        width: 100%;
    }

    .pp-pricing-details summary {
        justify-content: space-between;
        text-align: left;
    }

    .pp-pricing-table-wrap {
        padding: 0 14px 18px;
    }
}


/* ============================================================
   PAGE TARIFS — Version administrable via classes de sections
   Classes a poser uniquement sur les sections Divi :
   pp-tarifs-setup / pp-tarifs-offres / pp-tarifs-grille / pp-tarifs-aide
   ============================================================ */

.pp-tarifs-setup,
.pp-tarifs-offres,
.pp-tarifs-grille,
.pp-tarifs-aide {
    background: var(--color-blanc) !important;
}

.pp-tarifs-setup {
    padding-top: 0 !important;
    padding-bottom: 38px !important;
}

.pp-tarifs-offres,
.pp-tarifs-grille,
.pp-tarifs-aide {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

.pp-tarifs-aide {
    padding-bottom: 96px !important;
}

.pp-tarifs-setup .et_pb_row,
.pp-tarifs-offres .et_pb_row,
.pp-tarifs-grille .et_pb_row,
.pp-tarifs-aide .et_pb_row {
    width: min(1120px, calc(100% - 48px)) !important;
    max-width: 1120px !important;
    padding: 0 !important;
}

.pp-tarifs-setup h2,
.pp-tarifs-offres h2,
.pp-tarifs-grille h2,
.pp-tarifs-aide h2 {
    margin: 0px !important;
    color: var(--color-vert) !important;
    font-size: clamp(1.55rem, 2.4vw, 2.35rem) !important;
    font-weight: 800 !important;
    line-height: 1.12 !important;
    text-align: center !important;
    text-wrap: balance;
}

.pp-tarifs-setup h3,
.pp-tarifs-offres h3,
.pp-tarifs-grille h3,
.pp-tarifs-aide h3 {
    margin: 0 0 14px !important;
    color: var(--color-vert) !important;
    font-size: clamp(1.2rem, 1.65vw, 1.55rem) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    text-wrap: balance;
}

.pp-tarifs-setup p,
.pp-tarifs-offres p,
.pp-tarifs-grille p,
.pp-tarifs-aide p,
.pp-tarifs-setup li,
.pp-tarifs-offres li,
.pp-tarifs-aide li,
.pp-tarifs-grille td,
.pp-tarifs-grille th {
    color: var(--color-texte) !important;
    font-family: var(--font-base) !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
}

.pp-tarifs-setup .et_pb_row:first-child,
.pp-tarifs-offres .et_pb_row:first-child,
.pp-tarifs-grille .et_pb_row:first-child,
.pp-tarifs-aide .et_pb_row:first-child {
    max-width: 760px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-bottom: 28px !important;
    text-align: center !important;
}

.pp-tarifs-setup .et_pb_row:first-child p:first-child,
.pp-tarifs-offres .et_pb_row:first-child p:first-child,
.pp-tarifs-grille .et_pb_row:first-child p:first-child,
.pp-tarifs-aide .et_pb_row:first-child p:first-child {
    margin: 0 0 8px !important;
    color: var(--color-vert) !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}

.pp-tarifs-offres .et_pb_row:first-child p {
    max-width: 520px;
    margin-right: auto !important;
    margin-left: auto !important;
    text-align: center !important;
}

.pp-tarifs-offres .et_pb_row:first-child .et_pb_text,
.pp-tarifs-offres .et_pb_row:first-child .et_pb_text_inner {
    text-align: center !important;
}

.pp-tarifs-offres .et_pb_text_inner:has(> h2 + p),
.pp-tarifs-offres .et_pb_text:has(h2 + p) {
    text-align: center !important;
}

.pp-tarifs-offres .et_pb_text_inner > h2 + p,
.pp-tarifs-offres .et_pb_row:first-child .et_pb_text_inner > p {
    display: inline-block !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 2px 6px !important;
    color: var(--color-vert) !important;
    background-image: linear-gradient(var(--color-jaune), var(--color-jaune)) !important;
    background-repeat: no-repeat !important;
    background-position: left var(--highlight-position-y) !important;
    background-size: 0% var(--highlight-size-y);
    border-radius: 0 !important;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    text-align: center !important;
    text-transform: none !important;
    animation: highlight-fill-smooth 0.65s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

/* Bloc setup : ligne 3 colonnes, sans classe sur les modules. */
.pp-tarifs-setup .et_pb_row:nth-child(2) {
    display: grid !important;
    grid-template-columns: minmax(220px, 0.65fr) minmax(0, 1.35fr) auto;
    gap: 28px !important;
    align-items: center !important;
    padding: 28px 30px !important;
    border: 1.5px solid rgba(62, 119, 66, 0.16);
    border-radius: 24px;
    background: #f9fbf9;
}

.pp-tarifs-setup .et_pb_row:nth-child(2)::after {
    display: none !important;
}

.pp-tarifs-setup .et_pb_row:nth-child(2) .et_pb_column {
    width: auto !important;
    margin: 0 !important;
}

.pp-tarifs-setup .et_pb_row:nth-child(2) .et_pb_column:first-child p:first-child {
    margin: 0 0 6px !important;
    color: rgba(31, 41, 51, 0.72) !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

.pp-tarifs-setup .et_pb_row:nth-child(2) .et_pb_column:first-child p:last-child {
    margin: 0 !important;
    color: var(--color-vert) !important;
    font-size: clamp(2rem, 4vw, 3.25rem) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

.pp-tarifs-setup .et_pb_row:nth-child(2) .et_pb_column:nth-child(3) p {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 190px;
    margin: 0 !important;
    padding: 12px 14px;
    border-radius: 16px;
    background: var(--color-jaune);
    color: var(--color-vert) !important;
    font-size: 0.82rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: center;
}

.pp-focus-setup,
.pp-focus-conseil,
.pp-focus-plus,
.pp-tarifs-focus-setup,
.pp-tarifs-focus-conseil,
.pp-tarifs-focus-plus {
    position: relative;
    max-width: 780px;
    margin: 0 auto !important;
    padding: 28px 78px 28px 32px !important;
    border: 1.5px solid rgba(62, 119, 66, 0.16);
    border-radius: 20px;
    background: var(--color-blanc);
    box-shadow: none;
    text-align: left;
}

.pp-section-wave-overlap .pp-focus-setup,
.pp-section-wave-overlap .pp-focus-conseil,
.pp-section-wave-overlap .pp-focus-plus,
.pp-section-wave-overlap .pp-tarifs-focus-setup,
.pp-section-wave-overlap .pp-tarifs-focus-conseil,
.pp-section-wave-overlap .pp-tarifs-focus-plus {
    z-index: 3;
}

.pp-section-wave-bottom-jaune.pp-section-wave-overlap .pp-focus-setup,
.pp-section-wave-bottom-jaune.pp-section-wave-overlap .pp-focus-conseil,
.pp-section-wave-bottom-jaune.pp-section-wave-overlap .pp-focus-plus,
.pp-section-wave-bottom-jaune.pp-section-wave-overlap .pp-tarifs-focus-setup,
.pp-section-wave-bottom-jaune.pp-section-wave-overlap .pp-tarifs-focus-conseil,
.pp-section-wave-bottom-jaune.pp-section-wave-overlap .pp-tarifs-focus-plus,
.pp-section-wave-bottom-vert.pp-section-wave-overlap .pp-focus-setup,
.pp-section-wave-bottom-vert.pp-section-wave-overlap .pp-focus-conseil,
.pp-section-wave-bottom-vert.pp-section-wave-overlap .pp-focus-plus,
.pp-section-wave-bottom-vert.pp-section-wave-overlap .pp-tarifs-focus-setup,
.pp-section-wave-bottom-vert.pp-section-wave-overlap .pp-tarifs-focus-conseil,
.pp-section-wave-bottom-vert.pp-section-wave-overlap .pp-tarifs-focus-plus {
    margin-bottom: 0 !important;
    transform: translateY(42px);
}

.pp-focus-setup-border-jaune,
.pp-focus-conseil-border-jaune,
.pp-focus-border-jaune,
.pp-tarifs-focus-border-jaune {
    border-color: var(--color-jaune) !important;
}

.pp-focus-setup-border-jaune::before,
.pp-focus-conseil-border-jaune::before,
.pp-focus-border-jaune::before,
.pp-tarifs-focus-border-jaune::before {
    border-color: var(--color-jaune) !important;
}

.pp-focus-setup-border-vert,
.pp-focus-conseil-border-vert,
.pp-focus-border-vert,
.pp-tarifs-focus-border-vert {
    border-color: var(--color-vert) !important;
}

.pp-focus-setup-border-vert::before,
.pp-focus-conseil-border-vert::before,
.pp-focus-border-vert::before,
.pp-tarifs-focus-border-vert::before {
    border-color: var(--color-vert) !important;
}

.pp-focus-setup::before,
.pp-focus-conseil::before,
.pp-focus-plus::before,
.pp-tarifs-focus-setup::before,
.pp-tarifs-focus-conseil::before,
.pp-tarifs-focus-plus::before {
    content: "";
    position: absolute;
    top: 24px;
    right: 24px;
    width: 42px;
    height: 42px;
    border: 1.5px solid rgba(62, 119, 66, 0.22);
    border-radius: 999px;
    background: var(--color-blanc);
    box-shadow: none;
}

.pp-focus-setup::after,
.pp-focus-conseil::after,
.pp-focus-plus::after,
.pp-tarifs-focus-setup::after,
.pp-tarifs-focus-conseil::after,
.pp-tarifs-focus-plus::after {
    content: "";
    position: absolute;
    top: 35px;
    right: 35px;
    width: 25px;
    height: 25px;
    background: var(--color-vert);
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 7 10 17l-5-5'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 7 10 17l-5-5'/%3E%3C/svg%3E");
    mask-position: center;
    -webkit-mask-position: center;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-size: contain;
    -webkit-mask-size: contain;
}

.pp-focus-setup h2,
.pp-focus-conseil h2,
.pp-focus-plus h2,
.pp-tarifs-focus-setup h2,
.pp-tarifs-focus-conseil h2,
.pp-tarifs-focus-plus h2 {
    display: block !important;
    max-width: 610px;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-vert) !important;
    background: transparent !important;
    font-size: clamp(1.14rem, 1.42vw, 1.38rem) !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: left !important;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

.pp-focus-setup h2::before,
.pp-focus-conseil h2::before,
.pp-focus-plus h2::before,
.pp-tarifs-focus-setup h2::before,
.pp-tarifs-focus-conseil h2::before,
.pp-tarifs-focus-plus h2::before {
    content: "Setup";
    display: flex;
    align-items: center;
    width: max-content;
    margin: 0 0 9px;
    padding: 6px 11px;
    border-radius: var(--radius-pill);
    background: var(--color-jaune);
    color: var(--color-vert);
    font-family: var(--font-base) !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase;
}

.pp-focus-conseil h2::before,
.pp-tarifs-focus-conseil h2::before {
    content: "Conseil";
}

.pp-focus-plus h2::before,
.pp-tarifs-focus-plus h2::before {
    content: "Plus";
}

.pp-focus-plus::after,
.pp-tarifs-focus-plus::after {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");
}

.pp-focus-conseil::after,
.pp-tarifs-focus-conseil::after {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 14c.2-1 .7-1.7 1.5-2.5A4.8 4.8 0 1 0 8 8.3c0 1.2.5 2.4 1.4 3.2.8.8 1.3 1.5 1.5 2.5'/%3E%3Cpath d='M9 18h6'/%3E%3Cpath d='M10 22h4'/%3E%3Cpath d='M10 14h4'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 14c.2-1 .7-1.7 1.5-2.5A4.8 4.8 0 1 0 8 8.3c0 1.2.5 2.4 1.4 3.2.8.8 1.3 1.5 1.5 2.5'/%3E%3Cpath d='M9 18h6'/%3E%3Cpath d='M10 22h4'/%3E%3Cpath d='M10 14h4'/%3E%3C/svg%3E");
}

.pp-focus-conseil.pp-focus-plus::after,
.pp-tarifs-focus-conseil.pp-tarifs-focus-plus::after {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");
}

.pp-focus-setup h2 + p,
.pp-focus-conseil h2 + p,
.pp-focus-plus h2 + p,
.pp-tarifs-focus-setup h2 + p,
.pp-tarifs-focus-conseil h2 + p,
.pp-tarifs-focus-plus h2 + p {
    max-width: 690px;
    margin: 13px 0 0 !important;
}

.pp-focus-setup p,
.pp-focus-conseil p,
.pp-focus-plus p,
.pp-tarifs-focus-setup p,
.pp-tarifs-focus-conseil p,
.pp-tarifs-focus-plus p {
    color: var(--color-texte) !important;
    font-size: 0.94rem !important;
    font-weight: 500 !important;
    line-height: 1.58 !important;
}

/* Offres : ligne 3 colonnes, la colonne centrale devient recommandee. */
.pp-tarifs-offres .et_pb_row:nth-child(3) {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 320px));
    gap: 30px !important;
    align-items: stretch !important;
    justify-content: center !important;
    max-width: 1060px !important;
}

.pp-tarifs-offres .et_pb_row:nth-child(2) {
    display: flex !important;
    justify-content: center !important;
    width: max-content !important;
    margin: -8px auto 30px !important;
    padding: 4px !important;
    border: 1.5px solid rgba(62, 119, 66, 0.14);
    border-radius: var(--radius-pill);
    background: #f9fbf9;
}

.pp-tarifs-offres .et_pb_row:nth-child(2)::after {
    display: none !important;
}

.pp-tarifs-offres .et_pb_row:nth-child(2) .et_pb_column {
    width: auto !important;
    margin: 0 !important;
}

.pp-tarifs-offres .et_pb_row:nth-child(2) .et_pb_button_module_wrapper {
    margin: 0 !important;
}

.pp-tarifs-offres .et_pb_row:nth-child(2) .et_pb_button {
    min-height: 38px !important;
    padding: 0 18px !important;
    border: 0 !important;
    border-radius: var(--radius-pill) !important;
    background: transparent !important;
    color: var(--color-vert) !important;
    font-size: 0.9rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    box-shadow: none !important;
    animation: none !important;
}

.pp-tarifs-offres .et_pb_row:nth-child(2) .et_pb_button.is-active,
.pp-tarifs-offres .et_pb_row:nth-child(2) .et_pb_button:hover {
    background: var(--color-vert) !important;
    color: var(--color-blanc) !important;
}

.pp-tarifs-offres .et_pb_row.pp-tarifs-table {
    display: block !important;
    width: min(1060px, calc(100% - 48px)) !important;
    max-width: 1060px !important;
    margin: 20px auto 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.pp-tarifs-offres .et_pb_row.pp-tarifs-table::after {
    display: none !important;
}

.pp-tarifs-offres .et_pb_row:nth-child(3)::after {
    display: none !important;
}

.pp-tarifs-offres .et_pb_row:nth-child(3) .et_pb_column {
    display: flex !important;
    flex-direction: column !important;
    width: auto !important;
    min-height: 100%;
    margin: 0 !important;
    padding: 34px 30px 30px;
    border: 1.5px solid rgba(62, 119, 66, 0.16);
    border-radius: 24px;
    background: var(--color-blanc);
    box-shadow: 0 18px 36px rgba(31, 41, 51, 0.04);
    overflow: hidden;
}

.pp-tarifs-offres .et_pb_row:nth-child(3) .et_pb_column:nth-child(2) {
    padding-top: 72px;
    border: 2px solid var(--color-jaune);
    box-shadow: 0 22px 46px rgba(62, 119, 66, 0.12);
}

.pp-tarifs-offres .et_pb_row:nth-child(3) .et_pb_column:nth-child(2)::before {
    content: "★ Le plus populaire";
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 44px;
    margin: 0;
    border-radius: 0;
    background: var(--color-jaune);
    color: var(--color-vert);
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1;
}

.pp-tarifs-offres .et_pb_row:nth-child(3) .et_pb_column:nth-child(2) {
    position: relative;
}

.pp-tarifs-offres .et_pb_row:nth-child(3) .et_pb_column h3 {
    padding-right: 0;
}

.pp-tarifs-offres .et_pb_row:nth-child(3) .et_pb_blurb {
    display: flex !important;
    flex-direction: column;
    min-height: 100%;
    margin: 0 !important;
}

.pp-tarifs-offres .et_pb_row:nth-child(3) .et_pb_blurb_content {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    max-width: none;
    margin: 0;
}

.pp-tarifs-offres .et_pb_row:nth-child(3) .et_pb_main_blurb_image {
    display: none !important;
}

.pp-tarifs-offres .et_pb_row:nth-child(3) .et_pb_blurb_container {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

.pp-tarifs-offres .et_pb_row:nth-child(3) .et_pb_module_header,
.pp-tarifs-offres .et_pb_row:nth-child(3) .et_pb_module_header a,
.pp-tarifs-offres .et_pb_row:nth-child(3) h4 {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    margin: 0 0 26px !important;
    padding: 9px 16px;
    border-radius: var(--radius-pill);
    background: #f7f6f2;
    color: var(--color-texte) !important;
    font-size: 0.96rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.pp-tarifs-offres .et_pb_row:nth-child(3) .et_pb_column:nth-child(2) .et_pb_module_header,
.pp-tarifs-offres .et_pb_row:nth-child(3) .et_pb_column:nth-child(2) .et_pb_module_header a,
.pp-tarifs-offres .et_pb_row:nth-child(3) .et_pb_column:nth-child(2) h4 {
    background: rgba(247, 202, 77, 0.22);
    color: var(--color-vert) !important;
}

.pp-tarifs-offres .et_pb_row:nth-child(3) .et_pb_blurb_description {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

.pp-tarifs-offres .et_pb_row:nth-child(3) .et_pb_column p strong {
    display: inline-block;
    margin-right: 6px;
    color: var(--color-vert);
    font-size: clamp(3rem, 5vw, 4.15rem);
    font-weight: 900;
    line-height: 0.92;
}

.pp-tarifs-offres .et_pb_row:nth-child(3) .et_pb_blurb_description p {
    margin: 0 0 16px !important;
}

.pp-tarifs-offres .et_pb_row:nth-child(3) .et_pb_blurb_description p:first-child {
    color: var(--color-texte) !important;
    font-size: 1.05rem !important;
    font-weight: 500 !important;
    line-height: 1;
}

.pp-tarifs-offres .et_pb_row:nth-child(3) .et_pb_blurb_description p:nth-child(2) {
    min-height: 4.2em;
    margin-bottom: 26px !important;
    color: rgba(31, 41, 51, 0.78) !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: 1.42 !important;
}

.pp-tarifs-offres .et_pb_row:nth-child(3) .et_pb_blurb_description p:first-child strong {
    margin-right: 6px;
}

.pp-tarifs-offres .et_pb_row:nth-child(3) .et_pb_blurb_description p:last-child {
    margin: auto 0 0 !important;
}

.pp-tarifs-offres .et_pb_row:nth-child(3) .et_pb_blurb_description p:last-child a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 58px;
    padding: 0 28px;
    border: 2px solid var(--color-vert);
    border-radius: var(--radius-pill);
    background: var(--color-vert);
    color: var(--color-blanc) !important;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.15;
    text-align: center;
    text-decoration: none !important;
    box-shadow: 0 12px 24px rgba(62, 119, 66, 0.16);
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease;
}

.pp-tarifs-offres .et_pb_row:nth-child(3) .et_pb_blurb_description p:last-child a::after {
    content: "→";
    margin-left: auto;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1;
}

.pp-tarifs-offres .et_pb_row:nth-child(3) .et_pb_column:nth-child(2) .et_pb_blurb_description p:last-child a {
    border-color: var(--color-jaune);
    background: var(--color-jaune);
    color: var(--color-vert) !important;
    box-shadow: 0 12px 24px rgba(247, 202, 77, 0.24);
}

.pp-tarifs-offres .et_pb_row:nth-child(3) .et_pb_blurb_description p:last-child a:hover {
    background: var(--color-vert-fonce);
    color: var(--color-blanc) !important;
    border-color: var(--color-vert-fonce);
}

/* Variante sans toggle : la 2e ligne devient directement la grille des 3 Blurbs. */
.pp-tarifs-offres.pp-tarifs-offres--sans-toggle .et_pb_row:nth-child(2) {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 318px));
    gap: 30px !important;
    align-items: stretch !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 1060px !important;
    margin: 46px auto 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.pp-tarifs-offres.pp-tarifs-offres--sans-toggle .et_pb_row:nth-child(2)::after {
    display: none !important;
}

.pp-tarifs-offres.pp-tarifs-offres--sans-toggle .et_pb_row:nth-child(2) .et_pb_column {
    position: relative;
    display: flex !important;
    flex-direction: column !important;
    width: auto !important;
    min-height: 100%;
    margin: 0 !important;
    padding: 34px 30px 30px;
    border: 1.5px solid rgba(62, 119, 66, 0.16);
    border-radius: 24px;
    background:
        linear-gradient(180deg, rgba(247, 202, 77, 0.08) 0%, rgba(255, 255, 255, 0) 36%),
        var(--color-blanc);
    box-shadow: 0 18px 38px rgba(31, 41, 51, 0.055);
    overflow: hidden;
}

.pp-tarifs-offres.pp-tarifs-offres--sans-toggle .et_pb_row:nth-child(2) .et_pb_column:nth-child(2) {
    padding-top: 72px;
    border: 2px solid var(--color-jaune);
    background:
        linear-gradient(180deg, rgba(247, 202, 77, 0.14) 0%, rgba(255, 255, 255, 0) 38%),
        var(--color-blanc);
    box-shadow: 0 24px 52px rgba(62, 119, 66, 0.14);
    transform: translateY(-12px);
}

.pp-tarifs-offres.pp-tarifs-offres--sans-toggle .et_pb_row:nth-child(2) .et_pb_column:nth-child(2)::before {
    content: "★ Le plus populaire";
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 44px;
    background: var(--color-jaune);
    color: var(--color-vert);
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1;
}

.pp-tarifs-offres.pp-tarifs-offres--sans-toggle .et_pb_row:nth-child(2) .et_pb_blurb,
.pp-tarifs-offres.pp-tarifs-offres--sans-toggle .et_pb_row:nth-child(2) .et_pb_blurb_content,
.pp-tarifs-offres.pp-tarifs-offres--sans-toggle .et_pb_row:nth-child(2) .et_pb_blurb_container,
.pp-tarifs-offres.pp-tarifs-offres--sans-toggle .et_pb_row:nth-child(2) .et_pb_blurb_description {
    display: flex !important;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 100%;
    max-width: none;
    margin: 0 !important;
}

.pp-tarifs-offres.pp-tarifs-offres--sans-toggle .et_pb_row:nth-child(2) .et_pb_main_blurb_image {
    display: none !important;
}

.pp-tarifs-offres.pp-tarifs-offres--sans-toggle .et_pb_row:nth-child(2) .et_pb_module_header,
.pp-tarifs-offres.pp-tarifs-offres--sans-toggle .et_pb_row:nth-child(2) .et_pb_module_header a,
.pp-tarifs-offres.pp-tarifs-offres--sans-toggle .et_pb_row:nth-child(2) h4 {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    margin: 0 0 25px !important;
    padding: 9px 16px;
    border-radius: var(--radius-pill);
    background: #f7f6f2;
    color: var(--color-texte) !important;
    font-size: 0.96rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.pp-tarifs-offres.pp-tarifs-offres--sans-toggle .et_pb_row:nth-child(2) .et_pb_column:nth-child(2) .et_pb_module_header,
.pp-tarifs-offres.pp-tarifs-offres--sans-toggle .et_pb_row:nth-child(2) .et_pb_column:nth-child(2) .et_pb_module_header a,
.pp-tarifs-offres.pp-tarifs-offres--sans-toggle .et_pb_row:nth-child(2) .et_pb_column:nth-child(2) h4 {
    background: rgba(247, 202, 77, 0.24);
    color: var(--color-vert) !important;
}

.pp-tarifs-offres.pp-tarifs-offres--sans-toggle .et_pb_row:nth-child(2) .et_pb_blurb_description p {
    margin: 0 0 16px !important;
}

.pp-tarifs-offres.pp-tarifs-offres--sans-toggle .et_pb_row:nth-child(2) .et_pb_blurb_description p:first-child {
    display: flex;
    align-items: flex-end;
    gap: 7px;
    color: var(--color-texte) !important;
    font-size: 1.02rem !important;
    font-weight: 600 !important;
    line-height: 1.12 !important;
}

.pp-tarifs-offres.pp-tarifs-offres--sans-toggle .et_pb_row:nth-child(2) .et_pb_blurb_description p:first-child strong {
    color: var(--color-vert);
    font-size: clamp(3.35rem, 5vw, 4.45rem);
    font-weight: 900;
    line-height: 0.86;
}

.pp-tarifs-offres.pp-tarifs-offres--sans-toggle .et_pb_row:nth-child(2) .et_pb_blurb_description p:nth-child(2) {
    min-height: 4.1em;
    margin-bottom: 24px !important;
    color: rgba(31, 41, 51, 0.78) !important;
    font-size: 0.98rem !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
}

.pp-tarifs-offres.pp-tarifs-offres--sans-toggle .et_pb_row:nth-child(2) .et_pb_blurb_description p:last-child {
    margin: auto 0 0 !important;
}

.pp-tarifs-offres.pp-tarifs-offres--sans-toggle .et_pb_row:nth-child(2) .et_pb_blurb_description p:last-child a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 58px;
    padding: 0 26px;
    border: 2px solid var(--color-vert);
    border-radius: var(--radius-pill);
    background: var(--color-vert);
    color: var(--color-blanc) !important;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.15;
    text-align: center;
    text-decoration: none !important;
    box-shadow: 0 13px 26px rgba(62, 119, 66, 0.18);
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease;
}

.pp-tarifs-offres.pp-tarifs-offres--sans-toggle .et_pb_row:nth-child(2) .et_pb_blurb_description p:last-child a::after {
    content: "→";
    margin-left: auto;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1;
}

.pp-tarifs-offres.pp-tarifs-offres--sans-toggle .et_pb_row:nth-child(2) .et_pb_column:nth-child(2) .et_pb_blurb_description p:last-child a {
    border-color: var(--color-jaune);
    background: var(--color-jaune);
    color: var(--color-vert) !important;
    box-shadow: 0 13px 28px rgba(247, 202, 77, 0.26);
}

.pp-tarifs-offres.pp-tarifs-offres--sans-toggle .et_pb_row:nth-child(2) .et_pb_blurb_description p:last-child a:hover {
    background: var(--color-vert-fonce);
    border-color: var(--color-vert-fonce);
    color: var(--color-blanc) !important;
}

/* Module Tableaux de tarification Divi : transforme le tableau natif en cartes premium. */
.pp-tarifs-table {
    width: 100%;
    margin-top: 20px !important;
}

.pp-tarifs-table .et_pb_pricing_tables {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 304px));
    gap: 24px;
    align-items: start;
    justify-content: center;
    width: 100%;
    max-width: 1060px;
    margin: 25px auto !important;
}

.pp-tarifs-table .et_pb_pricing_table {
    position: relative;
    display: flex !important;
    flex-direction: column;
    justify-content: flex-start !important;
    gap: 18px !important;
    float: none !important;
    clear: none !important;
    width: auto !important;
    min-height: auto !important;
    margin: 0 !important;
    padding: 24px !important;
    border: 1.5px solid rgba(62, 119, 66, 0.16) !important;
    border-radius: 24px !important;
    background: var(--color-blanc) !important;
    box-shadow: none;
    overflow: hidden;
}

.pp-tarifs-table .et_pb_pricing_table:nth-child(2) {
    border: 2px solid var(--color-jaune) !important;
    background: var(--color-blanc) !important;
    box-shadow: 0 22px 46px rgba(62, 119, 66, 0.16);
    transform: translateY(-8px);
}

.pp-tarifs-table .et_pb_pricing_heading {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.pp-tarifs-table .et_pb_pricing_title {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    margin: 0 0 9px !important;
    padding: 8px 15px !important;
    border-radius: var(--radius-pill);
    background: #f7f6f2;
    color: var(--color-texte) !important;
    font-family: var(--font-base) !important;
    font-size: 0.98rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-align: left !important;
}

.pp-tarifs-table .et_pb_pricing_table:nth-child(2) .et_pb_pricing_title {
    background: var(--color-jaune);
    color: var(--color-vert) !important;
}

.pp-tarifs-table .et_pb_pricing_table:nth-child(2) .et_pb_best_value {
    color: var(--color-texte) !important;
    font-weight: 600 !important;
}

.pp-tarifs-table .et_pb_best_value {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-texte) !important;
    font-family: var(--font-base) !important;
    font-size: 0.96rem !important;
    font-weight: 500 !important;
    line-height: 1.18 !important;
    text-align: center !important;
}

.pp-tarifs-table .et_pb_pricing_content_top {
    min-height: auto !important;
    margin: 0 !important;
    padding: 0px !important;
    border: 0 !important;
}

.pp-tarifs-table .et_pb_et_price {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 6px;
    margin: 0 !important;
}

.pp-tarifs-table .et_pb_dollar_sign {
    order: 2;
    position: static !important;
    margin: 0 0 7px !important;
    color: var(--color-vert) !important;
    font-family: var(--font-base) !important;
    font-size: 1.35rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

.pp-tarifs-table .et_pb_sum {
    order: 1;
    color: var(--color-vert) !important;
    font-family: var(--font-base) !important;
    font-size: clamp(3.15rem, 4.65vw, 4.1rem) !important;
    font-weight: 900 !important;
    line-height: 0.82 !important;
    letter-spacing: 0 !important;
}

.pp-tarifs-table .et_pb_frequency {
    order: 3;
    margin: 0 0 7px !important;
    color: var(--color-vert) !important;
    font-family: var(--font-base) !important;
    font-size: 0 !important;
    font-weight: 500 !important;
    line-height: 1.1 !important;
}

.pp-tarifs-table .et_pb_frequency::before {
    content: "HT/mois";
    font-size: 0.92rem !important;
    font-weight: 500 !important;
}

.pp-tarifs-table .et_pb_pricing_content {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    padding: 0 28px !important;
    border: 0 !important;
}

.pp-tarifs-table .et_pb_pricing_content ul.et_pb_pricing {
    margin: 6px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.pp-tarifs-table .et_pb_pricing_content ul.et_pb_pricing li {
    position: relative;
    margin: 0 0 8px !important;
    padding: 0 0 0 1.55rem !important;
    list-style: none !important;
}

.pp-tarifs-table .et_pb_pricing_content ul.et_pb_pricing li::marker {
    content: "" !important;
}

.pp-tarifs-table .et_pb_pricing_content ul.et_pb_pricing li span::before,
.pp-tarifs-table .et_pb_pricing_content ul.et_pb_pricing li span::after {
    content: none !important;
    display: none !important;
}

.pp-tarifs-table .et_pb_pricing_content ul.et_pb_pricing li::before {
    content: "";
    position: absolute;
    top: 0.62em;
    left: 0.08rem;
    width: 0.72rem;
    height: 0.4rem;
    border-left: 2px solid var(--color-vert);
    border-bottom: 2px solid var(--color-vert);
    transform: translateY(-50%) rotate(-45deg);
}

.pp-tarifs-table .et_pb_button_wrapper {
    margin-top: 0px !important;
    padding: 0 !important;
    text-align: center !important;
}

body #page-container .pp-tarifs-table .et_pb_pricing_table_button,
body #page-container .pp-tarifs-table .et_pb_pricing_table_button.et_pb_button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: max-content !important;
    min-height: 42px !important;
    margin: 0 auto !important;
    padding: 0 18px !important;
    border: 1.5px solid var(--color-vert) !important;
    border-radius: var(--radius-pill) !important;
    background: transparent !important;
    color: var(--color-vert) !important;
    font-family: var(--font-base) !important;
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-align: center;
    text-decoration: none !important;
    box-shadow: none !important;
    transform: none !important;
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease !important;
}

body #page-container .pp-tarifs-table .et_pb_pricing_table_button::after,
body #page-container .pp-tarifs-table .et_pb_pricing_table_button.et_pb_button::after {
    display: none !important;
    content: none !important;
}

body #page-container .pp-tarifs-table .et_pb_pricing_table:nth-child(2) .et_pb_pricing_table_button,
body #page-container .pp-tarifs-table .et_pb_pricing_table:nth-child(2) .et_pb_pricing_table_button.et_pb_button {
    border-color: var(--color-vert) !important;
    background: var(--color-vert) !important;
    color: var(--color-blanc) !important;
    box-shadow: none !important;
}

body #page-container .pp-tarifs-table .et_pb_pricing_table:nth-child(2) .et_pb_pricing_table_button:hover,
body #page-container .pp-tarifs-table .et_pb_pricing_table:nth-child(2) .et_pb_pricing_table_button.et_pb_button:hover {
    border-color: var(--color-vert-fonce) !important;
    background: var(--color-vert-fonce) !important;
    color: var(--color-jaune) !important;
}

body #page-container .pp-tarifs-table .et_pb_pricing_table_button:hover,
body #page-container .pp-tarifs-table .et_pb_pricing_table_button.et_pb_button:hover {
    border-color: var(--color-vert) !important;
    background: var(--color-vert) !important;
    color: var(--color-blanc) !important;
    transform: none !important;
}

.pp-tarifs-offres .et_pb_text ul,
.pp-tarifs-offres .et_pb_blurb_description ul,
.pp-tarifs-aide ul {
    display: grid;
    gap: 10px;
    margin: 18px 0 22px !important;
    padding: 0 !important;
    list-style: none !important;
}

.pp-tarifs-offres .et_pb_text li,
.pp-tarifs-offres .et_pb_blurb_description li,
.pp-tarifs-aide li {
    display: flex;
    align-items: center;
    font-weight: 700 !important;
}

.pp-tarifs-offres .et_pb_text li::before,
.pp-tarifs-offres .et_pb_blurb_description li::before,
.pp-tarifs-aide li::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 9px;
    flex: 0 0 18px;
    background: var(--color-vert);
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5.5 5.6v5.2c0 4.1 2.5 7.9 6.5 9.2 4-1.3 6.5-5.1 6.5-9.2V5.6L12 3Z'/%3E%3Cpath d='m9.2 12 1.9 1.9 3.7-4.2'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5.5 5.6v5.2c0 4.1 2.5 7.9 6.5 9.2 4-1.3 6.5-5.1 6.5-9.2V5.6L12 3Z'/%3E%3Cpath d='m9.2 12 1.9 1.9 3.7-4.2'/%3E%3C/svg%3E");
    mask-position: center;
    -webkit-mask-position: center;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-size: contain;
    -webkit-mask-size: contain;
}

.pp-tarifs-offres .et_pb_button:not(.et_pb_pricing_table_button),
.pp-tarifs-aide .et_pb_button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: max-content;
    min-height: 52px !important;
    margin-top: auto !important;
    padding: 0 28px !important;
    border: 2px solid var(--color-vert) !important;
    border-radius: var(--radius-pill) !important;
    background: var(--color-blanc) !important;
    color: var(--color-vert) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    animation: none !important;
}

.pp-tarifs-offres .et_pb_button:not(.et_pb_pricing_table_button):hover,
.pp-tarifs-aide .et_pb_button:hover {
    background: var(--color-vert) !important;
    color: var(--color-blanc) !important;
    border-color: var(--color-vert) !important;
}

/* Grille complete : CTA + panneau deployable ou module Accordion Divi. */
.pp-tarifs-grille {
    position: relative;
    z-index: 1;
    padding-top: 18px !important;
}

.pp-tarifs-grille .et_pb_row {
    width: min(960px, calc(100% - 48px)) !important;
    max-width: 960px !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

.pp-tarifs-grille .et_pb_button_module_wrapper {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    text-align: center !important;
}

.pp-tarifs-grille-trigger {
    margin-right: auto !important;
    margin-left: auto !important;
    text-align: center !important;
}

.pp-tarifs-grille .et_pb_button_module_wrapper.pp-tarifs-grille-trigger,
.pp-tarifs-grille .et_pb_button_module_wrapper:has(.pp-tarifs-grille-trigger) {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    margin-bottom: 22px !important;
}

body #page-container .pp-tarifs-grille .pp-tarifs-grille-trigger .et_pb_button,
body #page-container .pp-tarifs-grille .et_pb_button.pp-tarifs-grille-trigger,
body #page-container .pp-tarifs-grille a.pp-tarifs-grille-trigger,
body #page-container .pp-tarifs-grille button.pp-tarifs-grille-trigger {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 52px !important;
    padding: 0 34px !important;
    border: 2px solid var(--color-vert) !important;
    border-radius: var(--radius-pill) !important;
    background: var(--color-blanc) !important;
    color: var(--color-vert) !important;
    font-family: var(--font-cta) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transform: none !important;
    overflow: visible !important;
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease !important;
}

body #page-container .pp-tarifs-grille .pp-tarifs-grille-trigger .et_pb_button:hover,
body #page-container .pp-tarifs-grille .et_pb_button.pp-tarifs-grille-trigger:hover,
body #page-container .pp-tarifs-grille a.pp-tarifs-grille-trigger:hover,
body #page-container .pp-tarifs-grille button.pp-tarifs-grille-trigger:hover,
.pp-tarifs-grille.is-open .pp-tarifs-grille-trigger .et_pb_button,
body #page-container .pp-tarifs-grille.is-open .et_pb_button.pp-tarifs-grille-trigger,
body #page-container .pp-tarifs-grille.is-open a.pp-tarifs-grille-trigger,
body #page-container .pp-tarifs-grille.is-open button.pp-tarifs-grille-trigger {
    border-color: var(--color-vert) !important;
    background: var(--color-vert) !important;
    color: var(--color-blanc) !important;
}

body #page-container .pp-tarifs-grille .pp-tarifs-grille-trigger .et_pb_button::after,
body #page-container .pp-tarifs-grille .et_pb_button.pp-tarifs-grille-trigger::after,
body #page-container .pp-tarifs-grille a.pp-tarifs-grille-trigger::after,
body #page-container .pp-tarifs-grille button.pp-tarifs-grille-trigger::after {
    content: none !important;
    display: none !important;
}

.pp-tarifs-grille.is-open .pp-tarifs-grille-trigger .et_pb_button::after,
.pp-tarifs-grille.is-open .et_pb_button.pp-tarifs-grille-trigger::after,
.pp-tarifs-grille.is-open a.pp-tarifs-grille-trigger::after,
.pp-tarifs-grille.is-open button.pp-tarifs-grille-trigger::after {
    content: none !important;
    display: none !important;
}

.pp-tarifs-grille-panel {
    display: block !important;
    position: relative;
    z-index: 1;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.28s ease;
}

.pp-tarifs-grille-panel[hidden] {
    display: none !important;
}

.pp-tarifs-grille:not(.is-open) .pp-tarifs-grille-panel {
    display: none !important;
    max-height: 0 !important;
}

.pp-tarifs-grille.is-open .pp-tarifs-grille-panel {
    display: block !important;
    margin-top: 0 !important;
    overflow: hidden;
}

.pp-tarifs-grille-panel .et_pb_text_inner {
    width: 100%;
    max-width: 880px;
    margin-right: auto;
    margin-left: auto;
    box-sizing: border-box;
    padding: 16px 44px 22px !important;
    overflow-x: auto;
}

.pp-tarifs-grille-panel table,
.pp-tarifs-grille .et_pb_accordion {
    border: 1px solid rgba(62, 119, 66, 0.16);
    border-radius: 22px;
    background: var(--color-blanc);
    overflow: visible;
    box-shadow: none !important;
}

.pp-tarifs-grille .et_pb_toggle {
    border: 0 !important;
    background: transparent !important;
    margin: 0 !important;
}

.pp-tarifs-grille .et_pb_toggle_title {
    min-height: 62px;
    padding: 20px 62px 20px 24px !important;
    color: var(--color-vert) !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    text-align: center;
}

.pp-tarifs-grille .et_pb_toggle_title::before {
    right: 24px !important;
    color: var(--color-vert) !important;
}

.pp-tarifs-grille .et_pb_toggle_content {
    padding: 0 24px 24px !important;
    overflow-x: auto;
}

.pp-tarifs-grille table {
    width: 100%;
    min-width: 620px;
    border-collapse: separate;
    border-spacing: 0;
    background: var(--color-blanc);
    border-radius: 22px;
    overflow: visible;
}

.pp-tarifs-grille th,
.pp-tarifs-grille td {
    padding: 18px 24px !important;
    border-bottom: 1px solid rgba(62, 119, 66, 0.10);
    text-align: left;
    vertical-align: middle;
}

.pp-tarifs-grille th {
    background: var(--color-blanc);
    color: var(--color-vert) !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}

.pp-tarifs-grille tbody tr {
    transition: background-color 0.18s ease;
}

.pp-tarifs-grille tbody tr:hover {
    background: rgba(62, 119, 66, 0.035);
}

.pp-tarifs-grille td:first-child {
    width: 30%;
    border-right: 1px solid rgba(62, 119, 66, 0.12);
    color: var(--color-vert) !important;
    font-size: 1.45rem !important;
    font-weight: 800 !important;
    white-space: nowrap;
}

.pp-tarifs-grille th:first-child {
    border-right: 1px solid rgba(62, 119, 66, 0.12);
}

.pp-tarifs-grille td:first-child span {
    color: var(--color-vert);
    font-size: 0.82rem;
    font-weight: 600;
    text-transform: uppercase;
}

.pp-tarifs-grille td:nth-child(2) {
    color: rgba(31, 41, 51, 0.86) !important;
    font-size: 0.98rem !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
}

.pp-tarifs-grille tr.is-recommended,
.pp-tarifs-grille tr.pp-tarif-recommande {
    position: relative;
    z-index: 2;
    background: transparent;
    filter: drop-shadow(0 13px 18px rgba(62, 119, 66, 0.12));
    transform: scaleX(1.035);
    transform-origin: center;
}

.pp-tarifs-grille tr.is-recommended td,
.pp-tarifs-grille tr.pp-tarif-recommande td {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
    border-top: 2px solid var(--color-jaune);
    border-bottom: 2px solid var(--color-jaune);
    background: transparent;
    box-shadow: none;
}

.pp-tarifs-grille tr.is-recommended td:first-child,
.pp-tarifs-grille tr.pp-tarif-recommande td:first-child {
    padding-left: 32px !important;
    border-left: 2px solid var(--color-jaune);
    border-top-left-radius: 16px;
    border-bottom-left-radius: 16px;
    background-color: #ffffff;
}

.pp-tarifs-grille tr.is-recommended td:last-child,
.pp-tarifs-grille tr.pp-tarif-recommande td:last-child {
    padding-right: 32px !important;
    border-right: 2px solid var(--color-jaune);
    border-top-right-radius: 16px;
    border-bottom-right-radius: 16px;
    background-color: #ffffff;
}

.pp-tarifs-grille .pp-tarif-badge {
    display: inline-flex;
    align-items: center;
    margin-left: 10px;
    padding: 6px 11px;
    border-radius: var(--radius-pill);
    background: var(--color-jaune);
    color: var(--color-vert);
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1;
}

.pp-tarifs-grille tr:last-child td {
    border-bottom: 0;
}

/* Aide au choix : ligne 2 colonnes. */
.pp-tarifs-aide .et_pb_row:nth-child(2) {
    display: grid !important;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.55fr);
    gap: 28px !important;
    align-items: stretch !important;
}

.pp-tarifs-aide .et_pb_row:nth-child(2)::after {
    display: none !important;
}

.pp-tarifs-aide .et_pb_row:nth-child(2) .et_pb_column {
    width: auto !important;
    margin: 0 !important;
    padding: 30px;
    border: 1.5px solid rgba(62, 119, 66, 0.14);
    border-radius: 24px;
    background: var(--color-blanc);
}

.pp-tarifs-aide .et_pb_row:nth-child(2) .et_pb_column:nth-child(2) {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    background: var(--color-jaune);
}

.pp-tarifs-aide .et_pb_row:nth-child(2) .et_pb_column:nth-child(2) .et_pb_button {
    background: var(--color-vert) !important;
    color: var(--color-blanc) !important;
}

@media (max-width: 980px) {
    .pp-tarifs-setup .et_pb_row,
    .pp-tarifs-offres .et_pb_row,
    .pp-tarifs-grille .et_pb_row,
    .pp-tarifs-aide .et_pb_row {
        width: min(100% - 40px, 1120px) !important;
    }

    .pp-tarifs-setup .et_pb_row:nth-child(2),
    .pp-tarifs-offres .et_pb_row:nth-child(2),
    .pp-tarifs-offres .et_pb_row:nth-child(3),
    .pp-tarifs-aide .et_pb_row:nth-child(2) {
        grid-template-columns: 1fr !important;
    }

    .pp-tarifs-offres .et_pb_row:nth-child(3) {
        max-width: 520px !important;
    }

    .pp-tarifs-offres.pp-tarifs-offres--sans-toggle .et_pb_row:nth-child(2) {
        max-width: 520px !important;
    }

    .pp-tarifs-table .et_pb_pricing_tables {
        grid-template-columns: 1fr !important;
        max-width: 520px;
    }

    .pp-tarifs-table .et_pb_pricing_table:nth-child(2) {
        transform: none;
    }

    .pp-tarifs-offres.pp-tarifs-offres--sans-toggle .et_pb_row:nth-child(2) .et_pb_column:nth-child(2) {
        transform: none;
    }

    .pp-tarifs-setup .et_pb_row:nth-child(2) .et_pb_column:nth-child(3) p {
        max-width: none;
    }
}

@media (max-width: 767px) {
    .pp-tarifs-setup,
    .pp-tarifs-offres,
    .pp-tarifs-grille,
    .pp-tarifs-aide {
        padding-top: 28px !important;
        padding-bottom: 28px !important;
    }

    .pp-tarifs-aide {
        padding-bottom: 70px !important;
    }

    .pp-tarifs-setup .et_pb_row,
    .pp-tarifs-offres .et_pb_row,
    .pp-tarifs-grille .et_pb_row,
    .pp-tarifs-aide .et_pb_row {
        width: min(100% - 32px, 1120px) !important;
    }

    .pp-tarifs-setup .et_pb_row:nth-child(2),
    .pp-tarifs-offres .et_pb_row:nth-child(3) .et_pb_column,
    .pp-tarifs-aide .et_pb_row:nth-child(2) .et_pb_column {
        padding: 22px !important;
        border-radius: 20px;
    }

    .pp-tarifs-offres .et_pb_row:nth-child(2) {
        width: min(100% - 32px, 360px) !important;
    }

    .pp-tarifs-offres.pp-tarifs-offres--sans-toggle .et_pb_row:nth-child(2) {
        width: min(100% - 32px, 520px) !important;
        margin-top: 32px !important;
    }

    .pp-tarifs-offres .et_pb_row:nth-child(2) .et_pb_column {
        flex: 1 1 50%;
    }

    .pp-tarifs-offres.pp-tarifs-offres--sans-toggle .et_pb_row:nth-child(2) .et_pb_column {
        flex: initial;
        padding: 24px !important;
        border-radius: 20px;
    }

    .pp-tarifs-offres.pp-tarifs-offres--sans-toggle .et_pb_row:nth-child(2) .et_pb_column:nth-child(2) {
        padding-top: 66px !important;
    }

    .pp-tarifs-offres .et_pb_row:nth-child(2) .et_pb_button {
        width: 100%;
    }

    .pp-tarifs-offres .et_pb_button,
    .pp-tarifs-aide .et_pb_button {
        width: 100%;
    }

    .pp-tarifs-table .et_pb_pricing_heading,
    .pp-tarifs-table .et_pb_pricing_content_top,
    .pp-tarifs-table .et_pb_pricing_content {
        padding-right: 24px !important;
        padding-left: 24px !important;
    }

    .pp-tarifs-table .et_pb_sum {
        font-size: clamp(3rem, 18vw, 4rem) !important;
    }

    .pp-tarifs-grille .et_pb_toggle_title {
        text-align: left;
    }

    .pp-tarifs-grille .et_pb_toggle_content {
        padding: 0 14px 18px !important;
    }

    .pp-tarifs-grille-panel .et_pb_text_inner {
        max-width: 520px;
        padding: 10px 12px 18px !important;
        overflow: visible;
    }

    .pp-tarifs-grille-panel table,
    .pp-tarifs-grille table {
        display: block;
        width: 100%;
        min-width: 0;
        border: 0 !important;
        outline: 0 !important;
        border-radius: 0;
        background: transparent;
        overflow: visible;
        box-shadow: none !important;
    }

    .pp-tarifs-grille thead,
    .pp-tarifs-grille tr:has(th) {
        display: none !important;
    }

    .pp-tarifs-grille tbody {
        display: block;
        width: 100%;
    }

    .pp-tarifs-grille tbody tr {
        display: block;
        width: 100%;
        margin: 0 0 12px;
        padding: 18px 18px 16px;
        border: 1px solid rgba(62, 119, 66, 0.14);
        border-radius: 18px;
        background: var(--color-blanc);
        box-sizing: border-box;
        box-shadow: none;
    }

    .pp-tarifs-grille tbody tr:hover {
        background: var(--color-blanc);
    }

    .pp-tarifs-grille th,
    .pp-tarifs-grille td {
        display: block;
        width: 100% !important;
        padding: 0 !important;
        border: 0 !important;
        text-align: left;
    }

    .pp-tarifs-grille td:first-child {
        margin-bottom: 8px;
        font-size: 1.55rem !important;
        line-height: 1.05 !important;
        white-space: normal;
    }

    .pp-tarifs-grille td:first-child span {
        margin-left: 4px;
        font-size: 0.74rem;
    }

    .pp-tarifs-grille td:nth-child(2) {
        font-size: 0.9rem !important;
        line-height: 1.42 !important;
    }

    .pp-tarifs-grille tr.is-recommended,
    .pp-tarifs-grille tr.pp-tarif-recommande {
        transform: none;
        filter: drop-shadow(0 10px 16px rgba(62, 119, 66, 0.12));
        border: 2px solid var(--color-jaune);
    }

    .pp-tarifs-grille tr.is-recommended td,
    .pp-tarifs-grille tr.pp-tarif-recommande td,
    .pp-tarifs-grille tr.is-recommended td:first-child,
    .pp-tarifs-grille tr.pp-tarif-recommande td:first-child,
    .pp-tarifs-grille tr.is-recommended td:last-child,
    .pp-tarifs-grille tr.pp-tarif-recommande td:last-child {
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0;
        background: transparent;
    }

    .pp-tarifs-grille tr.is-recommended td:first-child,
    .pp-tarifs-grille tr.pp-tarif-recommande td:first-child {
        margin-bottom: 8px;
    }

    .pp-tarifs-grille .pp-tarif-badge {
        margin-left: 8px;
        padding: 5px 9px;
        font-size: 0.68rem;
        vertical-align: middle;
    }

    .pp-focus-setup,
    .pp-focus-conseil,
    .pp-focus-plus,
    .pp-tarifs-focus-setup,
    .pp-tarifs-focus-conseil,
    .pp-tarifs-focus-plus {
        padding: 24px 62px 24px 22px !important;
        text-align: left;
    }

    .pp-section-wave-bottom-jaune.pp-section-wave-overlap .pp-focus-setup,
    .pp-section-wave-bottom-jaune.pp-section-wave-overlap .pp-focus-conseil,
    .pp-section-wave-bottom-jaune.pp-section-wave-overlap .pp-focus-plus,
    .pp-section-wave-bottom-jaune.pp-section-wave-overlap .pp-tarifs-focus-setup,
    .pp-section-wave-bottom-jaune.pp-section-wave-overlap .pp-tarifs-focus-conseil,
    .pp-section-wave-bottom-jaune.pp-section-wave-overlap .pp-tarifs-focus-plus,
    .pp-section-wave-bottom-vert.pp-section-wave-overlap .pp-focus-setup,
    .pp-section-wave-bottom-vert.pp-section-wave-overlap .pp-focus-conseil,
    .pp-section-wave-bottom-vert.pp-section-wave-overlap .pp-focus-plus,
    .pp-section-wave-bottom-vert.pp-section-wave-overlap .pp-tarifs-focus-setup,
    .pp-section-wave-bottom-vert.pp-section-wave-overlap .pp-tarifs-focus-conseil,
    .pp-section-wave-bottom-vert.pp-section-wave-overlap .pp-tarifs-focus-plus {
        margin-bottom: 0 !important;
        transform: translateY(24px);
    }

    .pp-focus-setup::before,
    .pp-focus-conseil::before,
    .pp-focus-plus::before,
    .pp-tarifs-focus-setup::before,
    .pp-tarifs-focus-conseil::before,
    .pp-tarifs-focus-plus::before {
        top: 22px;
        right: 22px;
        width: 40px;
        height: 40px;
    }

    .pp-focus-setup::after,
    .pp-focus-conseil::after,
    .pp-focus-plus::after,
    .pp-tarifs-focus-setup::after,
    .pp-tarifs-focus-conseil::after,
    .pp-tarifs-focus-plus::after {
        top: 33px;
        right: 33px;
        width: 18px;
        height: 18px;
    }
}

/* ============================================================
   RESPONSIVE — Correctifs finaux anti-regression
   ============================================================ */

/* ============================================================
   CARROUSEL PREMIUM - Apercus solution
   ============================================================ */

.pp-premium-carousel {
    --pp-carousel-radius: clamp(18px, 2vw, 28px);
    --pp-carousel-gutter: 0px;
    --pp-carousel-arrow-size: clamp(38px, 3.4vw, 48px);
    position: relative;
    isolation: isolate;
    width: min(1040px, 100%);
    margin-right: auto !important;
    margin-left: auto !important;
    padding: 0 0 30px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

.pp-preview-carousel-row {
    width: min(980px, calc(100% - 48px)) !important;
    max-width: 980px !important;
    margin: clamp(24px, 3.5vw, 44px) auto 0 !important;
    padding: 0 !important;
}

.pp-preview-carousel-row .et_pb_column,
.pp-preview-carousel-row .et_pb_module {
    margin-bottom: 0 !important;
}

.pp-preview-carousel-row + .et_pb_row {
    padding-top: 0 !important;
}

.pp-premium-carousel::before {
    content: "";
    position: absolute;
    right: 8%;
    bottom: 4px;
    left: 8%;
    z-index: -1;
    height: 28%;
    border-radius: 999px;
    background:
        radial-gradient(ellipse at center, rgba(62, 119, 66, 0.22), rgba(62, 119, 66, 0.08) 42%, transparent 72%);
    filter: blur(18px);
    opacity: 0.9;
}

.pp-premium-carousel .et_pb_slides,
.pp-premium-carousel .et_pb_slide,
.pp-premium-carousel .et_pb_gallery_items,
.pp-premium-carousel .et_pb_gallery_item,
.pp-premium-carousel .et_pb_gallery_image {
    overflow: hidden;
    border-radius: var(--pp-carousel-radius);
}

.pp-premium-carousel .et_pb_slides,
.pp-premium-carousel .et_pb_gallery_items {
    background: transparent !important;
    overflow: visible !important;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%);
}

.pp-premium-carousel .et_pb_container {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
}

.pp-premium-carousel .et_pb_slide,
.pp-premium-carousel .et_pb_gallery_item {
    min-height: 0 !important;
    padding: 0 !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

.pp-premium-carousel .et_pb_gallery_title,
.pp-premium-carousel .et_pb_gallery_caption,
.pp-premium-carousel .et_pb_gallery_item h3,
.pp-premium-carousel .et_pb_gallery_item p {
    display: none !important;
}

.pp-premium-carousel .et_pb_slide_image,
.pp-premium-carousel .et_pb_gallery_image {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    transform: none !important;
    background: rgba(255, 255, 255, 0.72);
    box-shadow:
        0 26px 70px rgba(31, 41, 51, 0.14),
        0 2px 0 rgba(255, 255, 255, 0.88) inset;
}

.pp-premium-carousel .et_pb_slide_image::after,
.pp-premium-carousel .et_pb_gallery_image::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, 0.62),
        inset 0 -80px 90px rgba(45, 106, 45, 0.10);
}

.pp-premium-carousel .et_pb_slide_image img,
.pp-premium-carousel .et_pb_gallery_image img {
    display: block;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 8.8;
    object-fit: contain;
    object-position: center;
    border-radius: var(--pp-carousel-radius);
    transform: scale(1.001);
}

.pp-premium-carousel .et_pb_slide_description {
    position: absolute;
    right: clamp(18px, 4vw, 56px);
    bottom: clamp(18px, 4vw, 46px);
    left: clamp(18px, 4vw, 56px);
    z-index: 3;
    width: auto !important;
    max-width: 560px;
    padding: clamp(16px, 2.6vw, 26px) !important;
    border: 1px solid rgba(255, 255, 255, 0.46);
    border-radius: 20px;
    background: rgba(45, 106, 45, 0.78);
    box-shadow: 0 18px 46px rgba(31, 41, 51, 0.18);
    text-align: left;
    backdrop-filter: blur(14px);
}

.pp-premium-carousel .et_pb_slide_description:empty {
    display: none;
}

.pp-premium-carousel .et_pb_slide_title,
.pp-premium-carousel .et_pb_slide_content {
    color: var(--color-blanc) !important;
    text-shadow: none !important;
}

.pp-premium-carousel .et_pb_slide_title {
    padding-bottom: 6px !important;
    font-size: clamp(1.25rem, 2.6vw, 2.05rem) !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
}

.pp-premium-carousel .et_pb_slide_content {
    font-size: clamp(0.92rem, 1.2vw, 1.04rem) !important;
    font-weight: 600;
    line-height: 1.48 !important;
}

.pp-premium-carousel .et-pb-slider-arrows a,
.pp-premium-carousel .et-pb-arrow-prev,
.pp-premium-carousel .et-pb-arrow-next,
.pp-premium-carousel .et-pb-controllers a {
    transition:
        background-color 0.22s ease,
        box-shadow 0.22s ease,
        opacity 0.22s ease,
        transform 0.22s ease;
}

.pp-premium-carousel .et-pb-arrow-prev,
.pp-premium-carousel .et-pb-arrow-next {
    width: var(--pp-carousel-arrow-size) !important;
    height: var(--pp-carousel-arrow-size) !important;
    margin-top: calc(var(--pp-carousel-arrow-size) / -2) !important;
    border: 1px solid rgba(255, 255, 255, 0.58);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--color-vert) !important;
    box-shadow: 0 14px 34px rgba(31, 41, 51, 0.16);
    opacity: 1 !important;
    backdrop-filter: blur(12px);
}

.pp-premium-carousel .et-pb-arrow-prev {
    left: clamp(8px, 2vw, 22px) !important;
}

.pp-premium-carousel .et-pb-arrow-next {
    right: clamp(8px, 2vw, 22px) !important;
}

.pp-premium-carousel .et-pb-arrow-prev::before,
.pp-premium-carousel .et-pb-arrow-next::before {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    font-size: clamp(24px, 2.4vw, 32px) !important;
    line-height: 1 !important;
}

.pp-premium-carousel .et-pb-arrow-prev:hover,
.pp-premium-carousel .et-pb-arrow-next:hover {
    background: var(--color-jaune);
    box-shadow: 0 18px 44px rgba(247, 202, 77, 0.34);
    transform: translateY(-1px);
}

.pp-premium-carousel .et-pb-controllers {
    position: static !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 5;
    display: inline-flex;
    justify-content: center;
    gap: 9px;
    width: auto;
    margin: 14px auto 0 !important;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    box-shadow: none;
    line-height: 0;
    text-align: center;
    transform: none;
    backdrop-filter: none;
}

.pp-premium-carousel .et-pb-controllers a {
    width: 9px !important;
    height: 9px !important;
    margin: 0 !important;
    border-radius: 999px;
    background: rgba(62, 119, 66, 0.24) !important;
    opacity: 1 !important;
}

.pp-premium-carousel .et-pb-controllers .et-pb-active-control {
    width: 26px !important;
    background: var(--color-vert) !important;
}

.pp-premium-carousel.pp-depth-ready {
    width: min(940px, 100%);
    padding-bottom: 0;
}

.pp-premium-carousel.pp-depth-ready::before {
    right: 16%;
    bottom: 32px;
    left: 16%;
    height: 24%;
    background:
        radial-gradient(ellipse at center, rgba(31, 41, 51, 0.18), rgba(62, 119, 66, 0.10) 48%, transparent 76%);
    filter: blur(24px);
}

.pp-premium-carousel.pp-depth-ready .et_pb_gallery_items,
.pp-premium-carousel.pp-depth-ready .et_pb_slides,
.pp-premium-carousel.pp-depth-ready .et-pb-slider-arrows,
.pp-premium-carousel.pp-depth-ready .et-pb-controllers {
    display: none !important;
}

.pp-depth-carousel {
    --pp-depth-stage-height: clamp(250px, 31vw, 380px);
    --pp-depth-main-width: min(640px, 68%);
    position: relative;
    padding: 0 0 10px;
}

.pp-depth-carousel__stage {
    position: relative;
    height: var(--pp-depth-stage-height);
    overflow: visible;
    perspective: 1400px;
    transform-style: preserve-3d;
    touch-action: pan-y;
    cursor: grab;
    user-select: none;
}

.pp-depth-carousel__stage.is-grabbing {
    cursor: grabbing;
}

.pp-depth-carousel__stage::before {
    content: "";
    position: absolute;
    inset: 10% -3% 13%;
    z-index: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, var(--color-blanc) 0%, rgba(255, 255, 255, 0) 14%, rgba(255, 255, 255, 0) 86%, var(--color-blanc) 100%);
}

.pp-depth-carousel__slide {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    display: block;
    width: var(--pp-depth-main-width);
    padding: 0;
    border: 0;
    border-radius: var(--pp-carousel-radius);
    background: transparent;
    cursor: pointer;
    opacity: 0;
    transform: translate3d(-50%, -50%, -180px) scale(0.64);
    transform-style: preserve-3d;
    transition:
        opacity 0.46s ease,
        filter 0.46s ease,
        transform 0.56s cubic-bezier(0.2, 0.72, 0.2, 1);
}

.pp-depth-carousel__slide img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center;
    border-radius: var(--pp-carousel-radius);
    box-shadow:
        0 30px 72px rgba(31, 41, 51, 0.18),
        0 1px 0 rgba(255, 255, 255, 0.74) inset;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 9%, #000 91%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0%, #000 9%, #000 91%, transparent 100%);
}

.pp-depth-carousel__slide.is-active {
    z-index: 4;
    opacity: 1;
    cursor: default;
    filter: none;
    transform: translate3d(-50%, -50%, 90px) scale(1);
}

.pp-depth-carousel__slide.is-active img {
    -webkit-mask-image: none;
    mask-image: none;
}

.pp-depth-carousel__slide.is-prev,
.pp-depth-carousel__slide.is-next {
    z-index: 2;
    opacity: 0.46;
    filter: saturate(0.82) contrast(0.94) blur(0.4px);
}

.pp-depth-carousel__slide.is-prev {
    transform: translate3d(-94%, -50%, -190px) scale(0.74) rotateY(14deg);
}

.pp-depth-carousel__slide.is-next {
    transform: translate3d(-6%, -50%, -190px) scale(0.74) rotateY(-14deg);
}

.pp-depth-carousel__slide.is-hidden {
    pointer-events: none;
}

.pp-depth-carousel__arrow {
    position: absolute;
    top: calc(var(--pp-depth-stage-height) / 2);
    z-index: 6;
    display: grid;
    width: var(--pp-carousel-arrow-size);
    height: var(--pp-carousel-arrow-size);
    padding: 0;
    place-items: center;
    border: 1px solid rgba(62, 119, 66, 0.10);
    border-radius: 999px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(255, 255, 255, 0.78));
    color: var(--color-vert);
    font-size: 0;
    line-height: 1;
    box-shadow:
        0 14px 32px rgba(31, 41, 51, 0.10),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
    cursor: pointer;
    transform: translateY(-50%);
    transition:
        background-color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
    backdrop-filter: blur(12px);
}

.pp-depth-carousel__arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 13px;
    height: 13px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    border-radius: 2px;
    opacity: 0.92;
}

.pp-depth-carousel__arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    opacity: 0.92;
}

.pp-depth-carousel__arrow--prev::before {
    transform: translate(-42%, -50%) rotate(-135deg);
}

.pp-depth-carousel__arrow--prev::after {
    transform: translate(-34%, -50%);
}

.pp-depth-carousel__arrow--next::before {
    transform: translate(-58%, -50%) rotate(45deg);
}

.pp-depth-carousel__arrow--next::after {
    transform: translate(-66%, -50%);
}

.pp-depth-carousel__arrow:hover {
    background: var(--color-vert);
    color: var(--color-blanc);
    box-shadow: 0 18px 46px rgba(62, 119, 66, 0.24);
    transform: translateY(-52%);
}

.pp-depth-carousel__arrow--prev {
    left: clamp(6px, 2vw, 22px);
}

.pp-depth-carousel__arrow--next {
    right: clamp(6px, 2vw, 22px);
}

.pp-depth-carousel__dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 9px;
    margin-top: 14px;
}

.pp-depth-carousel__dot {
    width: 7px;
    height: 7px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(62, 119, 66, 0.22);
    cursor: pointer;
    transition:
        background-color 0.2s ease,
        transform 0.2s ease,
        width 0.2s ease;
}

.pp-depth-carousel__dot.is-active {
    width: 30px;
    height: 8px;
    background: var(--color-vert);
}

@media (max-width: 980px) {
    .pp-preview-carousel-row {
        width: min(100% - 32px, 700px) !important;
        margin-top: 20px !important;
        margin-bottom: 0 !important;
    }

    .pp-premium-carousel {
        width: 100%;
        padding: 0;
    }

    .pp-premium-carousel .et_pb_slides,
    .pp-premium-carousel .et_pb_gallery_items {
        -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 5%, #000 95%, transparent 100%);
        mask-image: linear-gradient(90deg, transparent 0%, #000 5%, #000 95%, transparent 100%);
    }

    .pp-premium-carousel .et_pb_slide_image img,
    .pp-premium-carousel .et_pb_gallery_image img {
        aspect-ratio: 4 / 3;
    }

    .pp-premium-carousel .et_pb_slide_description {
        position: static;
        max-width: none;
        margin: 12px 0 0;
        background: var(--color-vert);
    }

    .pp-depth-carousel {
        --pp-depth-stage-height: clamp(200px, 46vw, 300px);
        --pp-depth-main-width: min(520px, 80%);
        padding-bottom: 56px;
    }

    .pp-depth-carousel__slide.is-prev {
        opacity: 0.22;
        transform: translate3d(-80%, -50%, -170px) scale(0.66) rotateY(8deg);
    }

    .pp-depth-carousel__slide.is-next {
        opacity: 0.22;
        transform: translate3d(-20%, -50%, -170px) scale(0.66) rotateY(-8deg);
    }

    .pp-depth-carousel__arrow {
        top: auto;
        bottom: 14px;
        width: 40px;
        height: 40px;
        transform: none;
    }

    .pp-depth-carousel__arrow:hover {
        transform: translateY(-1px);
    }

    .pp-depth-carousel__arrow--prev {
        left: calc(50% - 96px);
    }

    .pp-depth-carousel__arrow--next {
        right: calc(50% - 96px);
    }

    .pp-depth-carousel__dots {
        position: absolute;
        bottom: 29px;
        left: 50%;
        margin-top: 0;
        transform: translateX(-50%);
    }
}

@media (max-width: 640px) {
    .pp-preview-carousel-row {
        width: calc(100% - 24px) !important;
        margin-top: 18px !important;
        margin-bottom: 0 !important;
    }

    .pp-premium-carousel {
        --pp-carousel-radius: 18px;
        padding: 8px;
        border-radius: 26px;
    }

    .pp-premium-carousel .et_pb_slides,
    .pp-premium-carousel .et_pb_gallery_items {
        -webkit-mask-image: none;
        mask-image: none;
    }

    .pp-premium-carousel .et_pb_slide_image img,
    .pp-premium-carousel .et_pb_gallery_image img {
        aspect-ratio: 3 / 4;
    }

    .pp-premium-carousel .et-pb-arrow-prev,
    .pp-premium-carousel .et-pb-arrow-next {
        top: auto !important;
        bottom: 18px !important;
        width: 42px !important;
        height: 42px !important;
        margin-top: 0 !important;
    }

    .pp-premium-carousel .et-pb-arrow-prev {
        left: 18px !important;
    }

    .pp-premium-carousel .et-pb-arrow-next {
        right: 18px !important;
    }

    .pp-premium-carousel .et-pb-controllers {
        margin-top: 12px !important;
        padding: 0;
    }

    .pp-depth-carousel {
        --pp-depth-stage-height: clamp(170px, 52vw, 230px);
        --pp-depth-main-width: 90%;
        padding-bottom: 52px;
    }

    .pp-depth-carousel__stage::before {
        display: none;
    }

    .pp-depth-carousel__slide.is-prev,
    .pp-depth-carousel__slide.is-next {
        opacity: 0.16;
        filter: saturate(0.72) blur(1px);
    }

    .pp-depth-carousel__slide.is-prev {
        transform: translate3d(-70%, -50%, -150px) scale(0.62);
    }

    .pp-depth-carousel__slide.is-next {
        transform: translate3d(-30%, -50%, -150px) scale(0.62);
    }

    .pp-depth-carousel__arrow {
        top: auto;
        bottom: 10px;
        width: 36px;
        height: 36px;
    }

    .pp-depth-carousel__arrow--prev {
        left: calc(50% - 82px);
    }

    .pp-depth-carousel__arrow--next {
        right: calc(50% - 82px);
    }

    .pp-depth-carousel__dots {
        bottom: 24px;
    }

    .pp-depth-carousel__arrow::before {
        width: 11px;
        height: 11px;
        border-width: 2px;
    }

    .pp-depth-carousel__arrow::after {
        width: 14px;
        height: 2px;
    }
}

@media (max-width: 980px) {
    html body #page-container .et_pb_section.hero-section h2.highlighted {
        display: inline !important;
        padding: 2px 6px !important;
        color: var(--color-vert) !important;
        background-color: transparent !important;
        background-image: linear-gradient(var(--color-jaune), var(--color-jaune)) !important;
        background-repeat: no-repeat !important;
        background-position: left var(--highlight-position-y) !important;
        background-size: 100% var(--highlight-size-y) !important;
        box-decoration-break: clone;
        -webkit-box-decoration-break: clone;
    }

    html body #page-container .et_pb_section.hero-section--faq h2.highlighted {
        color: var(--color-jaune) !important;
        background-image: linear-gradient(var(--color-vert), var(--color-vert)) !important;
    }
}


/* ============================================================
   APP STORES
   ============================================================ */

.pp-app-store-section {
    padding: clamp(44px, 5vw, 72px) 0;
    background: var(--color-blanc);
    border-top: 1px solid rgba(62, 119, 66, 0.12);
}

.pp-app-store-section--green {
    background: var(--color-vert);
}

.pp-app-store-section--yellow {
    background: var(--color-jaune);
}

.pp-app-store-section__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(24px, 4vw, 56px);
    width: min(1060px, calc(100% - 48px));
    margin: 0 auto;
}

.pp-app-store-section--align-center .pp-app-store-section__inner {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
}

.pp-app-store-section__content {
    max-width: 620px;
}

.pp-app-store-section__eyebrow {
    margin: 0 0 8px;
    color: var(--color-vert);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.pp-app-store-section h2 {
    margin: 0 0 10px;
    padding: 0;
    color: var(--color-vert);
    font-size: clamp(1.55rem, 2.5vw, 2.15rem);
    font-weight: 900;
    line-height: 1.12;
}

.pp-app-store-section--green h2,
.pp-app-store-section--green .pp-app-store-section__eyebrow,
.pp-app-store-section--green .pp-app-store-section__content p:not(.pp-app-store-section__eyebrow) {
    color: var(--color-blanc);
}

.pp-app-store-section--green .pp-app-store-section__eyebrow {
    color: var(--color-jaune);
}

.pp-app-store-section__content p:not(.pp-app-store-section__eyebrow) {
    margin: 0;
    color: var(--pp-muted);
    font-size: 0.98rem;
    font-weight: 500;
    line-height: 1.55;
}

.pp-app-store-links {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    gap: 12px;
    flex-wrap: wrap;
}

.pp-app-store-links--align-center {
    justify-content: center;
}

.pp-app-store-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: 184px;
    min-height: 64px;
    padding: 10px 16px;
    border: 1.5px solid rgba(62, 119, 66, 0.22);
    border-radius: 16px;
    background: var(--color-vert);
    color: var(--color-blanc) !important;
    text-decoration: none !important;
    box-shadow: 0 14px 28px rgba(31, 41, 51, 0.12);
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}

.pp-app-store-links--light .pp-app-store-link {
    background: var(--color-blanc);
    color: var(--color-vert) !important;
}

.pp-app-store-links--light .pp-app-store-link__label {
    color: var(--color-vert);
}

.pp-app-store-links--light .pp-app-store-link__kicker,
.pp-app-store-links--light .pp-app-store-link__meta {
    color: rgba(62, 119, 66, 0.72);
}

.pp-app-store-links--yellow .pp-app-store-link {
    background: var(--color-jaune);
    color: var(--color-vert) !important;
}

.pp-app-store-links--yellow .pp-app-store-link__icon {
    background: var(--color-vert);
    color: var(--color-jaune);
}

.pp-app-store-links--yellow .pp-app-store-link__label {
    color: var(--color-vert);
}

.pp-app-store-links--yellow .pp-app-store-link__kicker,
.pp-app-store-links--yellow .pp-app-store-link__meta {
    color: rgba(62, 119, 66, 0.72);
}

.pp-app-store-links--hero {
    gap: 8px;
    margin-top: 8px;
}

.et_pb_module:has(.pp-app-store-links--hero),
.et_pb_text:has(.pp-app-store-links--hero) {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.et_pb_text:has(+ .et_pb_module .pp-app-store-links--hero),
.et_pb_text:has(+ .et_pb_text .pp-app-store-links--hero) {
    margin-bottom: 6px !important;
}

.et_pb_section.hero-section .et_pb_text:has(+ .et_pb_module .pp-app-store-links--hero),
.et_pb_section.hero-section .et_pb_text:has(+ .et_pb_text .pp-app-store-links--hero) {
    margin-bottom: -8px !important;
}

.et_pb_section.hero-section .et_pb_text:has(+ .et_pb_module .pp-app-store-links--hero) p:last-child,
.et_pb_section.hero-section .et_pb_text:has(+ .et_pb_text .pp-app-store-links--hero) p:last-child {
    margin-bottom: 0 !important;
}

.et_pb_section.hero-section .et_pb_module:has(.pp-app-store-links--hero),
.et_pb_section.hero-section .et_pb_text:has(.pp-app-store-links--hero) {
    padding-top: 0 !important;
}

.pp-app-store-links--official,
.pp-app-store-links--hero,
.pp-app-store-links--footer {
    align-items: center;
    gap: 12px;
}

.pp-app-store-links--badges {
    opacity: 0;
    transition: opacity 0.16s ease;
}

.pp-app-store-links--badges.is-ready {
    opacity: 1;
}

.pp-app-store-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    height: 48px;
    line-height: 0;
    text-decoration: none !important;
    transition:
        filter 0.2s ease,
        transform 0.2s ease;
}

.pp-app-store-badge--app_store {
    width: 144px;
}

.pp-app-store-badge--google_play {
    width: 152px;
}

.pp-app-store-badge:hover,
.pp-app-store-badge:focus-visible {
    filter: drop-shadow(0 12px 18px rgba(31, 41, 51, 0.22));
    transform: translateY(-2px);
}

.pp-app-store-badge__image {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: contain;
}

.pp-app-store-links--hero .pp-app-store-badge__image {
    height: 100%;
}

.pp-app-store-links--hero .pp-app-store-badge {
    height: 42px;
}

.pp-app-store-links--hero .pp-app-store-badge--app_store {
    width: 126px;
}

.pp-app-store-links--hero .pp-app-store-badge--google_play {
    width: 134px;
}

.pp-app-store-links--footer {
    gap: 6px;
    align-items: center;
    justify-content: flex-start;
    width: max-content;
    max-width: 100%;
    margin-top: 0;
}

.pp-app-store-links--footer .pp-app-store-badge {
    height: 30px;
}

.pp-app-store-links--footer .pp-app-store-badge--app_store {
    width: 95px;
}

.pp-app-store-links--footer .pp-app-store-badge--google_play {
    width: 101px;
}

.et-l--footer .et_pb_social_media_follow,
.et-l--footer .et_pb_module:has(.et_pb_social_media_follow) {
    margin-bottom: 0 !important;
}

.et-l--footer .et_pb_column_2_tb_footer .et_pb_module:has(.et_pb_social_media_follow) {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-left: -11px !important;
}

.et-l--footer .et_pb_module:has(.pp-app-store-links--footer),
.et-l--footer .et_pb_text:has(.pp-app-store-links--footer) {
    width: 100%;
    max-width: 100%;
    margin-top: 6px !important;
    margin-bottom: 0 !important;
    margin-left: -11px !important;
    padding-top: 0 !important;
}

.et-l--footer .et_pb_code_0_tb_footer .et_pb_code_inner {
    display: flex !important;
    justify-content: flex-start !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.et_pb_column_2_tb_footer .et_pb_menu,
.et_pb_column_2_tb_footer .et_pb_social_media_follow,
.et_pb_column_2_tb_footer .et_pb_code_0_tb_footer,
.et_pb_column_2_tb_footer .et_pb_module:has(.pp-app-store-links--footer) {
    text-align: left !important;
}

.pp-app-store-links--hero .pp-app-store-link {
    min-width: 0;
    min-height: 42px;
    padding: 7px 12px;
    border-radius: var(--radius-pill);
    box-shadow: none;
}

.pp-app-store-links--hero .pp-app-store-link__icon {
    width: 24px;
    height: 24px;
    flex-basis: 24px;
    border-radius: 8px;
}

.pp-app-store-links--hero .pp-app-store-link__icon::before {
    width: 15px;
    height: 15px;
}

.pp-app-store-links--hero .pp-app-store-link__kicker,
.pp-app-store-links--hero .pp-app-store-link__meta {
    display: none;
}

.pp-app-store-links--hero .pp-app-store-link__label {
    font-size: 0.82rem;
    line-height: 1;
}

.pp-app-store-links--inline {
    gap: 10px;
    align-items: center;
}

.pp-app-store-links--inline .pp-app-store-link {
    min-width: 0;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--color-vert) !important;
    box-shadow: none;
    transform: none;
}

.pp-app-store-links--inline .pp-app-store-link:hover,
.pp-app-store-links--inline .pp-app-store-link:focus-visible {
    box-shadow: none;
    transform: none;
    text-decoration: underline !important;
}

.pp-app-store-links--inline .pp-app-store-link__icon,
.pp-app-store-links--inline .pp-app-store-link__kicker,
.pp-app-store-links--inline .pp-app-store-link__meta {
    display: none;
}

.pp-app-store-links--inline .pp-app-store-link__label {
    color: var(--color-vert);
    font-size: 0.9rem;
    font-weight: 800;
}

.pp-app-store-link:hover,
.pp-app-store-link:focus-visible {
    border-color: var(--color-jaune);
    box-shadow: 0 18px 34px rgba(31, 41, 51, 0.16);
    transform: translateY(-2px);
}

.pp-app-store-link__icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: 10px;
    background: var(--color-jaune);
    color: var(--color-vert);
}

.pp-app-store-link__icon::before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background: currentColor;
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
}

.pp-app-store-link--app_store .pp-app-store-link__icon::before {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 3.5h8A2.5 2.5 0 0 1 18.5 6v12A2.5 2.5 0 0 1 16 20.5H8A2.5 2.5 0 0 1 5.5 18V6A2.5 2.5 0 0 1 8 3.5Zm2 1.7v.9h4v-.9h-4Zm2 13.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 3.5h8A2.5 2.5 0 0 1 18.5 6v12A2.5 2.5 0 0 1 16 20.5H8A2.5 2.5 0 0 1 5.5 18V6A2.5 2.5 0 0 1 8 3.5Zm2 1.7v.9h4v-.9h-4Zm2 13.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'/%3E%3C/svg%3E");
}

.pp-app-store-link--google_play .pp-app-store-link__icon::before {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 3.7c-.3.3-.5.7-.5 1.3v14c0 .5.2 1 .5 1.3l7.7-8.3L5 3.7Zm8.7 7.2 2.1-2.3-8-4.6 5.9 6.9Zm2.1 4.5-2.1-2.3-5.9 6.9 8-4.6Zm1.3-5.9-2.4 2.5 2.4 2.5 1.7-1c1.1-.6 1.1-2.2 0-2.8l-1.7-1.2Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 3.7c-.3.3-.5.7-.5 1.3v14c0 .5.2 1 .5 1.3l7.7-8.3L5 3.7Zm8.7 7.2 2.1-2.3-8-4.6 5.9 6.9Zm2.1 4.5-2.1-2.3-5.9 6.9 8-4.6Zm1.3-5.9-2.4 2.5 2.4 2.5 1.7-1c1.1-.6 1.1-2.2 0-2.8l-1.7-1.2Z'/%3E%3C/svg%3E");
}

.pp-app-store-link__text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.pp-app-store-link__kicker,
.pp-app-store-link__meta {
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1.1;
}

.pp-app-store-link__label {
    color: var(--color-blanc);
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.05;
}

@media (max-width: 980px) {
    .pp-app-store-section__inner {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .pp-app-store-section__content {
        max-width: none;
    }

    .pp-app-store-links {
        justify-content: center;
    }
}

@media (max-width: 560px) {
    .pp-app-store-section__inner {
        width: min(100% - 32px, 1060px);
    }

    .pp-app-store-link {
        width: 100%;
        max-width: 320px;
    }

    .pp-app-store-links--hero,
    .pp-app-store-links--official {
        flex-direction: column;
        align-items: center;
    }

    .pp-app-store-links--hero .pp-app-store-badge,
    .pp-app-store-links--official .pp-app-store-badge {
        width: 190px;
        height: 63px;
    }

    .pp-app-store-links--hero .pp-app-store-badge__image,
    .pp-app-store-links--official .pp-app-store-badge__image {
        width: 100%;
        height: 100%;
    }
}
