/*
 * Corrections finales, limitées aux pages publiques Le Cabinet.
 * Les sélecteurs restent page-scopés afin de préserver les sections du template.
 */

/* Nous : le bouton reste lisible sur le fond sombre du header. */
body.lc-nous-page .lc-booking-link,
body.lc-nous-page .lc-booking-link:hover,
body.lc-nous-page .lc-booking-link:focus,
body.lc-nous-page .lc-booking-link:active {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    color: #fff !important;
}

html.rts-light-mood body.lc-nous-page .lc-booking-link,
html.rts-light-mood body.lc-nous-page .lc-booking-link:hover,
html.rts-light-mood body.lc-nous-page .lc-booking-link:focus,
html.rts-light-mood body.lc-nous-page .lc-booking-link:active {
    color: #161616 !important;
}

/* Événement : le CTA ne garde aucune pastille, seule la couleur du mot change. */
html.rts-light-mood body.lc-evenements-page .header-three .lc-public-link.is-cta,
html.rts-light-mood body.lc-evenements-page .header-three .lc-public-link.is-cta:hover,
html.rts-light-mood body.lc-evenements-page .header-three .lc-public-link.is-cta:focus,
html.rts-light-mood body.lc-evenements-page .header-three .lc-public-link.is-cta:active {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    color: #161616 !important;
}

html.rts-dark body.lc-evenements-page .header-three .lc-public-link.is-cta,
html.rts-dark body.lc-evenements-page .header-three .lc-public-link.is-cta:hover,
html.rts-dark body.lc-evenements-page .header-three .lc-public-link.is-cta:focus,
html.rts-dark body.lc-evenements-page .header-three .lc-public-link.is-cta:active,
html:not(.rts-light-mood) body.lc-evenements-page .header-three .lc-public-link.is-cta,
html:not(.rts-light-mood) body.lc-evenements-page .header-three .lc-public-link.is-cta:hover,
html:not(.rts-light-mood) body.lc-evenements-page .header-three .lc-public-link.is-cta:focus,
html:not(.rts-light-mood) body.lc-evenements-page .header-three .lc-public-link.is-cta:active {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    color: #fff !important;
}

/* Override final : contraste exact des trois en-têtes publics. */
html[data-theme="light"] body.lc-evenements-page a[href="evenements.html"][aria-current="page"],
html[data-theme="light"] body.lc-evenements-page .lc-public-link[aria-current="page"],
html.rts-light-mood body.lc-evenements-page a[href="evenements.html"][aria-current="page"],
html.rts-light-mood body.lc-evenements-page .lc-public-link[aria-current="page"] {
    color: #161616 !important;
}

html.rts-dark body.lc-evenements-page a[href="evenements.html"][aria-current="page"],
html.rts-dark body.lc-evenements-page .lc-public-link[aria-current="page"] {
    color: #fff !important;
}

/* Priorité renforcée sur les règles historiques du header-three. */
html.rts-light-mood body.lc-vous-page .header-three .lc-public-link.is-cta,
html.rts-light-mood body.lc-vous-page .header-three .lc-public-link.is-cta:hover,
html.rts-light-mood body.lc-vous-page .header-three .lc-public-link.is-cta:focus,
html.rts-light-mood body.lc-vous-page .header-three .lc-public-link.is-cta:active {
    background: transparent !important;
    background-image: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
    color: #161616 !important;
}

html:not(.rts-dark) body.lc-vous-page .header-three .lc-public-link.is-cta,
html:not(.rts-dark) body.lc-vous-page .header-three .lc-public-link.is-cta:hover,
html:not(.rts-dark) body.lc-vous-page .header-three .lc-public-link.is-cta:focus,
html:not(.rts-dark) body.lc-vous-page .header-three .lc-public-link.is-cta:active {
    background: transparent !important;
    background-image: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
    color: #161616 !important;
}

html.rts-light-mood body.lc-vous-page .header-three .lc-public-link.is-cta .lc-cta-label {
    color: #161616 !important;
}

html:not(.rts-dark) body.lc-vous-page .header-three .lc-public-link.is-cta .lc-cta-label {
    color: #161616 !important;
}

html.rts-light-mood body.lc-nous-page .lc-booking-link,
html.rts-light-mood body.lc-nous-page .header-three .lc-public-link.is-cta,
html.rts-light-mood body.lc-nous-page .header-three .lc-public-link.is-cta .lc-cta-label {
    color: #fff !important;
}

body.lc-nous-page .lc-booking-link,
body.lc-nous-page .lc-public-link.is-cta,
body.lc-nous-page .lc-public-link.is-cta .lc-cta-label {
    color: #fff !important;
}

html[data-theme="light"] body.lc-vous-page .lc-public-link.is-cta,
html[data-theme="light"] body.lc-vous-page .lc-public-link.is-cta:hover,
html[data-theme="light"] body.lc-vous-page .lc-public-link.is-cta:focus,
html[data-theme="light"] body.lc-vous-page .lc-public-link.is-cta:active,
html.rts-light-mood body.lc-vous-page .lc-public-link.is-cta,
html.rts-light-mood body.lc-vous-page .lc-public-link.is-cta:hover,
html.rts-light-mood body.lc-vous-page .lc-public-link.is-cta:focus,
html.rts-light-mood body.lc-vous-page .lc-public-link.is-cta:active {
    background: transparent !important;
    background-image: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
    color: #161616 !important;
}

html[data-theme="light"] body.lc-vous-page .lc-public-link.is-cta .lc-cta-label,
html.rts-light-mood body.lc-vous-page .lc-public-link.is-cta .lc-cta-label {
    color: #161616 !important;
}

