/* Seletor de língua do site público: herda a cor de cada página (clara na inicial, escura na candidatura). */
.lang {
  position: relative;
}
.lang summary {
  list-style: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 36px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 650;
  letter-spacing: 0.02em;
  cursor: pointer;
  color: inherit;
  opacity: 0.75;
  border: 1px solid transparent;
  transition:
    opacity 0.2s,
    border-color 0.2s;
  user-select: none;
}
.lang summary::-webkit-details-marker {
  display: none;
}
.lang summary:hover,
.lang[open] summary {
  opacity: 1;
  border-color: currentColor;
  border-color: color-mix(in srgb, currentColor 18%, transparent);
}
.lang summary i {
  font-size: 16px;
}
.lang-menu {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  z-index: 50;
  min-width: 168px;
  padding: 6px;
  border-radius: 14px;
  background: #fff;
  color: #16120e;
  box-shadow:
    0 18px 50px rgba(22, 18, 14, 0.18),
    0 0 0 1px rgba(22, 18, 14, 0.06);
  display: grid;
  gap: 2px;
}
.lang-menu a {
  display: block;
  padding: 9px 12px;
  border-radius: 9px;
  font-size: 14px;
  font-weight: 550;
  color: #16120e;
  text-decoration: none;
}
.lang-menu a:hover {
  background: rgba(22, 18, 14, 0.06);
}
.lang-menu a.on {
  background: #16120e;
  color: #fff;
}
@media (prefers-reduced-motion: no-preference) {
  .lang[open] .lang-menu {
    animation: langIn 0.18s ease-out;
  }
  @keyframes langIn {
    from {
      opacity: 0;
      transform: translateY(-4px);
    }
  }
}

/* candidatura: som e língua lado a lado no topo */
.top-r {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-self: end;
}
/* páginas legais */
.legal-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.legal-top .lang summary {
  text-decoration: none;
}
/* não herdar o estilo das FAQ (details/summary) */
.lang, .faq .lang { border: 0; padding: 0; margin: 0; background: none; }
.lang summary::after, .lang summary::before { content: none !important; display: none !important; }
.lang summary { border-bottom: 1px solid transparent; }
.lang-menu a.on { background: #16120e !important; color: #fff !important; }
