@charset "UTF-8";
/* Habillage des pages membre BuddyBoss et MemberPress (UX-MEMBRE), sous body.agolf-membre seul. */

/* ── 1. Variables du thème, recolorées sur ces pages ─────────────────────── */
body.agolf-membre {
    --bb-primary-color: #9B00E5;
    --bb-primary-color-rgb: 155, 0, 229;
    --bb-primary-button-background-regular: #9B00E5;
    --bb-primary-button-background-hover: #7A00B8;
    --bb-primary-button-border-regular: #9B00E5;
    --bb-primary-button-border-hover: #7A00B8;
    --bb-default-notice-color: #9B00E5;
    --bb-default-notice-color-rgb: 155, 0, 229;
    --bb-label-text-color: #7A00B8;
    --bb-input-focus-border-color: #9B00E5;
    --bb-input-focus-shadow: 0 0 0 3px #F7F0FE;
    --bb-input-radius: 12px;
    --bb-content-border-color: #EADFF7;
    --bb-content-border-color-rgb: 234, 223, 247;
    --bb-content-alternate-background-color: #FBF8FE;
    --bb-headings-color: #1A1226;
    background: var(--fj1-grad-page);
}

/* ── 2. Police et fond de page ───────────────────────────────────────────── */
body.agolf-membre #content,
body.agolf-membre #content :is(h1, h2, h3, h4, h5, h6, p, label, input, select, textarea, table, th, td) {
    font-family: var(--fj1-font);
}

body.agolf-membre #content {
    color: #1A1226;
    -webkit-font-smoothing: antialiased;
}

body.agolf-membre #content,
body.agolf-membre #content :is(.container, .bb-grid, .content-area, .site-main, #primary) {
    background: transparent;
}

/* ── 3. Encarts ─────────────────────────────────────────────────────────── */
body.agolf-membre #content :is(
    #cover-image-container,
    .bb-bp-settings-content,
    .bp-profile-wrapper .bp-profile-content,
    .bb-mp-account-settings,
    .mepr-payment-methods-wrapper,
    .mp_wrapper.mp_invoice
) {
    background: linear-gradient(180deg, #FFFFFF 0%, #FBF8FE 100%);
    border: 1px solid #EADFF7;
    border-radius: 20px;
    box-shadow: none;
}

body.agolf-membre #content .bb-mp-account-settings {
    overflow: hidden;
}

body.agolf-membre #content .bb-mp-account-settings .mp_wrapper.mp_wrapper_nav {
    background: transparent;
    border-color: #EADFF7;
}

/* ── 4. Titres de page ───────────────────────────────────────────────────── */
body.agolf-membre #content :is(h1.entry-title, h1.settings-title, .entry-header h1, h1.page-title) {
    color: #1A1226;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.01em;
}

@media (min-width: 768px) {
    body.agolf-membre #content :is(h1.entry-title, h1.settings-title, .entry-header h1, h1.page-title) {
        font-size: 40px;
    }
}

body.agolf-membre #content h2.screen-heading {
    color: #1A1226;
    font-weight: 800;
}

/* ── 5. Onglets et menus ─────────────────────────────────────────────────── */
body.agolf-membre #content :is(
    nav#object-nav > ul > li > a,
    .bp-subnavs li > a,
    .bp-settings-container .bp-navs li > a,
    #mepr-account-nav .mepr-nav-item > a
) {
    background: transparent;
    border: 1px solid transparent;
    border-radius: 12px;
    color: #3B2F4A;
    font-weight: 600;
    text-decoration: none;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

body.agolf-membre #content :is(nav#object-nav > ul > li > a, .bp-subnavs li > a, #mepr-account-nav .mepr-nav-item > a) {
    padding: 8px 16px;
}

body.agolf-membre #content :is(
    nav#object-nav > ul > li > a,
    .bp-subnavs li > a,
    .bp-settings-container .bp-navs li > a,
    #mepr-account-nav .mepr-nav-item > a
):is(:hover, :focus-visible) {
    background: #F7F0FE;
    color: #7A00B8;
}

body.agolf-membre #content :is(
    nav#object-nav > ul > li:is(.selected, .current) > a,
    .bp-subnavs li:is(.selected, .current) > a,
    .bp-settings-container .bp-navs li:is(.selected, .current) > a,
    #mepr-account-nav .mepr-active-nav-tab > a
),
body.agolf-membre #content :is(
    nav#object-nav > ul > li:is(.selected, .current) > a,
    .bp-subnavs li:is(.selected, .current) > a,
    .bp-settings-container .bp-navs li:is(.selected, .current) > a,
    #mepr-account-nav .mepr-active-nav-tab > a
):hover {
    background: #F7F0FE;
    border-color: #9B00E5;
    color: #9B00E5;
    font-weight: 700;
}

body.agolf-membre #content :is(nav#object-nav, .bp-settings-container .bp-navs, #mepr-account-nav) li a::before {
    color: inherit;
}

body.agolf-membre #content nav#object-nav > ul > li > a .bb-single-nav-item-point {
    border-bottom: 0;
    padding-bottom: 0;
}

body.agolf-membre #content nav#object-nav {
    background: transparent;
    border: 0;
}

body.agolf-membre #content #mepr-account-nav ul {
    gap: 8px;
}

/* ── 6. Boutons ─────────────────────────────────────────────────────────── */
body.agolf-membre #content :is(
    .standard-form input[type="submit"],
    #settings-form input[type="submit"],
    #profile-edit-form input[type="submit"],
    .mepr-form input[type="submit"],
    .mepr-submit,
    .mepr-share-button
) {
    background: #9B00E5;
    border: 1px solid #9B00E5;
    border-radius: 999px;
    box-shadow: none;
    color: #FFFFFF;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.2;
    min-height: 44px;
    padding: 12px 24px;
    text-transform: none;
    cursor: pointer;
    transition: background-color .18s ease, border-color .18s ease;
}

body.agolf-membre #content :is(
    .standard-form input[type="submit"],
    #settings-form input[type="submit"],
    #profile-edit-form input[type="submit"],
    .mepr-form input[type="submit"],
    .mepr-submit,
    .mepr-share-button
):is(:hover, :focus-visible) {
    background: #7A00B8;
    border-color: #7A00B8;
    color: #FFFFFF;
}

body.agolf-membre #content :where(
    #item-header .button,
    #item-header .generic-button > a,
    .member-header-actions .button,
    .bp-profile-wrapper a.button,
    .bp-profile-content .group-separator-block a,
    .screen-heading a.button,
    a.button,
    .mepr-account-row-action
) {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    justify-content: center;
    background: #FFFFFF;
    border: 1px solid #9B00E5;
    border-radius: 999px;
    box-shadow: none;
    color: #9B00E5;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    padding: 9px 19px;
    text-decoration: none;
    text-transform: none;
    transition: background-color .18s ease, color .18s ease;
}

body.agolf-membre #content :where(
    #item-header .button,
    #item-header .generic-button > a,
    .member-header-actions .button,
    .bp-profile-wrapper a.button,
    .bp-profile-content .group-separator-block a,
    .screen-heading a.button,
    a.button,
    .mepr-account-row-action
):is(:hover, :focus-visible) {
    background: #F7F0FE;
    color: #7A00B8;
}

/* ── 7. Champs de formulaire ─────────────────────────────────────────────── */
body.agolf-membre #content :is(
    input[type="text"], input[type="email"], input[type="password"], input[type="tel"],
    input[type="url"], input[type="number"], input[type="date"], input[type="search"],
    select, textarea
) {
    background-color: #FFFFFF;
    border: 1px solid #EADFF7;
    border-radius: 12px;
    box-shadow: none;
    color: #1A1226;
    transition: border-color .18s ease, box-shadow .18s ease;
}

body.agolf-membre #content :is(
    input[type="text"], input[type="email"], input[type="password"], input[type="tel"],
    input[type="url"], input[type="number"], input[type="date"], input[type="search"],
    select, textarea
):focus {
    border-color: #9B00E5;
    box-shadow: 0 0 0 3px #F7F0FE;
    outline: none;
}

body.agolf-membre #content :is(input[type="checkbox"], input[type="radio"]) {
    accent-color: #9B00E5;
}

body.agolf-membre #content :is(.bs-styled-checkbox, .bs-styled-radio):checked + label::before,
body.agolf-membre #content .bb-input-switch:checked + label::before,
body.agolf-membre #content .bb-toggle-switch input:checked + .bb-toggle-slider {
    background-color: #9B00E5;
    border-color: #9B00E5;
}

body.agolf-membre #content :is(.mp-form-row label, .bb-field-wrap label, .editfield legend, .editfield label) {
    color: #3B2F4A;
    font-size: 14px;
    font-weight: 600;
}

/* ── 8. Encarts d'information ────────────────────────────────────────────── */
body.agolf-membre #content :is(.bp-feedback.info, aside.bp-feedback:not(.error), .mepr_updated) {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #F7F0FE;
    border: 1px solid #EADFF7;
    border-left: 3px solid #9B00E5;
    border-radius: 14px;
    box-shadow: none;
    color: #1A1226;
    padding: 14px 18px;
}

body.agolf-membre #content :is(.bp-feedback.info, aside.bp-feedback:not(.error)) .bp-icon {
    position: static;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 12px;
    background: #FFFFFF;
    color: #9B00E5;
}

body.agolf-membre #content :is(.bp-feedback.info, aside.bp-feedback:not(.error)) .bp-icon::before {
    color: #9B00E5;
}

body.agolf-membre #content :is(.bp-feedback.info, aside.bp-feedback:not(.error)) :is(p, .text) {
    color: #1A1226;
    margin: 0;
}

/* ── 9. Survol et mouvement ──────────────────────────────────────────────── */
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    body.agolf-membre #content :is(a.mepr-account-row-action, #item-header a.button):hover {
        transform: translateY(-1px);
    }
}

@media (prefers-reduced-motion: reduce) {
    body.agolf-membre #content * {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
    }
}

/* ── 10. Profil : l'en-tête devient un encart, sans couverture ───────────── */
body.agolf-membre #content #header-cover-image,
body.agolf-membre #content .link-change-cover-image {
    display: none;
}

body.agolf-membre #content #cover-image-container {
    height: auto;
    min-height: 0;
    padding: 28px;
    margin: 32px 0 24px;
}

body.agolf-membre #content #item-header-cover-image {
    display: flex;
    align-items: center;
    gap: 28px;
    margin: 0;
    padding: 0;
    min-height: 0;
    position: static;
    top: auto;
    transform: none;
}

/* L'anneau sur le conteneur : le thème rogne l'image, une ombre posée sur elle disparaît. */
body.agolf-membre #content #item-header-avatar {
    flex: 0 0 96px;
    width: 96px;
    height: 96px;
    margin: 0;
    padding: 0;
    position: relative;
    top: auto;
    border-radius: 50%;
    background: #FFFFFF;
    box-shadow: 0 0 0 4px #FFFFFF, 0 0 0 5px #E2CEF7;
}

body.agolf-membre #content #item-header-avatar :is(a, img.avatar) {
    display: block;
    width: 96px;
    height: 96px;
    max-width: none;
    margin: 0;
    border: 0;
    border-radius: 50%;
    box-shadow: none;
    object-fit: cover;
    overflow: hidden;
}

body.agolf-membre #content #item-header-content,
body.agolf-membre #content #item-header-content :is(.flex, .bb-user-content-wrap, .member-title-wrap) {
    align-self: center;
    margin: 0;
    padding: 0;
    min-width: 0;
}

body.agolf-membre #content #item-header-content .item-meta {
    margin: 4px 0 0;
}

body.agolf-membre #content #item-header-content .user-nicename {
    color: #1A1226;
    font-size: 26px;
    font-weight: 800;
    line-height: 1.2;
    margin: 0;
}

body.agolf-membre #content #item-header-content .item-meta:has(.agolf-membre-depuis) {
    font-size: 0;
}

body.agolf-membre #content #item-header-content .item-meta:has(.agolf-membre-depuis) > :not(.agolf-membre-depuis) {
    display: none;
}

body.agolf-membre #content .agolf-membre-depuis {
    color: #6B5F7A;
    font-size: 14px;
    font-weight: 500;
}

@media (max-width: 767px) {
    body.agolf-membre #content #item-header-cover-image {
        flex-direction: column;
        text-align: center;
    }
}