/* Mobile header: keep the wordmark, menu and reservation CTA on one line. */
@media (max-width: 767px) {
    /* Index header: actions on the left, wordmark in the middle, CTA on the right. */
    body.lc-index-four-home .header-area.header-one .header-container-one {
        padding: 0 10px !important;
    }

    body.lc-index-four-home .header-area.header-one .header-wrapper {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        min-height: 82px !important;
        height: 82px !important;
        gap: 8px !important;
    }

    body.lc-index-four-home .header-area.header-one .header-wrapper > .header-right {
        position: relative !important;
        inset: auto !important;
        order: 1 !important;
        display: flex !important;
        flex: 0 0 auto !important;
        width: auto !important;
        margin: 0 !important;
        z-index: 34 !important;
    }

    body.lc-index-four-home .header-area.header-one .header-wrapper > .header-right .action-area {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
    }

    body.lc-index-four-home .header-area.header-one .header-wrapper > .logo {
        position: relative !important;
        inset: auto !important;
        order: 2 !important;
        display: block !important;
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 112px !important;
        height: 56px !important;
        margin: 0 auto !important;
        transform: none !important;
        z-index: 32 !important;
    }

    body.lc-index-four-home .header-area.header-one .header-wrapper > .logo img {
        transform: scale(1.22) !important;
    }

    body.lc-index-four-home .header-area.header-one .header-wrapper > .lc-index-floating-cta {
        position: relative !important;
        inset: auto !important;
        order: 3 !important;
        flex: 0 0 150px !important;
        width: 150px !important;
        min-width: 150px !important;
        max-width: 150px !important;
        height: 68px !important;
        min-height: 68px !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
        z-index: 35 !important;
    }

    body.lc-index-four-home .header-area.header-one .header-wrapper > .lc-public-nav {
        display: none !important;
    }

    /* Inner pages: menu on the left, centred wordmark, CTA on the right. */
    .header-three .header-three-wrapper,
    .rts-header-area-two .main-header-two {
        position: relative !important;
    }

    .header-three .inner {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 82px !important;
        height: 82px !important;
        padding: 0 10px !important;
    }

    .header-three .inner > .logo-area,
    .header-three .inner > .logo-area-white,
    .rts-header-area-two .main-header-two .header-left-area .logo-area,
    .rts-header-area-two .main-header-two .header-left-area .logo-area-white {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        right: auto !important;
        display: block !important;
        width: 108px !important;
        max-width: 108px !important;
        margin: 0 !important;
        transform: translate(-50%, -50%) !important;
        z-index: 31 !important;
    }

    .header-three .inner > .logo-area img,
    .header-three .inner > .logo-area-white img,
    .rts-header-area-two .main-header-two .header-left-area .logo-area img,
    .rts-header-area-two .main-header-two .header-left-area .logo-area-white img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
    }

    .header-three .inner > .header-right {
        position: absolute !important;
        top: 50% !important;
        left: 10px !important;
        right: auto !important;
        display: flex !important;
        align-items: center !important;
        gap: 0 !important;
        margin: 0 !important;
        transform: translateY(-50%) !important;
        z-index: 33 !important;
    }

    .header-three .inner > .header-right > .menu-btn:first-child {
        display: none !important;
    }

    .header-three .inner > .header-right > .menu-btn:last-child {
        display: block !important;
        width: 30px !important;
        margin: 0 !important;
    }

    .header-three .inner > .header-right .container-menu,
    .header-three .inner > .header-right .action-menu,
    .header-three .inner > .header-right .open-event {
        width: 30px !important;
        margin: 0 !important;
    }

    .header-three .header-three-wrapper > .lc-public-nav,
    .rts-header-area-two .main-header-two > .lc-public-nav {
        position: absolute !important;
        top: 50% !important;
        right: 10px !important;
        bottom: auto !important;
        left: auto !important;
        display: flex !important;
        width: 132px !important;
        max-width: 132px !important;
        transform: translateY(-50%) !important;
        z-index: 34 !important;
    }

    .header-three .header-three-wrapper > .lc-public-nav > .lc-public-link.is-cta,
    .rts-header-area-two .main-header-two > .lc-public-nav > .lc-public-link.is-cta {
        width: 132px !important;
        min-width: 132px !important;
        max-width: 132px !important;
        height: 66px !important;
        min-height: 66px !important;
    }

    .header-three .header-three-wrapper > .lc-public-nav > .lc-public-link:not(.is-cta),
    .rts-header-area-two .main-header-two > .lc-public-nav > .lc-public-link:not(.is-cta) {
        display: none !important;
    }

    .rts-header-area-two .main-header-two {
        min-height: 82px !important;
        height: 82px !important;
        padding: 0 10px !important;
    }

    .rts-header-area-two .main-header-two .header-left-area {
        position: static !important;
        width: 100% !important;
        max-width: none !important;
    }

    .rts-header-area-two .main-header-two > .menu-btn {
        position: absolute !important;
        top: 50% !important;
        left: 10px !important;
        margin: 0 !important;
        transform: translateY(-50%) !important;
        z-index: 33 !important;
    }
}

@media (max-width: 374px) {
    body.lc-index-four-home .header-area.header-one .header-wrapper > .header-right .search-icon-header {
        display: none !important;
    }

    body.lc-index-four-home .header-area.header-one .header-wrapper > .logo {
        max-width: 98px !important;
    }

    body.lc-index-four-home .header-area.header-one .header-wrapper > .lc-index-floating-cta {
        flex-basis: 128px !important;
        width: 128px !important;
        min-width: 128px !important;
        max-width: 128px !important;
        height: 62px !important;
        min-height: 62px !important;
    }

    .header-three .inner > .logo-area,
    .header-three .inner > .logo-area-white,
    .rts-header-area-two .main-header-two .header-left-area .logo-area,
    .rts-header-area-two .main-header-two .header-left-area .logo-area-white {
        width: 96px !important;
        max-width: 96px !important;
    }

    .header-three .header-three-wrapper > .lc-public-nav,
    .rts-header-area-two .main-header-two > .lc-public-nav {
        right: 8px !important;
        width: 120px !important;
        max-width: 120px !important;
    }

    .header-three .header-three-wrapper > .lc-public-nav > .lc-public-link.is-cta,
    .rts-header-area-two .main-header-two > .lc-public-nav > .lc-public-link.is-cta {
        width: 120px !important;
        min-width: 120px !important;
        max-width: 120px !important;
        height: 60px !important;
        min-height: 60px !important;
    }
}

/* Mobile fixed CTA final priority: outside the navigation row. */
@media (max-width: 767px) {
    body:not(.lc-index-four-home) .lc-public-nav {
        position: fixed !important;
        top: 16px !important;
        right: 16px !important;
        bottom: auto !important;
        left: auto !important;
        display: flex !important;
        width: 116px !important;
        max-width: 116px !important;
        transform: none !important;
        z-index: 400 !important;
    }

    body.lc-index-four-home .header-area.header-one .header-wrapper > .lc-index-floating-cta {
        position: fixed !important;
        top: 16px !important;
        right: 16px !important;
        bottom: auto !important;
        left: auto !important;
        z-index: 400 !important;
    }

    .header-three .inner > .logo-area,
    .header-three .inner > .logo-area-white,
    .rts-header-area-two .main-header-two .header-left-area .logo-area {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        right: auto !important;
        margin: 0 !important;
        transform: translate(-50%, -50%) !important;
        z-index: 31 !important;
    }

    body.lc-index-four-home .header-area.header-one .header-wrapper > .logo {
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
    }
}

@media (max-width: 374px) {
    body:not(.lc-index-four-home) .lc-public-nav {
        right: 16px !important;
        width: 88px !important;
        max-width: 88px !important;
    }

    body.lc-index-four-home .header-area.header-one .header-wrapper > .lc-index-floating-cta {
        right: 16px !important;
    }
}

/* Mobile CTA final position: fixed at the top-right, outside the nav row. */
@media (max-width: 767px) {
    body:not(.lc-index-four-home) .lc-public-nav {
        position: fixed !important;
        top: 16px !important;
        right: 16px !important;
        bottom: auto !important;
        left: auto !important;
        display: flex !important;
        width: 116px !important;
        max-width: 116px !important;
        transform: none !important;
        z-index: 400 !important;
    }

    body.lc-index-four-home .header-area.header-one .header-wrapper > .lc-index-floating-cta {
        position: fixed !important;
        top: 16px !important;
        right: 16px !important;
        bottom: auto !important;
        left: auto !important;
        z-index: 400 !important;
    }

    .header-three .inner > .logo-area,
    .header-three .inner > .logo-area-white,
    .rts-header-area-two .main-header-two .header-left-area .logo-area {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        right: auto !important;
        margin: 0 !important;
        transform: translate(-50%, -50%) !important;
        z-index: 31 !important;
    }

    body.lc-index-four-home .header-area.header-one .header-wrapper > .logo {
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
    }
}

@media (max-width: 374px) {
    body:not(.lc-index-four-home) .lc-public-nav {
        right: 16px !important;
        width: 88px !important;
        max-width: 88px !important;
    }

    body.lc-index-four-home .header-area.header-one .header-wrapper > .lc-index-floating-cta {
        right: 16px !important;
    }
}

