.vsl-switcher{position:fixed;top:calc(10px + env(safe-area-inset-top, 0px));right:calc(12px + env(safe-area-inset-right, 0px));z-index:9998;font-family:Arial,Helvetica,sans-serif;font-size:13px;text-align:left;line-height:1.2}
body.admin-bar .vsl-switcher{top:calc(44px + env(safe-area-inset-top, 0px))}
.vsl-switcher button{appearance:none;-webkit-appearance:none;font-family:inherit;font-size:13px;line-height:1.3;letter-spacing:.01em;box-sizing:border-box;cursor:pointer;color:#173453;background:#f5eada;border:1px solid rgba(23,52,83,.28);border-radius:7px;min-height:36px;padding:8px 11px;box-shadow:0 2px 10px rgba(0,0,0,.09)}
.vsl-switcher button:focus-visible{outline:3px solid #446ba6;outline-offset:2px}
.vsl-switcher .vsl-toggle{font-weight:700;min-width:120px;min-height:42px;font-size:14px}
.vsl-switcher .vsl-options{position:absolute;right:0;top:calc(100% + 5px);min-width:180px;max-width:calc(100vw - 24px);padding:4px;border-radius:8px;background:#f5eada;box-shadow:0 8px 24px rgba(0,0,0,.18);border:1px solid rgba(23,52,83,.15)}
.vsl-switcher .vsl-options[hidden]{display:none!important}
.vsl-switcher .vsl-option{display:block;width:100%;height:auto;min-height:33px;margin:0;border:none;box-shadow:none;text-align:left;background:transparent;font-weight:400}
.vsl-switcher .vsl-option:hover,.vsl-switcher .vsl-option[aria-current="true"]{background:rgba(23,52,83,.1)}
@media(min-width:783px){body.admin-bar .vsl-switcher{top:calc(42px + env(safe-area-inset-top, 0px))}}

/* Dedicated guest QR landing: the same switcher, with a more visible control. */
.vsl-switcher.vsl-qr-home .vsl-toggle{min-width:128px;background:#fff;border-color:rgba(23,52,83,.36);box-shadow:0 3px 14px rgba(0,0,0,.16)}

/* Inline placement only on the public homepage and the QR entry pages.
   On inner pages no language selector is mounted. */
.vsl-switcher.vsl-inline{
  position:relative!important;
  top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;
  display:block;width:max-content;max-width:calc(100% - 24px);
  margin:26px auto 0!important;
  padding:0!important;
  flex:0 0 auto;
  align-self:center!important;
  z-index:9998;
}
.vsl-switcher.vsl-inline .vsl-toggle{min-width:128px}
.vsl-switcher.vsl-inline .vsl-options{
  right:auto;left:50%;transform:translateX(-50%);
  max-width:min(270px, calc(100vw - 24px));
}
/* QR Elementor button stack already has a 40px row gap. Adjust that final
   gap to approximately 28px without changing spacing between the buttons. */
.uniform-btn-grid > .e-con-inner > .vsl-qr-inline{margin-top:-12px!important}

/* v0.1.7: A localized label above the selector on the five entry pages only.
   Small typography preserves the mobile layout, including the main home footer. */
.vsl-switcher .vsl-language-prompt{display:none}
.vsl-switcher.vsl-inline{text-align:center}
.vsl-switcher.vsl-inline .vsl-language-prompt{
  display:block;
  margin:0 0 7px;
  color:#222872;
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  font-weight:600;
  line-height:1.35;
  letter-spacing:.01em;
  white-space:normal;
}


/* v0.1.9: keep the currently selected language visible after touch/focus,
   even when Elementor or the theme defines white focus text globally. */
.vsl-switcher .vsl-toggle,
.vsl-switcher .vsl-toggle:hover,
.vsl-switcher .vsl-toggle:focus,
.vsl-switcher .vsl-toggle:active,
.vsl-switcher .vsl-toggle:focus-visible{
  color:#173453!important;
  -webkit-text-fill-color:#173453!important;
}

/* The open menu is portaled to the body while visible: it cannot be
   clipped or intercepted by Elementor containers, overlays or footers. */
.vsl-floating-options{
  position:fixed!important;
  display:block;
  z-index:2147483000!important;
  box-sizing:border-box;
  padding:4px;
  border:1px solid rgba(23,52,83,.15);
  border-radius:8px;
  background:#f5eada;
  box-shadow:0 8px 24px rgba(0,0,0,.22);
  transform:none!important;
  overflow-y:auto;
  overscroll-behavior:contain;
  font-family:Arial,Helvetica,sans-serif;
}
.vsl-floating-options[hidden]{display:none!important}
.vsl-floating-options .vsl-option{
  display:block;
  box-sizing:border-box;
  width:100%;
  min-height:35px;
  height:auto;
  margin:0;
  padding:8px 11px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:#173453!important;
  -webkit-text-fill-color:#173453!important;
  font:400 13px/1.3 Arial,Helvetica,sans-serif;
  letter-spacing:.01em;
  text-align:left;
  cursor:pointer;
  box-shadow:none;
  appearance:none;
  -webkit-appearance:none;
}
.vsl-floating-options .vsl-option:hover,
.vsl-floating-options .vsl-option:focus,
.vsl-floating-options .vsl-option[aria-current="true"]{
  background:rgba(23,52,83,.1);
  color:#173453!important;
  -webkit-text-fill-color:#173453!important;
}
.vsl-floating-options .vsl-option:focus-visible{
  outline:2px solid #446ba6;
  outline-offset:-2px;
}


/* v0.1.11 — minimalist language selector (five entry pages only).
   The site's Elementor font and navy color are inherited; the transparent
   control shows exactly the same background as the outlined access buttons. */
.vsl-switcher .vsl-toggle,
.vsl-switcher .vsl-toggle:hover,
.vsl-switcher .vsl-toggle:focus,
.vsl-switcher .vsl-toggle:active,
.vsl-switcher .vsl-toggle:focus-visible{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:9px;
  box-sizing:border-box;
  width:114px!important;
  min-width:114px!important;
  height:44px;
  min-height:44px;
  margin-inline:auto;
  padding:7px 10px!important;
  background:transparent!important;
  border:0!important;
  border-radius:8px;
  box-shadow:none!important;
  color:var(--e-global-color-c969fe8, #222872)!important;
  -webkit-text-fill-color:var(--e-global-color-c969fe8, #222872)!important;
  font-family:var(--e-global-typography-accent-font-family, inherit)!important;
  font-size:16px;
  font-weight:500;
  line-height:1.2;
}
.vsl-switcher .vsl-toggle:focus-visible{
  outline:2px solid currentColor;
  outline-offset:2px;
}
.vsl-switcher .vsl-globe{
  display:block;
  flex:0 0 22px;
  width:22px;
  height:22px;
  color:inherit;
}
.vsl-switcher .vsl-current-language{
  display:block;
  min-width:21px;
  text-align:center;
  color:inherit;
}
.vsl-switcher .vsl-chevron{
  display:block;
  flex:0 0 8px;
  width:8px;
  height:8px;
  border-right:1.8px solid currentColor;
  border-bottom:1.8px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
}
.vsl-switcher.vsl-inline .vsl-language-prompt{
  color:var(--e-global-color-c969fe8, #222872);
  font-family:var(--e-global-typography-text-font-family, inherit);
}
