/*=========================================================
 A — VARIABLES ET BARRE DE NAVIGATION
 =========================================================*/

:root {
    --tw-navbar_bg: var(--tw-site_bg, #ffffff);
    --tw-navbar_border-color: var(--tw-color_border, #e9ebe7);
    --tw-navbar_height: 76px;
    --tw-navbar_logo-height: 58px;
    --tw-navbar_gap: 28px;
    --tw-navbar_shadow: none;
    --tw-navbar_burger-color: var(--tw-menu-item-hover_color, #592a38);
    --tw-mega-menu_columns: 3;

    --tw-menu-item_color: var(--tw-color_text, #2f302a);
    --tw-menu-item-hover_color: var(--tw-color_accent-on-light, #455538);
    --tw-menu-item-hover_bg: transparent;
    --tw-menu-font-family: var(--tw-font_body, "TWAL Manrope", sans-serif);
    --tw-menu-font-size: 16px;
    --tw-menu-font-weight: 500;
    --tw-menu-letter-spacing: .045em;
    --tw-menu-text-transform: uppercase;

    --tw-submenu_bg: var(--tw-section-even_inner-bg, #fffaf2);
    --tw-submenu_border-color: var(--tw-color_accent-on-light, #455538);
    --tw-submenu_link-color: var(--tw-color_text, #4b3424);
    --tw-submenu_active-color: var(--tw-color_highlight-text, var(--tw-submenu_border-color));
    --tw-submenu_hover-bg: var(--tw-color_highlight-bg, rgba(69, 85, 56, .08));
    --tw-submenu_width: 300px;
    --tw-submenu-font-size-desktop: 16px;
    --tw-submenu-font-size-mobile: 15px;
}

.tw-site-header {
    position: sticky;
    top: 0;
    z-index: 9999;
    background: var(--tw-navbar_bg);
    border-bottom: 1px solid var(--tw-navbar_border-color);
    box-shadow: var(--tw-navbar_shadow);
}

.admin-bar .tw-site-header {
    top: 32px;
}

body.tw-menu-position_static .tw-site-header {
    position: relative;
    top: auto;
}

body.tw-menu-position_sticky .tw-site-header {
    position: sticky;
}

body.tw-menu-border_show .tw-site-header {
    border-bottom: 1px solid var(--tw-navbar_border-color);
}

body.tw-menu-border_hide .tw-site-header {
    border-bottom-color: transparent;
}

body.tw-menu-shadow_none .tw-site-header {
    --tw-navbar_shadow: none;
}

body.tw-menu-shadow_light .tw-site-header {
    --tw-navbar_shadow: 0 8px 22px rgba(0, 0, 0, .10);
}

@media (max-width: 782px) {
    .admin-bar .tw-site-header {
        top: 46px;
    }

    .admin-bar.tw-menu-position_static .tw-site-header {
        top: auto;
    }
}

/*=========================================================
 B — STRUCTURE COMMUNE
 =========================================================*/

.tw-navbar {
    position: relative;
    min-height: var(--tw-navbar_height);
    padding: 0;
}

.tw-navbar_inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: var(--tw-navbar_gap);
    width: calc(100% - var(--tw-section_outer-gap, 2.5rem));
    max-width: var(--tw-section_width, var(--tw-container_width, 1560px));
    min-height: var(--tw-navbar_height);
    margin-inline: auto;
    padding-inline: 0;
}

.tw-navbar_identity {
    display: flex;
    flex: 0 1 auto;
    align-items: center;
    gap: clamp(8px, 1vw, 16px);
    min-width: 0;
}

.tw-navbar_brand {
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
}

.tw-navbar_logo img {
    display: block;
    width: auto;
    max-width: min(42vw, 100%);
    max-height: var(--tw-navbar_logo-height);
    object-fit: contain;
}

.tw-navbar_brand[href],
.tw-navbar_brand-title {
    color: var(--tw-menu-item_color, #4b3424);
    font-family: var(--tw-font_title, Georgia, serif);
    font-size: 22px;
    font-weight: 700;
    line-height: 1.1;
    text-decoration: none;
}

.tw-navbar_brand-title {
    min-width: 0;
    margin: 0;
}

.tw-navbar_brand-title-word {
    display: inline;
}

.tw-navbar_collapse {
    flex: 0 1 auto;
    min-width: 0;
}

body.tw-menu-alignment_start .tw-navbar_collapse {
    margin-left: 0;
}

body.tw-menu-alignment_end .tw-navbar_collapse {
    margin-left: auto;
}

.tw-navbar_toggle {
    display: none;
}

.tw-navbar_menu,
.tw-navbar_menu .sub-menu {
    margin: 0;
    padding: 0;
    list-style: none;
}

.tw-navbar_menu .menu-item {
    margin: 0;
    padding: 0;
    list-style: none;
}

.tw-navbar_menu a,
.tw-navbar_menu button {
    -webkit-tap-highlight-color: transparent;
}

.tw-submenu_toggle {
    color: inherit;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.tw-submenu_toggle .screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

.tw-navbar_toggle:focus-visible,
.tw-submenu_toggle:focus-visible,
.tw-navbar_menu a:focus-visible {
    outline: var(--tw-focus_width, 2px) solid var(--tw-color_focus, currentColor);
    outline-offset: var(--tw-focus_offset, 3px);
}

.tw-submenu_chevron {
    display: block;
    width: 8px;
    height: 8px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    transition: transform .18s ease;
}

.menu-item-has-children.is-submenu-open > .tw-submenu_toggle .tw-submenu_chevron,
.menu-item-has-children > .tw-submenu_toggle[aria-expanded="true"] .tw-submenu_chevron {
    transform: translateY(2px) rotate(225deg);
}


body.tw-menu-font_text .tw-site-header {
    --tw-menu-font-family: var(--tw-font_body, "TWAL Manrope", sans-serif);
}

body.tw-menu-font_title .tw-site-header {
    --tw-menu-font-family: var(--tw-font_title, Georgia, serif);
}

body.tw-menu-size_small .tw-site-header {
    --tw-menu-font-size: 14px;
}

body.tw-menu-size_normal .tw-site-header {
    --tw-menu-font-size: 16px;
}

body.tw-menu-size_large .tw-site-header {
    --tw-menu-font-size: 18px;
}

body.tw-menu-submenu-size_small .tw-site-header {
    --tw-submenu-font-size-desktop: 14px;
    --tw-submenu-font-size-mobile: 14px;
}

body.tw-menu-submenu-size_normal .tw-site-header {
    --tw-submenu-font-size-desktop: 16px;
    --tw-submenu-font-size-mobile: 15px;
}

body.tw-menu-submenu-size_large .tw-site-header {
    --tw-submenu-font-size-desktop: 18px;
    --tw-submenu-font-size-mobile: 17px;
}

body.tw-menu-weight_400 .tw-site-header {
    --tw-menu-font-weight: 400;
}

body.tw-menu-weight_500 .tw-site-header {
    --tw-menu-font-weight: 500;
}

body.tw-menu-weight_600 .tw-site-header {
    --tw-menu-font-weight: 600;
}

body.tw-menu-weight_700 .tw-site-header {
    --tw-menu-font-weight: 700;
}

body.tw-menu-case_normal .tw-site-header {
    --tw-menu-text-transform: none;
}

body.tw-menu-case_lower .tw-site-header {
    --tw-menu-text-transform: lowercase;
}

body.tw-menu-case_upper .tw-site-header {
    --tw-menu-text-transform: uppercase;
}

body.tw-menu-spacing_compact .tw-site-header {
    --tw-navbar_gap: 18px;
}

body.tw-menu-spacing_normal .tw-site-header {
    --tw-navbar_gap: 28px;
}

body.tw-menu-spacing_wide .tw-site-header {
    --tw-navbar_gap: 42px;
}


/*=========================================================
 E — PRIORITÉ DES CHOIX EXPLICITES DU BUILDER
 =========================================================*/

body.tw-menu-background_custom .tw-site-header,
body.tw-menu-background_custom .tw-site-header .tw-navbar_collapse {
    background: var(--tw-navbar_bg);
}

body.tw-menu-link_custom .tw-navbar_menu > .menu-item > a,
body.tw-menu-link_custom .tw-navbar_menu > .menu-item > .tw-submenu_toggle {
    color: var(--tw-menu-item_color);
}

body.tw-menu-active_custom .tw-navbar_toggle,
body.tw-menu-active_custom .tw-navbar_menu > .current-menu-item > a,
body.tw-menu-active_custom .tw-navbar_menu > .current-menu-item > .tw-submenu_toggle,
body.tw-menu-active_custom .tw-navbar_menu > .current-menu-ancestor > a,
body.tw-menu-active_custom .tw-navbar_menu > .current-menu-ancestor > .tw-submenu_toggle,
body.tw-menu-active_custom .tw-navbar_menu > .current-menu-parent > a,
body.tw-menu-active_custom .tw-navbar_menu > .current-menu-parent > .tw-submenu_toggle,
body.tw-menu-active_custom .tw-navbar_menu > .menu-item > a:hover,
body.tw-menu-active_custom .tw-navbar_menu > .menu-item > a:focus-visible,
body.tw-menu-active_custom .tw-navbar_menu > .menu-item > .tw-submenu_toggle:hover,
body.tw-menu-active_custom .tw-navbar_menu > .menu-item > .tw-submenu_toggle:focus-visible,
body.tw-menu-active_custom .tw-navbar_menu > .menu-item.is-submenu-open > a,
body.tw-menu-active_custom .tw-navbar_menu > .menu-item.is-submenu-open > .tw-submenu_toggle {
    color: var(--tw-menu-item-hover_color);
}

body.tw-menu-submenu-background_custom .tw-navbar_menu .sub-menu {
    background: var(--tw-submenu_bg);
}

body.tw-menu-submenu-background_custom .tw-navbar_menu > .tw-mega-menu > .sub-menu > li > .sub-menu {
    background: transparent;
}

body.tw-menu-submenu-link_custom .tw-navbar_menu .sub-menu a,
body.tw-menu-submenu-link_custom .tw-navbar_menu .sub-menu .tw-submenu_toggle {
    color: var(--tw-submenu_link-color);
}

body.tw-menu-submenu-active_custom .tw-navbar_menu .sub-menu {
    border-top-color: var(--tw-submenu_active-color);
}

body.tw-menu-submenu-active_custom .tw-navbar_menu .sub-menu .current-menu-item > a,
body.tw-menu-submenu-active_custom .tw-navbar_menu .sub-menu .current-menu-item > .tw-submenu_toggle,
body.tw-menu-submenu-active_custom .tw-navbar_menu .sub-menu .current-menu-ancestor > a,
body.tw-menu-submenu-active_custom .tw-navbar_menu .sub-menu .current-menu-ancestor > .tw-submenu_toggle,
body.tw-menu-submenu-active_custom .tw-navbar_menu .sub-menu a:hover,
body.tw-menu-submenu-active_custom .tw-navbar_menu .sub-menu a:focus-visible,
body.tw-menu-submenu-active_custom .tw-navbar_menu .sub-menu .tw-submenu_toggle:hover,
body.tw-menu-submenu-active_custom .tw-navbar_menu .sub-menu .tw-submenu_toggle:focus-visible,
body.tw-menu-submenu-active_custom .tw-navbar_menu .sub-menu .is-submenu-open > a,
body.tw-menu-submenu-active_custom .tw-navbar_menu .sub-menu .is-submenu-open > .tw-submenu_toggle {
    color: var(--tw-submenu_active-color);
}

@media (prefers-reduced-motion: reduce) {
    .tw-navbar_burger,
    .tw-navbar_burger::before,
    .tw-navbar_burger::after,
    .tw-submenu_chevron,
    .tw-navbar_menu .sub-menu {
        transition-duration: .01ms !important;
    }
}