/* La fiche Profil : un seul encart, titre de groupe à la taille d'un titre de bloc. */
body.agolf-membre #content .bp-profile-content :is(.bp-widget, .group-separator-block, table, thead, tbody, tr, th, td) {
    background: transparent;
    box-shadow: none;
}

body.agolf-membre #content .bp-profile-content .bp-widget {
    border: 0;
    margin: 0;
    padding: 0;
}

body.agolf-membre #content .bp-profile-content :is(h2, h3, h4, .screen-heading, .profile-group-title) {
    color: #1A1226;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.25;
    margin: 0;
}

body.agolf-membre #content .bp-profile-content :is(td, th) {
    border-color: #EADFF7;
}

/* ── 11. Compte MemberPress : abonnements et paiements en cartes ─────────── */
body.agolf-membre #content .mp_wrapper-table-wrapper {
    border: 0;
    border-radius: 0;
    overflow: visible;
}

body.agolf-membre #content .mp_wrapper table.mepr-account-table,
body.agolf-membre #content .mp_wrapper table.mepr-account-table tbody {
    display: block;
    width: 100%;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
}

body.agolf-membre #content .mp_wrapper table.mepr-account-table thead {
    display: none !important;
}

body.agolf-membre #content .mp_wrapper table.mepr-account-table tr:is(.mepr-subscription-row, .mepr-payment-row) {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 14px 24px;
    align-items: start;
    position: relative;
    background: #FFFFFF;
    border: 1px solid #EADFF7;
    border-radius: 16px;
    box-shadow: 0 6px 18px -14px rgba(155, 0, 229, 0.45);
    margin: 0 0 16px;
    padding: 20px 24px;
}

body.agolf-membre #content .mp_wrapper table.mepr-account-table tr:is(.mepr-subscription-row, .mepr-payment-row) > td {
    display: block;
    background: transparent;
    border: 0;
    color: #1A1226;
    font-size: 14px;
    line-height: 1.45;
    padding: 0;
    text-align: left;
    white-space: normal;
}

body.agolf-membre #content .mp_wrapper table.mepr-account-table tr > td::before {
    content: attr(data-label);
    display: block;
    float: none;
    color: #6B5F7A;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    margin-bottom: 4px;
    text-transform: uppercase;
}

body.agolf-membre #content .mp_wrapper table.mepr-account-table td div {
    margin: 0;
    padding: 0;
}

/* Le thème réécrit ces tableaux (colonnes Créé, Expire, Reçu) : les cellules se repèrent par leur data-label. */
/* Le nom de l'abonnement en titre, pleine largeur, sans libellé. */
body.agolf-membre #content .mp_wrapper table.mepr-account-table tr:is(.mepr-subscription-row, .mepr-payment-row) > td:is([data-label="adhésion" i], [data-label="membership" i]) {
    grid-column: 1 / -1;
    order: -1;
    color: #1A1226;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.25;
}

body.agolf-membre #content .mp_wrapper table.mepr-account-table tr:is(.mepr-subscription-row, .mepr-payment-row) > td:is([data-label="adhésion" i], [data-label="membership" i]) * {
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
}

body.agolf-membre #content .mp_wrapper table.mepr-account-table tr:is(.mepr-subscription-row, .mepr-payment-row) > td:is([data-label="adhésion" i], [data-label="membership" i], [data-label="actions" i])::before {
    display: none;
}

body.agolf-membre #content .mepr-account-product a {
    color: #1A1226;
    text-decoration: none;
}

/* Identifiants techniques, date de création, reconduction : masqués. */
body.agolf-membre #content .mp_wrapper :is(.mepr-account-subscr-id, .mepr-account-auto-rebill, .mepr-account-terms),
body.agolf-membre #content .mp_wrapper table.mepr-account-table tr:is(.mepr-subscription-row, .mepr-payment-row) > td:is([data-label="créé" i], [data-label="created" i], [data-label="facture" i], [data-label="invoice" i]) {
    display: none;
}

body.agolf-membre #content .mp_wrapper .mepr-account-rebill {
    display: block;
    color: #1A1226;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
}

body.agolf-membre #content .mepr-account-cc-exp.mepr-inactive {
    color: #1A1226;
    font-weight: 600;
    background: none;
    padding: 0;
}

/* L'état en pastille, à la place du vert et du rouge. */
body.agolf-membre #content :is(span.mepr-active, span.mepr-inactive) {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    padding: 6px 12px;
    text-transform: uppercase;
}

body.agolf-membre #content span.mepr-active {
    background: #F7F0FE;
    color: #7A00B8;
}

body.agolf-membre #content span.mepr-inactive {
    background: #F1EEF4;
    color: #6B5F7A;
}

/* Les actions : boutons secondaires sur une ligne, « Annuler » en lien discret. */
body.agolf-membre #content .mp_wrapper table.mepr-account-table tr:is(.mepr-subscription-row, .mepr-payment-row) > td[data-label="actions" i] {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding-top: 14px;
    border-top: 1px solid #EADFF7;
}

body.agolf-membre #content .mp_wrapper table.mepr-account-table tr:is(.mepr-subscription-row, .mepr-payment-row) > td[data-label="actions" i] :is(.mepr-account-actions, .mepr-account-row-actions) {
    display: contents;
}

body.agolf-membre #content .mp_wrapper table.mepr-account-table tr:is(.mepr-subscription-row, .mepr-payment-row) > td[data-label="actions" i] a {
    display: inline-flex;
}

body.agolf-membre #content a.mepr-account-row-action:is(.mepr-account-cancel, .mepr-open-cancel-confirm),
body.agolf-membre #content a.mepr-account-row-action:is(.mepr-account-cancel, .mepr-open-cancel-confirm):is(:hover, :focus-visible) {
    margin-left: auto;
    background: none;
    border-color: transparent;
    color: #6B5F7A;
    font-weight: 500;
    padding-inline: 4px;
    text-decoration: underline;
    text-underline-offset: 3px;
}

body.agolf-membre #content a.mepr-account-row-action:is(.mepr-account-cancel, .mepr-open-cancel-confirm):is(:hover, :focus-visible) {
    color: #7A00B8;
}

/* Le reçu PDF en bouton secondaire. */
body.agolf-membre #content .mp_wrapper table.mepr-account-table tr:is(.mepr-subscription-row, .mepr-payment-row) > td:is([data-label="reçu" i], [data-label="receipt" i], :nth-child(n+7)) a {
    display: inline-flex;
    align-items: center;
    background: #FFFFFF;
    border: 1px solid #9B00E5;
    border-radius: 999px;
    color: #9B00E5;
    font-size: 14px;
    font-weight: 700;
    padding: 7px 18px;
    text-decoration: none;
}

body.agolf-membre #content .mp_wrapper table.mepr-account-table tr:is(.mepr-subscription-row, .mepr-payment-row) > td:is([data-label="reçu" i], [data-label="receipt" i], :nth-child(n+7)) a:is(:hover, :focus-visible) {
    background: #F7F0FE;
    color: #7A00B8;
}

/* ── 12. Formulaire d'adresse du compte ──────────────────────────────────── */
body.agolf-membre #content .mepr-account-form {
    background: linear-gradient(180deg, #FFFFFF 0%, #FBF8FE 100%);
    border: 1px solid #EADFF7;
    border-radius: 20px;
    padding: 24px;
}

body.agolf-membre #content .mepr-account-form > .mepr_email { order: 2; }

/* E-mail en lecture seule : il se modifie dans Réglages (mot de passe requis). */
body.agolf-membre #content .mepr-account-form .agolf-courriel input[disabled] {
    background-color: #F7F0FE;
    color: #5A5760;
    cursor: default;
    opacity: 1;
}

/* Ligne d'aide sous le libellé : gabarit des messages de champ (§33), en gris ; seul « Réglages » est un lien. */
/* Le libellé garde ses 10 px du thème (.mp_wrapper .mp-form-row label) ; l'aide reprend les mêmes 10 px avant le champ. */
body.agolf-membre #content .agolf-courriel__aide {
    order: 0;
    margin: 0 0 10px;
    padding: 0;
    color: #7B797E;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
}

body.agolf-membre #content .agolf-courriel__aide a {
    color: #9B00E5;
    font-weight: 600;
    text-decoration: none;
}

body.agolf-membre #content .agolf-courriel__aide a:is(:hover, :focus-visible) {
    text-decoration: underline;
}

body.agolf-membre #content .mepr-account-form > input.mepr-submit {
    order: 90;
    align-self: flex-start;
    justify-self: start;
    margin-top: 8px;
}

body.agolf-membre #content .mepr-account-form .mepr_mepr-address-state {
    display: none;
}

/* ── 13. Formulaires MemberPress : ordre des champs (compte et paiement) ; page de paiement (08/10) ── */
body.agolf-membre #content :is(.mepr-signup-form, .mepr-account-form) {
    display: flex;
    flex-direction: column;
}

body.agolf-membre #content :is(.mepr-signup-form, .mepr-account-form) > * {
    order: 50;
}

body.agolf-membre--paiement #content .mepr-signup-form > .agolf-facturation { order: 3; }
body.agolf-membre #content :is(.mepr-signup-form, .mepr-account-form) > .mepr_first_name { order: 4; }
body.agolf-membre #content :is(.mepr-signup-form, .mepr-account-form) > .mepr_last_name { order: 5; }
body.agolf-membre #content :is(.mepr-signup-form, .mepr-account-form) > .mepr_mepr-address-one { order: 6; }
body.agolf-membre #content :is(.mepr-signup-form, .mepr-account-form) > .mepr_mepr-address-two { order: 7; }
body.agolf-membre #content :is(.mepr-signup-form, .mepr-account-form) > .mepr_mepr-address-zip { order: 8; }
body.agolf-membre #content :is(.mepr-signup-form, .mepr-account-form) > .mepr_mepr-address-city { order: 9; }
body.agolf-membre #content :is(.mepr-signup-form, .mepr-account-form) > .mepr_mepr-address-country { order: 10; }
body.agolf-membre #content :is(.mepr-signup-form, .mepr-account-form) > .mepr_mepr-address-state { order: 11; }
body.agolf-membre--paiement #content .mepr-signup-form > :is(.have-coupon-link, .mepr_coupon) { order: 55; }
body.agolf-membre--paiement #content .mepr-signup-form > .agolf-paiement-titre { order: 60; }
body.agolf-membre--paiement #content .mepr-signup-form > .mepr-payment-methods-wrapper { order: 61; }
body.agolf-membre--paiement #content .mepr-signup-form > .mp-form-submit { order: 90; }

/* La ligne de prix de MemberPress est rendue par le récapitulatif ; elle reste dans le DOM (recalcul du code de réduction). */
body.agolf-membre--paiement #content:has(.agolf-recap) .mepr-signup-form > .mepr_price,
body.agolf-membre #content :is(.mepr-signup-form, .mepr-account-form) > .mepr_spacer {
    display: none;
}

/* État/Province : masqué quand le pays est la France. */
body.agolf-membre--paiement #content .mepr-signup-form:has(.mepr-countries-dropdown option[value="FR"]:checked) .mepr_mepr-address-state {
    display: none;
}

/* Compte : prénom/nom et code postal/ville côte à côte dès 768 px. */
@media (min-width: 768px) {
    body.agolf-membre #content .mepr-account-form {
        display: grid;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        column-gap: 16px;
        row-gap: 0;
        align-items: start;
    }

    body.agolf-membre #content .mepr-account-form > * {
        grid-column: 1 / -1;
        min-width: 0;
    }

    body.agolf-membre #content .mepr-account-form > .mepr_first_name { grid-column: 1 / 4; }
    body.agolf-membre #content .mepr-account-form > .mepr_last_name { grid-column: 4 / 7; }
    body.agolf-membre #content .mepr-account-form > .mepr_mepr-address-zip { grid-column: 1 / 3; }
    body.agolf-membre #content .mepr-account-form > .mepr_mepr-address-city { grid-column: 3 / 7; }
}

/* Paiement, formulaire : encart blanc ; titres 28 px ; champs de 48 px. */
body.agolf-membre--paiement #content .mp_wrapper:has(> .mepr-signup-form) {
    background: #FFFFFF;
    border: 1px solid #EADFF7;
    border-radius: 24px;
    padding: 28px;
}

body.agolf-membre--paiement #content .agolf-facturation {
    margin: 0 0 20px;
}

