/* BonVulux language switcher. Selectors start with .bvlw so they beat the theme's button styles.
   Same look in every language: outlined pill, black when open. */
.bvlw{--bvlw-fg:#1e1d24;--bvlw-bg:#ffffff;position:relative;display:inline-block;direction:ltr;text-align:left;text-transform:none;font-family:Roboto,Arial,Helvetica,sans-serif;line-height:1;-webkit-font-smoothing:antialiased;vertical-align:middle}
.bvlw.is-open{--bvlw-fg:#ffffff;--bvlw-bg:#1e1d24}
.bvlw.is-open .bvlw-btn{border-color:#1e1d24 !important}
.bvlw,.bvlw *{box-sizing:border-box;text-transform:none;letter-spacing:normal}

/* button: same look as the site's .bv-lang-btn */
.bvlw .bvlw-btn{direction:ltr;display:flex;align-items:center;gap:.45rem;min-height:40px;margin:0;padding:.45rem .68rem;border:1px solid rgba(30,29,36,.14) !important;border-radius:999px;background:var(--bvlw-bg) !important;color:var(--bvlw-fg) !important;box-shadow:0 2px 8px rgba(30,29,36,.05);font:700 .72rem/1 Roboto,Arial,Helvetica,sans-serif;letter-spacing:.09em;white-space:nowrap;cursor:pointer;transition:border-color .2s,box-shadow .2s,background .2s,color .2s;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}
.bvlw .bvlw-btn:hover{box-shadow:0 4px 14px rgba(30,29,36,.12)}
.bvlw .bvlw-btn:focus{outline:none}
.bvlw .bvlw-btn:focus-visible{outline:3px solid #1e1d24;outline-offset:3px}

/* globe */
.bvlw .bvlw-globe{display:inline-block;position:relative;flex:0 0 16px;width:16px;height:16px;margin:0;border:1.6px solid var(--bvlw-fg);border-radius:50%}
.bvlw .bvlw-globe:before{content:"";position:absolute;left:50%;top:-1.6px;bottom:-1.6px;width:6px;margin-left:-3px;border:1.6px solid var(--bvlw-fg);border-radius:50%;box-sizing:border-box}
.bvlw .bvlw-globe:after{content:"";position:absolute;left:-1.6px;right:-1.6px;top:50%;height:0;border-top:1.6px solid var(--bvlw-fg)}

/* code: same width in every language */
.bvlw .bvlw-code{display:inline-block;min-width:20px;text-align:center}

/* chevron */
.bvlw .bvlw-chev{display:inline-block;flex:0 0 6px;width:6px;height:6px;margin:-3px 0 0;border-right:1.8px solid var(--bvlw-fg);border-bottom:1.8px solid var(--bvlw-fg);transform:rotate(45deg);transition:transform .2s ease}
.bvlw.is-open .bvlw-chev{transform:rotate(-135deg);margin-top:3px}

/* menu */
.bvlw .bvlw-menu{position:absolute;top:calc(100% + 10px);right:0;left:auto;min-width:168px;width:max-content;max-width:calc(100vw - 24px);direction:ltr;padding:8px;margin:0;background:#fff;border-radius:18px;box-shadow:0 18px 44px rgba(30,29,36,.18),0 2px 6px rgba(30,29,36,.06);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s;z-index:9999;text-align:left}
.bvlw.is-open .bvlw-menu{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .2s ease,transform .2s ease,visibility 0s}
/* Arabic (RTL) pages: the switcher sits on the left, so the menu opens to the right */
html[dir="rtl"] .bvlw .bvlw-menu{left:0;right:auto}

.bvlw .bvlw-item{direction:ltr;display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:10px 12px;border-radius:12px;color:#1e1d24;font:500 15px/1.3 Roboto,Arial,Helvetica,sans-serif;text-decoration:none;white-space:nowrap}
.bvlw .bvlw-item:hover{background:#eef4ff}
.bvlw .bvlw-item:focus{outline:none}
.bvlw .bvlw-item:focus-visible{background:#eef4ff;box-shadow:inset 0 0 0 2px #1e1d24}
.bvlw .bvlw-item[aria-current="true"]{background:#eef4ff;font-weight:700}
.bvlw .bvlw-item-ar > span:first-child{font-family:Tahoma,Arial,Helvetica,sans-serif;direction:rtl;unicode-bidi:isolate;text-align:right}
.bvlw .bvlw-check{display:inline-block;position:relative;width:20px;height:20px;margin-left:12px;border-radius:50%;background:#1e1d24;visibility:hidden;flex:0 0 auto}
.bvlw .bvlw-check:after{content:"";position:absolute;left:7px;top:4px;width:4px;height:8px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg)}
.bvlw .bvlw-item[aria-current="true"] .bvlw-check{visibility:visible}

@media (max-width:640px){
  .bvlw .bvlw-btn{min-height:38px;padding:.4rem .6rem}
  .bvlw .bvlw-menu{min-width:160px}
  .bvlw .bvlw-item{font-size:15px;padding:11px 12px}
}
@media (max-width:360px){
  .bvlw .bvlw-btn{min-height:36px;padding:.4rem .5rem;gap:.35rem}
  .bvlw .bvlw-globe{flex-basis:14px;width:14px;height:14px}
}

/* Menu text is always #1e1d24 at full opacity, even when the theme styles span and link colours */
.bvlw .bvlw-menu .bvlw-item,
.bvlw .bvlw-menu .bvlw-item span{color:#1e1d24 !important;opacity:1 !important}
