ros1-language-picker { display: inline-block; position: relative; line-height: 1; }
header nav ros1-language-picker { margin-inline-start: auto; }
ros1-language-picker .language-trigger {
  display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 12px;
  border: 1px solid #c9d9ea; border-radius: 999px; background: #fff; color: #122c5a;
  font: 700 13px Montserrat,sans-serif; cursor: pointer;
}
ros1-language-picker .language-options {
  position: absolute; inset-inline-end: 0; top: calc(100% + 8px); z-index: 30;
  min-width: 170px; max-height: min(65vh,480px); overflow-y: auto; overscroll-behavior: contain;
  padding: 6px; border: 1px solid #c9d9ea; border-radius: 14px; background: #fff;
  box-shadow: 0 12px 32px rgba(11,30,66,.25); display: flex; flex-direction: column; gap: 2px;
}
ros1-language-picker .language-options[hidden] { display: none; }
ros1-language-picker .language-options button {
  text-align: start; min-height: 44px; padding: 0 14px; border: 0; border-radius: 10px;
  font: 500 14px 'Noto Sans',system-ui,sans-serif; background: transparent; color: #122c5a; cursor: pointer;
}
ros1-language-picker .language-options button:hover { background: #eff6f7; }
ros1-language-picker .language-options button[aria-pressed=true] { background: #e3f4f3; font-weight: 700; }
ros1-language-picker button:focus-visible, .map-layer-tab:focus-visible { outline: 2px solid #1ab5b0; outline-offset: 2px; }
.map-layer-tab {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px; padding: 0 14px; border-radius: 999px; cursor: pointer;
  font: 600 14px 'Noto Sans',system-ui,sans-serif;
  border: 1px solid color-mix(in srgb,var(--layer-colour) 45%,transparent);
  color: #d6e0f0; background: rgba(18,44,90,.6);
}
.map-layer-tab[aria-pressed=true] { background: var(--layer-colour); border-color: var(--layer-colour); color: #0b1e42; }
.map-layer-tab:hover { border-color: var(--layer-colour); }
.map-layer-tab svg { width: 16px; height: 16px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