body.agolf-membre--paiement #content :is(h2.agolf-facturation__titre, h2.agolf-paiement-titre) {
    margin: 0;
    color: #1A1226;
    font-size: 28px;
    font-weight: 800;
    line-height: 1.2;
}

body.agolf-membre--paiement #content h2.agolf-paiement-titre {
    margin: 32px 0 16px;
}

body.agolf-membre--paiement #content .agolf-facturation__aide {
    margin: 6px 0 0;
    color: #6B5F7A;
    font-size: 14px;
}

body.agolf-membre--paiement #content .mepr-signup-form :is(input[type="text"], input[type="email"], input[type="password"], input[type="tel"], select) {
    min-height: 48px;
    box-sizing: border-box;
}

/* Lien du code de réduction en pilule secondaire. */
body.agolf-membre--paiement #content .mepr-signup-form a.have-coupon-link {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    justify-self: start;
    height: 40px;
    margin: 4px 0 12px;
    padding: 0 18px;
    background: #FFFFFF;
    border: 1px solid #9B00E5;
    border-radius: 999px;
    color: #7A00B8;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

body.agolf-membre--paiement #content .mepr-signup-form a.have-coupon-link:is(:hover, :focus-visible) {
    background: #F7F0FE;
    color: #7A00B8;
}

/* Paiement : les moyens de paiement sans encart propre ; le champ carte classique au style des champs. */
body.agolf-membre--paiement #content .mepr-signup-form .mepr-payment-methods-wrapper {
    margin: 0 0 20px;
    padding: 0;
    background: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}


/* Bouton S'abonner : 52 px, pleine largeur, pilule. */
body.agolf-membre--paiement #content .mepr-signup-form .mp-form-submit {
    margin: 8px 0 0;
}

body.agolf-membre--paiement #content .mepr-signup-form input.mepr-submit {
    display: block;
    width: 100%;
    height: 52px;
    min-width: 0;
    padding: 0 24px;
    background: #9B00E5;
    border: 0;
    border-radius: 999px;
    color: #FFFFFF;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    text-transform: none;
}

body.agolf-membre--paiement #content .mepr-signup-form input.mepr-submit:is(:hover, :focus-visible) {
    background: #7A00B8;
}

/* Formulaire : prénom/nom, adresse, complément, code postal (1/3) et ville (2/3), pays. */
@media (min-width: 900px) {
    body.agolf-membre--paiement #content .mepr-signup-form {
        display: grid;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        column-gap: 16px;
        row-gap: 0;
        align-items: start;
    }

    body.agolf-membre--paiement #content .mepr-signup-form > * {
        grid-column: 1 / -1;
        min-width: 0;
    }

    body.agolf-membre--paiement #content .mepr-signup-form > .mepr_first_name { grid-column: 1 / 4; }
    body.agolf-membre--paiement #content .mepr-signup-form > .mepr_last_name { grid-column: 4 / 7; }
    body.agolf-membre--paiement #content .mepr-signup-form > .mepr_mepr-address-zip { grid-column: 1 / 3; }
    body.agolf-membre--paiement #content .mepr-signup-form > .mepr_mepr-address-city { grid-column: 3 / 7; }
}

/* Le récapitulatif de l'offre : encart dégradé, d'abord sur mobile, à droite et collant au large. */
body.agolf-membre--paiement #content .agolf-recap {
    margin: 0 0 24px;
    padding: 28px;
    background: linear-gradient(180deg, #FFFFFF 0%, #FBF8FE 100%);
    border: 1px solid #EADFF7;
    border-radius: 24px;
}

body.agolf-membre--paiement #content .agolf-recap p {
    margin: 0;
}

body.agolf-membre--paiement #content .agolf-recap__surtitre {
    color: #6B5F7A;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

body.agolf-membre--paiement #content .agolf-recap__offre {
    margin-top: 6px !important;
    color: #1A1226;
    font-size: 28px;
    font-weight: 800;
    line-height: 1.2;
}

body.agolf-membre--paiement #content p.agolf-recap__pastille {
    display: inline-flex;
    margin-top: 10px;
    padding: 5px 12px;
    background: #F7F0FE;
    border-radius: 999px;
    box-shadow: inset 0 0 0 1px #9B00E5;
    color: #7A00B8;
    font-size: 12px;
    font-weight: 700;
}

body.agolf-membre--paiement #content p.agolf-recap__prix {
    margin-top: 18px;
    color: #9B00E5;
    font-size: 40px;
    font-weight: 800;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

body.agolf-membre--paiement #content p.agolf-recap__periode {
    margin-top: 4px;
    color: #6B5F7A;
    font-size: 14px;
}

body.agolf-membre--paiement #content p.agolf-recap__par-mois {
    margin-top: 2px;
    color: #6B5F7A;
    font-size: 13px;
}

/* Conditions recalculées (code de réduction) : le prix se masque, la mention de MemberPress prend sa place. */
body.agolf-membre--paiement #content p.agolf-recap__mention {
    display: none;
    margin-top: 8px;
    color: #6B5F7A;
    font-size: 13px;
    line-height: 1.5;
}

body.agolf-membre--paiement #content .agolf-recap--recalcule p.agolf-recap__mention {
    display: block;
}

body.agolf-membre--paiement #content .agolf-recap--recalcule :is(.agolf-recap__prix, .agolf-recap__periode, .agolf-recap__par-mois) {
    display: none;
}

body.agolf-membre--paiement #content ul.agolf-recap__avantages {
    margin: 20px 0 0;
    padding: 16px 0 0;
    border-top: 1px solid #EADFF7;
    list-style: none;
}

body.agolf-membre--paiement #content ul.agolf-recap__avantages li {
    position: relative;
    margin: 0 0 8px;
    padding-left: 26px;
    color: #1A1226;
    font-size: 14px;
    line-height: 1.45;
}

body.agolf-membre--paiement #content ul.agolf-recap__avantages li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 16px;
    height: 16px;
    background: #9B00E5;
    -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012.5l4.5%204.5L19%207.5%22/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012.5l4.5%204.5L19%207.5%22/%3E%3C/svg%3E") center / contain no-repeat;
}

body.agolf-membre--paiement #content p.agolf-recap__securite {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid #EADFF7;
    color: #6B5F7A;
    font-size: 13px;
}

@media (min-width: 1000px) {
    body.agolf-membre--paiement #content :has(> .agolf-recap + .mp_wrapper) {
        display: grid;
        grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
        column-gap: 32px;
        align-items: start;
    }

    body.agolf-membre--paiement #content :has(> .agolf-recap + .mp_wrapper) > * {
        grid-column: 1 / -1;
    }

    body.agolf-membre--paiement #content :has(> .agolf-recap + .mp_wrapper) > .mp_wrapper {
        grid-column: 1;
        grid-row: 1 / span 2;
    }

    body.agolf-membre--paiement #content :has(> .agolf-recap + .mp_wrapper) > .agolf-recap {
        grid-column: 2;
        grid-row: 1;
        position: sticky;
        top: 96px;
        margin: 0;
    }
}

/* ── 14. Profil de l'élève : en-tête et ses cartes, onglets, fiche (maquette du 03/10, structure du 04/10) ── */
body.agolf-membre--moi:has(.agolf-profil) #item-header > :not(.agolf-profil),
body.agolf-membre--moi:has(.agolf-profil) nav#object-nav,
body.agolf-membre--moi:has(.agolf-profil) #content h1.settings-title,
body.agolf-membre--moi #item-body:has(.agolf-profil-fiche) #subnav,
body.agolf-membre--moi #item-body:has(.agolf-profil-fiche) .profile.public:not(:has(.agolf-profil-fiche)),
body.agolf-membre--moi #item-body .profile.public:has(.agolf-profil-fiche) > :not(.agolf-profil-fiche) {
    display: none;
}

body.agolf-membre .agolf-profil {
    margin: 32px 0 0;
    color: #1A1226;
}

body.agolf-membre :is(.agolf-profil, .agolf-profil-fiche) .agolf-profil__carte {
    background: linear-gradient(180deg, #FFFFFF, #FBF8FE);
    border: 1px solid #EADFF7;
    border-radius: 24px;
    transition: transform .18s ease, box-shadow .18s ease;
}

body.agolf-membre .agolf-profil :is(p, h1, h2) {
    font-family: var(--fj1-font);
}

body.agolf-membre .agolf-profil__hero {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 28px;
    align-items: center;
    padding: 32px 36px;
    position: relative;
    overflow: hidden;
}

body.agolf-membre .agolf-profil__hero::before {
    content: "";
    position: absolute;
    right: -120px;
    top: -160px;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: radial-gradient(circle, #EFE0FD 0, #F7F0FE00 70%);
    pointer-events: none;
}

body.agolf-membre .agolf-profil__hero > * {
    position: relative;
    min-width: 0;
}

body.agolf-membre .agolf-profil__avatar {
    position: relative;
    width: 132px;
    height: 132px;
}

body.agolf-membre .agolf-profil__avatar svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

body.agolf-membre .agolf-profil__arc {
    transition: stroke-dashoffset 1.2s var(--fj1-ease);
}

body.agolf-membre .agolf-profil__photo {
    position: absolute;
    inset: 14px;
    border-radius: 50%;
    background: linear-gradient(135deg, #7A00B8, #C67EFF);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    color: #FFFFFF;
    font-size: 44px;
    font-weight: 800;
}

body.agolf-membre .agolf-profil__photo img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    border-radius: 0;
    object-fit: cover;
}

body.agolf-membre .agolf-profil__eyebrow {
    margin: 0;
    color: #7A00B8;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

body.agolf-membre .agolf-profil h1.agolf-profil__nom {
    margin: 6px 0;
    color: #1A1226;
    font-size: 40px;
    font-weight: 800;
    line-height: 1.15;
}

body.agolf-membre .agolf-profil__sous {
    margin: 0;
    color: #6B5F7A;
    font-size: 15px;
}

body.agolf-membre .agolf-profil__offre {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 12px 0 0;
    padding: 7px 14px;
    background: #F7F0FE;
    border: 1px solid #EADFF7;
    border-radius: 999px;
    color: #7A00B8;
    font-size: 13px;
    font-weight: 700;
}

body.agolf-membre .agolf-profil__modifier {
    background: #FFFFFF;
    border: 1.5px solid #9B00E5;
    border-radius: 999px;
    color: #9B00E5;
    font-size: 14px;
    font-weight: 700;
    padding: 11px 20px;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color .18s ease, color .18s ease;
}

body.agolf-membre .agolf-profil__modifier:is(:hover, :focus-visible) {
    background: #F7F0FE;
    color: #7A00B8;
}

/* Les quatre cartes, au bas de l'encart d'en-tête, de même largeur. */
body.agolf-membre .agolf-profil__cartes {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

body.agolf-membre .agolf-profil__mini {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    min-width: 0;
    padding: 16px 18px;
    background: #FFFFFF;
    border: 1px solid #EADFF7;
    border-radius: 16px;
    color: #1A1226;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

body.agolf-membre a.agolf-profil__mini:focus-visible {
    outline: 2px solid #9B00E5;
    outline-offset: 2px;
}

body.agolf-membre .agolf-profil__mini-texte {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

body.agolf-membre .agolf-profil__pic {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 12px;
    background: #F7F0FE;
    color: #9B00E5;
}

/* Les quatre cartes au format de la carte Programme : étiquette, valeur, contexte. */
body.agolf-membre .agolf-profil__libelle {
    color: #6B5F7A;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

body.agolf-membre .agolf-profil__nombre {
    color: #1A1226;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.25;
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
}

body.agolf-membre .agolf-profil__nombre.is-petit {
    font-size: 18px;
}

body.agolf-membre .agolf-profil__nombre small {
    margin-left: 4px;
    color: #6B5F7A;
    font-size: 16px;
    font-weight: 700;
}

body.agolf-membre .agolf-profil__note {
    color: #7A00B8;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
}

/* Fantômes lavande qui pulsent, le temps que le lot arrive. */
body.agolf-membre .agolf-profil__mini.is-fantome .agolf-profil__chiffre,
body.agolf-membre .agolf-profil__ligne.is-fantome :is(span, b) {
    display: block;
    height: 18px;
    width: 64px;
    border-radius: 8px;
    background: #F0E6FA;
    color: transparent;
}

body.agolf-membre .agolf-profil__ligne.is-fantome span { width: 35%; height: 14px; }
body.agolf-membre .agolf-profil__ligne.is-fantome b { width: 25%; height: 14px; }

@media (prefers-reduced-motion: no-preference) {
    body.agolf-membre :is(.agolf-profil__mini.is-fantome .agolf-profil__chiffre, .agolf-profil__ligne.is-fantome span, .agolf-profil__ligne.is-fantome b) {
        animation: agolf-profil-pulse 1.2s ease-in-out infinite alternate;
    }
}

@keyframes agolf-profil-pulse {
    from { opacity: .45; }
    to { opacity: 1; }
}

/* Les onglets : la barre d'onglets de semaine du programme (program-view.css § 9 et § 25), rayon 999 px. */
body.agolf-membre #content nav.agolf-profil__onglets {
    display: flex;
    gap: 4px;
    margin: 28px 0 18px;
    padding: 8px;
    background: linear-gradient(180deg, #FFFFFF 0%, #FBF8FE 100%);
    border: 0;
    border-radius: 999px;
    box-shadow: 0 0 0 1px #EADFF7;
}

body.agolf-membre #content nav.agolf-profil__onglets a.agolf-profil__onglet {
    flex: 1 1 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 16px;
    background: transparent;
    border: 0;
    border-radius: 999px;
    box-shadow: none;
    color: #6B5F7A;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: background-color .16s var(--fj1-ease), color .16s var(--fj1-ease), box-shadow .16s var(--fj1-ease);
}

body.agolf-membre #content nav.agolf-profil__onglets a.agolf-profil__onglet:is(:hover, :focus-visible) {
    background: #F7F0FE;
    color: #7A00B8;
}

body.agolf-membre #content nav.agolf-profil__onglets a.agolf-profil__onglet.is-actif {
    background: #F7F0FE;
    box-shadow: inset 0 0 0 2px #9B00E5;
    color: #7A00B8;
}

body.agolf-membre .agolf-profil-fiche {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    align-items: stretch;
}

/* Zone blanche : les conteneurs BuddyBoss autour de la fiche perdent fond, bord et marge intérieure. */
body.agolf-membre--moi #content #item-body:has(.agolf-profil-fiche),
body.agolf-membre--moi #content #item-body *:has(.agolf-profil-fiche) {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

body.agolf-membre #content .agolf-profil-fiche h2::after,
body.agolf-membre #content .agolf-profil-fiche h2::before {
    content: none;
}

body.agolf-membre .agolf-profil__ligne b a {
    color: #7A00B8;
    text-decoration: underline;
    text-underline-offset: 3px;
}

body.agolf-membre #content .agolf-profil__bloc {
    padding: 26px 28px;
}

/* Un seul filet, celui de la première ligne, à 16 px sous le titre : le thème met une bordure et une marge nulle à ses h2. */
body.agolf-membre #content .agolf-profil-fiche h2 {
    margin: 0 0 16px !important;
    padding: 0 !important;
    border: 0 !important;
    line-height: 1.25;
    color: #1A1226;
    font-family: var(--fj1-font);
    font-size: 20px;
    font-weight: 800;
}

body.agolf-membre #content .agolf-profil__ligne {
    margin: 0;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 0;
    border-top: 1px solid #F0E6FA;
    font-size: 15px;
}

