.language-switcher { position: relative; justify-self: end; margin-left: auto; font-family: inherit; font-size: .7rem; color: #f0efea; }
.language-switcher summary { min-width: 76px; min-height: 40px; display: flex; align-items: center; justify-content: center; gap: .4rem; padding: .55rem .75rem; border: 1px solid rgba(240, 239, 234, .3); border-radius: 999px; cursor: pointer; list-style: none; }
.language-switcher summary::-webkit-details-marker { display: none; }
.language-switcher nav { position: absolute; z-index: 50; top: calc(100% + .55rem); right: 0; min-width: 116px; padding: .45rem; border: 1px solid rgba(240, 239, 234, .18); border-radius: 14px; background: #111; box-shadow: 0 18px 40px rgba(0, 0, 0, .35); }
.language-switcher nav a { display: flex; align-items: center; gap: .55rem; padding: .58rem .7rem; border-radius: 9px; color: rgba(240, 239, 234, .76); text-decoration: none; }
.language-switcher nav a:hover, .language-switcher nav a[aria-current="page"] { color: #fff; background: rgba(255, 72, 35, .16); }
.language-switcher .language-flag { width: 24px; height: 16px; flex: 0 0 24px; display: block; border-radius: 2px; box-shadow: 0 0 0 1px rgba(255, 255, 255, .18); }
.site-header__nav { gap: .7rem; }
.site-header__cta { margin-left: 0; }
@media (min-width: 992px) { .language-switcher { order: 3; margin-left: .75rem; } .site-header__links { flex-wrap: wrap; } .site-header__menu { min-width: 0; } }
@media (min-width: 901px) and (max-width: 1100px) { .language-switcher { font-size: .64rem; } .language-switcher summary { min-width: 68px; padding-inline: .55rem; } }
@media (min-width: 1101px) and (max-width: 1179px) { html[lang="de"] .language-switcher { font-size: .64rem; } html[lang="de"] .language-switcher summary { min-width: 68px; padding-inline: .55rem; } }
@media (max-width: 900px) { .language-switcher { z-index: 22; } }
@media (max-width: 760px) { .language-switcher summary { min-width: 64px; min-height: 38px; padding-inline: .6rem; } }
@media (max-width: 575px) { .site-header__nav { gap: .4rem; } .site-header__brand img { max-width: 90px; height: auto; } .site-header__cta { padding-inline: .65rem; font-size: .8rem; } }

@media (max-width: 991.98px) {
  .site-header__brand { flex: 0 0 32px; }
  .site-header__brand img { width: 32px; height: 32px; }
  .site-header__cta { flex-shrink: 0; white-space: nowrap; }
  .site-header__nav > .language-switcher { order: 2; flex-shrink: 0; margin-left: 0; }
  .site-header__toggle { flex-shrink: 0; }
}