/* Mobile final alignment: the booking CTA is independent from the nav row. */
@media (max-width: 767px) {
    body:not(.lc-index-four-home) .lc-public-nav {
        position: fixed !important;
        top: 16px !important;
        right: 16px !important;
        bottom: auto !important;
        left: auto !important;
        display: flex !important;
        width: 116px !important;
        max-width: 116px !important;
        transform: none !important;
        z-index: 400 !important;
    }

    body.lc-index-four-home .header-area.header-one .header-wrapper > .lc-index-floating-cta {
        position: fixed !important;
        top: 16px !important;
        right: 16px !important;
        bottom: auto !important;
        left: auto !important;
        z-index: 400 !important;
    }

    .header-three .inner > .logo-area,
    .header-three .inner > .logo-area-white,
    .rts-header-area-two .main-header-two .header-left-area .logo-area {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        right: auto !important;
        margin: 0 !important;
        transform: translate(-50%, -50%) !important;
        z-index: 31 !important;
    }

    body.lc-index-four-home .header-area.header-one .header-wrapper > .logo {
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
    }
}

@media (max-width: 374px) {
    body:not(.lc-index-four-home) .lc-public-nav {
        right: 16px !important;
        width: 88px !important;
        max-width: 88px !important;
    }

    body.lc-index-four-home .header-area.header-one .header-wrapper > .lc-index-floating-cta {
        right: 16px !important;
    }
}

/* Final mobile header priority: centred wordmark, CTA on the right. */
@media (max-width: 767px) {
    .header-three .inner {
        position: relative !important;
    }

    .header-three .inner > .logo-area,
    .header-three .inner > .logo-area-white,
    .rts-header-area-two .main-header-two .header-left-area .logo-area {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        right: auto !important;
        margin: 0 !important;
        transform: translate(-50%, -50%) !important;
        z-index: 31 !important;
    }

    .header-three .lc-public-nav,
    .rts-header-area-two .main-header-two > .lc-public-nav,
    .rts-header-area-two .main-header-two .lc-public-nav {
        top: 50% !important;
        right: 52px !important;
        left: auto !important;
        width: 116px !important;
        max-width: 116px !important;
        transform: translateY(-50%) !important;
        z-index: 32 !important;
    }

    body.lc-index-four-home .header-area.header-one .header-wrapper > .logo {
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
    }

    body.lc-index-four-home .header-area.header-one .header-wrapper > .lc-index-floating-cta {
        left: auto !important;
        right: 52px !important;
    }
}

@media (max-width: 374px) {
    .header-three .lc-public-nav,
    .rts-header-area-two .main-header-two > .lc-public-nav,
    .rts-header-area-two .main-header-two .lc-public-nav {
        right: 44px !important;
        width: 88px !important;
        max-width: 88px !important;
    }

    body.lc-index-four-home .header-area.header-one .header-wrapper > .lc-index-floating-cta {
        right: 44px !important;
    }
}

/*
 * Footer public harmonisé
 *
 * Toutes les pages éditoriales utilisent la même hiérarchie que Contact :
 * wordmark + réseaux à gauche, informations à droite, puis ENS, copyright
 * et mentions légales sur la ligne basse. Le thème de chaque page conserve
 * son propre fond et son propre contraste.
 */