body.agolf-membre .agolf-profil__ligne span {
    color: #6B5F7A;
}

body.agolf-membre .agolf-profil__ligne b {
    color: #1A1226;
    font-weight: 700;
    text-align: right;
    overflow-wrap: anywhere;
}

body.agolf-membre :is(.agolf-profil, .agolf-profil-fiche) [hidden] {
    display: none !important;
}

body.agolf-membre .agolf-profil-fiche p.agolf-profil__vide {
    margin: 0;
    color: #6B5F7A;
    font-size: 13px;
}

@media (max-width: 767px) {
    body.agolf-membre .agolf-profil__hero {
        grid-template-columns: auto 1fr;
        gap: 20px;
        padding: 24px;
    }

    body.agolf-membre .agolf-profil__avatar {
        width: 96px;
        height: 96px;
    }

    body.agolf-membre .agolf-profil__photo {
        inset: 10px;
        font-size: 32px;
    }

    body.agolf-membre .agolf-profil h1.agolf-profil__nom {
        font-size: 28px;
    }

    body.agolf-membre .agolf-profil__modifier {
        grid-column: 1 / -1;
        text-align: center;
    }

    body.agolf-membre .agolf-profil__cartes {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.agolf-membre .agolf-profil__mini {
        flex-direction: column;
        gap: 10px;
        padding: 14px;
    }

    body.agolf-membre .agolf-profil-fiche {
        grid-template-columns: 1fr;
    }
}

/* Entrée en décalé de 60 ms, fondu de 8 px au changement d'onglet, soulèvement au survol. */
@media (prefers-reduced-motion: no-preference) {
    body.agolf-membre :is(.agolf-profil, .agolf-profil-fiche) .agolf-profil__carte {
        animation: agolf-profil-entree .42s var(--fj1-ease) backwards;
        animation-delay: calc(var(--agolf-profil-ordre, 0) * 60ms);
    }

    body.agolf-membre--moi:has(.agolf-profil) #item-body {
        animation: agolf-profil-entree .26s var(--fj1-ease) backwards;
    }
}

@keyframes agolf-profil-entree {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    body.agolf-membre .agolf-profil-fiche .agolf-profil__carte:hover,
    body.agolf-membre a.agolf-profil__mini:hover {
        transform: translateY(-2px);
        box-shadow: 0 14px 28px -16px rgba(155, 0, 229, 0.35);
    }
}

@media (prefers-reduced-motion: reduce) {
    body.agolf-membre .agolf-profil__arc {
        transition: none;
    }
}

/* ── 15. Onglets Abonnement et Réglages : sous-onglets et contenu dans un seul encart (04/10, Réglages 05/10) ── */
body.agolf-membre--sous-onglets #content #item-body {
    background: linear-gradient(180deg, #FFFFFF 0%, #FBF8FE 100%);
    border: 1px solid #EADFF7;
    border-radius: 24px;
    padding: 0 28px 28px;
    animation: none;
}

body.agolf-membre--sous-onglets #content #item-body :is(#subnav:not(.subnav_tab), #mepr-account-nav, .bp-settings-container .bp-navs) {
    margin: 0 -28px 24px;
    padding: 16px 28px;
    background: none;
    border: 0;
    border-bottom: 1px solid #EADFF7;
    border-radius: 0;
    box-shadow: none;
}

body.agolf-membre--sous-onglets #content #item-body :is(#subnav:not(.subnav_tab), #mepr-account-nav, .bp-settings-container .bp-navs) ul {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.agolf-membre--sous-onglets #content #item-body :is(#subnav:not(.subnav_tab), #mepr-account-nav, .bp-settings-container .bp-navs) li {
    margin: 0;
    padding: 0;
    border: 0;
}

body.agolf-membre--sous-onglets #content #item-body :is(#subnav:not(.subnav_tab), #mepr-account-nav, .bp-settings-container .bp-navs) li > a {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    background: transparent;
    border: 0;
    border-radius: 999px;
    box-shadow: none;
    color: #6B5F7A;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
}

body.agolf-membre--sous-onglets #content #item-body :is(#subnav:not(.subnav_tab), #mepr-account-nav, .bp-settings-container .bp-navs) li > a:is(:hover, :focus-visible) {
    background: #F7F0FE;
    color: #7A00B8;
}

body.agolf-membre--sous-onglets #content #item-body :is(#subnav:not(.subnav_tab) li:is(.current, .selected), #mepr-account-nav li.mepr-active-nav-tab, .bp-settings-container .bp-navs li:is(.current, .selected)) > a {
    background: #F7F0FE;
    box-shadow: inset 0 0 0 1.5px #9B00E5;
    color: #7A00B8;
    font-weight: 700;
}

/* Le contenu du sous-onglet, sans encart autour ; les cartes d'abonnement et de paiement restent des cartes. */
body.agolf-membre--sous-onglets #content #item-body :is(.mepr-account-form, .bb-mp-account-settings, .mp_wrapper, .mp_wrapper_nav) {
    background: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
}

@media (prefers-reduced-motion: no-preference) {
    body.agolf-membre--sous-onglets #content #item-body > :not(#subnav, #mepr-account-nav, .bp-settings-container),
    body.agolf-membre--sous-onglets #content #item-body .bp-settings-container > .bb-bp-settings-content {
        animation: agolf-profil-entree .26s var(--fj1-ease) backwards;
    }
}

@media (max-width: 767px) {
    body.agolf-membre--sous-onglets #content #item-body {
        padding: 0 18px 18px;
    }

    body.agolf-membre--sous-onglets #content #item-body :is(#subnav:not(.subnav_tab), #mepr-account-nav, .bp-settings-container .bp-navs) {
        margin: 0 -18px 20px;
        padding: 12px 18px;
    }
}

/* ── 16. Cartes d'abonnement et de paiement : état et reçu en haut à droite (04/10) ── */
/* Le titre laisse la place à la pastille ou au bouton posés en haut à droite. */
body.agolf-membre #content .mp_wrapper table.mepr-account-table tr:is(.mepr-subscription-row, .mepr-payment-row) > td:is([data-label="adhésion" i], [data-label="membership" i]) {
    padding-right: 120px;
}

/* L'état sort du tableau : pastille « Actif » ou « Terminé », le libellé de colonne disparaît. */
body.agolf-membre #content .mp_wrapper table.mepr-account-table tr:is(.mepr-subscription-row, .mepr-payment-row) > td:is([data-label="actif" i], [data-label="active" i]) {
    position: absolute;
    top: 18px;
    right: 20px;
}

body.agolf-membre #content .mp_wrapper table.mepr-account-table tr:is(.mepr-subscription-row, .mepr-payment-row) > td:is([data-label="actif" i], [data-label="active" i])::before {
    display: none;
}

body.agolf-membre #content :is(span.mepr-active, span.mepr-inactive) {
    font-size: 0;
    letter-spacing: 0;
    padding: 0;
}

body.agolf-membre #content :is(span.mepr-active, span.mepr-inactive)::after {
    display: inline-block;
    padding: 5px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: none;
}

body.agolf-membre #content span.mepr-active::after {
    content: "Actif";
    background: #F7F0FE;
    box-shadow: inset 0 0 0 1px #9B00E5;
    color: #7A00B8;
}

body.agolf-membre #content span.mepr-inactive::after {
    content: "Termin\E9";
    background: #F3EFF7;
    color: #6B5F7A;
}

body.agolf-membre #content :is(span.mepr-active, span.mepr-inactive) {
    background: none;
}

/* Carte inactive : fond lavande pâle et textes gris, la carte en cours se voit d'un coup d'œil. */
body.agolf-membre #content .mp_wrapper table.mepr-account-table tr.mepr-subscription-row:has(span.mepr-inactive) {
    background: #FBF8FE;
    box-shadow: none;
}

body.agolf-membre #content .mp_wrapper table.mepr-account-table tr.mepr-subscription-row:has(span.mepr-inactive) > td,
body.agolf-membre #content .mp_wrapper table.mepr-account-table tr.mepr-subscription-row:has(span.mepr-inactive) > td :not(.mepr-account-row-action, .mepr-account-row-action *) {
    color: #6B5F7A;
}

/* Le reçu sort du tableau : dernière cellule à lien de la ligne (son data-label ne se compare pas de façon fiable), en haut à droite. */
body.agolf-membre #content .mp_wrapper table.mepr-account-table tr.mepr-payment-row > td:last-child:has(a) {
    position: absolute;
    top: 16px;
    right: 20px;
}

body.agolf-membre #content .mp_wrapper table.mepr-account-table tr.mepr-payment-row > td:last-child:has(a)::before {
    display: none;
}

body.agolf-membre #content .mp_wrapper table.mepr-account-table tr.mepr-payment-row > td:last-child:has(a) a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    background: #FFFFFF;
    border: 1px solid #9B00E5;
    border-radius: 999px;
    color: #9B00E5;
    font-size: 0;
    text-decoration: none;
}

body.agolf-membre #content .mp_wrapper table.mepr-account-table tr.mepr-payment-row > td:last-child:has(a) a::before {
    content: "";
    width: 14px;
    height: 14px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%204v11M7%2010l5%205%205-5M5%2020h14%22/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%204v11M7%2010l5%205%205-5M5%2020h14%22/%3E%3C/svg%3E") center / contain no-repeat;
}

