/* Controles de presentación dentro del ancho exterior existente. */
.cabecera .cabecera-controles { gap: .5rem; max-width: 100%; }
.cabecera .selector-idioma { display: flex; align-items: center; gap: .25rem; flex: 0 0 auto; }
.cabecera .selector-idioma .boton-idioma {
  padding: .3rem .65rem;
  min-width: 2.65rem;
  position: relative;
  z-index: 1;
}
.cabecera .boton-tema {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  flex: 0 0 6.4rem;
  width: 6.4rem;
  padding: .3rem .35rem;
  border-radius: var(--radio-borde);
  white-space: nowrap;
}
.cabecera .boton-tema svg { width: 1.15rem; height: 1.15rem; flex: 0 0 1.15rem; }
.cabecera .selector-idioma button:focus-visible,
.cabecera .boton-tema:focus-visible { outline: 3px solid var(--color-apoyo); outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
  .cabecera .selector-idioma button,
  .cabecera .boton-tema { transition: none; }
}

@media (max-width: 768px) {
  .cabecera .cabecera-controles {
    width: auto;
    min-width: 0;
    max-width: calc(100% - 4.5rem);
    flex: 0 1 auto;
    gap: .375rem;
  }
  .cabecera .cabecera-controles .boton-idioma,
  .cabecera .cabecera-controles .boton-tema { color: var(--color-principal); }
  .cabecera .cabecera-controles .boton-idioma[aria-pressed="true"] { color: var(--texto-oscuro); }
  .cabecera:not(.scroll-activo) .cabecera-controles .boton-idioma,
  .cabecera:not(.scroll-activo) .cabecera-controles .boton-tema { color: var(--texto-oscuro); }
}
