/* ===== Language switch FR / EN ===== */
.apo-lang { list-style: none; }
.apo-lang > span { display: inline-flex; align-items: center; gap: 2px; padding: 0 6px; }
.apo-lang a.apo-lang-b { display: inline-block !important; padding: 4px 5px !important; margin: 0 !important; font: 500 11px/1 'Jost', system-ui, sans-serif !important; letter-spacing: .22em !important; text-transform: uppercase !important; text-decoration: none !important; color: inherit !important; opacity: .55; border-bottom: 1px solid transparent; transition: opacity .3s, border-color .3s; }
.apo-lang a.apo-lang-b:hover { opacity: 1; }
.apo-lang a.apo-lang-b.is-on { opacity: 1; border-bottom-color: #b39358; }
.apo-lang i { font-style: normal; opacity: .35; font-size: 11px; }
#slide-out-widget-area .apo-lang, .off-canvas-menu-container .apo-lang { margin-top: 18px; }
#slide-out-widget-area .apo-lang a.apo-lang-b, .off-canvas-menu-container .apo-lang a.apo-lang-b { font-size: 14px !important; }

/* fallback pill when the header cannot take the switch */
.apo-lang-float { position: fixed; left: 18px; bottom: 18px; z-index: 99980; display: flex; align-items: center; gap: 2px; padding: 8px 12px; background: rgba(251, 248, 243, .94); border: 1px solid #dccfb2; border-radius: 999px; color: #2f2923; box-shadow: 0 14px 34px -20px rgba(47, 41, 35, .55); }

/* suggestion for visitors whose browser is not in French */
.apo-lang-bar { position: fixed; left: 50%; bottom: 22px; z-index: 99985; transform: translateX(-50%); display: flex; align-items: center; gap: 16px; padding: 12px 14px 12px 22px; max-width: calc(100vw - 28px); background: rgba(251, 248, 243, .97); border: 1px solid #dccfb2; box-shadow: 0 22px 50px -26px rgba(47, 41, 35, .6); color: #2f2923; font: 300 14px/1.4 'Jost', system-ui, sans-serif; }
.apo-lang-bar button { min-height: 40px; padding: 0 18px; border: 1px solid #85692f; background: #85692f; color: #fff; font: 400 11px/1 'Jost', system-ui, sans-serif; letter-spacing: .26em; text-transform: uppercase; cursor: pointer; }
.apo-lang-bar button.x { width: 36px; padding: 0; background: none; color: #2f2923; border-color: transparent; font-size: 22px; letter-spacing: 0; }

/* in the header: small, between the search icon and the 3-bar button */
#header-outer nav ul.buttons > li.apo-lang { display: inline-flex; align-items: center; margin: 0 8px 0 4px; }
#header-outer .apo-lang a.apo-lang-b { padding: 4px 2px !important; letter-spacing: .12em !important; font-size: 10px !important; }
#header-outer .apo-lang i { font-size: 10px; }
/* a little room in the main menu so nothing touches the icons */
@media (min-width: 1000px) {
  #header-outer nav > ul.sf-menu:not(.buttons) > li > a { margin-left: 8px !important; margin-right: 8px !important; letter-spacing: 1.1px !important; }
}
@media (min-width: 1000px) and (max-width: 1279px) {
  #header-outer nav > ul.sf-menu:not(.buttons) > li > a { margin-left: 5px !important; margin-right: 5px !important; letter-spacing: .9px !important; }
}