body.agolf-membre #content .mp_wrapper table.mepr-account-table tr.mepr-payment-row > td:last-child:has(a) a::after {
    content: "Re\E7 u";
    font-size: 13px;
    font-weight: 700;
}

body.agolf-membre #content .mp_wrapper table.mepr-account-table tr.mepr-payment-row > td:last-child:has(a) a:is(:hover, :focus-visible) {
    background: #F7F0FE;
    color: #7A00B8;
}

/* Informations : 26 px sous « Enregistrer profil », comme le bas des autres encarts. */
body.agolf-membre--sous-onglets #content #item-body {
    padding-bottom: 26px;
}

body.agolf-membre--sous-onglets #content #item-body :is(.mp_wrapper > .mepr_spacer, .mepr-account-form > .mepr_spacer) {
    display: none;
}

body.agolf-membre--sous-onglets #content #item-body :is(.mepr-account-form, .mepr-account-form > input.mepr-submit, .mp_wrapper) {
    margin-bottom: 0;
}

/* ── 17. Largeur des pages et colonnes des cartes (04/10) ── */
/* Même largeur que le dashboard et la page programme : le panneau commun, au lieu des 1 200 px du thème. */
body.agolf-membre #content .container {
    max-width: var(--fj1-panel-max);
}

/* Colonnes explicites, réparties sur toute la carte : trois pour un abonnement, quatre pour un paiement. */
body.agolf-membre #content .mp_wrapper table.mepr-account-table tr.mepr-subscription-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.agolf-membre #content .mp_wrapper table.mepr-account-table tr.mepr-payment-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 767px) {
    body.agolf-membre #content .mp_wrapper table.mepr-account-table tr:is(.mepr-subscription-row, .mepr-payment-row) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ── 18. Abonnements : seul l'abonnement actif (05/10) ── */
/* Aucun filtre MemberPress sur les lignes rendues : les lignes terminées sont masquées ici, bouton « Abonnez-vous » compris. */
body.agolf-membre #content .mp_wrapper table.mepr-account-table tr.mepr-subscription-row:has(span.mepr-inactive) {
    display: none;
}

body.agolf-membre #content .agolf-abonnement-vide {
    display: none;
}

body.agolf-membre #content:not(:has(span.mepr-active)) .agolf-abonnement-vide {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 16px;
    padding: 20px 24px;
    background: #FFFFFF;
    border: 1px solid #EADFF7;
    border-radius: 16px;
    box-shadow: 0 6px 18px -14px rgba(155, 0, 229, 0.45);
}

body.agolf-membre #content:not(:has(span.mepr-active)) :is(.mepr-no-active-subscriptions, #mepr-account-subscriptions-table) {
    display: none;
}

body.agolf-membre #content .agolf-abonnement-vide p {
    margin: 0;
    color: #1A1226;
    font-size: 16px;
    font-weight: 700;
}

body.agolf-membre #content a.agolf-abonnement-vide__offres {
    display: inline-flex;
    align-items: center;
    padding: 9px 19px;
    background: #FFFFFF;
    border: 1px solid #9B00E5;
    border-radius: 999px;
    color: #9B00E5;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

body.agolf-membre #content a.agolf-abonnement-vide__offres:is(:hover, :focus-visible) {
    background: #F7F0FE;
    color: #7A00B8;
}

/* ── 19. Réglages : la page BuddyBoss ramenée au gabarit d'Abonnement (05/10) ── */
/* Le conteneur flex et le panneau blanc du thème s'effacent : l'encart est #item-body, la navigation passe en barre. */
body.agolf-membre--reglages #content #item-body :is(.bp-settings-container, .bb-bp-settings-content) {
    display: block;
    flex: none;
    width: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
    background: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

body.agolf-membre--reglages #content #item-body .bp-settings-container .bp-navs {
    flex: none;
    width: auto;
    min-height: 0;
}

/* Pas de pictogramme devant Informations et Préférences. */
body.agolf-membre--reglages #content #item-body .bp-settings-container .bp-navs li > a::before,
body.agolf-membre--reglages #content #item-body .bp-settings-container .bp-navs li::after {
    content: none;
    display: none;
}

/* « Voir profil » et le titre de page sont écrits en dur par le thème (Réglages, édition du profil) : leur en-tête exact est masqué. */
body.agolf-membre #item-body > .item-body-inner > :is(header.entry-header, header.profile-header) {
    display: none !important;
}

/* La barre de sous-onglets part du haut de l'encart, comme sur Abonnement. */
body.agolf-membre--sous-onglets #content #item-body > .item-body-inner {
    margin-top: 0;
    padding-top: 0;
}

/* Pas de hauteur minimale : l'encart s'arrête à son contenu. */
body.agolf-membre--reglages #content #item-body {
    min-height: 0;
}

/* ── 20. Réglages > Informations : deux colonnes au large (06/10) ── */
/* Les champs sont des .bb-field-wrap enfants directs ; seul le formulaire qui porte #pass1 est visé, Préférences garde son #settings-form. */
@media (min-width: 900px) {
    body.agolf-membre--reglages #content form#settings-form:has(#pass1) {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 24px;
        align-items: start;
    }

    body.agolf-membre--reglages #content form#settings-form:has(#pass1) > * {
        grid-column: 1 / -1;
    }

    body.agolf-membre--reglages #content form#settings-form:has(#pass1) > .bb-field-wrap {
        grid-column: auto;
        align-self: start;
        min-width: 0;
        margin-top: 0;
    }

    /* Le thème met 15 px au-dessus des labels : 0 pour toutes les cellules, 12 px dessous. */
    body.agolf-membre--reglages #content form#settings-form:has(#pass1) > .bb-field-wrap > label {
        margin-top: 0;
        margin-bottom: 12px;
    }
}

/* ── 21. Réglages : mention du mot de passe actuel, titre des Préférences (06/10) ── */
/* La mention sous le champ est un ::before du lien « Mot de passe oublié ? » ; inline-block pour ne pas hériter du soulignement. */
body.agolf-membre--reglages #content #settings-form .bb-super-admin-pass .settings-input {
    margin-bottom: 0;
}

/* La mention vit dans le ::before du lien : un <span> resté dans le label (ancien PHP ou traduction du thème) est masqué. */
body.agolf-membre--reglages #content #settings-form .bb-super-admin-pass > label span {
    display: none;
}

body.agolf-membre--reglages #content #settings-form .bb-super-admin-pass > a::before {
    content: "requis pour changer l'adresse e-mail ou modifier votre mot de passe";
    display: inline-block;
    width: 100%;
    margin: 6px 0 8px;
    color: #6B5F7A;
    font-size: 13px;
    font-style: italic;
    font-weight: 400;
    text-decoration: none;
}

/* La navigation secondaire des notifications (second #subnav) ne porte ni filet ni marge : 16 px entre le titre et le texte. */
body.agolf-membre--reglages #content #item-body nav.subnav_tab {
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
}

body.agolf-membre--reglages #content #item-body h2.screen-heading.email-settings-screen {
    margin: 0 0 16px;
    padding: 0;
    border: 0;
}

body.agolf-membre--reglages #content #item-body .bp-help-text.email-notifications-info {
    margin-top: 0;
}

/* ── 22. Profil > Modifier : même gabarit que Réglages (06/10) ── */
/* Les conteneurs du thème autour de la navigation et du formulaire s'effacent : l'encart est #item-body. */
body.agolf-membre--edition #content #item-body :is(.bp-profile-wrapper, .bp-profile-content, .profile) {
    display: block;
    flex: none;
    width: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
    background: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

body.agolf-membre--edition #content #item-body #subnav:not(.subnav_tab) {
    flex: none;
    width: auto;
    min-height: 0;
}

/* Pas de pictogramme devant Informations et Photo. */
body.agolf-membre--edition #content #item-body #subnav:not(.subnav_tab) li > a::before,
body.agolf-membre--edition #content #item-body #subnav:not(.subnav_tab) li::after {
    content: none;
    display: none;
}

/* Les mentions de visibilité (« Public », « Seulement moi ») : la visibilité est verrouillée en administration. */
body.agolf-membre--edition #content #profile-edit-form :is(.field-visibility-settings-toggle, .field-visibility-settings-notoggle, .field-visibility-settings) {
    display: none;
}

/* Trois colonnes au large : Nom d'utilisateur, Nom et Prénom sur une ligne ; le bouton dessous, pleine largeur. */
@media (min-width: 900px) {
    body.agolf-membre--edition #content form#profile-edit-form {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        column-gap: 24px;
        align-items: start;
    }

    body.agolf-membre--edition #content form#profile-edit-form > * {
        grid-column: 1 / -1;
    }

    body.agolf-membre--edition #content form#profile-edit-form > .editfield {
        grid-column: auto;
        align-self: start;
        min-width: 0;
        margin-top: 0;
    }
}

/* Message de réussite (« Modifications enregistrées ») : l'encart lavande, coche blanche sur rond violet ; les erreurs restent celles du thème. */
body.agolf-membre #content .bp-feedback:is(.updated, .success) {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #F7F0FE;
    border: 1px solid #EADFF7;
    border-left: 3px solid #9B00E5;
    border-radius: 14px;
    box-shadow: none;
    color: #1A1226;
    padding: 14px 18px;
}

body.agolf-membre #content .bp-feedback:is(.updated, .success) .bp-icon {
    position: static;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #9B00E5;
    color: #FFFFFF;
}

body.agolf-membre #content .bp-feedback:is(.updated, .success) .bp-icon::before {
    color: #FFFFFF;
}

body.agolf-membre #content .bp-feedback:is(.updated, .success) :is(p, .text) {
    margin: 0;
    color: #1A1226;
}

/* ── 23. Profil > Modifier : les règles du thème à quatre identifiants (06/10) ── */
/* Le thème vise #page #buddypress #item-body .bp-profile-wrapper #subnav : ces règles prennent le même chemin, plus la classe de body. */
body.agolf-membre--edition #page #buddypress #item-body .bp-profile-wrapper {
    display: block;
}

/* La colonne de 230 px et 60vh redevient la barre de Réglages : filet dessous, rien au-dessus. */
body.agolf-membre--edition #page #buddypress #item-body .bp-profile-wrapper #subnav {
    flex: none;
    width: auto;
    min-height: 0;
    margin: 0 -28px;
    padding: 16px 28px;
    background: transparent;
    border: 0;
    border-bottom: 1px solid #EADFF7;
    border-radius: 0;
    box-shadow: none;
}

body.agolf-membre--edition #page #buddypress #item-body .bp-profile-wrapper #subnav li a::before,
body.agolf-membre--edition #page #buddypress #item-body .bp-profile-wrapper #subnav li a :is(i, .bb-icon) {
    content: none;
    display: none;
}

/* Le formulaire perd le cadre du thème ; 24 px sous la barre, comme Réglages. */
body.agolf-membre--edition #page #buddypress #item-body .bp-profile-wrapper:not(.need-separator) .bp-profile-content,
body.agolf-membre--edition #page #buddypress #item-body .bp-profile-wrapper .bp-profile-content #profile-edit-form {
    background: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

body.agolf-membre--edition #page #buddypress #item-body .bp-profile-wrapper:not(.need-separator) .bp-profile-content {
    padding: 24px 0 0;
}

body.agolf-membre--edition #page #buddypress #item-body .bp-profile-content h2.screen-heading {
    margin: 0 0 16px;
    color: #1A1226;
    font-size: 28px;
    font-weight: 800;
    line-height: 1.2;
}

/* ── 24. Profil > Modifier : pilules et page Photo sur le chemin du thème (06/10) ── */
/* Les pilules de Réglages, reprises sous le chemin à quatre identifiants qui gagnait (fond violet, coins carrés). */
body.agolf-membre--edition #page #buddypress #item-body .bp-profile-wrapper #subnav ul {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.agolf-membre--edition #page #buddypress #item-body .bp-profile-wrapper #subnav li {
    margin: 0;
    padding: 0;
    background: none;
    border: 0;
}

body.agolf-membre--edition #page #buddypress #item-body .bp-profile-wrapper #subnav li::after {
    content: none;
    display: none;
}

body.agolf-membre--edition #page #buddypress #item-body .bp-profile-wrapper #subnav li > a {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    background: transparent;
    border: 0;
    border-radius: 999px;
    box-shadow: none;
    color: #6B5F7A;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
}