.rts-footer-two-area .footer-left-two {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.rts-footer-two-area .footer-left-two > a.logo {
    display: block;
    order: 1;
    width: clamp(230px, 21vw, 300px) !important;
    max-width: 78vw !important;
    height: auto;
    margin-bottom: 24px;
    transform: translateY(-7px);
}

.rts-footer-two-area .footer-left-two > a.logo img.lc-index-footer-wordmark {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    height: auto;
    object-fit: contain;
}

.rts-footer-two-area .footer-left-two > p.disc {
    display: none !important;
}

.rts-footer-two-area .footer-left-two .rts-social-area-one {
    order: 2;
    width: clamp(230px, 21vw, 300px);
    max-width: 78vw;
}

.rts-footer-two-area .copy-right-area-start-two {
    position: relative;
    justify-content: center;
    gap: 40px;
}

.rts-footer-two-area .copy-right-area-start-two > .lc-footer-ens-link {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    width: fit-content;
    max-width: none;
    margin: 0;
    line-height: 1;
}

.rts-footer-two-area .copy-right-area-start-two > .lc-footer-ens-link .lc-footer-ens {
    width: 64px;
    margin: 0;
}

.rts-footer-two-area .copy-right-area-start-two > .left {
    display: block;
    margin: 0;
}

@media (max-width: 575px) {
    .rts-footer-two-area .footer-left-two > a.logo,
    .rts-footer-two-area .footer-left-two .rts-social-area-one {
        width: min(210px, 78vw) !important;
        max-width: 78vw !important;
    }

    .rts-footer-two-area .copy-right-area-start-two {
        flex-direction: column;
        align-items: center;
        gap: 14px;
    }

    .rts-footer-two-area .copy-right-area-start-two > .lc-footer-ens-link {
        position: static;
        align-self: flex-start;
        transform: none;
    }
}

/*
 * Audit mobile Le Cabinet — 2026-08.
 * Les mouvements Mighti restent inchangés : on limite seulement leur zone
 * de peinture et on remet les commandes dans une géométrie tactile fiable.
 */
@media (max-width: 1199px) {
    html,
    body {
        max-width: 100%;
        overflow-x: clip;
    }

    body {
        width: 100%;
    }

    img,
    video,
    canvas,
    svg {
        max-width: 100%;
    }

    /* Les textes défilants et les doublons Swiper doivent rester dans leur
       masque pendant leur déplacement, sans réduire leur animation. */
    .swiper,
    .swiper-container,
    .rts-portfolio-slider,
    .rts-portfolio-slider .container-full,
    .rts-portfolio-slider .row,
    .rts-portfolio-slider .col-lg-12,
    .text-split,
    .scrollingText,
    .scrollingText-two,
    .scrollingText-four {
        max-width: 100%;
        overflow-x: clip;
    }

    /* Menu tactile : la transition continue de jouer, mais le panneau
       ouvert n'emprunte jamais la largeur desktop. */
    .rts-fs-menu {
        width: 100vw !important;
        max-width: 100vw !important;
        overflow-x: clip;
    }

    .rts-fs-container {
        width: 100% !important;
        max-width: 100% !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        padding-right: clamp(20px, 6vw, 36px) !important;
        padding-left: clamp(20px, 6vw, 36px) !important;
    }

    .rts-fs--nav,
    .rts-fs--contacts {
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }

    .rts-fs--nav .navbar-nav-button,
    .rts-fs--contacts .contact-inner {
        max-width: 100%;
    }

    /* En mode clair, le panneau animé reste blanc comme le template mais
       ses liens doivent rester lisibles dès l'ouverture tactile. */
    html.rts-light-mood .rts-fs-menu .menu-item > a,
    html.rts-light-mood .rts-fs-menu .menu-item > a:hover,
    html.rts-light-mood .rts-fs-menu .menu-item > a:focus,
    html.rts-light-mood .rts-fs-menu .menu-item > a:active {
        color: #161616 !important;
    }

    /* Les liens restent animés au toucher et gagnent un état clavier. */
    .rts-fs-menu a:focus-visible,
    .lc-public-link:focus-visible,
    .lc-booking-link:focus-visible,
    .learn-more-btn:focus-visible,
    button:focus-visible {
        outline: 2px solid currentColor;
        outline-offset: 5px;
    }

    /* CTA public : un seul bouton à droite, les cinq liens passent dans le
       panneau animé du menu. */
    body:not(.lc-index-four-home) .lc-public-nav {
        top: 50%;
        right: 52px;
        left: auto;
        display: flex !important;
        width: 116px;
        max-width: 116px;
        gap: 0;
        transform: translateY(-50%);
    }

    body:not(.lc-index-four-home) .lc-public-nav > .lc-public-link:not(.is-cta) {
        display: none !important;
    }

    body:not(.lc-index-four-home) .lc-public-nav > .lc-public-link.is-cta {
        width: 116px !important;
        min-width: 116px !important;
        height: 62px !important;
        min-height: 62px !important;
    }

    body:not(.lc-index-four-home) .lc-public-nav > .lc-public-link.is-cta::after {
        width: 30px;
        height: 30px;
    }

    body:not(.lc-index-four-home) .lc-public-nav > .lc-public-link.is-cta .lc-cta-label {
        font-size: 8px;
        letter-spacing: .16em;
        text-indent: .16em;
    }

    /* Header 03 / portfolio : logo à gauche, CTA au centre droit, menu à
       l'extrême droite — aucune superposition à 360 px. */
    .header-three-wrapper {
        position: relative;
        width: 100%;
    }

    .header-three .inner {
        display: flex !important;
        align-items: center;
        justify-content: flex-start;
        min-height: 82px;
        padding-right: 18px !important;
        padding-left: 18px !important;
    }

    .header-three .logo-area,
    .header-three .logo-area-white {
        display: block !important;
        width: min(128px, 34vw) !important;
        max-width: 128px;
        flex: 0 0 auto;
    }

    .header-three .logo-area img,
    .header-three .logo-area-white img {
        display: block;
        width: 100%;
        height: auto;
    }

    /* Le header-three garde ses trois repères sur téléphone : logo court à
       gauche, CTA chrome au milieu-droit, menu à l'extrémité droite. */
    .header-three .lc-public-nav,
    body.inner-page.portfolio-grid .header-three .lc-public-nav {
        right: 120px !important;
    }

    .header-three .header-right {
        display: flex;
        align-items: center;
        margin-left: auto;
    }

    .header-three .lc-public-nav {
        right: 52px;
    }

    /* Header 02 : le logo natif conserve ses proportions mais ne garde pas
       la largeur desktop de 302 px. */
    .rts-header-area-two .main-header-two {
        position: relative;
        min-height: 82px;
        padding: 18px 20px !important;
    }

    .rts-header-area-two .main-header-two .header-left-area {
        width: auto !important;
        max-width: 132px;
        flex: 0 0 auto;
    }

    .rts-header-area-two .main-header-two .header-left-area .logo-area {
        width: 132px !important;
        max-width: 132px;
    }

    .rts-header-area-two .main-header-two .header-left-area .logo-area img {
        display: block;
        width: 100%;
        height: auto;
    }

    .rts-header-area-two .main-header-two > .lc-public-nav {
        right: 64px;
    }

    /* Formulaires : aucune colonne ni select ne doit dépasser de la carte. */
    form,
    fieldset,
    input,
    select,
    textarea,
    .form-group,
    .appoinment-area-two .row,
    .appoinment-area-two [class*="col-"] {
        max-width: 100%;
    }

    input,
    select,
    textarea,
    button {
        font-size: 16px;
    }

    /* Les grilles Mighti prévues en deux colonnes restent compactes sur
       téléphone ; seules les colonnes de texte longues repassent à une ligne
       via leurs propres règles de template. */
    .lc-editorial-grid,
    .lc-template-grid,
    .lc-event-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px;
    }

    .lc-editorial-card,
    .lc-template-card,
    .lc-event-card {
        min-width: 0;
        padding: 16px;
    }

    .lc-editorial-card h3,
    .lc-template-card h3,
    .lc-event-card h3 {
        font-size: clamp(16px, 4.8vw, 22px);
        overflow-wrap: anywhere;
    }

    .lc-editorial-card p,
    .lc-template-card p,
    .lc-event-card p {
        overflow-wrap: anywhere;
    }

    /* Touch/focus reprend le feedback hover sans dépendre d'une souris. */
    .lc-editorial-card:focus-within,
    .lc-editorial-card:active,
    .lc-template-card:focus-within,
    .lc-template-card:active,
    .lc-event-card:focus-within,
    .lc-event-card:active {
        background: #1b1b1b;
        color: #fff;
        transform: translateY(-4px);
    }
}

@media (max-width: 575px) {
    .header-three .logo-area,
    .header-three .logo-area-white {
        width: min(96px, 26vw) !important;
        max-width: 96px;
    }

    .rts-header-area-two .main-header-two .header-left-area .logo-area {
        width: min(120px, 32vw) !important;
        max-width: 120px;
    }

    body.lc-legal-page {
        margin: 0;
    }

    body.lc-legal-page *,
    body.lc-legal-page *::before,
    body.lc-legal-page *::after {
        box-sizing: border-box;
    }

    .lc-legal-content {
        width: 100%;
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .lc-legal-table {
        width: 100%;
        table-layout: fixed;
        word-break: break-word;
    }

    body.lc-contact-page .rts-footer-two-area .copy-right-area-start-two {
        overflow-x: clip;
    }
}

@media (max-width: 374px) {
    /* À 360 px, le template n'a que 92 px entre le wordmark et le burger.
       Le CTA reste chrome et animé, mais adopte la largeur réellement
       disponible afin de préserver les proportions sans chevauchement. */
    .header-three .lc-public-nav,
    body.inner-page.portfolio-grid .header-three .lc-public-nav {
        right: 136px !important;
    }

    body:not(.lc-index-four-home) .header-three .lc-public-nav > .lc-public-link.is-cta {
        width: 88px !important;
        min-width: 88px !important;
        height: 56px !important;
        min-height: 56px !important;
    }

    body:not(.lc-index-four-home) .header-three .lc-public-nav > .lc-public-link.is-cta::after {
        width: 26px;
        height: 26px;
    }

    body:not(.lc-index-four-home) .header-three .lc-public-nav > .lc-public-link.is-cta .lc-cta-label {
        font-size: 7px;
    }

    body.lc-vous-page .header-three .lc-public-nav {
        right: 106px !important;
    }

    body.lc-evenements-page .header-three .lc-public-nav {
        right: 120px !important;
    }

    body.inner-page.portfolio-grid.lc-evenements-page .header-three .lc-public-nav {
        right: 120px !important;
    }
}

@media (hover: none) and (pointer: coarse) {
    /* Équivalent tactile des micro-interactions hover du template. */
    .lc-public-link:active,
    .lc-booking-link:active,
    .learn-more-btn:active {
        transform: translateY(-2px);
    }

    .lc-public-link:not(.is-cta):active::after {
        transform: scaleX(1);
        transform-origin: left center;
    }

    .lc-public-link.is-cta:active {
        filter: brightness(1.06);
    }
}

@media (prefers-reduced-motion: reduce) {
    .lc-public-nav > .lc-public-link.is-cta::after,
    .header-wrapper > .lc-index-floating-cta::after {
        animation-duration: 1ms;
        animation-iteration-count: 1;
    }
}

/* Recrutement et location de sièges : la page reprend les composants de la template 05. */
body.lc-sieges-page #candidature {
    scroll-margin-top: 110px;
}

