/* ════════════════════════════════════════════════
   Savergy · Language switcher + global UX polish
   Shared by all pages (landing + legal)
   ════════════════════════════════════════════════ */

/* ─── Language switcher ─── */
.lang-switch{position:relative;flex-shrink:0}
.lang-btn{
  display:inline-flex;align-items:center;gap:7px;cursor:pointer;
  padding:8px 11px;border:1px solid var(--border2,rgba(255,255,255,.12));border-radius:980px;
  background:transparent;color:var(--dim,rgba(255,255,255,.62));
  font-family:'Inter',sans-serif;font-size:12.5px;font-weight:500;
  letter-spacing:.3px;line-height:1;transition:border-color .2s,color .2s,background .2s;
}
.lang-btn:hover{border-color:var(--teal,#00D4AA);color:var(--teal,#00D4AA)}
.lang-btn svg{display:block;flex-shrink:0}
.lang-btn .lg-globe{width:16px;height:16px;stroke:currentColor;fill:none}
.lang-btn .lg-code{text-transform:uppercase;letter-spacing:1px}
.lang-btn .lg-caret{width:9px;height:9px;stroke:currentColor;fill:none;opacity:.7;transition:transform .25s}
.lang-switch.open .lg-caret{transform:rotate(180deg)}

.lang-menu{
  position:absolute;top:calc(100% + 10px);right:0;z-index:400;min-width:190px;
  background:rgba(20,20,22,.9);backdrop-filter:blur(24px);
  border:1px solid var(--border2,rgba(255,255,255,.12));border-radius:14px;
  padding:7px;list-style:none;margin:0;
  box-shadow:0 22px 60px rgba(0,0,0,.55);
  opacity:0;transform:translateY(-8px) scale(.98);transform-origin:top right;
  pointer-events:none;transition:opacity .2s,transform .2s;
}
.lang-switch.open .lang-menu{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.lang-menu li{margin:0}
.lang-opt{
  display:flex;align-items:center;gap:11px;width:100%;cursor:pointer;
  padding:10px 12px;border:none;border-radius:7px;background:transparent;
  color:var(--dim,rgba(255,255,255,.62));font-family:'Inter',sans-serif;font-size:13.5px;
  font-weight:400;text-align:left;transition:background .15s,color .15s;
}
.lang-opt:hover{background:var(--s2,#1C1C1E);color:var(--white,#FFFFFF)}
.lang-opt .lo-flag{font-size:17px;line-height:1;flex-shrink:0;filter:saturate(1.1)}
.lang-opt .lo-name{flex:1;line-height:1.2}
.lang-opt .lo-sub{display:block;font-family:'JetBrains Mono',monospace;font-size:8.5px;letter-spacing:1px;text-transform:uppercase;color:var(--muted,rgba(255,255,255,.42));margin-top:2px}
.lang-opt[aria-current="true"]{color:var(--white,#EDF1F7)}
.lang-opt[aria-current="true"] .lo-check{color:var(--teal,#00D4AA)}
.lang-opt .lo-check{width:15px;height:15px;flex-shrink:0;stroke:currentColor;fill:none;opacity:0;transition:opacity .15s}
.lang-opt[aria-current="true"] .lo-check{opacity:1}

/* ─── Scroll progress bar ─── */
.scroll-prog{
  position:fixed;top:0;left:0;height:2px;width:0;z-index:500;
  background:linear-gradient(90deg,var(--teal,#00D4AA),#3B82F6);
  box-shadow:0 0 12px rgba(0,212,170,.5);transition:width .08s linear;pointer-events:none;
}

/* ─── Active nav link (scrollspy) ─── */
.nv-links a.active{color:var(--teal,#00D4AA)}
.nv-links a{position:relative}
.nv-links a.active::after{
  content:'';position:absolute;left:0;right:0;bottom:-7px;height:1.5px;
  background:var(--teal,#00D4AA);border-radius:2px;
}

/* ─── Accessibility: focus-visible rings ─── */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,
.lang-opt:focus-visible,.lang-btn:focus-visible{
  outline:2px solid var(--teal,#00D4AA);outline-offset:3px;border-radius:6px;
}
:focus:not(:focus-visible){outline:none}

/* ─── Language transition (subtle fade when text swaps) ─── */
html.lang-swapping body{opacity:.55;transition:opacity .12s ease}
body{transition:opacity .2s ease}

/* ─── Mobile: keep the switcher compact ─── */
@media(max-width:640px){
  .lang-btn .lg-code{display:none}
  .lang-btn{padding:8px 9px}
  .lang-menu{min-width:170px}
}