body.agolf-membre--edition #page #buddypress #item-body .bp-profile-wrapper #subnav li > a:is(:hover, :focus-visible) {
    background: #F7F0FE;
    color: #7A00B8;
}

body.agolf-membre--edition #page #buddypress #item-body .bp-profile-wrapper #subnav li:is(.current, .selected) > a,
body.agolf-membre--edition #page #buddypress #item-body .bp-profile-wrapper #subnav li:is(.current, .selected) > a:hover {
    background: #F7F0FE;
    box-shadow: inset 0 0 0 1.5px #9B00E5;
    color: #7A00B8;
    font-weight: 700;
}

/* Photo : sous-pilules Télécharger, Prendre une photo, Supprimer ; même grammaire en plus petit, sans filet. */
body.agolf-membre--edition #page #buddypress #item-body .bp-avatar-nav {
    margin: 0 0 16px;
    padding: 0;
    border: 0;
}

body.agolf-membre--edition #page #buddypress #item-body .bp-avatar-nav ul.avatar-nav-items {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0;
    padding: 0;
    border: 0;
    list-style: none;
}

body.agolf-membre--edition #page #buddypress #item-body .bp-avatar-nav li.avatar-nav-item {
    margin: 0;
    padding: 0;
    background: none;
    border: 0;
}

body.agolf-membre--edition #page #buddypress #item-body .bp-avatar-nav a.bp-avatar-nav-item {
    display: inline-flex;
    align-items: center;
    height: 32px;
    padding: 0 14px;
    background: transparent;
    border: 0;
    border-radius: 999px;
    box-shadow: none;
    color: #6B5F7A;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}

body.agolf-membre--edition #page #buddypress #item-body .bp-avatar-nav a.bp-avatar-nav-item:is(:hover, :focus-visible) {
    background: #F7F0FE;
    color: #7A00B8;
}

body.agolf-membre--edition #page #buddypress #item-body .bp-avatar-nav li.avatar-nav-item.current a.bp-avatar-nav-item {
    background: #F7F0FE;
    box-shadow: inset 0 0 0 1.5px #9B00E5;
    color: #7A00B8;
    font-weight: 700;
}

/* Zone de dépôt : pointillés lavande, 180 px ; le bouton est le bouton principal du plugin. */
body.agolf-membre--edition #page #buddypress #item-body #drag-drop-area {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 180px;
    background: #FBF8FE;
    border: 2px dashed #EADFF7;
    border-radius: 16px;
    box-shadow: none;
}

body.agolf-membre--edition #page #buddypress #item-body #drag-drop-area .drag-drop-inside {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin: 0;
}

body.agolf-membre--edition #page #buddypress #item-body #drag-drop-area .drag-drop-info {
    margin: 0;
    color: #6B5F7A;
    font-size: 15px;
}

body.agolf-membre--edition #page #buddypress #item-body #drag-drop-area .drag-drop-buttons {
    margin: 0;
}

/* Le bouton de plupload : taille posée avant son init, la couche de fichier invisible qu'il superpose prend donc la même. */
body.agolf-membre--edition #page #buddypress #item-body #drag-drop-area .drag-drop-buttons input#bp-browse-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    margin: 0;
    padding: 0 24px;
    background: #9B00E5;
    border: 0;
    border-radius: 999px;
    box-shadow: none;
    color: #FFFFFF;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
}

body.agolf-membre--edition #page #buddypress #item-body #drag-drop-area .drag-drop-buttons input#bp-browse-button:is(:hover, :focus-visible) {
    background: #7A00B8;
}

/* L'avertissement de taille (orange du thème) prend l'habillage de l'encart info lavande. */
body.agolf-membre--edition #page #buddypress #item-body .bp-avatar-status :is(p.warning, #bp-uploader-warning) {
    margin: 16px 0 0;
    padding: 14px 18px;
    background: #F7F0FE;
    border: 1px solid #EADFF7;
    border-left: 3px solid #9B00E5;
    border-radius: 14px;
    box-shadow: none;
    color: #1A1226;
    font-size: 14px;
}

/* ── 25. Photo : bouton de suppression en bouton secondaire de la palette (07/10) ── */
body.agolf-membre--edition #page #buddypress #item-body button#bp-delete-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    padding: 0 24px;
    background: transparent;
    border: 1px solid #9B00E5;
    border-radius: 999px;
    box-shadow: none;
    color: #7A00B8;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
}

body.agolf-membre--edition #page #buddypress #item-body button#bp-delete-avatar:is(:hover, :focus-visible) {
    background: #F7F0FE;
    color: #7A00B8;
}

/* ── 26. Mobile des pages à sous-onglets (07/10) ── */
@media (max-width: 899px) {
    /* Le <select> que BuddyBoss sert sous la barre (select.bp-navs__dropdown) : les pilules suffisent. */
    body.agolf-membre--sous-onglets #content #item-body nav select.bp-navs__dropdown {
        display: none !important;
    }

    /* Même spécificité que la barre (section 15), qui l'emportait avec son écart de 4 px. */
    body.agolf-membre--sous-onglets #content #item-body :is(#subnav:not(.subnav_tab), #mepr-account-nav, .bp-settings-container .bp-navs) ul,
    body.agolf-membre--edition #page #buddypress #item-body .bp-profile-wrapper #subnav ul {
        flex-wrap: wrap;
        gap: 8px;
    }

    /* Repli « … » de menu.js (BossSocialMenu) : son conteneur se dissout, les pilules déplacées reviennent dans la barre. */
    body.agolf-membre--sous-onglets #content #item-body nav li.hideshow,
    body.agolf-membre--sous-onglets #content #item-body nav li.hideshow > ul.bb_more_dropdown {
        display: contents !important;
    }

    /* Le thème cache .sub-menu (position absolue, visibility hidden hors .active) : visibility s'hérite, elle est rétablie. */
    body.agolf-membre--sous-onglets #content #item-body nav li.hideshow > ul.bb_more_dropdown {
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
    }

    /* Le thème met ses li en display: block, largeur 100 % : une ligne entière vide sous la barre. */
    body.agolf-membre--sous-onglets #content #item-body nav li.hideshow > ul.bb_more_dropdown > li:not(.bb_more_dropdown__title) {
        display: block !important;
        flex: none;
        width: auto !important;
        margin: 0;
        padding: 0;
        visibility: visible !important;
        opacity: 1 !important;
    }

    body.agolf-membre--sous-onglets #content #item-body nav li.hideshow > a.more-button,
    body.agolf-membre--sous-onglets #content #item-body nav li.hideshow .bb_more_dropdown__title,
    body.agolf-membre--sous-onglets #content #item-body nav li.hideshow .bb_more_dropdown_overlay {
        display: none !important;
    }

    /* Carte de l'abonnement actif : les trois actions en colonne, pleine largeur, centrées. */
    body.agolf-membre #content .mp_wrapper table.mepr-account-table tr:is(.mepr-subscription-row, .mepr-payment-row) > td[data-label="actions" i] {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    body.agolf-membre #content .mp_wrapper table.mepr-account-table tr:is(.mepr-subscription-row, .mepr-payment-row) > td[data-label="actions" i] a {
        justify-content: center;
        width: 100%;
        margin: 0;
        box-sizing: border-box;
        text-align: center;
    }
}

/* ── 27. Pilules inactives de toutes les barres de sous-onglets (07/10) ── */
/* Le contour est une ombre intérieure de 2 px, comme l'actif : rien ne bouge d'un pixel d'un état à l'autre. */
body.agolf-membre--sous-onglets #content #item-body :is(#subnav:not(.subnav_tab), #mepr-account-nav, .bp-settings-container .bp-navs) ul,
body.agolf-membre--edition #page #buddypress #item-body .bp-profile-wrapper #subnav ul,
body.agolf-membre--edition #page #buddypress #item-body .bp-avatar-nav ul.avatar-nav-items {
    gap: 8px;
}

body.agolf-membre--sous-onglets #content #item-body :is(#subnav:not(.subnav_tab), #mepr-account-nav, .bp-settings-container .bp-navs) li > a,
body.agolf-membre--edition #page #buddypress #item-body .bp-profile-wrapper #subnav li > a,
body.agolf-membre--edition #page #buddypress #item-body .bp-avatar-nav a.bp-avatar-nav-item {
    background: #F7F0FE;
    box-shadow: inset 0 0 0 2px #EADFF7;
    color: #6B5F7A;
}

body.agolf-membre--sous-onglets #content #item-body :is(#subnav:not(.subnav_tab), #mepr-account-nav, .bp-settings-container .bp-navs) li > a:is(:hover, :focus-visible),
body.agolf-membre--edition #page #buddypress #item-body .bp-profile-wrapper #subnav li > a:is(:hover, :focus-visible),
body.agolf-membre--edition #page #buddypress #item-body .bp-avatar-nav a.bp-avatar-nav-item:is(:hover, :focus-visible) {
    background: #F7F0FE;
    box-shadow: inset 0 0 0 2px #9B00E5;
    color: #7A00B8;
}

body.agolf-membre--sous-onglets #content #item-body :is(#subnav:not(.subnav_tab), #mepr-account-nav, .bp-settings-container .bp-navs) li:is(.current, .selected, .mepr-active-nav-tab) > a,
body.agolf-membre--edition #page #buddypress #item-body .bp-profile-wrapper #subnav li:is(.current, .selected) > a,
body.agolf-membre--edition #page #buddypress #item-body .bp-avatar-nav li.avatar-nav-item.current a.bp-avatar-nav-item {
    background: #F7F0FE;
    box-shadow: inset 0 0 0 2px #9B00E5;
    color: #7A00B8;
    font-weight: 700;
}

/* ── 28. Ancre de la barre d'onglets (07/10) : au rechargement, la barre se cale sous l'en-tête fixe. ── */
#agolf-onglets {
    scroll-margin-top: 96px;
}

@media (max-width: 899px) {
    #agolf-onglets {
        scroll-margin-top: 72px;
    }
}

/* ── 29. Paiement : récapitulatif collant sur tous les gabarits (08/10) ── */
/* Un ancêtre en overflow autre que visible (sections Elementor) devient conteneur de défilement et coupe position: sticky. */
@media (min-width: 1000px) {
    body.agolf-membre--paiement *:has(.agolf-recap) {
        overflow: visible !important;
        contain: none !important;
    }
}

/* ── 30. Paiement : un seul niveau autour de l'iframe Stripe (08/10) ── */
/* L'encart générique de la section 3 l'emportait par son :is() à identifiant ; les conteneurs repassent à plat. */
body.agolf-membre--paiement #content .mepr-signup-form :is(.mepr-payment-methods-wrapper, .mepr_payment_method, .mepr-payment-method, .mepr-payment-method-desc-text, .mepr-stripe-elements, .mepr-stripe-card-element) {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* ── 31. Pages produit : titre de page masqué, les deux colonnes en haut (08/10) ── */
/* Gabarit du thème (h1.entry-title) et Elementor (widget titre de page) ; le titre reste dans le HTML. */
body.agolf-membre--paiement #content :is(.entry-header, h1.entry-title, .elementor-widget-theme-post-title, .elementor-page-title) {
    display: none !important;
}

/* Le thème compense son en-tête fixe par .sticky-header .site-content { padding-top: 76px } : on part de cette hauteur, sans l'écraser. */
body.agolf-membre--paiement #content {
    padding-top: calc(var(--bb-header-height, 76px) + 40px);
}

@media (max-width: 899px) {
    body.agolf-membre--paiement #content {
        padding-top: calc(var(--bb-header-height, 76px) + 24px);
    }
}

body.agolf-membre--paiement #content :is(#primary, .site-main, article, .entry-content):has(.agolf-recap) {
    margin-top: 0;
    padding-top: 0;
}

/* ── 32. Récapitulatif collant sous l'en-tête fixe (08/10) : sa hauteur plus 24 px, plus la barre d'administration si présente. ── */
@media (min-width: 1000px) {
    body.agolf-membre--paiement #content :has(> .agolf-recap + .mp_wrapper) > .agolf-recap {
        top: calc(var(--bb-header-height, 76px) + 24px);
    }

    body.agolf-membre--paiement.admin-bar #content :has(> .agolf-recap + .mp_wrapper) > .agolf-recap {
        top: calc(var(--bb-header-height, 76px) + 56px);
    }
}