body.lc-sieges-page .lc-sieges-candidature {
    background: #f6f6f4;
}

body.lc-sieges-page .lc-sieges-candidature .title-area-appoinment .disc {
    max-width: 720px;
    margin-top: 24px;
}

body.lc-sieges-page .lc-sieges-candidature .appoinment-h2 {
    margin-top: 56px;
}

@media (max-width: 767px) {
    body.lc-sieges-page .lc-sieges-candidature .appoinment-h2 {
        margin-top: 36px;
    }
}

/* Contact footer: crop the transparent canvas of the wordmark so the
   Cabinet name, ENS credit and social links share the same left edge. */
body.lc-contact-page .rts-footer-two-area .footer-left-two > a.logo {
    display: block;
    order: 1;
    width: clamp(230px, 21vw, 300px) !important;
    max-width: 78vw !important;
    height: auto;
    margin-bottom: 24px;
    transform: translateY(-7px);
}

body.lc-contact-page .rts-footer-two-area .footer-left-two > a.logo .lc-wordmark-crop {
    display: block;
    position: relative;
    width: 100%;
    aspect-ratio: 911 / 109;
    overflow: hidden;
}

body.lc-contact-page .rts-footer-two-area .footer-left-two > a.logo img.lc-index-footer-wordmark {
    position: absolute;
    top: -419%;
    left: -50.73%;
    width: 200% !important;
    max-width: none !important;
    max-height: none !important;
    height: auto;
    filter: invert(1);
}

body.lc-contact-page .rts-footer-two-area .lc-footer-ens-link {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    order: 3;
    width: fit-content;
    max-width: 78vw;
    margin-top: 18px;
}

body.lc-contact-page .rts-footer-two-area .rts-social-area-one {
    order: 2;
    width: clamp(230px, 21vw, 300px);
    max-width: 78vw;
}

