/* Tipografía compartida: el menú no hereda la fuente propia de cada página. */
.navbar { font-family: var(--bs-font-sans-serif); }

/* Posición del selector dentro de la navegación. */
.site-language-selector {
    display: flex;
    align-items: center;
    gap: .35rem;
    margin-left: auto;
    order: 2;
    flex-shrink: 0;
}
.language-menu { position: relative; color: #24231e; }
.language-menu summary { cursor: pointer; padding: .5rem .7rem; border: 1px solid #7b786f; border-radius: .35rem; min-height: 44px; white-space: nowrap; }
.language-menu img { object-fit: cover; vertical-align: -.2rem; border: 1px solid #b4b1a9; margin-right: .35rem; }
.language-options { position: absolute; right: 0; top: calc(100% + .25rem); z-index: 1060; min-width: 180px; padding: .4rem; border: 1px solid #7b786f; border-radius: .4rem; background: #fff; box-shadow: 0 6px 18px #0002; }
.language-options button { display: block; width: 100%; min-height: 44px; padding: .5rem; border: 0; background: transparent; text-align: left; color: inherit; }
.language-options button:hover, .language-options button[aria-current] { background: #eee9df; }
.language-menu :focus-visible { outline: 3px solid #49463f; outline-offset: 2px; }
.navbar .navbar-brand { order: 1; }
.navbar .navbar-toggler { order: 3; margin-left: .5rem; }
.navbar .navbar-collapse { order: 4; min-width: 0; }
.navbar .navbar-nav { flex-wrap: wrap; }
@media (min-width: 992px) {
    .navbar .navbar-collapse { order: 2; }
    .navbar .site-language-selector { order: 3; }
}
@media (max-width: 991.98px) {
    /* Marca y menú primero; el idioma ocupa la segunda fila. */
    .navbar .navbar-toggler { order: 2; }
    .navbar .site-language-selector {
        flex-basis: 100%;
        justify-content: flex-end;
        order: 3;
        margin-top: .5rem;
    }
}
