/* Shared generated language control. Ordinary links and native disclosure work
   without scripting; rules are scoped to avoid changing unmigrated headers. */
.language-picker {
  position: relative;
  flex: 0 1 auto;
  min-inline-size: 0;
  max-inline-size: 100%;
  color: var(--ink, #203d46);
  font: .875rem/1.4 var(--sans, sans-serif);
}
.language-picker__trigger,
.language-picker__single {
  display: flex;
  align-items: center;
  gap: .45rem;
  min-block-size: 44px;
  min-inline-size: 44px;
  padding: .45rem .5rem;
  box-sizing: border-box;
}
.language-picker__trigger { cursor: pointer; list-style: none; }
.language-picker__trigger::-webkit-details-marker { display: none; }
.language-picker__name { min-inline-size: 0; overflow-wrap: anywhere; }
.language-picker__globe {
  flex: 0 0 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
}
.language-picker__chevron { flex: none; }
.language-picker__disclosure[open] .language-picker__chevron { transform: rotate(180deg); }
.language-picker__trigger:hover { color: var(--teal, #286761); }
.language-picker__list {
  position: absolute;
  z-index: 20;
  inset-inline-end: 0;
  inset-block-start: calc(100% + .35rem);
  inline-size: min(17rem, calc(100vw - 2rem));
  max-block-size: min(26rem, 60vh);
  max-block-size: min(26rem, 60dvh);
  overflow-y: auto;
  overscroll-behavior: contain;
  box-sizing: border-box;
  margin: 0;
  padding: .35rem;
  list-style: none;
  border: 1px solid var(--line, #cdd5cb);
  border-radius: .45rem;
  background: var(--white, #fffef9);
  box-shadow: 0 8px 24px #203d461c;
}
.language-picker__list li { margin: 0; padding: 0; }
.language-picker .language-picker__list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  min-block-size: 44px;
  padding: .5rem .7rem;
  box-sizing: border-box;
  color: inherit;
  text-decoration: none;
  overflow-wrap: anywhere;
  border-radius: .2rem;
}
.language-picker .language-picker__list a:hover,
.language-picker .language-picker__list a[aria-current="page"] { background: var(--wash, #e8eee7); }
.language-picker .language-picker__list a[aria-current="page"] { font-weight: 600; }
.language-picker__trigger:focus-visible,
.language-picker .language-picker__list a:focus-visible {
  outline: 2px solid var(--teal, #286761);
  outline-offset: -2px;
}
/* Homepage integration retains its existing Explore disclosure. */
.home-page .header-inner { flex-wrap: wrap; gap: .4rem 1.25rem; }
.home-page .header-inner > .primary-nav { flex: 1 1 26rem; justify-content: center; }
.home-page .header-inner > .language-picker { position: static; margin-inline-start: auto; }
@media (max-width: 760px) and (min-width: 700px) {
  .home-page .header-inner > .primary-nav { order: 3; flex-basis: 100%; }
}
@media (max-width: 699px) {
  .home-page .header-inner { gap: .2rem .5rem; }
  .home-page .header-inner > .mobile-menu { margin-inline-start: auto; }
  .home-page .header-inner > .language-picker { margin-inline-start: 0; max-inline-size: min(12rem, 100%); }
}
/* Opt-in wrapper integration: keep primary navigation visible and wrap it below
   the brand/control on phones. Anchor the panel to the full header so a wrapped
   or short trigger cannot push the wider panel beyond the viewport. */
.site-header .language-header,
.delivery-routes .language-header {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem 1rem;
}
.language-header > .primary-nav,
.delivery-routes .language-header > nav:not(.language-picker) {
  flex: 1 1 28rem;
  min-inline-size: 0;
  justify-content: center;
}
.language-header > .language-picker {
  position: static;
  display: block;
  margin-inline-start: auto;
  max-inline-size: min(14rem, 100%);
}
.language-header > .brand,
.language-header > .dr-brand { min-inline-size: 0; overflow-wrap: anywhere; }
@media (max-width: 700px) {
  .language-header > .primary-nav,
  .delivery-routes .language-header > nav:not(.language-picker) {
    order: 2;
    flex-basis: 100%;
    inline-size: 100%;
    justify-content: flex-start;
  }
}
@media print {
  .language-picker,
  .language-header > .language-picker { display: none; }
}
