/* First-visit language selector. Hidden until script opens it — see inc/language-selector.php. */
.leopati-langpick[hidden]{display:none}
/* align-items:center clips the top of a panel taller than the viewport and leaves no way
   back to it. margin:auto centres the same way while the panel fits and yields to
   scrolling when it does not — measured failing at 568x320 before this. */
.leopati-langpick{position:fixed;inset:0;z-index:99990;display:flex;justify-content:center;overflow-y:auto;overscroll-behavior:contain;padding:24px;opacity:0;transition:opacity .45s ease}
.leopati-langpick.is-open{opacity:1}
.leopati-langpick__scrim{position:fixed;inset:0;background:rgba(6,6,12,.62);-webkit-backdrop-filter:blur(14px) saturate(115%);backdrop-filter:blur(14px) saturate(115%)}
/* No blur support: lean on the tint alone so the panel never sits on bare hero. */
@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){.leopati-langpick__scrim{background:rgba(6,6,12,.86)}}
.leopati-langpick__panel{position:relative;margin:auto;width:min(440px,100%);padding:44px 40px 30px;text-align:center;border-radius:20px;
  background:linear-gradient(150deg,rgba(255,255,255,.11),rgba(255,255,255,.045));
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 30px 90px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.16);
  -webkit-backdrop-filter:blur(26px) saturate(140%);backdrop-filter:blur(26px) saturate(140%);
  transform:translateY(14px) scale(.985);transition:transform .5s cubic-bezier(.16,.84,.32,1)}
.leopati-langpick.is-open .leopati-langpick__panel{transform:none}
.leopati-langpick__mark{margin:0 0 22px;font-size:11px;letter-spacing:.42em;text-indent:.42em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.leopati-langpick__title{margin:0 0 26px;font-size:17px;font-weight:400;line-height:1.55;color:#fff}
.leopati-langpick__title span{display:block}
.leopati-langpick__title span+span{font-size:14px;color:rgba(255,255,255,.5);margin-top:4px}
.leopati-langpick__options{display:grid;gap:10px}
.leopati-langpick__option{display:flex;align-items:center;justify-content:space-between;gap:16px;
  min-height:54px;padding:0 20px;border-radius:12px;text-decoration:none;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#fff;
  transition:background .25s ease,border-color .25s ease,transform .25s ease}
.leopati-langpick__option:hover,.leopati-langpick__option:focus-visible{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.32);color:#fff}
.leopati-langpick__option:focus-visible{outline:2px solid #fff;outline-offset:3px}
.leopati-langpick__option:active{transform:scale(.985)}
.leopati-langpick__option-name{font-size:15px;letter-spacing:.02em}
.leopati-langpick__option-code{font-size:11px;letter-spacing:.2em;color:rgba(255,255,255,.45)}
.leopati-langpick__note{margin:22px 0 0;font-size:11.5px;line-height:1.5;color:rgba(255,255,255,.42)}
@media (max-width:480px){.leopati-langpick{padding:18px;padding-bottom:max(18px,env(safe-area-inset-bottom))}
  .leopati-langpick__panel{padding:34px 24px 24px;border-radius:18px}
  .leopati-langpick__title{font-size:16px}}
@media (prefers-reduced-motion:reduce){.leopati-langpick,.leopati-langpick__panel,.leopati-langpick__option{transition:none}
  .leopati-langpick__panel{transform:none}}


/* Persistent header language switch. Sits between the logotype and the menu button and
   inherits the header's own stacking, so it adds no positioning of its own. */
.leopati-langswitch{display:flex;align-items:center;gap:2px;margin-left:auto;margin-right:18px;
  font-size:11px;letter-spacing:.14em;line-height:1;-webkit-font-smoothing:antialiased}
.leopati-langswitch__link{display:inline-flex;align-items:center;justify-content:center;
  min-width:34px;min-height:34px;padding:0 6px;border-radius:6px;text-decoration:none;
  color:rgba(255,255,255,.5);transition:color .25s ease,background .25s ease}
.leopati-langswitch__link:hover,.leopati-langswitch__link:focus-visible{color:#fff;background:rgba(255,255,255,.1)}
.leopati-langswitch__link:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.leopati-langswitch__link.is-current{color:#fff;background:rgba(255,255,255,.14)}
@media (max-width:600px){.leopati-langswitch{margin-right:12px;font-size:10px}
  .leopati-langswitch__link{min-width:30px;padding:0 4px}}
@media (prefers-reduced-motion:reduce){.leopati-langswitch__link{transition:none}}
