.payer_mode {
    --provider-color: #315f83;
    --provider-mark: "€";
}

#formulaire_mode_paiement .payer_modes > .payer_mode:not(:first-child),
#formulaire_mode_paiement .payer_modes > .ajaxbloc:not(:first-child) > .payer_mode {
    position: relative;
    margin-top: 1.75rem;
    padding-top: 2rem;
    border-top: 0.1875rem solid #d7a2bd;
}

#formulaire_mode_paiement .payer_modes > .payer_mode:not(:first-child)::before,
#formulaire_mode_paiement .payer_modes > .ajaxbloc:not(:first-child) > .payer_mode::before {
    position: absolute;
    top: -0.53rem;
    left: 50%;
    box-sizing: border-box;
    width: 0.85rem;
    height: 0.85rem;
    border: 0.1875rem solid #fff;
    border-radius: 50%;
    background: #ad0b63;
    box-shadow: 0 0 0 0.0625rem #d7a2bd;
    content: "";
    transform: translateX(-50%);
}

.payer_mode:not(.payment-provider) > .titre {
    display: flex;
    gap: 0.85rem;
    align-items: center;
    margin: 0 0 0.9rem;
}

.payer_mode:not(.payment-provider) > .titre::before {
    display: inline-flex;
    flex: 0 0 3rem;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 3rem;
    height: 3rem;
    border: 0.0625rem solid #d6e0e8;
    border-color: color-mix(in srgb, var(--provider-color) 24%, #fff);
    border-radius: 0.8rem;
    background: #f2f6f8;
    background: color-mix(in srgb, var(--provider-color) 8%, #fff);
    color: var(--provider-color);
    content: var(--provider-mark);
    font-size: 1rem;
    font-weight: 750;
    line-height: 1;
    letter-spacing: -0.03em;
}

.payer_mode:not(.payment-provider) > .explication,
.payer_mode:not(.payment-provider) > form,
.payer_mode:not(.payment-provider) > .boutons,
.payer_mode:not(.payment-provider) > .ajax {
    max-width: 34rem;
}

.payer_mode:not(.payment-provider) > .boutons button,
.payer_mode:not(.payment-provider) > .boutons .submit,
.payer_mode:not(.payment-provider) > form .boutons button,
.payer_mode:not(.payment-provider) > form .boutons .submit {
    min-height: 2.75rem;
}

.payer_a_payer { --provider-color: #8b5b2b; --provider-mark: "…"; }
.payer_abanca { --provider-color: #006b54; --provider-mark: "A"; }
.payer_cheque { --provider-color: #795548; --provider-mark: "✉"; }
.payer_ecom_cmi { --provider-color: #14669b; --provider-mark: "CMI"; }
.payer_eft { --provider-color: #315f83; --provider-mark: "EFT"; }
.payer_espece { --provider-color: #8b6618; --provider-mark: "€"; }
.payer_gratuit { --provider-color: #2f7d52; --provider-mark: "✓"; }
.payer_interac { --provider-color: #c58a00; --provider-mark: "i"; }
.payer_mobilepay { --provider-color: #5a3fc0; --provider-mark: "M"; }
.payer_nets { --provider-color: #005f9e; --provider-mark: "N"; }
.payer_nexixpay { --provider-color: #0055a5; --provider-mark: "Nexi"; }
.payer_paypal { --provider-color: #0070ba; --provider-mark: "P"; }
.payer_paypaladvanced { --provider-color: #0070ba; --provider-mark: "P"; }
.payer_payu_latam { --provider-color: #679b2f; --provider-mark: "PayU"; }
.payer_redsys { --provider-color: #c51d34; --provider-mark: "R"; }
.payer_square { --provider-color: #222; --provider-mark: "□"; }
.payer_stripe { --provider-color: #635bff; --provider-mark: "S"; }
.payer_swish { --provider-color: #168aa6; --provider-mark: "S"; }
.payer_venmo { --provider-color: #008cff; --provider-mark: "V"; }
.payer_virement,
.payer_virement_multidevise { --provider-color: #315f83; --provider-mark: "↗"; }
.payer_zelle { --provider-color: #6d1ed4; --provider-mark: "Z"; }
.payer_zettle { --provider-color: #111; --provider-mark: "Z"; }
.payer_ziina { --provider-color: #6b4eff; --provider-mark: "Z"; }

.payer_ecom_cmi:not(.payment-provider) > .titre::before,
.payer_eft:not(.payment-provider) > .titre::before,
.payer_nexixpay:not(.payment-provider) > .titre::before,
.payer_payu_latam:not(.payment-provider) > .titre::before {
    font-size: 0.72rem;
}

.payment-provider {
    --provider-color: #635bff;
}

.payment-provider--paypal {
    --provider-color: #0070ba;
}

.payment-provider__header {
    display: flex;
    gap: 0.85rem;
    align-items: center;
    margin: 0 0 0.9rem;
}

.payment-provider__logo {
    display: inline-flex;
    flex: 0 0 3rem;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border: 0.0625rem solid #d9d6ff;
    border-color: color-mix(in srgb, var(--provider-color) 24%, #fff);
    border-radius: 0.8rem;
    background: #f4f3ff;
    background: color-mix(in srgb, var(--provider-color) 8%, #fff);
    color: var(--provider-color);
    font-size: 1.65rem;
}

.payment-provider__header .payment-provider__title {
    margin: 0;
}

.payment-provider__brand {
    display: block;
    margin-top: 0.12rem;
    color: #6e6674;
    font-size: 0.78rem;
    font-weight: 650;
    letter-spacing: 0.02em;
}

.payment-provider__content,
.payment-provider__actions {
    max-width: 34rem;
}

.payment-provider__content p:first-child {
    margin-top: 0;
}

.payment-provider--paypal .paypal-button-container,
.payment-provider--paypal .google-pay-button-container,
.payment-provider--paypal .card_container {
    box-sizing: border-box;
    width: 100%;
    max-width: 34rem;
    margin: 0.75rem 0 0;
    padding: 0;
    border-radius: 0.55rem;
    background: transparent;
}

.payment-provider--paypal .message_container:empty {
    display: none;
}

.payment-provider--paypal .message_container:not(:empty) {
    max-width: 34rem;
    margin: 0.75rem 0 0;
    padding: 0.8rem 1rem;
}

@media (max-width: 40rem) {
    .payer_mode:not(.payment-provider) > .titre {
        align-items: flex-start;
    }

    .payer_mode:not(.payment-provider) > .titre::before {
        flex-basis: 2.65rem;
        width: 2.65rem;
        height: 2.65rem;
    }

    .payment-provider__header {
        align-items: flex-start;
    }

    .payment-provider__logo {
        flex-basis: 2.65rem;
        width: 2.65rem;
        height: 2.65rem;
        font-size: 1.4rem;
    }
}
