/* Keep the original logo and header grid; reserve only the new control's width. */
.navigation--right { padding-right: 56px; }
.mobile-menu__link .nav-label { font-size: inherit; }
.language-selector {
  position: relative;
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
  align-self: start;
  width: 44px;
  margin-top: 30px;
  color: #fff;
  font: inherit;
  font-size: .875rem;
  line-height: 1.5;
}
.language-toggle {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 44px;
  margin-inline: -4px;
  padding: 0 12px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #fff;
  font: inherit;
  font-weight: 600;
  font-synthesis: weight;
  letter-spacing: .035em;
  text-shadow: var(--nav-shadow);
  cursor: pointer;
  transition: background-color 200ms ease, color 200ms ease;
}
/* Keep the navigation's normal text baseline. Centre the frame on the visible
   capitals using the unchanged Nimbus font metrics; retain the 44px target. */
.language-toggle::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: calc(50% - .1785em);
  left: 0;
  right: 0;
  height: 26px;
  box-sizing: border-box;
  transform: translateY(-50%);
  border: 1px solid #fff;
  border-radius: 0;
  background: transparent;
  transition: background-color 200ms ease;
}
#language-current {
  display: block;
  /* Use the same untrimmed line box as Search, Account and Cart. */
  margin-right: -.035em;
}
.language-toggle:hover, .language-toggle[aria-expanded="true"] { color: #000; text-shadow: none; }
.language-toggle:hover::before, .language-toggle[aria-expanded="true"]::before { background: #fff; }
.language-menu {
  position: absolute;
  z-index: 1;
  top: calc(100% + 8px);
  right: 0;
  width: max-content;
  min-width: 180px;
  max-width: calc(100vw - 2 * var(--edge));
  margin: 0;
  padding: 0;
  border: 1px solid #fff;
  border-radius: 0;
  background: #000;
  color: #fff;
}
.language-option {
  display: block;
  width: 100%;
  min-height: 44px;
  padding: 10px 16px;
  color: #fff;
  font: inherit;
  text-align: left;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 200ms ease, color 200ms ease;
}
.language-option[aria-checked="true"] { text-decoration: underline; text-underline-offset: .25em; text-decoration-thickness: 1px; }
.language-option:hover, .language-option:focus-visible { color: #000; background: #fff; outline: none; }
/* Longer translated labels can wrap within the original available space. */
html:not(:lang(en)) .filter-row { flex-wrap: wrap; }
html:not(:lang(en)) .newsletter__form { width: calc(14ch + 4cm + 2px); }
@media (max-width: 760px) {
  .language-selector { margin-top: 25px; font-size: .75rem; }
  .mobile-cart { margin-right: 56px; }
}
@media (min-width: 761px) and (max-width: 820px) {
  /* Keep the original logo slot and adjacent labels in place at tight widths. */
  .brand__mark { width: clamp(106px, calc(25vw - 83.8px), 122px); }
  html:lang(de) .navigation--right { gap: 20px; }
  html:lang(fr) .navigation--right { gap: 12px; }
}
@media (max-width: 360px) {
  .language-toggle { width: 44px; }
  .language-selector { width: 36px; margin-right: -16px; }
  .mobile-cart { margin-right: 28px; }
}
