/* Scoped Bootstrap 3 navigation. No global Bootstrap upgrade or DJ/Vertical assets. */
.syfal-navigation--desktop { clear: both; float: right; position: relative; z-index: 500; }
.syfal-navigation .syfal-menu-list { list-style: none; padding: 0; margin: 0; }
.syfal-navigation .syfal-menu-row { display: flex; align-items: stretch; position: relative; }
.syfal-navigation .syfal-menu-row > a,
.syfal-navigation .syfal-menu-heading { display: flex; align-items: center; flex: 1; min-width: 0; color: inherit; text-decoration: none; text-align: left; }
.syfal-navigation button { font: inherit; cursor: pointer; }
.syfal-navigation .syfal-menu-heading,
.syfal-navigation .syfal-submenu-arrow { background: transparent; border: 0; }
.syfal-navigation .syfal-submenu-arrow { display: flex; align-items: center; justify-content: center; flex: 0 0 32px; padding: 0 10px 0 0; color: inherit; }
.syfal-navigation .syfal-chevron { display: inline-block; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin: -3px 2px 0; flex-shrink: 0; }
.syfal-navigation .syfal-menu-heading .syfal-chevron { margin-left: 12px; }
.syfal-navigation .syfal-submenu { display: none; list-style: none; }
.syfal-navigation li.open > .syfal-submenu { display: block; }
.syfal-navigation button:focus-visible,
.syfal-navigation a:focus-visible { outline: 3px solid var(--vert-titre-color, #386253); outline-offset: 3px; z-index: 1; }
.syfal-navigation--desktop > .syfal-menu-list { display: flex; flex-wrap: wrap; justify-content: flex-end; }
.syfal-navigation--desktop > .syfal-menu-list > li { float: none; margin: 0 5px 0 0; padding: 0; }
.syfal-navigation--desktop > .syfal-menu-list > li > .syfal-menu-row { border: 1px solid var(--vert-titre-color); border-radius: 20px; background: #fff; color: #000; height: 42px; font-size: 16px; transition: background-color .15s; }
.syfal-navigation--desktop > .syfal-menu-list > li > .syfal-menu-row > a,
.syfal-navigation--desktop > .syfal-menu-list > li > .syfal-menu-row > .syfal-menu-heading { padding: 0 15px; line-height: 40px; border-radius: 20px; white-space: nowrap; }
.syfal-navigation--desktop > .syfal-menu-list > li.dropdown > .syfal-menu-row > a { padding-right: 0; }
.syfal-navigation--desktop > .syfal-menu-list > li.open > .syfal-menu-row,
.syfal-navigation--desktop > .syfal-menu-list > li.active > .syfal-menu-row,
.syfal-navigation--desktop > .syfal-menu-list > li > .syfal-menu-row:hover { background: var(--vert-peps-color); }
.syfal-navigation--desktop .syfal-submenu { width: 290px; min-width: 0; padding: 0; margin: 0; border: 0; border-radius: 0 0 6px 6px; background: #f5f5f5; box-shadow: 0 5px 12px #0002; font-size: 16px; }
.syfal-navigation--desktop .syfal-submenu .syfal-menu-row > a,
.syfal-navigation--desktop .syfal-submenu .syfal-menu-heading { padding: 12px 20px; line-height: 24px; white-space: normal; color: #444; }
.syfal-navigation--desktop .syfal-submenu .syfal-menu-row:hover,
.syfal-navigation--desktop .syfal-submenu .active > .syfal-menu-row { background: #e6efeb; }
.syfal-navigation--desktop > .syfal-menu-list > li:last-child > .syfal-submenu { left: auto; right: 5px; }
.syfal-navigation--desktop .syfal-submenu .syfal-submenu { left: 100%; top: 0; }
.syfal-navigation--mobile { display: none; }
.syfal-navigation [hidden] { display: none !important; }
@media (min-width: 992px) and (max-width: 1199px) {
    .syfal-navigation--desktop > .syfal-menu-list > li > .syfal-menu-row > a,
    .syfal-navigation--desktop > .syfal-menu-list > li > .syfal-menu-row > .syfal-menu-heading { padding-left: 12px; padding-right: 12px; }
    .syfal-navigation--desktop > .syfal-menu-list > li.dropdown > .syfal-menu-row > a { padding-right: 0; }
}
@media (max-width: 991px) {
    .syfal-navigation--desktop { display: none; }
    .syfal-navigation--mobile { display: block; }
    .syfal-navigation .syfal-menu-toggle { display: block; position: fixed; top: 0; right: 0; z-index: 1100; float: none; margin: 0; width: 50px; height: 50px; border: 0; border-radius: 0; background: rgba(0,0,0,.5); padding: 10px; }
    .syfal-navigation .syfal-menu-toggle .icon-bar { background: #eee; width: 30px; height: 3px; margin: 5px 0; }
    .syfal-navigation .syfal-menu-panel { position: fixed; inset: 0 0 0 auto; width: 300px; max-width: calc(100vw - 50px); background: #fff; overflow-y: auto; overscroll-behavior: contain; z-index: 11010; box-shadow: -3px 0 18px #0002; }
    .syfal-navigation.is-ready .syfal-menu-panel { display: none; }
    .syfal-navigation.is-ready.is-open .syfal-menu-panel { display: block; }
    .syfal-navigation .syfal-menu-panel-header { display: flex; align-items: center; justify-content: space-between; background: #f6f6f6; padding: 0 15px; min-height: 50px; color: var(--vert-titre-color); font-weight: bold; position: sticky; top: 0; z-index: 2; }
    .syfal-navigation .syfal-menu-close { border: 0; background: transparent; color: inherit; width: 44px; height: 50px; font-size: 32px; }
    .syfal-navigation .syfal-menu-backdrop { position: fixed; inset: 0; width: 100%; height: 100%; background: #0006; border: 0; z-index: 11000; }
    .syfal-navigation--mobile li { position: relative; margin: 0; float: none; }
    .syfal-navigation--mobile .syfal-menu-row { min-height: 46px; border-bottom: 1px solid #eee; color: #6a6a6a; font-size: 15px; }
    .syfal-navigation--mobile .syfal-menu-row > a,
    .syfal-navigation--mobile .syfal-menu-heading { padding: 9px 15px; line-height: 27px; }
    .syfal-navigation--mobile .syfal-menu-heading { justify-content: space-between; width: 100%; }
    .syfal-navigation--mobile .syfal-submenu-arrow { flex-basis: 46px; padding: 0; }
    .syfal-navigation--mobile .syfal-chevron { transform: rotate(-45deg); }
    .syfal-navigation--mobile li.open > .syfal-menu-row .syfal-chevron { transform: rotate(45deg); }
    .syfal-navigation--mobile li.active > .syfal-menu-row,
    .syfal-navigation--mobile .syfal-menu-row:hover,
    .syfal-navigation--mobile li.open > .syfal-menu-row { background: var(--vert-moyen-color); color: #fff; }
    .syfal-navigation--mobile .syfal-submenu { position: static; float: none; width: 100%; padding: 0 0 0 12px; margin: 0; border: 0; border-radius: 0; box-shadow: none; background: #f6f6f6; }
    body.syfal-menu-open { overflow: hidden; }
}
@media (min-width: 992px) {
    .syfal-navigation--desktop:not(.is-ready) li:hover > .syfal-submenu,
    .syfal-navigation--desktop:not(.is-ready) li:focus-within > .syfal-submenu { display: block; }
}
/* Navigation remains available if JavaScript is unavailable. */
.syfal-navigation--mobile:not(.is-ready) .syfal-menu-panel { position: relative; width: 100%; max-width: none; }
.syfal-navigation--mobile:not(.is-ready) .syfal-submenu { display: block; }
.syfal-navigation--mobile:not(.is-ready) .syfal-menu-toggle,
.syfal-navigation--mobile:not(.is-ready) .syfal-menu-close { display: none; }
