/* F42: the language choice of the public pages (homepage, walk-around, live demo, /side/ pages) and the visit pages: every active language, each name in its
   own language, the current one checked. Computer: the page's language link opens a small glass popover under it. Phone: a
   sheet from the bottom (grabber, drag down or tap outside to close). Without script the panel opens through #nvl-menu (:target).
   Colours are tokens: the defaults are the homepage's night; a page sets its own (noviera-home.css, noviera-live-demo.css). */
.nvl{--nvl-font:var(--text);--nvl-pop:rgba(17,26,46,.86);--nvl-sheet:rgba(17,26,46,.9);--nvl-ring:var(--palette-263247,#263247);--nvl-shadow:rgba(0,0,0,.55);
  --nvl-ink:var(--palette-cbd5e1,#CBD5E1);--nvl-ink-strong:var(--palette-f1f5f9,#F1F5F9);--nvl-row-ink:var(--palette-e2e8f0,#E2E8F0);--nvl-hover:rgba(255,255,255,.06);--nvl-press:rgba(255,255,255,.1);
  --nvl-check:var(--palette-22c55e,#22C55E);--nvl-focus:var(--palette-22c55e,#22C55E);--nvl-group:var(--palette-16213a,#16213A);--nvl-sep:var(--palette-263247,#263247);
  --nvl-grab:var(--palette-475569,#475569);--nvl-title:var(--palette-94a3b8,#94A3B8);--nvl-close:var(--palette-86efac,#86EFAC);--nvl-scrim:rgba(5,9,18,.62);
  position:relative;display:inline-flex}
.nvl .nvl__btn{display:inline-flex;align-items:baseline;gap:7px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.nvl__globe{align-self:center;width:1.05em;height:1.05em;fill:none;stroke:currentColor;stroke-width:1.3;flex:none}
.nvl__chev{align-self:center;width:.62em;height:.4em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.75;flex:none;transition:transform .2s ease}
.nvl.is-open .nvl__chev{transform:rotate(180deg)}
.nvl__panel{display:none;position:absolute;z-index:60;top:calc(100% + 14px);inset-inline-end:-10px;min-width:232px;padding:6px;box-sizing:border-box;border-radius:18px;background:var(--nvl-pop);-webkit-backdrop-filter:blur(24px) saturate(1.6);backdrop-filter:blur(24px) saturate(1.6);box-shadow:0 0 0 1px var(--nvl-ring),0 24px 64px var(--nvl-shadow);transform-origin:top right;font-family:var(--nvl-font)}
[dir="rtl"] .nvl__panel{transform-origin:top left}
.nvl.is-open .nvl__panel,.nvl__panel:target{display:block;animation:nvl-pop .18s cubic-bezier(.2,.8,.2,1)}
@keyframes nvl-pop{from{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:none}}
.nvl__grab,.nvl__head,.nvl__scrim{display:none}
.nvl__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:calc(100vh - 140px);overflow-y:auto;overscroll-behavior:contain}
/* all-active-languages: every active language is listed (11 today), so the list scrolls inside the popover or sheet when it is taller than the screen */
.nvl .nvl__list a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;padding:0;padding-inline:14px 12px;border-radius:12px;background:none;box-shadow:none;font-family:var(--nvl-font);font-size:16px;line-height:1.5;font-weight:600;color:var(--nvl-ink);text-decoration:none;-webkit-tap-highlight-color:transparent}
.nvl .nvl__list a:hover{background:var(--nvl-hover);color:var(--nvl-ink-strong)}
.nvl .nvl__list a:active{background:var(--nvl-press)}
.nvl .nvl__list a:focus-visible{outline:2px solid var(--nvl-focus);outline-offset:-2px}
.nvl .nvl__list a[aria-current]{color:var(--nvl-ink-strong)}
.nvl__check{width:16px;height:16px;fill:none;stroke:var(--nvl-check);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none;visibility:hidden}
.nvl__list a[aria-current] .nvl__check{visibility:visible}
@media (max-width:640px){
  .nvl{position:static}
  .nvl__panel{position:fixed;z-index:61;inset-inline:8px;top:auto;bottom:calc(8px + env(safe-area-inset-bottom));min-width:0;padding:0 8px 8px;border-radius:30px;background:var(--nvl-sheet);box-shadow:0 0 0 1px var(--nvl-ring),0 -12px 60px rgba(0,0,0,.5);transform-origin:50% 100%;touch-action:none}
  [dir="rtl"] .nvl__panel{transform-origin:50% 100%}
  .nvl.is-open .nvl__panel,.nvl__panel:target{animation:nvl-up .46s cubic-bezier(.32,.72,0,1)}
  .nvl__grab{display:block;width:36px;height:5px;border-radius:3px;background:var(--nvl-grab);margin:7px auto 0}
  .nvl__head{display:flex;align-items:center;justify-content:center;position:relative;min-height:48px}
  .nvl__head b{font-size:15px;font-weight:600;color:var(--nvl-title)}
  .nvl .nvl__close{display:inline-flex;align-items:center;position:absolute;inset-inline-end:6px;top:0;min-height:48px;padding:0 10px;background:none;box-shadow:none;font-family:var(--nvl-font);font-size:17px;font-weight:600;color:var(--nvl-close);text-decoration:none}
  .nvl__list{gap:0;border-radius:20px;overflow:hidden auto;max-height:calc(100dvh - 96px - env(safe-area-inset-top) - env(safe-area-inset-bottom));touch-action:pan-y;background:var(--nvl-group)}
  .nvl__list li+li{border-top:1px solid var(--nvl-sep)}
  .nvl .nvl__list a{min-height:56px;padding-inline:18px 16px;border-radius:0;font-size:19px;color:var(--nvl-row-ink)}
  .nvl__check{width:20px;height:20px}
  .nvl__scrim{display:block;position:fixed;inset:0;z-index:60;background:var(--nvl-scrim);opacity:0;pointer-events:none;transition:opacity .3s ease}
  .nvl.is-open .nvl__scrim,.nvl:has(.nvl__panel:target) .nvl__scrim{opacity:1;pointer-events:auto}
}
@keyframes nvl-up{from{transform:translateY(105%)}to{transform:none}}
html.nvl-lock,html.nvl-lock body{overflow:hidden}
@media (prefers-reduced-motion:reduce){.nvl.is-open .nvl__panel,.nvl__panel:target{animation:none}.nvl__chev,.nvl__scrim{transition:none}}
