/* Language switcher — every rule is scoped to .ss-lang (plus Google Translate's own UI). */
.ss-lang {
  position: relative;
  display: inline-block;
  flex: 0 0 auto;
  --ss-lang-bg: var(--ss-paper, #fffdf8);
  --ss-lang-text: var(--ss-ink, #1c1814);
  --ss-lang-hover: #f3eee4;
  --ss-lang-active: #f6e3da;
  --ss-lang-border: var(--ss-line, #ddd2c2);
  --ss-lang-accent: var(--ss-accent, #b5441f);
}

/* Header: last on desktop; on mobile sits next to the Menu button. */
.ss-top__bar > .ss-lang { order: 1; }

.ss-lang .ss-lang__flag {
  display: block;
  flex: 0 0 auto;
  width: 20px;
  height: 15px;
  border-radius: 2px;
  object-fit: cover;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15);
}
.ss-lang .ss-lang__flag[hidden] { display: none; }

.ss-lang__toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 6px 12px;
  border: 1px solid #5a524a;
  border-radius: 999px;
  background: transparent;
  color: inherit;
  font-size: 0.85rem;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  cursor: pointer;
  transition: border-color 0.2s, color 0.2s;
}
.ss-lang__toggle:hover,
.ss-lang.is-open .ss-lang__toggle { border-color: var(--ss-lang-accent); }
.ss-lang__toggle:focus-visible {
  outline: 2px solid var(--ss-lang-accent);
  outline-offset: 2px;
}
.ss-lang__code { display: none; }
.ss-lang__caret {
  width: 6px;
  height: 6px;
  margin: 0 2px 3px 0;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.2s, margin 0.2s;
}
.ss-lang.is-open .ss-lang__caret {
  margin: 3px 2px 0 0;
  transform: rotate(-135deg);
}

.ss-lang__list {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 100;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2px;
  width: 340px;
  max-height: min(75vh, 520px);
  margin: 0;
  padding: 6px;
  overflow-y: auto;
  list-style: none;
  background: var(--ss-lang-bg);
  border: 1px solid var(--ss-lang-border);
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(28, 24, 20, 0.22);
}
.ss-lang__list[hidden] { display: none; }

.ss-lang__option {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 8px 10px;
  border-radius: 6px;
  color: var(--ss-lang-text);
  font-size: 0.85rem;
  line-height: 1.2;
  white-space: nowrap;
  cursor: pointer;
}
.ss-lang__option:hover,
.ss-lang__option:focus {
  background: var(--ss-lang-hover);
  outline: none;
}
.ss-lang__option[aria-selected="true"] {
  background: var(--ss-lang-active);
  color: var(--ss-lang-accent);
  font-weight: 700;
}
.ss-lang__option .ss-lang__name {
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Mobile: compact pill so brand + switcher + Menu stay on one row. */
@media (max-width: 820px) {
  .ss-top__bar > .ss-lang { order: 0; margin: 0 -10px 0 auto; }
  .ss-top__bar > .ss-lang + .ss-menu-btn { margin-left: 0; }
  .ss-lang__toggle { gap: 5px; padding: 6px 8px; }
  .ss-lang__toggle .ss-lang__name,
  .ss-lang__toggle .ss-lang__caret { display: none; }
  .ss-lang__toggle .ss-lang__code { display: inline; }
  .ss-lang__list {
    grid-template-columns: 1fr;
    width: 210px;
  }
}
@media (max-width: 400px) {
  .ss-lang__toggle .ss-lang__code { display: none; }
}

/* Google Website Translator: keep the engine, hide its UI (banner, tooltips, highlights). */
#ss-google-translate,
body > .skiptranslate,
iframe.skiptranslate,
.goog-te-banner-frame,
#goog-gt-tt,
.goog-te-balloon-frame,
.VIpgJd-ZVi9od-ORHb-OEVmcd,
.VIpgJd-ZVi9od-aZ2wEe-wOHMyf {
  display: none !important;
}
body.ss-body { top: 0 !important; }
.goog-text-highlight,
.VIpgJd-yAWNEb-VIpgJd-fmcmS-sn54Q {
  background: none !important;
  box-shadow: none !important;
}
