.gas-site-footer {
    margin-top: var(--gas-space-3xl, 64px);
    background: var(--gas-color-surface-soft, #f8f8f8);
    color: var(--gas-color-text, #161616);
    border-top: 1px solid var(--gas-color-border, #e0e0e0);
    /* Taille de base en token px : sans ça le texte hérite du body, qui sous le
       root frontend (html{font-size:62.5%} => 10px=10px) tombe à ~10px (illisible). */
    font-size: var(--gas-text-s, 14px);
    line-height: 1.5;
}

.gas-responsive-surface--footer {
    container-type: inline-size;
    container-name: gas-footer-responsive;
}

.gas-responsive-surface--preset-stackable_columns .gas-site-footer__row {
    grid-template-columns: minmax(0, 1fr);
}

.gas-responsive-surface--preset-accordion_groups .gas-site-footer__row {
    grid-template-columns: minmax(0, 1fr);
}

.gas-site-footer__group {
    min-width: 0;
}

.gas-site-footer__group-trigger {
    display: none;
}

@container gas-footer-responsive (max-width: 519px) {
    .gas-responsive-surface--preset-accordion_groups .gas-site-footer__group {
        display: block;
        border-bottom: 1px solid var(--gas-color-border);
    }

    .gas-responsive-surface--preset-accordion_groups .gas-site-footer__group-trigger {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 44px;
        padding-block: var(--gas-space-s);
        cursor: pointer;
        font-weight: var(--gas-weight-semi);
    }

    .gas-responsive-surface--preset-accordion_groups .gas-site-footer__group-trigger::after {
        content: "+";
    }

    .gas-responsive-surface--preset-accordion_groups .gas-site-footer__group[open] > .gas-site-footer__group-trigger::after {
        content: "−";
    }
}

@container gas-footer-responsive (min-width: 520px) {
    .gas-responsive-surface--preset-accordion_groups .gas-site-footer__row[data-footer-columns="2"],
    .gas-responsive-surface--preset-accordion_groups .gas-site-footer__row[data-footer-columns="3"],
    .gas-responsive-surface--preset-accordion_groups .gas-site-footer__row[data-footer-columns="4"],
    .gas-responsive-surface--preset-accordion_groups .gas-site-footer__row[data-footer-columns="5"],
    .gas-responsive-surface--preset-accordion_groups .gas-site-footer__row[data-footer-columns="6"] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@container gas-footer-responsive (min-width: 840px) {
    .gas-responsive-surface--preset-accordion_groups .gas-site-footer__row[data-footer-columns="3"] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .gas-responsive-surface--preset-accordion_groups .gas-site-footer__row[data-footer-columns="4"] {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .gas-responsive-surface--preset-accordion_groups .gas-site-footer__row[data-footer-columns="5"] {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .gas-responsive-surface--preset-accordion_groups .gas-site-footer__row[data-footer-columns="6"] {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

@container gas-footer-responsive (min-width: 520px) {
    .gas-responsive-surface--preset-stackable_columns .gas-site-footer__row[data-footer-columns="2"],
    .gas-responsive-surface--preset-stackable_columns .gas-site-footer__row[data-footer-columns="3"],
    .gas-responsive-surface--preset-stackable_columns .gas-site-footer__row[data-footer-columns="4"],
    .gas-responsive-surface--preset-stackable_columns .gas-site-footer__row[data-footer-columns="5"],
    .gas-responsive-surface--preset-stackable_columns .gas-site-footer__row[data-footer-columns="6"] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@container gas-footer-responsive (min-width: 840px) {
    .gas-responsive-surface--preset-stackable_columns .gas-site-footer__row[data-footer-columns="3"] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .gas-responsive-surface--preset-stackable_columns .gas-site-footer__row[data-footer-columns="4"] {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .gas-responsive-surface--preset-stackable_columns .gas-site-footer__row[data-footer-columns="5"] {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .gas-responsive-surface--preset-stackable_columns .gas-site-footer__row[data-footer-columns="6"] {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

.gas-responsive-surface--menu {
    container-type: inline-size;
    container-name: gas-footer-menu-responsive;
}

@container gas-footer-menu-responsive (min-width: 420px) {
    .gas-responsive-surface--preset-adaptive_links > .gas-site-footer__menu-list {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
        column-gap: var(--gas-space-4, 10px);
    }
}

.gas-site-footer__inner {
    width: min(100%, var(--gas-wide-max-width, 920px));
    margin-inline: auto;
    padding: var(--gas-space-6, 20px) var(--gas-space-4, 10px);
    display: grid;
    gap: var(--gas-space-5, 12.5px);
}

.gas-site-footer--document {
    display: block;
    inline-size: 100%;
}

.gas-site-footer__document {
    display: block;
    inline-size: 100%;
}

.gas-site-footer__document > .gas-block-anchor,
.gas-site-footer__document > .gas-block-anchor > .gas-block-section {
    inline-size: 100%;
}

.gas-site-footer__row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: var(--gas-space-5, 12.5px);
}

.gas-site-footer__column {
    display: grid;
    gap: var(--gas-space-3, 7.5px);
    align-content: start;
}

.gas-site-footer__module {
    min-width: 0;
}

.gas-site-footer__module--branding {
    display: grid;
    gap: var(--gas-space-2, 5px);
}

.gas-site-footer__module--branding strong {
    /* Nom du club / titre de colonne : was 10.5px (artefact codemod rem→px). */
    font-size: var(--gas-text-l, 20px);
}

.gas-site-footer__module--branding p,
.gas-site-footer__module--contact p {
    margin: 0;
    color: var(--gas-color-text-muted, #555);
}

.gas-site-footer__menu-list,
.gas-site-footer__module--legal ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: var(--gas-space-2, 5px);
}

.gas-site-footer a {
    color: inherit;
    text-decoration: none;
}

.gas-site-footer a:hover,
.gas-site-footer a:focus {
    text-decoration: underline;
}

.gas-site-footer--document a.gas-button {
    text-decoration: none;
}

.gas-site-footer--document a.gas-button--primary {
    background: var(--gas-button-primary-bg, var(--gas-primary, #004052));
    border-color: var(--gas-button-primary-border, var(--gas-primary, #004052));
    color: var(--gas-button-primary-color, #fff);
}

.gas-site-footer--document a.gas-button--primary:hover,
.gas-site-footer--document a.gas-button--primary:focus {
    background: var(--gas-button-primary-hover-bg, var(--gas-primary-dark, #003141));
    border-color: var(--gas-button-primary-hover-border, var(--gas-primary-dark, #003141));
    color: var(--gas-button-primary-color, #fff);
}

.gas-site-footer--document a.gas-button--outline {
    background: var(--gas-color-surface-card, #fff);
    border-color: var(--gas-color-border-default, var(--gas-color-border, #d0d4dc));
    color: var(--gas-color-text-strong, #1d2430);
}

.gas-site-footer--document a.gas-button--outline:hover,
.gas-site-footer--document a.gas-button--outline:focus {
    background: var(--gas-color-surface-soft, #f4f6f8);
    border-color: var(--gas-color-text-muted, #667085);
    color: var(--gas-color-text-strong, #1d2430);
}

.gas-site-footer--document .gas-block-contact-info__socials {
    gap: var(--gas-space-s, 8px);
}

.gas-site-footer--document .gas-block-contact-info__social-link {
    inline-size: 36px;
    block-size: 36px;
    border: 1px solid var(--gas-color-border-default, var(--gas-color-border, #d0d4dc));
    border-radius: var(--gas-radius-s, 6px);
    background: var(--gas-color-surface-card, #fff);
    color: var(--gas-color-text-strong, #1d2430);
}

.gas-site-footer--document .gas-block-contact-info__social-link:hover,
.gas-site-footer--document .gas-block-contact-info__social-link:focus {
    background: var(--gas-color-surface-soft, #f4f6f8);
    color: var(--gas-primary, #004052);
}

.gas-site-footer--document .gas-block-contact-info__social-link .gas-block-contact-info__icon {
    inline-size: 18px;
    block-size: 18px;
}

.gas-site-footer__module--social,
.gas-site-footer__module--placement {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gas-space-3, 7.5px);
}