body.lc-contact-page .rts-footer-two-area .footer-left-two {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

body.lc-contact-page .rts-footer-two-area .copy-right-area-start-two {
    position: relative;
    justify-content: center;
    gap: 40px;
}

body.lc-contact-page .rts-footer-two-area .copy-right-area-start-two > .lc-footer-ens-link {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    order: initial;
    width: fit-content;
    max-width: none;
    margin: 0;
    line-height: 1;
}

body.lc-contact-page .rts-footer-two-area .copy-right-area-start-two > .lc-footer-ens-link .lc-footer-ens {
    width: 64px;
    margin: 0;
}

body.lc-contact-page .rts-footer-two-area .copy-right-area-start-two .left {
    display: block;
    margin: 0;
}

@media (max-width: 575px) {
    body.lc-contact-page .rts-footer-two-area .copy-right-area-start-two {
        flex-direction: column;
        align-items: center;
        gap: 14px;
    }

    body.lc-contact-page .rts-footer-two-area .copy-right-area-start-two > .lc-footer-ens-link {
        position: static;
        align-self: flex-start;
        transform: none;
    }
}

@media (max-width: 575px) {
    body.lc-contact-page .rts-footer-two-area .footer-left-two > a.logo,
    body.lc-contact-page .rts-footer-two-area .rts-social-area-one {
        width: min(210px, 78vw) !important;
        max-width: 78vw !important;
    }
}

/* Dernier niveau de priorité : les états demandés par page et par thème. */
html[data-theme="light"] body.lc-evenements-page .lc-public-nav > .lc-public-link[aria-current="page"],
html[data-theme="light"] body.lc-evenements-page .header-three a[href="evenements.html"],
html[data-theme="light"] body.lc-evenements-page .rts-header-area-two a[href="evenements.html"],
html[data-theme="light"] body.lc-evenements-page .lc-editorial-nav a[aria-current="page"],
html.rts-light-mood body.lc-evenements-page .lc-public-nav > .lc-public-link[aria-current="page"],
html.rts-light-mood body.lc-evenements-page .header-three a[href="evenements.html"],
html.rts-light-mood body.lc-evenements-page .rts-header-area-two a[href="evenements.html"],
html.rts-light-mood body.lc-evenements-page .lc-editorial-nav a[aria-current="page"] {
    color: #161616 !important;
}

html.rts-dark body.lc-evenements-page .lc-public-nav > .lc-public-link[aria-current="page"],
html.rts-dark body.lc-evenements-page .header-three a[href="evenements.html"],
html.rts-dark body.lc-evenements-page .rts-header-area-two a[href="evenements.html"],
html.rts-dark body.lc-evenements-page .lc-editorial-nav a[aria-current="page"] {
    color: #fff !important;
}

/* Nous : le mot reste blanc dans le bouton chrome, quel que soit le thème. */
body.lc-nous-page .lc-booking-link,
body.lc-nous-page .lc-booking-link:hover,
body.lc-nous-page .lc-booking-link:focus,
body.lc-nous-page .lc-booking-link:active,
body.lc-nous-page .lc-public-nav > .lc-public-link.is-cta,
body.lc-nous-page .lc-public-nav > .lc-public-link.is-cta:hover,
body.lc-nous-page .lc-public-nav > .lc-public-link.is-cta:focus,
body.lc-nous-page .lc-public-nav > .lc-public-link.is-cta:active {
    color: #fff !important;
}

body.lc-nous-page .lc-public-nav > .lc-public-link.is-cta .lc-cta-label {
    color: #fff !important;
}

/* Vous : en clair, aucune pastille noire derrière le bouton. */
html[data-theme="light"] body.lc-vous-page .lc-public-nav > .lc-public-link.is-cta,
html[data-theme="light"] body.lc-vous-page .lc-public-nav > .lc-public-link.is-cta:hover,
html[data-theme="light"] body.lc-vous-page .lc-public-nav > .lc-public-link.is-cta:focus,
html[data-theme="light"] body.lc-vous-page .lc-public-nav > .lc-public-link.is-cta:active,
html.rts-light-mood body.lc-vous-page .lc-public-nav > .lc-public-link.is-cta,
html.rts-light-mood body.lc-vous-page .lc-public-nav > .lc-public-link.is-cta:hover,
html.rts-light-mood body.lc-vous-page .lc-public-nav > .lc-public-link.is-cta:focus,
html.rts-light-mood body.lc-vous-page .lc-public-nav > .lc-public-link.is-cta:active {
    background: transparent !important;
    background-image: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
    color: #161616 !important;
}

html[data-theme="light"] body.lc-vous-page .lc-public-nav > .lc-public-link.is-cta .lc-cta-label,
html.rts-light-mood body.lc-vous-page .lc-public-nav > .lc-public-link.is-cta .lc-cta-label {
    color: #161616 !important;
}

/* Contraste final du thème : clair = noir, sombre = blanc. */
html[data-theme="light"] body.lc-nous-page .lc-booking-link,
html[data-theme="light"] body.lc-nous-page .lc-booking-link:hover,
html[data-theme="light"] body.lc-nous-page .lc-booking-link:focus,
html[data-theme="light"] body.lc-nous-page .lc-booking-link:active,
html.rts-light-mood body.lc-nous-page .lc-booking-link,
html.rts-light-mood body.lc-nous-page .lc-booking-link:hover,
html.rts-light-mood body.lc-nous-page .lc-booking-link:focus,
html.rts-light-mood body.lc-nous-page .lc-booking-link:active,
html[data-theme="light"] body.lc-evenements-page .lc-booking-link,
html[data-theme="light"] body.lc-evenements-page .lc-booking-link:hover,
html[data-theme="light"] body.lc-evenements-page .lc-booking-link:focus,
html[data-theme="light"] body.lc-evenements-page .lc-booking-link:active,
html.rts-light-mood body.lc-evenements-page .lc-booking-link,
html.rts-light-mood body.lc-evenements-page .lc-booking-link:hover,
html.rts-light-mood body.lc-evenements-page .lc-booking-link:focus,
html.rts-light-mood body.lc-evenements-page .lc-booking-link:active,
html[data-theme="light"] body.lc-evenements-page .lc-editorial-cta,
html[data-theme="light"] body.lc-evenements-page .lc-editorial-cta:hover,
html[data-theme="light"] body.lc-evenements-page .lc-editorial-cta:focus,
html[data-theme="light"] body.lc-evenements-page .lc-editorial-cta:active {
    color: #161616 !important;
}

html[data-theme="light"] body.lc-nous-page .lc-public-nav > .lc-public-link.is-cta,
html[data-theme="light"] body.lc-evenements-page .lc-public-nav > .lc-public-link.is-cta,
html[data-theme="light"] body.lc-evenements-page .lc-public-nav > .lc-public-link[aria-current="page"],
html.rts-light-mood body.lc-nous-page .lc-public-nav > .lc-public-link.is-cta,
html.rts-light-mood body.lc-evenements-page .lc-public-nav > .lc-public-link.is-cta,
html.rts-light-mood body.lc-evenements-page .lc-public-nav > .lc-public-link[aria-current="page"] {
    color: #161616 !important;
}

html[data-theme="light"] body.lc-nous-page .lc-public-nav > .lc-public-link.is-cta .lc-cta-label,
html[data-theme="light"] body.lc-evenements-page .lc-public-nav > .lc-public-link.is-cta .lc-cta-label,
html.rts-light-mood body.lc-nous-page .lc-public-nav > .lc-public-link.is-cta .lc-cta-label,
html.rts-light-mood body.lc-evenements-page .lc-public-nav > .lc-public-link.is-cta .lc-cta-label {
    color: #161616 !important;
}

html[data-theme="light"] body.lc-evenements-page .header-three a[href="evenements.html"],
html[data-theme="light"] body.lc-evenements-page .lc-editorial-nav a[aria-current="page"],
html.rts-light-mood body.lc-evenements-page .header-three a[href="evenements.html"],
html.rts-light-mood body.lc-evenements-page .lc-editorial-nav a[aria-current="page"] {
    color: #161616 !important;
}

html[data-theme="dark"] body.lc-nous-page .lc-booking-link,
html[data-theme="dark"] body.lc-evenements-page .lc-booking-link,
html[data-theme="dark"] body.lc-evenements-page .lc-editorial-cta,
html[data-theme="dark"] body.lc-evenements-page .header-three a[href="evenements.html"],
html[data-theme="dark"] body.lc-evenements-page .lc-editorial-nav a[aria-current="page"],
html[data-theme="dark"] body.lc-nous-page .lc-public-nav > .lc-public-link.is-cta,
html[data-theme="dark"] body.lc-evenements-page .lc-public-nav > .lc-public-link.is-cta,
html[data-theme="dark"] body.lc-evenements-page .lc-public-nav > .lc-public-link[aria-current="page"],
html.rts-dark body.lc-nous-page .lc-booking-link,
html.rts-dark body.lc-evenements-page .lc-booking-link,
html.rts-dark body.lc-evenements-page .lc-editorial-cta,
html.rts-dark body.lc-evenements-page .header-three a[href="evenements.html"],
html.rts-dark body.lc-evenements-page .lc-editorial-nav a[aria-current="page"],
html.rts-dark body.lc-nous-page .lc-public-nav > .lc-public-link.is-cta,
html.rts-dark body.lc-evenements-page .lc-public-nav > .lc-public-link.is-cta,
html.rts-dark body.lc-evenements-page .lc-public-nav > .lc-public-link[aria-current="page"] {
    color: #fff !important;
}

/* Vous : le thème clair reprend le contraste clair du template, le thème sombre reste blanc. */
html.rts-light-mood body.lc-vous-page .header-three {
    background: rgba(247, 246, 242, .96) !important;
    border-bottom: 1px solid rgba(22, 22, 22, .12);
}

html.rts-light-mood body.lc-vous-page .header-three .logo-area {
    display: block !important;
}

html.rts-light-mood body.lc-vous-page .header-three .logo-area-white {
    display: none !important;
}

html.rts-light-mood body.lc-vous-page .header-three .logo-area img {
    filter: none !important;
}

html.rts-light-mood body.lc-vous-page .header-three .lc-public-link:not(.is-cta),
html.rts-light-mood body.lc-vous-page .header-three .header-right .menu-btn,
html.rts-light-mood body.lc-vous-page .header-three .header-right .menu-btn span {
    color: #161616 !important;
}

html.rts-light-mood body.lc-vous-page .header-three .header-right .burger svg line {
    stroke: #161616 !important;
}

html.rts-light-mood body.lc-vous-page .header-three .lc-public-link.is-cta {
    background: #161616 !important;
    border-color: #161616 !important;
    color: #fff !important;
}

html.rts-dark body.lc-vous-page .header-three,
html:not(.rts-light-mood) body.lc-vous-page .header-three {
    background: rgba(18, 18, 18, .94) !important;
}

html.rts-dark body.lc-vous-page .header-three .logo-area,
html:not(.rts-light-mood) body.lc-vous-page .header-three .logo-area {
    display: none !important;
}

html.rts-dark body.lc-vous-page .header-three .logo-area-white,
html:not(.rts-light-mood) body.lc-vous-page .header-three .logo-area-white {
    display: block !important;
}

html.rts-dark body.lc-vous-page .header-three .logo-area-white img,
html:not(.rts-light-mood) body.lc-vous-page .header-three .logo-area-white img,
html.rts-dark body.lc-vous-page .header-three .logo-area img,
html:not(.rts-light-mood) body.lc-vous-page .header-three .logo-area img {
    filter: brightness(0) invert(1) !important;
}

html.rts-dark body.lc-vous-page .header-three .lc-public-link:not(.is-cta),
html.rts-dark body.lc-vous-page .header-three .header-right .menu-btn,
html.rts-dark body.lc-vous-page .header-three .header-right .menu-btn span,
html:not(.rts-light-mood) body.lc-vous-page .header-three .lc-public-link:not(.is-cta),
html:not(.rts-light-mood) body.lc-vous-page .header-three .header-right .menu-btn,
html:not(.rts-light-mood) body.lc-vous-page .header-three .header-right .menu-btn span {
    color: #fff !important;
}

html.rts-dark body.lc-vous-page .header-three .header-right .burger svg line,
html:not(.rts-light-mood) body.lc-vous-page .header-three .header-right .burger svg line {
    stroke: #fff !important;
}

html.rts-dark body.lc-vous-page .header-three .lc-public-link.is-cta,
html:not(.rts-light-mood) body.lc-vous-page .header-three .lc-public-link.is-cta {
    background: #161616 !important;
    border-color: rgba(255, 255, 255, .55) !important;
    color: #fff !important;
}

/* Événement : l'en-tête suit réellement le switch Clair / Sombre. */
html.rts-light-mood body.lc-evenements-page .header-three {
    background: rgba(247, 246, 242, .96) !important;
    border-bottom: 1px solid rgba(22, 22, 22, .12);
}

html.rts-light-mood body.lc-evenements-page .header-three .logo-area {
    display: block !important;
}

html.rts-light-mood body.lc-evenements-page .header-three .logo-area-white {
    display: none !important;
}

html.rts-light-mood body.lc-evenements-page .header-three .logo-area img {
    filter: none !important;
}

html.rts-light-mood body.lc-evenements-page .header-three .lc-public-link:not(.is-cta),
html.rts-light-mood body.lc-evenements-page .header-three .header-right .menu-btn,
html.rts-light-mood body.lc-evenements-page .header-three .header-right .menu-btn span {
    color: #161616 !important;
}

html.rts-light-mood body.lc-evenements-page .header-three .header-right .burger svg line {
    stroke: #161616 !important;
}

html.rts-light-mood body.lc-evenements-page .header-three .lc-public-link.is-cta {
    background: #161616 !important;
    border-color: #161616 !important;
    color: #fff !important;
}

html.rts-dark body.lc-evenements-page .header-three,
html:not(.rts-light-mood) body.lc-evenements-page .header-three {
    background: rgba(18, 18, 18, .94) !important;
}

html.rts-dark body.lc-evenements-page .header-three .logo-area,
html:not(.rts-light-mood) body.lc-evenements-page .header-three .logo-area {
    display: none !important;
}

html.rts-dark body.lc-evenements-page .header-three .logo-area-white,
html:not(.rts-light-mood) body.lc-evenements-page .header-three .logo-area-white {
    display: block !important;
}

html.rts-dark body.lc-evenements-page .header-three .logo-area-white img,
html:not(.rts-light-mood) body.lc-evenements-page .header-three .logo-area-white img,
html.rts-dark body.lc-evenements-page .header-three .logo-area img,
html:not(.rts-light-mood) body.lc-evenements-page .header-three .logo-area img {
    filter: brightness(0) invert(1) !important;
}

html.rts-dark body.lc-evenements-page .header-three .lc-public-link:not(.is-cta),
html.rts-dark body.lc-evenements-page .header-three .header-right .menu-btn,
html.rts-dark body.lc-evenements-page .header-three .header-right .menu-btn span,
html:not(.rts-light-mood) body.lc-evenements-page .header-three .lc-public-link:not(.is-cta),
html:not(.rts-light-mood) body.lc-evenements-page .header-three .header-right .menu-btn,
html:not(.rts-light-mood) body.lc-evenements-page .header-three .header-right .menu-btn span {
    color: #fff !important;
}

html.rts-dark body.lc-evenements-page .header-three .header-right .burger svg line,
html:not(.rts-light-mood) body.lc-evenements-page .header-three .header-right .burger svg line {
    stroke: #fff !important;
}

html.rts-dark body.lc-evenements-page .header-three .lc-public-link.is-cta,
html:not(.rts-light-mood) body.lc-evenements-page .header-three .lc-public-link.is-cta {
    background: #161616 !important;
    border-color: rgba(255, 255, 255, .55) !important;
    color: #fff !important;
}

/* Contact : l'appel à l'action arrive légèrement sous l'en-tête et le logo respire davantage. */
body.lc-contact-page #formulaire {
    scroll-margin-top: 120px;
}

