/* Bridge-One-Seven: header language switcher — a button with the current language that opens the list of all
   languages on click (src/lib/tilda.ts builds it, /tilda/site.js opens and closes it). Positioned absolutely so the
   header keeps Tilda's height. */
.bos-lang { position: relative; }
.bos-lang__btn {
  display: inline-flex; align-items: center; gap: 6px; margin: 0; padding: 4px 0; border: 0; background: none;
  color: #fff; font: inherit; font-family: 'Roboto', Arial, sans-serif; font-size: 14px; font-weight: 600;
  text-transform: uppercase; cursor: pointer; line-height: 1.2;
}
.bos-lang__arrow {
  width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent;
  border-top: 5px solid currentColor; transition: transform .2s;
}
.bos-lang.is-open .bos-lang__arrow { transform: rotate(180deg); }
/* mouse: the list also opens on hover; ::before bridges the gap between the button and the list */
@media (hover: hover) and (min-width: 981px) {
  .bos-lang:hover .bos-lang__list { display: block; }
  .bos-lang:hover .bos-lang__arrow { transform: rotate(180deg); }
  .bos-lang:hover .bos-lang__btn { color: #4bacdd !important; }
  .bos-lang__list::before { content: ''; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
}
.bos-lang__list {
  display: none; position: absolute; top: calc(100% + 12px); left: 50%; transform: translateX(-50%); z-index: 1000;
  min-width: 72px; padding: 6px 0; background: #242130; border-radius: 4px; box-shadow: 0 6px 20px rgba(0,0,0,.35);
  text-align: center; white-space: nowrap;
}
.bos-lang.is-open .bos-lang__list { display: block; }
.bos-lang__list a {
  display: block; padding: 8px 14px; color: #fff !important; font-family: 'Roboto', Arial, sans-serif;
  font-size: 14px; font-weight: 600; text-transform: uppercase; text-decoration: none; opacity: .8;
}
.bos-lang__list a { transition: color .15s, background-color .15s; }
.bos-lang__list a:hover, .bos-lang__list a:focus-visible, .bos-lang__list a:active {
  opacity: 1; color: #4bacdd !important; background: rgba(75,172,221,.12);
}
.bos-lang__list a.bos-lang__cur { opacity: 1; color: #4bacdd !important; }
/* mobile menu of the Tilda header: the list opens in place, under the button */
@media screen and (max-width: 980px) {
  .bos-lang__list { position: static; transform: none; box-shadow: none; background: none; padding: 4px 0 0; min-width: 0; text-align: inherit; }
  .bos-lang__list a { padding: 6px 0; }
}