/* ── 33. Erreurs de tous les formulaires MemberPress en orange du design system (08/10) ── */
/* Filet et bordure en --fj1-invalid (#F97316), texte en --fj1-invalid-ink (#9A3412) ; le formulaire de connexion garde ses libellés masqués par le thème. */
.mepr-form:not(#mepr_loginform) .mp-form-row:not(.mepr-hidden) {
    display: flex;
    flex-direction: column;
}

/* Le message MemberPress est dans le libellé, au-dessus du champ : le libellé se dissout, le message passe dessous. */
.mepr-form:not(#mepr_loginform) .mp-form-row > .mp-form-label {
    display: contents;
}

.mepr-form:not(#mepr_loginform) .mp-form-row > .mp-form-label > label {
    order: 0;
}

.mepr-form:not(#mepr_loginform) .mp-form-row > :is(input, select, textarea, .mepr-form-input) {
    order: 1;
}

.mepr-form .mp-form-row .cc-error {
    order: 2;
    margin: 6px 0 0;
    padding: 0;
}

/* ── Erreurs MemberPress, sur tout le site (inscription, connexion, paiement,
   compte) : la charte des formulaires, orange, jamais le rouge natif
   (MemberPress : ui/theme.css et signup.css). Mêmes tokens que
   formulaire-j1.css. Seul l'affichage change, pas la validation.
   `html body` : passe devant le rouge natif (!important) et devant les
   champs de auth.css (body.agolf-auth-page .agc-card input…). ── */

/* Messages sous un champ et sous le bouton : orange foncé, taille de l'aide. */
html body .mp_wrapper :is(.cc-error, .mepr-validation-error, .mepr-form-has-errors) {
    color: var(--fj1-invalid-ink) !important;
    font-size: 0.9375rem !important;
    font-weight: 500;
    line-height: 1.45;
    padding-left: 0 !important;
}

html body .mp_wrapper .mepr-form-has-errors {
    margin: 10px 0 0;
    background: none;
}

/* Erreurs des moyens de paiement (Stripe, PayPal, Square). */
html body :is(.mepr-stripe-card-errors, .mepr-paypal-card-errors, .mepr-square-errors, .mepr-paypal-vaulting-errors) {
    color: var(--fj1-invalid-ink) !important;
    font-size: 0.9375rem;
}

html body .mp_wrapper .validation.failed::after {
    color: var(--fj1-invalid-ink);
}

/* Champ en erreur : contour orange, fond à peine teinté, rayon du champ conservé. */
html body .mepr-form .mp-form-row :is(input, select, textarea):is(.invalid, [aria-invalid="true"]),
html body .mepr-form :is(input, select, textarea):is(.invalid, [aria-invalid="true"]) {
    border: 1.5px solid var(--fj1-invalid) !important;
    background-color: var(--fj1-invalid-soft) !important;
    box-shadow: none !important;
    color: var(--fj1-ink) !important;
}

/* Case en erreur (conditions, cases et boutons radio) : anneau orange autour
   de la ligne, comme l'encart de consentement du J1 ; pas de fond plein, le
   texte et les liens gardent leur couleur ; la mise en page ne bouge pas. */
html body .mepr-form .mp-form-row :is(label.mepr-checkbox-field, div.mepr-checkboxes-field, div.mepr-radios-field).invalid,
html body .mepr-form :is(label.mepr-checkbox-field, div.mepr-checkboxes-field, div.mepr-radios-field).invalid {
    border: 0 !important;
    border-radius: 10px;
    background-color: var(--fj1-invalid-soft) !important;
    box-shadow:
        0 0 0 8px var(--fj1-invalid-soft),
        0 0 0 9.5px var(--fj1-invalid) !important;
}

/* Bloc d'erreurs du serveur en haut des formulaires (natif : rouge plein). */
html body .mp_wrapper .mepr_error {
    max-width: none;
    margin: 0 0 20px !important;
    padding: 14px 18px !important;
    background: var(--fj1-invalid-soft) !important;
    border: 1px solid var(--fj1-invalid) !important;
    border-left: 3px solid var(--fj1-invalid) !important;
    border-radius: 14px;
    color: var(--fj1-invalid-ink) !important;
    font-size: 14px;
}

html body .mp_wrapper .mepr_error :is(ul, li, p, strong, a) {
    color: var(--fj1-invalid-ink) !important;
}

/* Récapitulatif : les lignes « Aujourd'hui… » et « Ensuite… » au même interligne. */
body.agolf-membre--paiement #content :is(p.agolf-recap__periode, p.agolf-recap__par-mois) {
    line-height: 1.4;
}

/* ── 34. Page « Changer d'offre » (groupe MemberPress, 08/10) : cartes au style du récapitulatif de paiement. ── */
body.agolf-membre--offres #content :is(.entry-header, h1.entry-title, .elementor-widget-theme-post-title, .elementor-page-title) {
    display: none !important;
}

body.agolf-membre--offres #content {
    padding-top: calc(var(--bb-header-height, 76px) + 40px);
}

body.agolf-membre--offres #content .agolf-offres-entete {
    margin: 0 0 28px;
}

body.agolf-membre--offres #content .agolf-offres-entete h1 {
    margin: 0;
    color: #1A1226;
    font-size: 40px;
    font-weight: 800;
    line-height: 1.15;
}

body.agolf-membre--offres #content .agolf-offres-entete p {
    margin: 8px 0 0;
    color: #6B5F7A;
    font-size: 16px;
    line-height: 1.5;
}

/* Découverte (47) n'est jamais proposée ici (le filtre de carte la retire déjà). */
body.agolf-membre--offres #content #mepr-price-box-47,
body.agolf-membre--offres #content .mepr-price-menu .mepr-most-popular {
    display: none !important;
}

body.agolf-membre--offres #content .mepr-price-menu .mepr-price-boxes {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
    margin: 0 !important;
}

/* Classe doublée plutôt que !important pour l'ombre et la transformation : un !important bloquerait l'entrée et le halo animés. */
body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box.mepr-price-box {
    display: flex;
    flex-direction: column;
    margin: 0 !important;
    padding: 28px !important;
    background: #FFFFFF !important;
    border: 1px solid #EADFF7 !important;
    border-radius: 24px !important;
    box-shadow: 0 6px 18px -14px rgba(155, 0, 229, 0.45);
    text-align: left !important;
    transform: none;
}

body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box-head {
    padding: 0 !important;
    text-align: left !important;
}

body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box-title {
    margin: 0 !important;
    color: #1A1226 !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: left !important;
}

body.agolf-membre--offres #content p.agolf-offre__pastille {
    display: inline-flex;
    margin: 10px 0 0;
    padding: 5px 12px;
    background: #F7F0FE;
    border-radius: 999px;
    box-shadow: inset 0 0 0 1px #9B00E5;
    color: #7A00B8;
    font-size: 12px;
    font-weight: 700;
}

body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box-price {
    margin: 18px 0 0 !important;
    color: #9B00E5 !important;
    font-size: 40px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    text-align: left !important;
}

body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box-price :is(.mepr-price-box-price-term, .mepr-price-box-price-currency) {
    color: #9B00E5;
}

body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box-price .mepr-price-box-price-term {
    color: #6B5F7A;
    font-size: 14px;
    font-weight: 500;
}

body.agolf-membre--offres #content p.agolf-offre__prorata {
    margin: 6px 0 0;
    color: #6B5F7A;
    font-size: 13px;
    line-height: 1.4;
}

body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box-heading {
    margin: 12px 0 0 !important;
    color: #6B5F7A !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    text-align: left !important;
}

body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box-benefits {
    margin: 20px 0 0 !important;
    padding: 16px 0 0 !important;
    border-top: 1px solid #EADFF7;
}

body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box-benefits-item {
    margin: 0 0 8px !important;
    color: #1A1226 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    text-align: left !important;
}

body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box-foot {
    margin-top: auto !important;
    padding-top: 20px;
}

/* Bouton MemberPress (libellé inchangé) au style du bouton principal. */
body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box-button a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    height: 48px;
    padding: 0 24px !important;
    background: #9B00E5 !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    color: #FFFFFF !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box-button a:is(:hover, :focus-visible) {
    background: #7A00B8 !important;
}

/* Offre actuelle : badge, contour violet, bouton désactivé. */
body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box.mepr-price-box.agolf-offre--actuelle {
    box-shadow: inset 0 0 0 2px #9B00E5, 0 6px 18px -14px rgba(155, 0, 229, 0.45);
}

body.agolf-membre--offres #content p.agolf-offre__badge {
    display: inline-flex;
    margin: 0 0 12px;
    padding: 5px 12px;
    background: #9B00E5;
    border-radius: 999px;
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 700;
}

body.agolf-membre--offres #content .agolf-offre__en-cours {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    padding: 0 24px;
    background: #F7F0FE;
    border-radius: 999px;
    box-shadow: inset 0 0 0 2px #EADFF7;
    color: #6B5F7A;
    font-size: 15px;
    font-weight: 700;
    cursor: default;
}

@media (max-width: 899px) {
    body.agolf-membre--offres #content {
        padding-top: calc(var(--bb-header-height, 76px) + 24px);
    }

    body.agolf-membre--offres #content .mepr-price-menu .mepr-price-boxes {
        grid-template-columns: 1fr;
    }

    body.agolf-membre--offres #content .agolf-offres-entete h1 {
        font-size: 30px;
    }
}

/* ── 35. Changer d'offre, passe 2 (08/10) : largeur de Profil, avantages, mouvement. ── */
/* Le gabarit de groupe resserre son contenu : les conteneurs reprennent la pleine largeur du panneau commun (1 280 px, section 17). */
body.agolf-membre--offres #content :is(#primary, .content-area, .site-main, article, .entry-content, .bb-grid-cell) {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.agolf-membre--offres #content #secondary {
    display: none !important;
}

body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box {
    position: relative;
    overflow: hidden;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box-benefits-item {
    position: relative;
    padding-left: 26px !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
}

body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box-benefits-item::before {
    content: "" !important;
    position: absolute;
    left: 0;
    top: 3px;
    width: 16px;
    height: 16px;
    background: #9B00E5;
    -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012.5l4.5%204.5L19%207.5%22/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012.5l4.5%204.5L19%207.5%22/%3E%3C/svg%3E") center / contain no-repeat;
    font-size: 0;
}

/* Survol (ordinateur) : la carte monte de 4 px, contour violet, ombre légèrement violette. */
@media (hover: hover) {
    body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box:hover {
        border-color: #9B00E5 !important;
    }
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box.mepr-price-box:hover {
        transform: translateY(-4px);
        box-shadow: 0 18px 36px -18px rgba(155, 0, 229, 0.35);
    }
}

/* Entrée : le titre, puis les cartes en fondu avec une montée de 16 px, 80 ms d'écart ; l'offre actuelle a un halo, une fois. */
@media (prefers-reduced-motion: no-preference) {
    body.agolf-membre--offres #content .agolf-offres-entete {
        animation: agolf-offre-entree .42s var(--fj1-ease) backwards;
    }

    body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box {
        animation: agolf-offre-entree .42s var(--fj1-ease) backwards;
        animation-delay: 80ms;
    }

    body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box:nth-child(2) { animation-delay: 160ms; }
    body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box:nth-child(3) { animation-delay: 240ms; }
    body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box:nth-child(4) { animation-delay: 320ms; }

    body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box.agolf-offre--actuelle {
        animation: agolf-offre-entree .42s var(--fj1-ease) backwards, agolf-offre-halo 1.4s ease-out .5s 1;
    }
}

@keyframes agolf-offre-entree {
    from {
        opacity: 0;
        transform: translateY(16px);
    }
}

@keyframes agolf-offre-halo {
    0% { box-shadow: inset 0 0 0 2px #9B00E5, 0 0 0 0 rgba(155, 0, 229, 0.35); }
    60% { box-shadow: inset 0 0 0 2px #9B00E5, 0 0 0 10px rgba(155, 0, 229, 0); }
    100% { box-shadow: inset 0 0 0 2px #9B00E5, 0 6px 18px -14px rgba(155, 0, 229, 0.45); }
}

/* ── 37. Changer d'offre, passe 3 (08/10) ── */
/* Largeur : la liste exacte que le dashboard neutralise (dashboard.css, section 1), sous le .container de 1 280 px commun à Profil. */
body.agolf-membre--offres #content :is(.bb-grid, .bb-grid-cell, .content-area, #primary, main, article, .entry-content, .site-main, .site-content-grid) {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
}

/* Grille : 1 colonne, puis 2 dès 700 px, puis 4 dès 1 100 px ; avec moins de cartes, les colonnes se limitent à leur nombre et se centrent. */
body.agolf-membre--offres #content .mepr-price-menu .mepr-price-boxes {
    grid-template-columns: minmax(0, 1fr);
    justify-content: center;
}

@media (min-width: 700px) {
    body.agolf-membre--offres #content .mepr-price-menu .mepr-price-boxes {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.agolf-membre--offres #content .mepr-price-menu .mepr-price-boxes:not(:has(> .mepr-price-box:nth-child(2))) {
        grid-template-columns: minmax(0, 420px);
    }
}

