/* Shared header alignment and language control. */
.navbar .nav-container {
    max-width: 1280px;
    padding-inline: 2rem;
}
.nav-language-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
    margin-left: 5px;
    position: relative;
    color: #355b54;
}
.nav-language-label { font-size: 1rem; line-height: 1; }
.nav-language-select {
    width: 164px;
    min-height: 34px;
    padding: 6px 22px 6px 8px;
    border: 1px solid #cbded7;
    border-radius: 9px;
    background: #f5f9f7;
    color: #355b54;
    font: 600 .72rem/1.2 'Exo 2', sans-serif;
    cursor: pointer;
    outline-offset: 2px;
}
.nav-language-select:focus-visible { outline: 2px solid #548b7e; }
.nav-language-status {
    position: absolute;
    top: calc(100% + 5px);
    right: 0;
    width: max-content;
    max-width: 260px;
    padding: 4px 7px;
    border-radius: 6px;
    background: #fff;
    color: #36534d;
    box-shadow: 0 4px 18px rgba(22,54,49,.1);
    font-size: .66rem;
    pointer-events: none;
}
.nav-language-status:empty { display: none; }
.nav-language-credit {
    position: absolute;
    top: calc(100% + 28px);
    right: 0;
    color: #5b7a73;
    font-size: .58rem;
    white-space: nowrap;
    text-decoration: none;
}
.nav-language-credit:hover { text-decoration: underline; }
.nav-language-credit[hidden] { display: none !important; }
.nav-language-item .sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
@media (max-width: 1024px) {
    .navbar .nav-container { padding-inline: 1.5rem; }
}
@media (min-width: 901px) and (max-width: 1100px) {
    .navbar .nav-logo .logo-image { width: 112px; height: auto; }
    .navbar .nav-link { padding-inline: 4px; font-size: .72rem; letter-spacing: 0; }
    .navbar .nav-language-item { gap: 2px; margin-left: 0; }
    .navbar .nav-language-select { width: 115px; padding-left: 5px; font-size: .62rem; }
}
@media (max-width: 900px) {
    .navbar .nav-container { padding-inline: 1.25rem; }
    .nav-language-item { width: 100%; margin: 10px 0 36px; gap: 10px; }
    .nav-language-select { width: min(100%, 260px); min-height: 42px; font-size: .85rem; }
    .nav-language-status { top: calc(100% + 4px); left: 0; right: auto; }
    .nav-language-credit { top: calc(100% + 26px); left: 0; right: auto; }
}
@media (max-width: 480px) {
    .navbar .nav-container { padding-inline: 1rem; }
}