@media (max-width: 767px) {
    body.lc-contact-page #formulaire {
        scroll-margin-top: 200px;
    }
}

body.lc-contact-page .main-header-two .logo-area img,
body.lc-contact-page .rts-header-area-two .logo-area img {
    width: clamp(150px, 15vw, 236px) !important;
    height: auto;
}

/* Bandeau de consentement : discret, accessible et cohérent avec le footer clair. */
.lc-cookie-banner {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 3000;
    width: min(560px, calc(100vw - 32px));
    padding: 22px 24px;
    color: #161616;
    background: #fff;
    border: 1px solid rgba(22, 22, 22, .16);
    box-shadow: 0 18px 50px rgba(0, 0, 0, .18);
}

.lc-cookie-banner[hidden] {
    display: none;
}

.lc-cookie-banner__title {
    margin: 0 0 8px;
    font-size: 16px;
    font-weight: 600;
}

.lc-cookie-banner__text {
    margin: 0;
    color: #606060;
    font-size: 14px;
    line-height: 1.55;
}

.lc-cookie-banner__text a {
    color: inherit;
    text-decoration: underline;
}

.lc-cookie-banner__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

.lc-cookie-banner__actions button {
    min-height: 40px;
    padding: 9px 16px;
    color: #161616;
    background: #fff;
    border: 1px solid #161616;
    cursor: pointer;
    font: inherit;
}

.lc-cookie-banner__actions button[data-lc-cookie-accept] {
    color: #fff;
    background: #161616;
}

.lc-cookie-settings {
    display: inline-flex;
    margin-top: 18px;
    color: inherit;
    font-size: 13px;
    text-decoration: underline;
    cursor: pointer;
}

/* Pages légales : une feuille légère qui réutilise le système typographique du template. */
body.lc-legal-page {
    min-height: 100vh;
    color: #161616;
    background: #f7f6f2;
}

.lc-legal-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    max-width: 1320px;
    margin: 0 auto;
    padding: 22px 32px;
    background: rgba(247, 246, 242, .95);
    border-bottom: 1px solid rgba(22, 22, 22, .12);
    backdrop-filter: blur(14px);
}

.lc-legal-header__brand {
    display: inline-flex;
    align-items: center;
}

.lc-legal-header__brand img {
    width: clamp(140px, 14vw, 205px);
    height: auto;
}

.lc-legal-header__nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 18px;
}