@media (min-width: 1100px) {
    body.agolf-membre--offres #content .mepr-price-menu .mepr-price-boxes {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    body.agolf-membre--offres #content .mepr-price-menu .mepr-price-boxes:not(:has(> .mepr-price-box:nth-child(3))) {
        grid-template-columns: repeat(2, minmax(0, 420px));
    }

    body.agolf-membre--offres #content .mepr-price-menu .mepr-price-boxes:has(> .mepr-price-box:nth-child(3)):not(:has(> .mepr-price-box:nth-child(4))) {
        grid-template-columns: repeat(3, minmax(0, 380px));
    }

    body.agolf-membre--offres #content .mepr-price-menu .mepr-price-boxes:not(:has(> .mepr-price-box:nth-child(2))) {
        grid-template-columns: minmax(0, 420px);
    }
}

/* Avantages : 15 px et interligne 1,5, descendants compris (le texte saisi peut porter sa propre taille). */
html body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box-benefits-item,
html body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box-benefits-item * {
    font-size: 15px !important;
    line-height: 1.5 !important;
}

body.agolf-membre--offres #content p.agolf-offre__prorata {
    color: #6B5F7A;
    font-size: 14px;
}

/* Même hauteur par ligne (la grille étire les cartes), bouton aligné en bas quelle que soit sa position MemberPress (tête ou pied). */
body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box :is(.mepr-price-box-head, .mepr-price-box-foot) {
    display: contents !important;
}

body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box .mepr-price-box-footer {
    order: 98;
}

body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box .mepr-price-box-button {
    order: 99;
    margin-top: auto !important;
    padding-top: 20px;
}

/* ── 38. Changer d'offre, passe 4 (08/10) ── */
/* La tête de carte est en display: contents (passe 3) : pastille et badge reprennent la largeur de leur contenu. */
body.agolf-membre--offres #content :is(p.agolf-offre__pastille, p.agolf-offre__badge) {
    align-self: flex-start;
    width: auto;
}

/* Bandeau « 2 mois offerts » en coin, petit et haut : il ne croise plus la ligne du titre. */
body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box {
    container-type: inline-size;
}

body.agolf-membre--offres #content .agolf-offre__ruban {
    position: absolute;
    top: 12px;
    right: -34px;
    z-index: 1;
    width: 120px;
    padding: 3px 0;
    background: #F7F0FE;
    box-shadow: inset 0 0 0 1px #EADFF7;
    color: #7A00B8;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.2;
    text-align: center;
    transform: rotate(35deg);
    pointer-events: none;
}

/* Carte étroite (4 colonnes, ~290 px à 1 440) : titre à 24 px, pour que « Staff Intégral » tienne sur une ligne. */
@container (max-width: 320px) {
    body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box-title {
        font-size: 24px !important;
    }
}

/* ── 39. Changer d'offre, passe 5 (08/10) : badge hors du flux, bandeau lisible dans son propre coin. ── */
/* La carte ne rogne plus (le badge déborde) ; c'est le conteneur du coin qui rogne le bandeau. */
body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box.mepr-price-box {
    overflow: visible;
}

/* Badge à cheval sur le bord haut, aligné sur le rembourrage gauche : le titre reste à la hauteur des autres cartes. */
body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box p.agolf-offre__badge {
    position: absolute;
    top: 0;
    left: 28px;
    z-index: 2;
    margin: 0;
    transform: translateY(-50%);
}

body.agolf-membre--offres #content .agolf-offre__coin {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    width: 96px;
    height: 96px;
    overflow: hidden;
    border-top-right-radius: 24px;
    pointer-events: none;
}

body.agolf-membre--offres #content .agolf-offre__coin .agolf-offre__ruban {
    position: absolute;
    top: 22px;
    right: -38px;
    width: 150px;
    height: 26px;
    padding: 0;
    background: #9B00E5;
    box-shadow: none;
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 26px;
    text-align: center;
    white-space: nowrap;
    transform: rotate(45deg);
}

/* ── 40. Changer d'offre, passe 6 (08/10) : alignement strict, bandeau rose pâle 14 px. ── */
/* Même départ pour toutes les cartes : rembourrage haut et marge du titre verrouillés. */
body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box.mepr-price-box {
    padding-top: 28px !important;
}

body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box .mepr-price-box-title {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* La ligne sous le prix existe sur chaque carte (vide sinon) : même hauteur partout. */
body.agolf-membre--offres #content p.agolf-offre__prorata {
    min-height: 1.4em;
    line-height: 1.4;
}

/* Bandeau : couleurs d'ebe9de2 (lavande, texte violet), 14 px gras, bande plus longue et décalée vers l'intérieur. */
body.agolf-membre--offres #content .agolf-offre__coin {
    width: 112px;
    height: 112px;
}

body.agolf-membre--offres #content .agolf-offre__coin .agolf-offre__ruban {
    top: 26px;
    right: -44px;
    width: 170px;
    height: 28px;
    background: #F7F0FE;
    box-shadow: inset 0 0 0 1px #EADFF7;
    color: #7A00B8;
    font-size: 14px;
    font-weight: 700;
    line-height: 28px;
}

/* ── 41. Changer d'offre, passe 7 (08/10) : bloc prix et ligne sous le prix de hauteur fixe, sur une seule ligne. ── */
body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box .mepr-price-box-price {
    height: 44px;
    white-space: nowrap;
}

body.agolf-membre--offres #content p.agolf-offre__prorata {
    height: 20px;
    min-height: 0;
    overflow: hidden;
    font-size: 14px;
    line-height: 20px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* Carte étroite : 13 px plutôt qu'un retour à la ligne. */
@container (max-width: 320px) {
    body.agolf-membre--offres #content p.agolf-offre__prorata {
        font-size: 13px;
    }
}

/* ── 42. Changer d'offre, passe 8 : mobile seulement, sous 700 px (08/10) ── */
@media (max-width: 699px) {
    /* Marges latérales de Profil : la seule gouttière du thème (16 px) ; les conteneurs de la page de groupe n'en ajoutent pas. */
    body.agolf-membre--offres #content :is(.bb-grid-cell, .content-area, #primary, main, article, .entry-content, .site-main) {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* 28 px entre la phrase et la première carte, 28 px entre deux cartes ; la carte au badge (18 px de débord) reçoit 18 px de plus. */
    body.agolf-membre--offres #content .agolf-offres-entete {
        margin-bottom: 28px;
    }

    body.agolf-membre--offres #content .mepr-price-menu .mepr-price-boxes {
        row-gap: 28px;
    }

    body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box.mepr-price-box.agolf-offre--actuelle {
        margin-top: 18px !important;
    }

    body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box.mepr-price-box {
        padding: 20px !important;
    }

    body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box p.agolf-offre__badge {
        left: 20px;
    }

    /* À 390 px, la carte offre ~318 px de texte : prix à 34 px, sur une ligne. */
    body.agolf-membre--offres #content .mepr-price-menu .mepr-price-box .mepr-price-box-price {
        height: 38px;
        font-size: 34px !important;
    }
}

/* ── 43. Changer d'offre : écarts plus généreux (09/10) ── */
/* Ordinateur : 40 px sous la phrase, plus les 18 px de débord du badge réservés sur toute la grille (les titres d'une ligne restent alignés). */
body.agolf-membre--offres #content .agolf-offres-entete {
    margin-bottom: 40px;
}

body.agolf-membre--offres #content .mepr-price-menu .mepr-price-boxes {
    padding-top: 18px !important;
    row-gap: 40px;
}

/* Mobile : 40 px sous la phrase et entre les cartes ; la carte au badge garde ses 18 px en plus. */
@media (max-width: 699px) {
    body.agolf-membre--offres #content .agolf-offres-entete {
        margin-bottom: 40px;
    }

    body.agolf-membre--offres #content .mepr-price-menu .mepr-price-boxes {
        padding-top: 0 !important;
        row-gap: 40px;
    }
}

/* ── 44. Arrêter le renouvellement : fenêtre maison à la place de celle de MemberPress (UX-ANNULATION) ── */
html.agolf-annulation-ouverte {
    overflow: hidden;
}

body.agolf-membre .agolf-annulation {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    background: rgba(234, 223, 247, 0.78);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}

body.agolf-membre .agolf-annulation[hidden] {
    display: none;
}

/* Rayon, filet, fond et ombre des cartes du profil. */
body.agolf-membre .agolf-annulation__carte {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    max-width: 480px;
    max-height: calc(100vh - 32px);
    overflow-y: auto;
    padding: 32px;
    background: linear-gradient(180deg, #FFFFFF, #FBF8FE);
    border: 1px solid #EADFF7;
    border-radius: 24px;
    box-shadow: 0 14px 28px -16px rgba(155, 0, 229, 0.35);
    font-family: var(--fj1-font);
}

body.agolf-membre .agolf-annulation__croix {
    position: absolute;
    top: 12px;
    right: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    background: none;
    border: 0;
    border-radius: 999px;
    color: #6B5F7A;
    cursor: pointer;
}

body.agolf-membre .agolf-annulation__croix:is(:hover, :focus-visible) {
    background: #F7F0FE;
    color: #7A00B8;
}

body.agolf-membre .agolf-annulation h2.agolf-annulation__titre {
    margin: 0 40px 12px 0;
    padding: 0;
    border: 0;
    color: #1A1226;
    font-family: var(--fj1-font);
    font-size: 22px;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.01em;
}

body.agolf-membre .agolf-annulation__corps {
    margin: 0 0 28px;
    color: #4A3F57;
    font-family: var(--fj1-font);
    font-size: 16px;
    line-height: 1.55;
}

body.agolf-membre .agolf-annulation__actions {
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: wrap;
    gap: 12px;
}

body.agolf-membre .agolf-annulation__actions button {
    flex: 1 1 auto;
    min-height: 48px;
    padding: 12px 22px;
    border-radius: 999px;
    font-family: var(--fj1-font);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

body.agolf-membre .agolf-annulation__garder {
    background: #9B00E5;
    border: 1px solid #9B00E5;
    color: #FFFFFF;
}

body.agolf-membre .agolf-annulation__garder:is(:hover, :focus-visible) {
    background: #7A00B8;
    border-color: #7A00B8;
}

body.agolf-membre .agolf-annulation__arreter {
    background: #FFFFFF;
    border: 1px solid #D9C9EC;
    color: #3A3046;
}

body.agolf-membre .agolf-annulation__arreter:is(:hover, :focus-visible) {
    border-color: #6B5F7A;
    color: #1A1226;
}

body.agolf-membre .agolf-annulation__arreter:disabled {
    opacity: .6;
    cursor: progress;
}

body.agolf-membre .agolf-annulation :is(button):focus-visible {
    outline: 3px solid #E2CEF7;
    outline-offset: 2px;
}

@media (prefers-reduced-motion: no-preference) {
    body.agolf-membre .agolf-annulation:not([hidden]) {
        animation: agolf-annulation-voile .16s linear both;
    }

    body.agolf-membre .agolf-annulation:not([hidden]) .agolf-annulation__carte {
        animation: agolf-annulation-carte .22s var(--fj1-ease) both;
    }
}

@keyframes agolf-annulation-voile {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes agolf-annulation-carte {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Mobile : boutons empilés, « Garder » en haut. */
@media (max-width: 479px) {
    body.agolf-membre .agolf-annulation__carte {
        padding: 28px 20px 20px;
    }

    body.agolf-membre .agolf-annulation h2.agolf-annulation__titre {
        font-size: 20px;
    }

    body.agolf-membre .agolf-annulation__actions {
        flex-direction: column;
    }

    body.agolf-membre .agolf-annulation__actions button {
        width: 100%;
    }
}
