/* Seletor de idioma compartilhado · criado 2026-08-23 23:29 BRT */
.lang-switcher {
  position: relative;
  flex: 0 0 auto;
  font-family: var(--font-body);
}

.lang-switcher__button {
  min-width: 3.9rem;
  min-height: 2.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs, 0.5rem);
  padding: 0.45rem 0.65rem;
  border: var(--hair, 1px) solid var(--rule);
  border-radius: var(--radius-sm, 8px);
  background: transparent;
  color: var(--ink-2);
  font: 700 var(--text-xs, 0.75rem) / 1 var(--font-mono);
  letter-spacing: 0.08em;
  cursor: pointer;
  white-space: nowrap;
}

.lang-switcher__button:hover,
.lang-switcher__button[aria-expanded="true"] {
  border-color: var(--accent-dim);
  color: var(--ink);
  background: var(--night-2);
}

.lang-switcher__icon {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.lang-switcher__menu {
  position: absolute;
  z-index: calc(var(--z-mega, 320) + 1);
  top: calc(100% + var(--space-xs, 0.5rem));
  right: 0;
  width: max-content;
  min-width: 10.5rem;
  margin: 0;
  padding: 0.35rem;
  list-style: none;
  border: var(--hair, 1px) solid var(--rule);
  border-radius: var(--radius, 12px);
  background: var(--night-2);
  box-shadow: var(--shadow-card);
}

.lang-switcher__menu[hidden] { display: none; }

.lang-switcher--noscript summary {
  list-style: none;
}

.lang-switcher--noscript summary::-webkit-details-marker {
  display: none;
}

.no-js [data-lang-switcher] {
  display: none;
}

.lang-switcher__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md, 1rem);
  min-height: 2.5rem;
  padding: 0.55rem 0.65rem;
  border-radius: var(--radius-sm, 8px);
  color: var(--ink-2);
  font-size: var(--text-sm, 0.875rem);
  text-decoration: none;
  white-space: nowrap;
}

.lang-switcher__link:hover,
.lang-switcher__link:focus-visible,
.lang-switcher__link[aria-current="true"] {
  color: var(--ink);
  background: var(--night-3);
}

.lang-switcher__link[aria-current="true"]::after {
  content: "✓";
  color: var(--accent-hi);
}

.sheet__languages {
  padding-top: var(--space-sm, 0.75rem);
  border-top: var(--hair, 1px) solid var(--rule-soft);
}

.sheet__languages-label {
  margin: 0 0 var(--space-xs, 0.5rem);
  color: var(--ink-3);
  font: 600 var(--text-xs, 0.75rem) / 1.4 var(--font-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sheet__languages-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs, 0.5rem);
  margin: 0;
  padding: 0;
  list-style: none;
}

.sheet__languages-list a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3rem;
  min-height: 2.5rem;
  padding: 0.45rem 0.65rem;
  border: var(--hair, 1px) solid var(--rule);
  border-radius: var(--radius-sm, 8px);
  color: var(--ink-2);
  font: 700 var(--text-xs, 0.75rem) / 1 var(--font-mono);
  text-decoration: none;
}

.sheet__languages-list a[aria-current="true"] {
  border-color: var(--accent-dim);
  color: var(--ink);
  background: var(--night-3);
}

@media (max-width: 60rem) {
  .js .nav__end > [data-lang-switcher] { display: none; }
}

@media (min-width: 60.0625rem) {
  .sheet__languages { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .lang-switcher *,
  .sheet__languages * {
    animation: none !important;
    transition: none !important;
  }
}