.lc-legal-header__nav a {
    color: #161616;
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.lc-legal-main {
    max-width: 1060px;
    margin: 0 auto;
    padding: 110px 32px 130px;
}

.lc-legal-kicker {
    margin-bottom: 20px;
    color: #777;
    font-size: 12px;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.lc-legal-main h1 {
    max-width: 850px;
    margin: 0 0 24px;
    font-size: clamp(44px, 7vw, 88px);
    line-height: .98;
    letter-spacing: -.04em;
}

.lc-legal-intro {
    max-width: 710px;
    margin-bottom: 48px;
    color: #606060;
    font-size: 18px;
    line-height: 1.65;
}

.lc-legal-note {
    margin: 0 0 40px;
    padding: 16px 18px;
    color: #5a4a25;
    background: #f1ead7;
    border-left: 3px solid #b6934b;
    font-size: 14px;
    line-height: 1.6;
}

.lc-legal-content {
    padding: clamp(26px, 5vw, 60px);
    background: #fff;
    border: 1px solid rgba(22, 22, 22, .1);
}

body.lc-legal-page {
    margin: 0;
}

.lc-legal-content h2 {
    margin: 42px 0 14px;
    color: #161616;
    font-size: clamp(24px, 3vw, 38px);
    line-height: 1.08;
}

.lc-legal-content h2:first-child {
    margin-top: 0;
}

.lc-legal-content h3 {
    margin: 28px 0 10px;
    color: #161616;
    font-size: 20px;
}

.lc-legal-content p,
.lc-legal-content li {
    color: #555;
    font-size: 16px;
    line-height: 1.75;
}

.lc-legal-content ul {
    margin: 10px 0 0;
    padding-left: 22px;
}

.lc-legal-content a {
    color: #161616;
    text-decoration: underline;
}

.lc-legal-table {
    width: 100%;
    margin: 20px 0;
    border-collapse: collapse;
}

.lc-legal-table th,
.lc-legal-table td {
    padding: 14px 12px;
    color: #555;
    border: 1px solid rgba(22, 22, 22, .14);
    text-align: left;
    vertical-align: top;
}

.lc-legal-table th {
    color: #161616;
    font-weight: 600;
}

.lc-legal-footer {
    max-width: 1060px;
    margin: 0 auto;
    padding: 0 32px 48px;
}

.lc-legal-footer p {
    color: #777;
    font-size: 13px;
}

@media (max-width: 767px) {
    .lc-cookie-banner {
        right: 16px;
        bottom: 16px;
        width: calc(100vw - 32px);
        padding: 18px;
    }

    .lc-legal-header {
        align-items: flex-start;
        flex-direction: column;
        padding: 18px 20px;
    }

    .lc-legal-header__nav {
        justify-content: flex-start;
        gap: 12px 16px;
    }

    .lc-legal-main {
        padding: 72px 20px 90px;
    }

    .lc-legal-intro {
        font-size: 16px;
    }

    .lc-legal-content {
        padding: 24px 20px;
    }

    .lc-legal-content p,
    .lc-legal-content li {
        font-size: 15px;
    }

    .lc-legal-table {
        display: block;
        overflow-x: auto;
        white-space: normal;
    }

    .lc-legal-footer {
        padding: 0 20px 32px;
    }
}

/* Final priority: Événement keeps only the themed word, never a dark pill. */
html.rts-light-mood body.lc-evenements-page .header-three .lc-public-link.is-cta,
html.rts-light-mood body.lc-evenements-page .header-three .lc-public-link.is-cta:hover,
html.rts-light-mood body.lc-evenements-page .header-three .lc-public-link.is-cta:focus,
html.rts-light-mood body.lc-evenements-page .header-three .lc-public-link.is-cta:active {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    color: #161616 !important;
}

html.rts-dark body.lc-evenements-page .header-three .lc-public-link.is-cta,
html.rts-dark body.lc-evenements-page .header-three .lc-public-link.is-cta:hover,
html.rts-dark body.lc-evenements-page .header-three .lc-public-link.is-cta:focus,
html.rts-dark body.lc-evenements-page .header-three .lc-public-link.is-cta:active,
html:not(.rts-light-mood) body.lc-evenements-page .header-three .lc-public-link.is-cta,
html:not(.rts-light-mood) body.lc-evenements-page .header-three .lc-public-link.is-cta:hover,
html:not(.rts-light-mood) body.lc-evenements-page .header-three .lc-public-link.is-cta:focus,
html:not(.rts-light-mood) body.lc-evenements-page .header-three .lc-public-link.is-cta:active {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    color: #fff !important;
}

/* End-of-file priority marker. */

/* Mobile CTA final priority: fixed at the top-right, outside the nav row. */
@media (max-width: 767px) {
    body:not(.lc-index-four-home) .lc-public-nav {
        position: fixed !important;
        top: 16px !important;
        right: 16px !important;
        bottom: auto !important;
        left: auto !important;
        display: flex !important;
        width: 116px !important;
        max-width: 116px !important;
        transform: none !important;
        z-index: 400 !important;
    }

    body.lc-index-four-home .header-area.header-one .header-wrapper > .lc-index-floating-cta {
        position: fixed !important;
        top: 16px !important;
        right: 16px !important;
        bottom: auto !important;
        left: auto !important;
        z-index: 400 !important;
    }

    .header-three .inner > .logo-area,
    .header-three .inner > .logo-area-white,
    .rts-header-area-two .main-header-two .header-left-area .logo-area {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        right: auto !important;
        margin: 0 !important;
        transform: translate(-50%, -50%) !important;
        z-index: 31 !important;
    }

    body.lc-index-four-home .header-area.header-one .header-wrapper > .logo {
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
    }
}

@media (max-width: 374px) {
    body:not(.lc-index-four-home) .lc-public-nav {
        right: 16px !important;
        width: 88px !important;
        max-width: 88px !important;
    }

    body.lc-index-four-home .header-area.header-one .header-wrapper > .lc-index-floating-cta {
        right: 16px !important;
    }
}

/* Header-three wins over the historical theme selectors. */
html.rts-light-mood body.lc-vous-page .header-three .lc-public-link.is-cta,
html.rts-light-mood body.lc-vous-page .header-three .lc-public-link.is-cta:hover,
html.rts-light-mood body.lc-vous-page .header-three .lc-public-link.is-cta:focus,
html.rts-light-mood body.lc-vous-page .header-three .lc-public-link.is-cta:active {
    background: transparent !important;
    background-image: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
    color: #161616 !important;
}

html.rts-light-mood body.lc-vous-page .header-three .lc-public-link.is-cta .lc-cta-label {
    color: #161616 !important;
}

html.rts-light-mood body.lc-nous-page .rts-header-area-two .lc-booking-link,
html.rts-light-mood body.lc-nous-page .rts-header-area-two .lc-public-link.is-cta,
html.rts-light-mood body.lc-nous-page .rts-header-area-two .lc-public-link.is-cta .lc-cta-label,
html.rts-light-mood body.lc-nous-page .header-three .lc-public-link.is-cta,
html.rts-light-mood body.lc-nous-page .header-three .lc-public-link.is-cta .lc-cta-label {
    color: #fff !important;
}

/* Override final : contraste exact des trois en-têtes publics. */
html[data-theme="light"] body.lc-evenements-page a[href="evenements.html"][aria-current="page"],
html[data-theme="light"] body.lc-evenements-page .lc-public-link[aria-current="page"],
html.rts-light-mood body.lc-evenements-page a[href="evenements.html"][aria-current="page"],
html.rts-light-mood body.lc-evenements-page .lc-public-link[aria-current="page"] {
    color: #161616 !important;
}

html.rts-dark body.lc-evenements-page a[href="evenements.html"][aria-current="page"],
html.rts-dark body.lc-evenements-page .lc-public-link[aria-current="page"] {
    color: #fff !important;
}

body.lc-nous-page .lc-booking-link,
body.lc-nous-page .lc-public-link.is-cta,
body.lc-nous-page .lc-public-link.is-cta .lc-cta-label {
    color: #fff !important;
}

html[data-theme="light"] body.lc-vous-page .lc-public-link.is-cta,
html[data-theme="light"] body.lc-vous-page .lc-public-link.is-cta:hover,
html[data-theme="light"] body.lc-vous-page .lc-public-link.is-cta:focus,
html[data-theme="light"] body.lc-vous-page .lc-public-link.is-cta:active,
html.rts-light-mood body.lc-vous-page .lc-public-link.is-cta,
html.rts-light-mood body.lc-vous-page .lc-public-link.is-cta:hover,
html.rts-light-mood body.lc-vous-page .lc-public-link.is-cta:focus,
html.rts-light-mood body.lc-vous-page .lc-public-link.is-cta:active {
    background: transparent !important;
    background-image: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
    color: #161616 !important;
}

html[data-theme="light"] body.lc-vous-page .lc-public-link.is-cta .lc-cta-label,
html.rts-light-mood body.lc-vous-page .lc-public-link.is-cta .lc-cta-label {
    color: #161616 !important;
}
