/* =============================================================
   ALAPROS · Language rail for the sign-in portals
   The one piece of chrome the four portals share. Same geometry
   as the site's .lang-rail, but tuned for their dark grounds.
   Below 1080px it becomes a floating strip at the bottom.
   ============================================================= */
.portal-lang{
  position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:30;
  display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 7px 9px;
  background:rgba(255,255,255,.07);
  backdrop-filter:blur(18px) saturate(140%);
  border:1px solid rgba(255,255,255,.14);border-left:none;border-radius:0 16px 16px 0;
  box-shadow:0 30px 70px -34px rgba(0,0,0,.9);
}
.portal-lang .cap{
  writing-mode:vertical-rl;transform:rotate(180deg);align-self:center;
  font-family:"JetBrains Mono",ui-monospace,monospace;font-size:8.5px;letter-spacing:.32em;
  text-transform:uppercase;color:#e11d3a;font-weight:600;padding:6px 0 8px;
}
.portal-lang a{
  display:flex;flex-direction:column;align-items:center;gap:2px;width:46px;padding:8px 4px;
  border-radius:11px;text-decoration:none;color:#a7adb5;
  transition:.28s cubic-bezier(.22,.61,.36,1);
}
.portal-lang a img{display:block;width:27px;height:19px;border-radius:3px;object-fit:cover;filter:grayscale(.45);transition:.28s;box-shadow:0 1px 3px rgba(0,0,0,.45)}
.portal-lang a .code{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:9px;font-weight:600;letter-spacing:.06em;line-height:1}
.portal-lang a:hover{background:rgba(255,255,255,.10);color:#f4f2f0;transform:translateX(2px)}
.portal-lang a:hover img{filter:none}
.portal-lang a.active{background:linear-gradient(120deg,#e11d3a,#9e0c24);color:#fff;box-shadow:0 14px 32px -12px rgba(225,29,58,.75)}
.portal-lang a.active img{filter:none;box-shadow:0 0 0 2px rgba(255,255,255,.6)}

/* Keep page content clear of the rail rather than letting it float over the text. */
@media(min-width:1081px){ body{padding-left:70px} }

@media(max-width:1080px){
  .portal-lang{
    top:auto;bottom:14px;left:50%;transform:translateX(-50%);
    flex-direction:row;flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 28px);
    border-left:1px solid rgba(255,255,255,.14);border-radius:14px;padding:8px;
  }
  .portal-lang .cap{display:none}
  .portal-lang a:hover{transform:none}
  body{padding-bottom:84px}
}
@media(prefers-reduced-motion:reduce){.portal-lang *,.portal-lang{transition-duration:.1ms!important}}
