    body.lp-v2 {
        --m: #002854;
        --m2: #0a3a72;
        --o: #E88A28;
        --r: #E03927;
        --r2: #c42e1f;
        --fond: #f3f5f9;
        --t: #1f2a3a;
        --g: #5b6677;
        margin: 0;
        background: #fff;
        color: var(--t);
        font-family: "Open Sans", Arial, sans-serif;
        font-size: 16px;
        line-height: 1.6;
        padding: 0 !important
    }

    body.lp-v2.lp-v2-don {
        background: var(--m)
    }

    .lp-v2 *, .lp-v2 *::before, .lp-v2 *::after {
        box-sizing: border-box
    }

    .lp-v2 a {
        color: var(--m2)
    }

    .lp-v2 strong, .lp-v2 b {
        color: inherit
    }

    .lp-v2 .lp-hp, .lp-v2 .lp2-cache {
        position: absolute !important;
        left: -9999px !important;
        opacity: 0
    }

    .lp2-haut {
        display: flex;
        align-items: center;
        gap: 12px;
        background: var(--o);
        padding: 10px 20px;
        position: sticky;
        top: 0;
        z-index: 50;
        box-shadow: 0 2px 8px rgba(0, 0, 0, .12)
    }

    .lp2-logo img {
        display: block;
        height: 52px;
        width: auto
    }

    .lp2-apercu {
        background: #fff3c4;
        color: #7a5a00;
        font: 700 12px/1 Poppins, sans-serif;
        text-transform: uppercase;
        letter-spacing: .06em;
        padding: 6px 9px;
        border-radius: 20px
    }

    .lp2-haut-liens {
        margin-left: auto;
        display: flex;
        gap: 10px
    }

    .lp2-haut-liens a {
        font: 700 14px/1 Poppins, sans-serif;
        text-transform: uppercase;
        text-decoration: none;
        padding: 12px 16px;
        border-radius: 6px
    }

    .lp2-lien-don {
        background: var(--r);
        color: #fff !important
    }

    .lp2-lien-adh {
        background: var(--m);
        color: #fff !important
    }

    .lp2 h1, .lp2 h2, .lp2 h3, .lp2-mdp h1 {
        font-family: Poppins, sans-serif;
        color: var(--m);
        margin: 0
    }

    .lp2-in {
        max-width: 1140px;
        margin: 0 auto;
        padding: 0 20px
    }

    .lp2-etroit {
        max-width: 860px
    }

    .lp2-section {
        padding: 64px 0
    }

    .lp2-fond {
        background: var(--fond)
    }

    .lp2-surtitre {
        font: 700 13px/1.2 Poppins, sans-serif;
        letter-spacing: .14em;
        text-transform: uppercase;
        color: var(--r);
        margin: 0 0 10px;
        text-align: center
    }

    .lp2-surtitre.clair {
        color: #ffd2a6;
        text-align: left
    }

    .lp2-h2 {
        font-size: clamp(26px, 4vw, 40px) !important;
        line-height: 1.15 !important;
        text-transform: uppercase;
        text-align: center;
        font-weight: 700 !important;
        margin: 0 0 14px !important
    }

    .lp2-chapo {
        text-align: center;
        color: var(--g);
        max-width: 720px;
        margin: 0 auto 36px
    }

    .lp2-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        background: var(--r);
        color: #fff !important;
        border: 0;
        border-radius: 6px;
        padding: 15px 26px;
        font: 700 15px/1.2 Poppins, sans-serif;
        text-transform: uppercase;
        letter-spacing: .03em;
        text-decoration: none;
        cursor: pointer;
        transition: background .15s, transform .15s
    }

    .lp2-btn:hover {
        background: var(--r2);
        transform: translateY(-1px)
    }

    .lp2-btn.marine {
        background: var(--m)
    }

    .lp2-btn.marine:hover {
        background: var(--m2)
    }

    .lp2-hero {
        background-size: cover;
        background-position: 70% 30%;
        min-height: 460px;
        display: flex;
        align-items: center
    }

    .lp2-hero-in {
        max-width: 1140px;
        width: 100%;
        margin: 0 auto;
        padding: 56px 20px;
        color: #fff
    }

    .lp2-hero-in > * {
        max-width: 560px
    }

    .lp2-hero .lp2-surtitre {
        color: #ffd2a6;
        text-align: left
    }

    .lp2-hero h1 {
        color: #fff !important;
        font-size: clamp(40px, 7vw, 72px) !important;
        line-height: 1 !important;
        text-transform: uppercase;
        font-weight: 700 !important;
        margin: 0 0 18px !important
    }

    .lp2-hero p {
        font-size: 18px;
        margin: 0 0 26px
    }

    .lp2-fiscal {
        background: linear-gradient(120deg, var(--m) 0%, #0d3f7c 100%);
        color: #fff;
        padding: 56px 0
    }

    .lp2-fiscal-in {
        display: grid;
        grid-template-columns: 1.2fr 1fr;
        gap: 40px;
        align-items: center
    }

    .lp2-fiscal h2 {
        color: #fff !important;
        font-size: clamp(26px, 3.6vw, 38px) !important;
        line-height: 1.2 !important;
        text-transform: uppercase;
        font-weight: 700 !important;
        margin: 0 0 16px !important
    }

    .lp2-pastille {
        display: inline-block;
        background: var(--r);
        color: #fff;
        border-radius: 40px;
        padding: 2px 18px;
        margin-right: 4px
    }

    .lp2-fiscal p {
        color: rgba(255, 255, 255, .85);
        margin: 0
    }

    .lp2-exemples {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px
    }

    .lp2-exemple {
        background: rgba(255, 255, 255, .08);
        border: 1px solid rgba(255, 255, 255, .2);
        border-radius: 12px;
        padding: 20px;
        display: flex;
        flex-direction: column;
        gap: 4px
    }

    .lp2-exemple span {
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: .08em;
        color: rgba(255, 255, 255, .7)
    }

    .lp2-exemple strong {
        font: 700 26px/1.2 Poppins, sans-serif;
        color: #fff;
        margin-bottom: 6px
    }

    .lp2-exemple b {
        font-size: 14px
    }

    .lp2-cartes {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 22px;
        margin: 0
    }

    .lp2-cartes-form {
        display: contents
    }

    .lp2-carte {
        position: relative;
        display: flex;
        flex-direction: column;
        background: #fff;
        border: 1px solid #e3e7ee;
        border-radius: 14px;
        padding: 26px 22px 22px;
        box-shadow: 0 6px 24px rgba(0, 40, 84, .07)
    }

    .lp2-carte.reco {
        border: 2px solid var(--r);
        box-shadow: 0 10px 30px rgba(224, 57, 39, .18)
    }

    .lp2-badge {
        position: absolute;
        z-index: 2;
        top: -20px;
        left: 50%;
        transform: translateX(-50%);
        background: var(--r);
        color: #fff;
        font: 700 12px/1 Poppins, sans-serif;
        text-transform: uppercase;
        letter-spacing: .06em;
        padding: 7px 14px;
        border-radius: 20px;
        white-space: nowrap
    }

    .lp2-carte-tete {
        text-align: center;
        border-bottom: 1px solid #e9edf3;
        padding-bottom: 16px;
        margin-bottom: 16px
    }

    .lp2-carte-img {
        display: block;
        width: calc(100% + 44px);
        max-width: none;
        height: auto;
        aspect-ratio: 5/4;
        object-fit: cover;
        margin: -26px -22px 4px;
        border-radius: 13px 13px 0 0
    }

    .lp2-carte.reco .lp2-carte-img {
        width: calc(100% + 42px);
        margin: -25px -21px 4px;
        border-radius: 12px 12px 0 0
    }

    .lp2-img-libre {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 10px;
        background: linear-gradient(135deg, var(--m) 0%, #0d3f7c 100%);
        color: #fff;
        font: 700 22px/1 Poppins, sans-serif;
        text-transform: uppercase;
        letter-spacing: .04em
    }

    .lp2-img-libre .lp2-ico {
        width: 44px;
        height: 44px;
        color: var(--o)
    }

    .lp2-pictos {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 52px;
        height: 52px;
        border-radius: 12px;
        background: #eef2f8;
        color: var(--m);
        flex: none
    }

    .lp2-carte.reco .lp2-pictos {
        background: #fdecea;
        color: var(--r)
    }

    .lp2-carte h3 {
        font-size: 16px !important;
        text-transform: uppercase;
        letter-spacing: .08em;
        margin: 12px 0 6px !important;
        color: var(--m) !important
    }

    .lp2-prix {
        margin: 0;
        color: var(--g)
    }

    .lp2-prix strong {
        font: 700 44px/1.1 Poppins, sans-serif;
        color: var(--m)
    }

    .lp2-net {
        margin: 4px 0 0;
        font-size: 14px;
        color: var(--g)
    }

    .lp2-net b {
        color: var(--r);
        font-size: 17px
    }

    .lp2-carte-texte {
        font-size: 14.5px;
        color: var(--t);
        margin: 0 0 20px;
        flex: 1
    }

    .lp2-carte .lp2-btn {
        width: 100%
    }

    .lp2-libre {
        margin: 0
    }

    .lp2-saisie {
        display: flex;
        align-items: center;
        border: 2px solid #d5dbe5;
        border-radius: 8px;
        overflow: hidden;
        margin: 0 0 4px
    }

    .lp2-saisie input {
        flex: 1;
        border: 0 !important;
        padding: 12px 14px !important;
        font: 700 20px Poppins, sans-serif !important;
        color: var(--m);
        min-width: 0;
        background: #fff !important;
        box-shadow: none !important;
        height: auto !important;
        margin: 0 !important
    }

    .lp2-saisie span {
        padding: 0 14px;
        font: 700 18px Poppins, sans-serif;
        color: var(--g)
    }

    .lp2-libre-net {
        text-align: center;
        margin: 0 0 14px;
        min-height: 1.6em
    }

    .lp2-note {
        text-align: center;
        color: var(--g);
        font-size: 14px;
        margin: 30px auto 0;
        max-width: 760px
    }

    .lp2-simu {
        max-width: 760px;
        margin: 0 auto;
        background: #fff;
        border-radius: 16px;
        padding: 40px 36px;
        box-shadow: 0 10px 36px rgba(0, 40, 84, .08);
        text-align: center
    }

    .lp2-simu input[type=range] {
        -webkit-appearance: none;
        appearance: none;
        width: 100%;
        height: 8px;
        border-radius: 8px;
        background: #dfe3ea;
        outline: none;
        margin: 10px 0 6px;
        border: 0;
        padding: 0
    }

    .lp2-simu input[type=range]::-webkit-slider-thumb {
        -webkit-appearance: none;
        width: 26px;
        height: 26px;
        border-radius: 50%;
        background: var(--r);
        border: 4px solid #fff;
        box-shadow: 0 2px 8px rgba(0, 0, 0, .25);
        cursor: pointer
    }

    .lp2-simu input[type=range]::-moz-range-thumb {
        width: 20px;
        height: 20px;
        border-radius: 50%;
        background: var(--r);
        border: 4px solid #fff;
        box-shadow: 0 2px 8px rgba(0, 0, 0, .25);
        cursor: pointer
    }

    .lp2-graduation {
        position: relative;
        height: 18px;
        font-size: 12px;
        color: var(--g);
        margin: 0 0 24px
    }

    .lp2-graduation span {
        position: absolute;
        top: 0;
        transform: translateX(-50%);
        white-space: nowrap
    }

    .lp2-graduation span:first-child {
        transform: none
    }

    .lp2-graduation span:last-child {
        transform: translateX(-100%)
    }

    .lp2-simu-res {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
        gap: 10px;
        background: var(--fond);
        border-radius: 12px;
        padding: 18px
    }

    .lp2-simu-res span {
        display: block;
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: .08em;
        color: var(--g)
    }

    .lp2-simu-res strong {
        font: 700 30px/1.2 Poppins, sans-serif;
        color: var(--m)
    }

    .lp2-simu-res strong.rouge {
        color: var(--r)
    }

    .lp2-fleche {
        font-size: 24px;
        color: var(--m)
    }

    .lp2-simu-reel {
        margin: 18px 0 4px;
        color: var(--m);
        font-weight: 600
    }

    .lp2-simu-reel b {
        color: var(--r);
        font-size: 20px
    }

    .lp2-simu-reco {
        color: var(--g);
        margin: 0 0 20px;
        font-size: 14px
    }

    .lp2-avantages {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 30px 36px
    }

    .lp2-avantage {
        display: flex;
        gap: 16px;
        align-items: flex-start
    }

    .lp2-avantage .lp2-pictos {
        background: #fdecea;
        color: var(--r);
        width: 46px;
        height: 46px
    }

    .lp2-avantage h3 {
        font-size: 15px !important;
        text-transform: uppercase;
        letter-spacing: .04em;
        margin: 2px 0 6px !important;
        color: var(--m) !important
    }

    .lp2-avantage p {
        margin: 0;
        font-size: 14.5px;
        color: var(--g)
    }

    .lp2-q {
        background: #fff;
        border: 1px solid #e3e7ee;
        border-radius: 10px;
        margin: 0 0 12px;
        overflow: hidden
    }

    .lp2-q summary {
        cursor: pointer;
        list-style: none;
        padding: 18px 52px 18px 22px;
        font: 600 15.5px/1.4 Poppins, sans-serif;
        color: var(--m);
        position: relative
    }

    .lp2-q summary::-webkit-details-marker {
        display: none
    }

    .lp2-q summary::after {
        content: "+";
        position: absolute;
        right: 22px;
        top: 50%;
        transform: translateY(-50%);
        font-size: 24px;
        color: var(--r);
        font-weight: 400
    }

    .lp2-q[open] summary::after {
        content: "−"
    }

    .lp2-q > div {
        padding: 0 22px 16px;
        font-size: 14.5px;
        color: var(--t)
    }

    .lp2-q > div p {
        margin: 0 0 10px
    }

    .lp2-modes {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 14px;
        max-width: 860px;
        margin: 0 auto
    }

    .lp2-mode {
        position: relative;
        cursor: pointer;
        margin: 0
    }

    .lp2-mode input {
        position: absolute;
        opacity: 0;
        pointer-events: none
    }

    .lp2-mode > span {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 3px;
        height: 100%;
        padding: 20px 12px 18px;
        background: #fff;
        border: 2px solid #d5dbe5;
        border-radius: 12px;
        transition: border-color .15s, box-shadow .15s
    }

    .lp2-mode:hover > span {
        border-color: #aab4c5
    }

    .lp2-mode .lp2-ico {
        width: 32px;
        height: 32px;
        color: var(--m);
        margin-bottom: 6px
    }

    .lp2-mode strong {
        font: 700 15px/1.2 Poppins, sans-serif;
        color: var(--m);
        text-transform: uppercase
    }

    .lp2-mode small {
        font-size: 13px;
        color: var(--g)
    }

    .lp2-mode input:checked + span {
        border-color: var(--r);
        box-shadow: 0 8px 22px rgba(224, 57, 39, .18)
    }

    .lp2-mode input:checked + span .lp2-ico {
        color: var(--r)
    }

    .lp2-mode input:checked + span::after {
        content: "✓";
        position: absolute;
        top: 8px;
        right: 8px;
        width: 22px;
        height: 22px;
        border-radius: 50%;
        background: var(--r);
        color: #fff;
        font: 700 13px/22px Poppins, sans-serif;
        text-align: center
    }

    .lp2-mode input:focus-visible + span {
        outline: 3px solid var(--o);
        outline-offset: 2px
    }

    .lp2-panneau {
        max-width: 860px;
        margin: 20px auto 0;
        background: #fff;
        border: 1px solid #e3e7ee;
        border-left: 4px solid var(--r);
        border-radius: 0 12px 12px 0;
        padding: 22px 26px;
        text-align: left
    }

    .lp2-panneau h3 {
        font-size: 18px !important;
        text-transform: uppercase;
        margin: 0 0 10px !important;
        color: var(--m) !important
    }

    .lp2-panneau p {
        margin: 0 0 14px
    }

    .lp2-panneau ol {
        margin: 0;
        padding-left: 20px
    }

    .lp2-panneau li {
        margin-bottom: 6px
    }

    .lp2-adresse {
        font-weight: 700;
        color: var(--m);
        margin: 6px 0 0 20px !important
    }

    .lp2-flux[data-mode=cb] .lp2-panneau, .lp2-flux[data-mode=virement] .lp2-panneau[data-pour=cheque], .lp2-flux[data-mode=cheque] .lp2-panneau[data-pour=virement], .lp2-flux[data-mode=cb] .lp2-hors-cb {
        display: none
    }

    .lp2-flux:not([data-mode=cb]) .lp2-cb-seul, .lp2-flux:not([data-mode=virement]) .lp2-vir-seul, .lp2-flux:not([data-mode=cheque]) .lp2-chq-seul {
        display: none !important
    }

    .lp2-hors-cb {
        font-weight: 600;
        color: var(--m)
    }

    .lp2-section-mode {
        padding-bottom: 40px
    }

    .lp2-don .lp2-modes {
        max-width: none
    }

    .lp2-don .lp2-panneau {
        margin: 6px 0 0;
        border: 0;
        border-left: 4px solid var(--r);
        background: var(--fond)
    }

    .lp2-retour {
        display: inline-block;
        margin: 0 0 10px;
        font: 600 14px Poppins, sans-serif;
        text-decoration: none
    }

    .lp2-autre-paiement {
        text-align: center;
        font-size: 14px;
        color: var(--g);
        margin: 6px 0 0
    }

    .lp-adr-liste {
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        z-index: 60;
        margin: 4px 0 0;
        padding: 4px;
        list-style: none;
        background: #fff;
        border: 2px solid #0a3a72;
        border-radius: 8px;
        box-shadow: 0 10px 26px rgba(0, 40, 84, .18);
        max-height: 300px;
        overflow: auto
    }

    .lp-adr-liste[hidden] {
        display: none
    }

    .lp-adr-liste li {
        display: flex;
        flex-direction: column;
        padding: 9px 10px;
        border-radius: 6px;
        cursor: pointer;
        line-height: 1.3;
        margin: 0
    }

    .lp-adr-liste li b {
        font-weight: 600;
        color: #1f2a3a
    }

    .lp-adr-liste li span {
        font-size: 13px;
        color: #5b6677
    }

    .lp-adr-liste li.actif, .lp-adr-liste li:hover {
        background: #eef2f8
    }

    /* Bulletin chèque : adresse en saisie automatique (page /cheque) */
    .lp2-adr {
        position: relative
    }

    .lp-adr-aide {
        display: block;
        font-size: 12.5px;
        line-height: 1.4;
        color: #5b6677;
        margin-top: 4px
    }

    .lp2-tunnel .woocommerce-input-wrapper {
        display: block;
        position: relative
    }

    .lp2-alt-compact {
        text-align: center;
        font-size: 15px;
        margin: -14px 0 22px;
        color: var(--g)
    }

    .lp2-alt-compact a {
        font-weight: 700;
        color: var(--m2)
    }

    .lp2-alternatives {
        background: #fff;
        border: 2px solid var(--m);
        border-radius: 12px;
        padding: 20px 22px;
        margin: 10px 0 0;
        text-align: center
    }

    .lp2-alternatives p {
        margin: 0 0 12px
    }

    .lp2-alt-boutons {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
        margin: 0 !important
    }

    .lp2-alt-boutons .lp2-btn .lp2-ico {
        width: 20px;
        height: 20px
    }

    .lp2-haut-liens a.lp2-lien-sec {
        background: #fff;
        color: var(--m) !important
    }

    .lp2-etape a {
        color: inherit;
        text-decoration: none;
        display: flex;
        align-items: center;
        gap: 8px
    }

    .lp2-flux-type[data-type=don] .pour-adh, .lp2-flux-type[data-type=adhesion] .pour-don {
        display: none !important
    }

    .lp2-types {
        max-width: 560px;
        grid-template-columns: 1fr 1fr;
        margin-bottom: 36px
    }

    .lp2-etape-chq {
        display: flex;
        gap: 18px;
        align-items: flex-start;
        background: #fff;
        border: 1px solid #e3e7ee;
        border-radius: 14px;
        padding: 24px;
        margin: 0 0 18px;
        box-shadow: 0 6px 24px rgba(0, 40, 84, .06)
    }

    .lp2-rond {
        flex: none;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        border-radius: 50%;
        background: var(--r);
        color: #fff;
        font: 700 20px Poppins, sans-serif
    }

    .lp2-etape-corps {
        flex: 1;
        min-width: 0
    }

    .lp2-etape-corps h2 {
        font-size: 22px !important;
        text-transform: uppercase;
        margin: 6px 0 14px !important;
        font-weight: 700 !important
    }

    .lp2-etape-corps > p {
        margin: 0 0 12px
    }

    .lp2-champ-chq {
        display: flex;
        flex-direction: column;
        background: var(--fond);
        border-radius: 8px;
        padding: 10px 14px;
        margin: 0 0 10px
    }

    .lp2-champ-chq span {
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: .08em;
        color: var(--g)
    }

    .lp2-champ-chq strong {
        font: 700 18px/1.35 Poppins, sans-serif;
        color: var(--m)
    }

    .lp2-champ-chq small {
        font: 400 13px "Open Sans", sans-serif;
        color: var(--g)
    }

    .lp2-tarifs {
        list-style: none;
        margin: 0 0 10px;
        padding: 0;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 6px 14px
    }

    .lp2-tarifs li {
        display: flex;
        justify-content: space-between;
        gap: 8px;
        border-bottom: 1px dashed #d5dbe5;
        padding: 6px 2px;
        font-size: 15px
    }

    .lp2-tarifs li.choisi {
        color: var(--r);
        font-weight: 700
    }

    .lp2-tarifs b {
        font-family: Poppins, sans-serif;
        color: var(--m)
    }

    .lp2-tarifs li.choisi b {
        color: var(--r)
    }

    .lp2-astuce {
        font-size: 14px;
        color: var(--g);
        margin: 6px 0 0 !important
    }

    .lp2-deux {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px
    }

    .lp2-option {
        background: var(--fond);
        border-radius: 10px;
        padding: 18px
    }

    .lp2-option h3 {
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 16px !important;
        text-transform: uppercase;
        margin: 0 0 8px !important
    }

    .lp2-option h3 .lp2-ico {
        color: var(--r)
    }

    .lp2-option p {
        margin: 0 0 10px;
        font-size: 14.5px
    }

    .lp2-option ol {
        margin: 0 0 12px;
        padding-left: 20px;
        font-size: 14.5px
    }

    .lp2-exemple-papier {
        position: relative;
        background: #fffef6;
        border: 1px solid #e8e3c8;
        border-radius: 6px;
        padding: 22px 16px 12px;
        font-family: "Segoe Print", "Bradley Hand", "Comic Sans MS", cursive;
        color: #1b3a8a;
        font-size: 14px;
        line-height: 1.55;
        transform: rotate(-.6deg)
    }

    .lp2-exemple-papier span {
        position: absolute;
        top: 6px;
        left: 12px;
        font: 700 10px Poppins, sans-serif;
        text-transform: uppercase;
        letter-spacing: .1em;
        color: var(--g)
    }

    .lp2-exemple-papier p {
        margin: 0
    }

    .lp2-enveloppe {
        display: flex;
        gap: 16px;
        align-items: center;
        background: #fff;
        border: 2px dashed var(--m);
        border-radius: 10px;
        padding: 18px 20px;
        margin: 0 0 12px
    }

    .lp2-enveloppe .lp2-ico {
        flex: none;
        width: 40px;
        height: 40px;
        color: var(--r)
    }

    .lp2-enveloppe p {
        margin: 0;
        font: 700 19px/1.45 Poppins, sans-serif;
        color: var(--m);
        text-transform: uppercase
    }

    .lp2-boite-claire {
        background: var(--fond);
        border-left: 4px solid var(--o);
        border-radius: 0 10px 10px 0;
        padding: 18px 22px;
        margin: 8px 0 30px
    }

    .lp2-boite-claire h3 {
        font-size: 17px !important;
        text-transform: uppercase;
        margin: 0 0 6px !important
    }

    .lp2-boite-claire p {
        margin: 0;
        font-size: 14.5px
    }

    .lp2-h2-petit {
        font-size: 24px !important;
        margin-bottom: 16px !important
    }

    .lp2-agir-clair a {
        border: 1px solid #e3e7ee
    }

    .lp2-bulletin {
        background: #fff;
        border: 1px solid #d5dbe5;
        border-radius: 6px;
        padding: 26px 28px;
        color: #000;
        font-size: 14px
    }

    .lp2-bul-tete {
        display: flex;
        align-items: center;
        gap: 16px;
        border-bottom: 2px solid var(--m);
        padding-bottom: 12px;
        margin-bottom: 14px
    }

    .lp2-bul-tete img {
        height: 56px;
        width: auto;
        background: var(--o);
        border-radius: 6px;
        padding: 4px 8px
    }

    .lp2-bul-tete strong {
        display: block;
        font: 700 22px Poppins, sans-serif;
        text-transform: uppercase;
        color: var(--m)
    }

    .lp2-bul-tete span {
        font-size: 13px;
        color: var(--g)
    }

    .lp2-bul-choix {
        display: flex;
        flex-wrap: wrap;
        gap: 6px 18px;
        align-items: center;
        margin: 0 0 10px
    }

    .lp2-bul-choix label {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        font-weight: 600
    }

    .lp2-bul-choix > span {
        font-weight: 700;
        color: var(--m)
    }

    .lp2-bulletin input[type=checkbox] {
        width: 17px;
        height: 17px;
        accent-color: var(--m);
        margin: 0
    }

    .lp2-bul-grille {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        gap: 10px 16px;
        margin: 12px 0
    }

    .lp2-ligne {
        grid-column: span 3;
        display: flex;
        flex-direction: column;
        margin: 0
    }

    .lp2-ligne.large {
        grid-column: span 6
    }

    .lp2-ligne.court {
        grid-column: span 2
    }

    .lp2-ligne span {
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: .06em;
        color: var(--g)
    }

    .lp2-ligne input {
        border: 0 !important;
        border-bottom: 1.5px solid #8a94a6 !important;
        border-radius: 0 !important;
        padding: 4px 2px !important;
        font-size: 16px !important;
        background: transparent !important;
        box-shadow: none !important;
        min-height: 30px;
        width: 100%;
        margin: 0 !important
    }

    .lp2-bul-civ {
        grid-column: span 4;
        margin: 0;
        align-self: end
    }

    .lp2-bul-age {
        grid-column: span 3;
        margin: 0;
        align-self: end
    }

    .lp2-signature {
        grid-column: span 4;
        min-height: 70px;
        border-bottom: 1.5px solid #8a94a6
    }

    .lp2-bul-attestation {
        display: flex;
        gap: 10px;
        align-items: flex-start;
        font-size: 12.5px;
        line-height: 1.45;
        margin: 10px 0
    }

    .lp2-bul-attestation input {
        margin-top: 2px !important;
        flex: none
    }

    .lp2-bul-pied {
        font-size: 11px;
        color: #444;
        border-top: 1px solid #d5dbe5;
        padding-top: 10px;
        margin: 14px 0 0
    }

    .lp2-bul-actions {
        text-align: center;
        margin: 18px 0 0
    }

    @media print {
        .lp-adr-liste, .lp-adr-aide {
            display: none !important
        }

        @page {
            margin: 12mm
        }

        body.lp-v2 {
            background: #fff !important
        }

        body.lp-v2 > *:not(main), body.lp-v2 main > *:not(.lp2-bulletin-zone), .lp2-bulletin-zone .lp2-surtitre, .lp2-bulletin-zone .lp2-h2, .lp2-bulletin-zone .lp2-chapo, .lp2-bul-actions {
            display: none !important
        }

        .lp2-bulletin-zone {
            padding: 0 !important;
            background: none !important
        }

        .lp2-bulletin-zone .lp2-in {
            max-width: none;
            padding: 0
        }

        .lp2-bulletin {
            border: 0;
            padding: 0;
            font-size: 12.5px
        }

        .lp2-bul-grille {
            gap: 8px 14px;
            margin: 8px 0
        }

        .lp2-bul-tete img {
            -webkit-print-color-adjust: exact;
            print-color-adjust: exact
        }/* iPhone : la page imprimée est étroite et prendrait la mise en page téléphone (un champ par ligne, 2 pages) ; grille compacte forcée */

        .lp2-bulletin {
            padding: 0 !important;
            font-size: 11.5px !important
        }

        .lp2-bul-tete {
            margin-bottom: 8px !important;
            padding-bottom: 8px !important
        }

        .lp2-bul-tete img {
            height: 40px !important
        }

        .lp2-bul-tete strong {
            font-size: 18px !important
        }

        .lp2-bul-choix {
            margin: 0 0 6px !important;
            gap: 4px 14px !important
        }

        .lp2-bul-grille {
            grid-template-columns: repeat(6, 1fr) !important;
            gap: 6px 12px !important;
            margin: 6px 0 !important
        }

        .lp2-ligne {
            grid-column: span 3 !important
        }

        .lp2-ligne.large {
            grid-column: span 6 !important
        }

        .lp2-ligne.court {
            grid-column: span 2 !important
        }

        .lp2-bul-civ, .lp2-signature {
            grid-column: span 4 !important
        }

        .lp2-bul-age {
            grid-column: span 3 !important
        }

        .lp2-ligne input {
            min-height: 24px !important;
            padding: 2px !important;
            font-size: 13px !important
        }

        .lp2-signature {
            min-height: 56px !important
        }

        .lp2-bul-attestation {
            font-size: 10.5px !important;
            margin: 6px 0 !important
        }

        .lp2-bul-pied {
            font-size: 9.5px !important;
            margin-top: 8px !important;
            padding-top: 6px !important
        }
    }

    .lp2-reassurance {
        list-style: none;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 12px 30px;
        padding: 0;
        margin: 30px 0 0
    }

    .lp2-reassurance li {
        display: flex;
        align-items: center;
        gap: 8px;
        font: 600 14px Poppins, sans-serif;
        color: var(--m)
    }

    .lp2-reassurance .lp2-ico {
        color: var(--r)
    }

    .lp2-final {
        background: linear-gradient(120deg, var(--m) 0%, #0d3f7c 100%);
        color: #fff;
        text-align: center;
        padding: 64px 0
    }

    .lp2-final h2 {
        color: #fff !important;
        font-size: clamp(26px, 4vw, 38px) !important;
        text-transform: uppercase;
        font-weight: 700 !important;
        margin: 0 0 8px !important
    }

    .lp2-final p {
        margin: 0 0 24px;
        color: rgba(255, 255, 255, .85)
    }

    .lp2-final .lp2-petit {
        margin: 18px 0 0
    }

    .lp2-final a:not(.lp2-btn) {
        color: #ffd2a6
    }

    .lp2-petit {
        font-size: 13px;
        color: var(--g)
    }

    .lp2-pied {
        background: #001b3a;
        color: rgba(255, 255, 255, .75);
        text-align: center;
        padding: 26px 20px;
        font-size: 13.5px
    }

    .lp2-pied p {
        margin: 4px 0
    }

    .lp2-pied a {
        color: #fff;
        text-decoration: none
    }

    .lp2-pied span {
        margin: 0 8px;
        opacity: .5
    }

    .lp2-pied-afp {
        opacity: .7;
        font-size: 12.5px
    }

    .lp2-notices {
        max-width: 1140px;
        margin: 20px auto 0;
        padding: 0 20px
    }

    .lp2-mdp {
        max-width: 520px;
        margin: 80px auto;
        padding: 36px;
        background: #fff;
        border-radius: 14px;
        box-shadow: 0 10px 36px rgba(0, 40, 84, .1);
        text-align: center
    }

    .lp2-mdp h1 {
        font-size: 26px !important;
        margin: 0 0 10px !important;
        text-transform: uppercase
    }

    .lp2-mdp form p {
        display: flex;
        flex-direction: column;
        gap: 12px;
        align-items: stretch
    }

    .lp2-mdp input[type=password] {
        width: 100%;
        padding: 12px;
        border: 2px solid #d5dbe5;
        border-radius: 8px;
        font-size: 16px
    }

    .lp2-mdp input[type=submit] {
        background: var(--r);
        color: #fff;
        border: 0;
        border-radius: 6px;
        padding: 14px;
        font: 700 15px Poppins, sans-serif;
        text-transform: uppercase;
        cursor: pointer
    }/* Page don */

    .lp2-don {
        max-width: 760px;
        margin: 0 auto;
        padding: 40px 20px 30px
    }

    .lp2-don-titre {
        color: #fff !important;
        font-size: clamp(30px, 5vw, 46px) !important;
        line-height: 1.1 !important;
        text-transform: uppercase;
        font-weight: 700 !important;
        margin: 0 0 34px !important
    }

    .lp2-don-titre span {
        color: var(--o)
    }

    .lp2-num {
        color: #fff !important;
        font-size: clamp(22px, 3vw, 30px) !important;
        text-transform: uppercase;
        font-weight: 700 !important;
        margin: 34px 0 14px !important
    }

    .lp2-num b {
        color: var(--o)
    }

    .lp2-boite {
        background: #fff;
        border-radius: 10px;
        padding: 22px
    }

    .lp2-montants {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 12px;
        margin-bottom: 14px
    }

    .lp2-montant {
        position: relative;
        cursor: pointer;
        margin: 0
    }

    .lp2-montant input {
        position: absolute;
        opacity: 0;
        pointer-events: none
    }

    .lp2-montant span {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 58px;
        border-radius: 6px;
        background: var(--m);
        color: #fff;
        font: 700 17px/1 Poppins, sans-serif;
        transition: background .15s, transform .15s
    }

    .lp2-montant:hover span {
        background: var(--m2)
    }

    .lp2-montant input:checked + span {
        background: var(--r);
        transform: scale(1.06);
        font-size: 21px;
        box-shadow: 0 6px 16px rgba(224, 57, 39, .35)
    }

    .lp2-montant input:focus-visible + span {
        outline: 3px solid var(--o);
        outline-offset: 2px
    }

    .lp2-don-libre {
        display: flex;
        align-items: center;
        background: var(--m);
        border-radius: 6px;
        margin: 0 0 16px
    }

    .lp2-don-libre input {
        flex: 1;
        background: transparent !important;
        border: 0 !important;
        color: #fff !important;
        text-align: center;
        font: 600 17px Poppins, sans-serif !important;
        padding: 18px 10px !important;
        min-width: 0;
        box-shadow: none !important;
        height: auto !important;
        margin: 0 !important
    }

    .lp2-don-libre input::placeholder {
        color: #fff;
        opacity: 1
    }

    .lp2-don-libre span {
        color: #fff;
        font: 700 18px Poppins, sans-serif;
        padding: 0 20px
    }

    .lp2-don-net {
        text-align: center;
        color: var(--m);
        font: 600 17px/1.5 Poppins, sans-serif;
        margin: 0 0 16px
    }

    .lp2-don-net b {
        color: var(--r)
    }

    .lp2-don-btn {
        width: 100%;
        justify-content: space-between;
        padding: 20px 26px;
        font-size: 16px;
        text-transform: none
    }

    .lp2-don-btn b {
        font-size: 24px
    }

    .lp2-don-btn span[aria-hidden] {
        font-size: 28px;
        line-height: 1
    }

    .lp-v2 .lp-securite {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 6px 8px;
        margin-top: .9em;
        font-size: .85em;
        color: var(--g)
    }

    .lp-v2 .lp-securite img {
        height: 24px;
        width: auto;
        display: block
    }

    .lp-v2 .lp-cb {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        height: 24px;
        padding: 0 7px;
        border: 1px solid #c9ccd6;
        border-radius: 3px;
        background: #fff;
        font-weight: 800;
        font-size: 12px;
        color: #1d2b5c;
        line-height: 1
    }

    .lp2-don .lp-securite {
        justify-content: center;
        margin-top: 14px;
        font-size: 13px;
        color: var(--g)
    }

    .lp2-don .lp2-petit {
        text-align: center;
        margin: 10px 0 0
    }

    .lp2-grand {
        margin: 18px 0 0;
        padding: 16px 20px;
        border-left: 4px solid var(--o);
        background: rgba(255, 255, 255, .08);
        color: #fff;
        border-radius: 0 8px 8px 0;
        font-size: 15px
    }

    .lp2-grand strong {
        color: var(--o)
    }

    .lp2-savoir {
        display: grid;
        gap: 18px
    }

    .lp2-savoir > div {
        display: flex;
        gap: 16px;
        align-items: flex-start
    }

    .lp2-savoir .lp2-pictos {
        background: #fdecea;
        color: var(--r)
    }

    .lp2-savoir p {
        margin: 0;
        font-size: 15px
    }

    .lp2-agir {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 14px
    }

    .lp2-agir a {
        display: flex;
        flex-direction: column;
        gap: 6px;
        background: #fff;
        border-radius: 10px;
        padding: 20px;
        text-decoration: none;
        color: var(--t);
        transition: transform .15s
    }

    .lp2-agir a:hover {
        transform: translateY(-2px)
    }

    .lp2-agir .lp2-ico {
        color: var(--r);
        width: 30px;
        height: 30px
    }

    .lp2-agir strong {
        font: 700 16px Poppins, sans-serif;
        text-transform: uppercase;
        color: var(--m)
    }

    .lp2-agir span {
        font-size: 14px;
        color: var(--g);
        overflow-wrap: anywhere
    }

    .lp2-faq-don {
        margin-top: 34px
    }

    .lp2-h2-don {
        font-size: 22px !important;
        text-transform: uppercase;
        margin: 0 0 16px !important
    }

    .lp2-faq-don .lp2-q {
        border-color: #e3e7ee
    }

    .lp2-petit.clair {
        color: rgba(255, 255, 255, .7);
        text-align: center;
        margin-top: 18px
    }/* Paiement et remerciement */

    .lp2-etapes {
        display: flex;
        justify-content: center;
        gap: 8px;
        flex-wrap: wrap;
        padding: 16px 20px;
        background: var(--fond);
        font: 600 13.5px Poppins, sans-serif;
        color: var(--g)
    }

    .lp2-etape {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 6px 12px;
        border-radius: 30px
    }

    .lp2-etape b {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 24px;
        height: 24px;
        border-radius: 50%;
        background: #dfe3ea;
        color: var(--m)
    }

    .lp2-etape.fait b {
        background: var(--m);
        color: #fff
    }

    .lp2-etape.actif {
        background: #fff;
        color: var(--m);
        box-shadow: 0 2px 8px rgba(0, 40, 84, .1)
    }

    .lp2-etape.actif b {
        background: var(--r);
        color: #fff
    }

    .lp2-tunnel {
        max-width: 1000px;
        margin: 0 auto;
        padding: 30px 20px 60px
    }

    .lp2-titre-tunnel {
        font-size: clamp(26px, 4vw, 36px) !important;
        text-transform: uppercase;
        font-weight: 700 !important;
        margin: 0 0 24px !important;
        text-align: center
    }

    .lp2-tunnel h3 {
        font-size: 20px !important;
        text-transform: uppercase;
        margin: 0 0 14px !important;
        color: var(--m) !important
    }

    .lp2-tunnel .col2-set, .lp2-tunnel #order_review {
        background: #fff;
        border: 1px solid #e3e7ee;
        border-radius: 12px;
        padding: 24px;
        margin-bottom: 24px
    }

    .lp2-tunnel .col2-set .col-1, .lp2-tunnel .col2-set .col-2 {
        width: 100%;
        float: none
    }

    .lp2-tunnel .form-row {
        margin: 0 0 14px
    }

    .lp2-tunnel .form-row label {
        font-weight: 600;
        font-size: 14px;
        color: var(--m);
        display: block;
        margin-bottom: 4px
    }

    .lp2-tunnel input.input-text, .lp2-tunnel select, .lp2-tunnel textarea {
        border: 2px solid #d5dbe5 !important;
        border-radius: 8px !important;
        padding: 10px 12px !important;
        font-size: 16px !important;
        min-height: 46px;
        background: #fff !important;
        width: 100%
    }

    .lp2-tunnel .select2-container .select2-selection--single {
        height: 46px !important;
        border: 2px solid #d5dbe5 !important;
        border-radius: 8px !important;
        background: #fff !important;
        padding: 0 !important;
        margin: 0 !important
    }

    .lp2-tunnel .select2-container .select2-selection--single .select2-selection__rendered {
        line-height: 42px !important;
        padding: 0 40px 0 12px !important;
        font-size: 16px !important;
        color: var(--t) !important
    }

    .lp2-tunnel .select2-container .select2-selection--single .select2-selection__arrow {
        height: 42px !important;
        top: 0 !important;
        right: 8px !important
    }

    .lp2-tunnel .select2-container--focus .select2-selection--single, .lp2-tunnel .select2-container--open .select2-selection--single {
        border-color: var(--m2) !important
    }

    .lp2-tunnel input.input-text:focus {
        border-color: var(--m2) !important;
        outline: none
    }

    .lp2-tunnel table.shop_table {
        width: 100%;
        border-collapse: collapse;
        border: 0
    }

    .lp2-tunnel table.shop_table th, .lp2-tunnel table.shop_table td {
        padding: 12px 6px;
        border: 0;
        border-bottom: 1px solid #e9edf3;
        text-align: left
    }

    .lp2-tunnel table.shop_table .order-total td, .lp2-tunnel table.shop_table .order-total th {
        font: 700 20px Poppins, sans-serif;
        color: var(--m);
        border-bottom: 0
    }

    .lp2-tunnel #payment {
        background: var(--fond) !important;
        border-radius: 10px
    }

    .lp2-tunnel #place_order {
        display: block;
        width: 100%;
        background: var(--r) !important;
        color: #fff !important;
        border: 0 !important;
        border-radius: 6px !important;
        padding: 18px !important;
        font: 700 17px Poppins, sans-serif !important;
        text-transform: uppercase;
        cursor: pointer;
        margin-top: 10px
    }

    .lp2-tunnel #place_order:hover {
        background: var(--r2) !important
    }

    .lp2-tunnel .lp-attestation {
        font-size: 14px;
        background: #fff;
        border: 1px solid #e3e7ee;
        border-radius: 8px;
        padding: 12px 14px
    }

    .lp2-tunnel .woocommerce-order-overview {
        display: flex;
        flex-wrap: wrap;
        gap: 10px 24px;
        list-style: none;
        padding: 16px 20px;
        background: var(--fond);
        border-radius: 10px;
        margin: 0 0 20px
    }

    .lp2-tunnel .woocommerce-order-overview li {
        border: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        font-size: 13px;
        text-transform: uppercase;
        color: var(--g)
    }

    .lp2-tunnel .woocommerce-order-overview strong {
        display: block;
        text-transform: none;
        font-size: 16px;
        color: var(--m)
    }

    .lp2-tunnel .lp-soutien-merci {
        border-left-color: var(--r) !important;
        border-radius: 0 10px 10px 0
    }

    @media (max-width: 900px) {
        .lp2-fiscal-in {
            grid-template-columns: 1fr
        }

        .lp2-cartes, .lp2-avantages {
            grid-template-columns: 1fr 1fr
        }
    }

    @media (max-width: 640px) {
        .lp2-deux, .lp2-tarifs {
            grid-template-columns: 1fr
        }

        .lp2-etape-chq {
            display: block;
            position: relative;
            padding: 18px 16px
        }

        .lp2-rond {
            position: absolute;
            top: 16px;
            left: 16px;
            width: 36px;
            height: 36px;
            font-size: 17px
        }

        .lp2-etape-corps h2 {
            font-size: 19px !important;
            padding-left: 48px;
            min-height: 36px;
            display: flex;
            align-items: center;
            margin: 0 0 14px !important
        }

        .lp2-enveloppe p {
            font-size: 16px
        }

        .lp2-bulletin {
            padding: 18px 14px
        }

        .lp2-ligne, .lp2-ligne.court, .lp2-bul-civ, .lp2-bul-age, .lp2-signature {
            grid-column: span 6
        }

        .lp2-modes {
            gap: 8px
        }

        .lp2-mode > span {
            padding: 14px 6px 12px
        }

        .lp2-mode .lp2-ico {
            width: 26px;
            height: 26px;
            margin-bottom: 2px
        }

        .lp2-mode strong {
            font-size: 13px
        }

        .lp2-mode small {
            font-size: 11.5px;
            line-height: 1.3
        }

        .lp2-panneau {
            padding: 18px
        }

        .lp2-haut {
            padding: 8px 14px
        }

        .lp2-logo img {
            height: 40px
        }

        .lp2-haut-liens a {
            padding: 10px 12px;
            font-size: 13px
        }

        .lp2-section {
            padding: 44px 0
        }

        .lp2-hero {
            display: block;
            min-height: 0;
            background: var(--m) !important
        }

        .lp2-hero::before {
            content: "";
            display: block;
            height: 58vw;
            max-height: 320px;
            background: url(https://les-patriotes.fr/wp-content/uploads/lp-soutien/v2/trocadero.jpg) 73% 35%/cover no-repeat
        }

        .lp2-hero-in {
            padding: 26px 20px 36px
        }

        .lp2-hero p {
            font-size: 16px
        }

        .lp2-cartes, .lp2-avantages, .lp2-agir {
            grid-template-columns: 1fr
        }

        .lp2-exemples {
            gap: 10px
        }

        .lp2-exemple {
            padding: 14px
        }

        .lp2-exemple strong {
            font-size: 22px
        }

        .lp2-simu {
            padding: 28px 18px
        }

        .lp2-simu-res strong {
            font-size: 24px
        }

        .lp2-montants {
            gap: 8px
        }

        .lp2-montant span {
            height: 50px;
            font-size: 14px
        }

        .lp2-montant input:checked + span {
            font-size: 16px
        }

        .lp2-boite {
            padding: 16px
        }

        .lp2-don-btn {
            padding: 18px 20px
        }

        .lp2-etape {
            font-size: 12px;
            padding: 4px 6px
        }

        .lp2-apercu {
            display: none
        }
    }

/* ---- Ajouts du 09/10/2026 : regles presentes sur le WordPress en production
   (lp-soutien-v2.php et lp-gocardless.php) qui manquaient ici. ---- */
.lp2-cartes .lp2-carte{cursor:pointer;transition:transform .15s,box-shadow .15s}
.lp2-cartes .lp2-carte:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,40,84,.14)}
.lp2-cartes .lp2-carte.reco:hover{box-shadow:0 14px 34px rgba(224,57,39,.24)}
@media (prefers-reduced-motion:reduce){.lp2-cartes .lp2-carte{transition:none}.lp2-cartes .lp2-carte:hover{transform:none}}
/* Lien discret « don mensuel par prelevement » sous les modes de paiement (page don). */
.lp-gc-mode{display:block;max-width:860px;margin:12px auto 0;font-size:14px;color:var(--g);cursor:pointer;text-align:center}
a.lp-gc-mode{color:var(--g)!important;text-decoration:none}
a.lp-gc-mode u{color:var(--m2)}
.lp2-modes.lp2-modes-2{grid-template-columns:repeat(2,1fr);max-width:600px}
.lp2-montants.lp2-montants-5{grid-template-columns:repeat(5,1fr)}
.lp2-don-intro{margin:0 0 14px;color:var(--g)}
.lp2-grand a{color:var(--o)!important}
.lp-v2 [hidden]{display:none!important}


/* Page chèque : coordonnées sur papier libre (défaut) ou avec le bulletin */
.lp2-coord-choix{margin:14px 0 16px}
.lp2-coord-bulletin,.lp2-bulletin-zone{display:none}
main.lp2:has(input[name=lp2_coord][value=bulletin]:checked) .lp2-coord-bulletin,
main.lp2:has(input[name=lp2_coord][value=bulletin]:checked) .lp2-bulletin-zone{display:block}
main.lp2:has(input[name=lp2_coord][value=bulletin]:checked) .lp2-coord-libre{display:none}

/* Logos des moyens de paiement (CB, Visa, Mastercard, Apple Pay, Google Pay). */
.logos-paiement { display: inline-flex; flex-wrap: wrap; gap: 8px; justify-content: center; align-items: center; vertical-align: middle; }
.logos-paiement img { height: 24px; width: auto; display: inline-block; border-radius: 3px; }

/* Mentions légales sur le financement (pied de page du tunnel, 11/10/2026) */
.lp2-pied-loi {
    max-width: 860px;
    margin: 14px auto 0;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, .15);
    font-size: 11.5px;
    line-height: 1.5;
    opacity: .7;
    text-align: left
}

.lp2-pied-loi p {
    margin: 6px 0
}
