/** Finitions visuelles partagées appliquées après les composants. */
.section {
    padding-bottom: clamp(34px, 5vw, 64px);
}
#contenu > .container.section.home-section,
#contenu > .container.section.home-feature-section,
#contenu > .container.section.home-latest-section,
#contenu > .container.section.home-cta-section {
    padding-top: 28px;
    padding-bottom: 28px;
}
#contenu > .container.section.home-feature-section {
    padding-top: 22px;
    padding-bottom: 22px;
}
#contenu > .container.section.home-latest-section {
    padding-top: 32px;
    padding-bottom: 20px;
}
#contenu > .container.section.home-cta-section {
    padding-top: 34px;
    padding-bottom: 44px;
}
#contenu > .container.section.home-section .section-heading,
#contenu > .container.section.home-latest-section .section-heading {
    margin-bottom: var(--s4);
}
#contenu > .section:last-child,
#contenu > .container.section:last-child,
#contenu > .section:nth-last-child(2),
#contenu > .container.section:nth-last-child(2) {
    padding-bottom: clamp(18px, 3vw, 36px);
}
.site-footer {
    margin-top: clamp(12px, 2vw, 24px);
}
.button,
.nav-pill-pro,
.home-cta-section .cta-band .button {
    border-color: transparent;
    background:
        linear-gradient(145deg, rgba(93,153,160,.72), rgba(49,114,122,.78) 55%, rgba(34,86,94,.86)),
        rgba(49,114,122,.66);
    color: #fff;
    -webkit-backdrop-filter: blur(18px) saturate(1.32);
    backdrop-filter: blur(18px) saturate(1.32);
    box-shadow:
        0 14px 30px rgba(49,114,122,.17),
        0 0 0 1px rgba(255,255,255,.22) inset,
        inset 0 1px 0 rgba(255,255,255,.30);
    filter: none;
    font-weight: 600;
}
.button:hover,
.nav-pill-pro:hover,
.home-cta-section .cta-band .button:hover {
    border-color: transparent;
    background:
        linear-gradient(145deg, rgba(105,165,171,.76), rgba(43,105,113,.82) 55%, rgba(29,74,82,.9)),
        rgba(49,114,122,.70);
    color: #fff;
    box-shadow:
        0 16px 34px rgba(49,114,122,.20),
        0 0 0 1px rgba(255,255,255,.24) inset,
        inset 0 1px 0 rgba(255,255,255,.32);
    filter: none;
}
.home-cta-section .cta-band .button:not(.button-outline) {
    background:
        linear-gradient(145deg, rgba(82,145,152,.9), rgba(49,114,122,.96) 54%, rgba(31,79,87,.98)),
        rgba(49,114,122,.84);
    box-shadow:
        0 16px 34px rgba(49,114,122,.22),
        0 0 0 1px rgba(255,255,255,.24) inset,
        inset 0 1px 0 rgba(255,255,255,.32);
}
.button-outline,
.button-ghost,
.home-feature-section .feature-link,
.home-cta-section .cta-band .button-outline {
    border-color: transparent;
    background: linear-gradient(145deg, rgba(255,255,255,.88), rgba(232,246,248,.68));
    color: var(--primary-deep);
    box-shadow:
        0 0 0 1px rgba(49,114,122,.10),
        0 8px 18px rgba(8,42,48,.045),
        inset 0 1px 0 rgba(255,255,255,.82);
    filter: none;
    font-weight: 600;
}
.button-outline:hover,
.button-ghost:hover,
.home-feature-section .feature-card:hover .feature-link,
.home-cta-section .cta-band .button-outline:hover {
    border-color: transparent;
    background: linear-gradient(145deg, rgba(255,255,255,.95), rgba(222,243,246,.78));
    color: var(--primary-deep);
    box-shadow:
        0 0 0 1px rgba(49,114,122,.13),
        0 10px 22px rgba(8,42,48,.06),
        inset 0 1px 0 rgba(255,255,255,.88);
    filter: none;
}
.home-cta-section .cta-band .button.button-outline {
    background: linear-gradient(145deg, rgba(255,255,255,.94), rgba(240,249,249,.76));
    color: var(--primary-deep);
    -webkit-backdrop-filter: blur(16px) saturate(1.15);
    backdrop-filter: blur(16px) saturate(1.15);
    box-shadow:
        0 0 0 1px rgba(49,114,122,.13) inset,
        0 9px 20px rgba(8,42,48,.07),
        inset 0 1px 0 rgba(255,255,255,.9);
}
.home-feature-section .feature-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 6px 18px;
    border-radius: 999px;
    font-size: .84rem;
    line-height: 1.1;
    white-space: nowrap;
}
.button-danger {
    border-color: transparent;
    background: linear-gradient(145deg, color-mix(in srgb, var(--danger) 88%, white), var(--danger));
    color: #fff;
    box-shadow: 0 10px 22px rgba(180,55,55,.16), inset 0 1px 0 rgba(255,255,255,.18);
}
.button-danger:hover {
    border-color: transparent;
    background: var(--danger);
    color: #fff;
    box-shadow: 0 12px 26px rgba(180,55,55,.18), inset 0 1px 0 rgba(255,255,255,.18);
}
.action-button,
.structure-action-buttons .action-button,
.action-buttons .action-button {
    min-height: 38px;
    padding: 8px 18px;
    border-color: transparent;
    border-radius: 999px;
    background:
        linear-gradient(145deg,
            color-mix(in srgb, var(--btn-color, var(--primary)) 24%, white) 0%,
            color-mix(in srgb, var(--btn-color, var(--primary)) 34%, white) 100%);
    color: color-mix(in srgb, var(--btn-color, var(--primary)) 72%, #123c43);
    box-shadow:
        0 0 0 1px color-mix(in srgb, var(--btn-color, var(--primary)) 22%, transparent),
        0 10px 22px color-mix(in srgb, var(--btn-color, var(--primary)) 14%, transparent),
        inset 0 1px 0 rgba(255,255,255,.78);
    filter: none;
    font-weight: 600;
}
.specialty-pills .action-button.specialty-pill {
    background: linear-gradient(145deg, #e3f2d9, #c5e1b3);
    color: #354d3b;
    border-color: rgba(105,153,80,.22);
}
.specialty-pills .action-button.specialty-pill:hover {
    background: #b9dba4;
    color: #2d4433;
    filter: none;
}
.action-button::before {
    display: none;
}
.action-button:hover,
.structure-action-buttons .action-button:hover,
.action-buttons .action-button:hover {
    border-color: transparent;
    background:
        linear-gradient(145deg,
            color-mix(in srgb, var(--btn-color, var(--primary)) 32%, white) 0%,
            color-mix(in srgb, var(--btn-color, var(--primary)) 42%, white) 100%);
    color: color-mix(in srgb, var(--btn-color, var(--primary)) 82%, #123c43);
    box-shadow:
        0 0 0 1px color-mix(in srgb, var(--btn-color, var(--primary)) 28%, transparent),
        0 12px 26px color-mix(in srgb, var(--btn-color, var(--primary)) 16%, transparent),
        inset 0 1px 0 rgba(255,255,255,.82);
    filter: none;
}
.nav-pills {
    border-color: transparent;
}
.cta-band-kicker,
.cta-band-points span,
.toc-pill,
.toc-pill:hover,
.search-chip,
.search-chip-category,
.search-chip-type,
.search-chip-clear,
.tag,
.structures-list-page .structure-card-meta .tag {
    border-color: transparent;
    background: rgba(255,255,255,.68);
    box-shadow: none;
}
.structure-detail-main .contact-pill {
    border-color: transparent;
    background: linear-gradient(145deg, rgba(255,255,255,.94), rgba(239,247,243,.82));
    color: #173f36;
    box-shadow:
        0 0 0 1px rgba(49,122,92,.09),
        0 7px 16px rgba(25,68,56,.045),
        inset 0 1px 0 rgba(255,255,255,.88);
}
.structure-detail-main a.contact-pill:hover {
    border-color: transparent;
    background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(231,244,238,.88));
    color: #143a33;
    box-shadow:
        0 0 0 1px rgba(49,122,92,.13),
        0 9px 20px rgba(25,68,56,.06),
        inset 0 1px 0 rgba(255,255,255,.92);
}
.structure-detail-main .contact-pill .icon {
    color: rgba(49,114,122,.82);
}
@media (max-width: 768px) {
    .site-header .site-nav .nav-pills {
        background: none;
        border: none;
        border-radius: 0;
        box-shadow: none;
        padding: 0;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }
    .nav-pill {
        padding: 10px 14px;
        border-radius: var(--r-sm);
        font-size: .94rem;
        font-weight: 500;
        color: rgba(255,255,255,.82);
        box-shadow: none;
    }
    .nav-pill:hover {
        background: rgba(255,255,255,.10);
        color: #fff;
        box-shadow: none;
    }
    .nav-pill.active {
        background: rgba(76,170,182,.22);
        color: #fff;
        box-shadow: none;
    }
    .nav-pill-pro {
        background: rgba(76,170,182,.18);
        color: #fff;
        box-shadow: none;
    }
    .nav-pill-pro:hover {
        background: rgba(76,170,182,.30);
        color: #fff;
    }
    .nav-admin-btn {
        background: none;
        box-shadow: none;
        color: rgba(255,255,255,.55);
    }
}
