/* Locale controls deliberately reuse VoriTools' existing navy/green utility language. */

/*
 * The legacy site prioritises CJK fonts.  Those fonts have uneven metrics for
 * German, Spanish, and Portuguese, which makes translated labels look heavy
 * and causes unnecessary wrapping.  Keep the original sizing and colours,
 * while using the platform's normal Latin UI font on localized pages.
 */
html[data-kiv-locale] body,
html[data-kiv-locale] button,
html[data-kiv-locale] input,
html[data-kiv-locale] select,
html[data-kiv-locale] textarea {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.navbar .jz.container {
    position: relative;
}

.kiv-locale-launch {
    position: absolute;
    top: 8px;
    right: 0;
    z-index: 1052;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid #1e2a34;
    border-radius: 3px;
    background: #25313e;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .04em;
    box-shadow: 0 2px 8px rgba(32, 45, 56, .2);
}

.kiv-locale-launch:hover,
.kiv-locale-launch:focus,
.kiv-locale-launch[aria-expanded="true"] {
    border-color: #4aca6d;
    background: #344555;
    color: #fff;
    outline: 0;
}

.kiv-locale-launch .glyphicon {
    margin: 0;
    font-size: 14px;
}

.kiv-locale-active {
    display: none;
}

.kiv-locale-menu {
    position: absolute;
    top: 49px;
    right: 0;
    z-index: 1053;
    display: none;
    width: 186px;
    margin: 0;
    padding: 5px 0;
    border: 1px solid #bcc9d0;
    border-radius: 3px;
    background: #fff;
    box-shadow: 0 10px 25px rgba(30, 42, 52, .24);
    list-style: none;
}

@media (min-width: 768px) {
    /* Leave room for the globe at the far-right end of the fixed header. */
    .navbar #top_menu {
        padding-right: 42px;
    }
}

.kiv-locale-menu.is-open {
    display: block;
}

.kiv-locale-menu li + li {
    border-top: 1px solid #eef2f3;
}

.kiv-locale-menu a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 11px;
    color: #31424d;
    font-size: 13px;
    text-decoration: none;
}

.kiv-locale-menu a:hover,
.kiv-locale-menu a:focus,
.kiv-locale-menu a[aria-current="true"] {
    background: #f1faf4;
    color: #23663d;
    outline: 0;
    text-decoration: none;
}

.kiv-locale-menu .kiv-locale-code {
    color: #80909a;
    font-size: 11px;
    font-weight: 700;
}

.kiv-locale-home-intro {
    margin: 0 0 12px;
    padding: 0 0 11px;
    border: 0;
    border-bottom: 1px solid #e3e9ec;
    background: transparent;
}

.kiv-locale-home-intro h1 {
    margin: 0;
    color: #2f3b45;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.25;
}

.kiv-locale-home-intro p {
    margin: 4px 0 0;
    color: #6a7a84;
    font-size: 13px;
    line-height: 1.5;
}

.kiv-locale-kicker {
    color: #258347;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.kiv-locale-summary {
    margin-bottom: 16px;
}

/*
 * Legacy templates do not all load the API-tool stylesheet, so translated
 * intros need their own compact heading and privacy-badge treatment here.
 * Keeping the badge small also prevents long German titles from distorting
 * the first content row on desktop.
 */
.kiv-locale-intro,
.kiv-locale-summary {
    margin-top: 12px;
}

.kiv-locale-intro h1,
.kiv-locale-summary h1 {
    margin: 0 0 7px;
    color: #2f3b45;
    font-size: 26px;
    font-weight: 500;
    line-height: 1.3;
}

.kiv-locale-intro p,
.kiv-locale-summary p {
    margin: 0;
    color: #5b6772;
    font-size: 14px;
    line-height: 1.55;
}

.kiv-locale-intro .local-badge,
.kiv-locale-summary .local-badge {
    display: inline-block;
    margin-left: 7px;
    padding: 2px 7px;
    border: 1px solid #b8dbc3;
    border-radius: 10px;
    background: #f2faf4;
    color: #39754b;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: .02em;
    white-space: nowrap;
    vertical-align: 3px;
}

.kiv-footer-languages {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0 9px;
    margin-left: 12px;
    padding-left: 12px;
    border-left: 1px solid rgba(255, 255, 255, .22);
}

.kiv-footer-languages a {
    color: inherit;
}

html.kiv-shell-dark .kiv-locale-menu {
    border-color: #3b4b56;
    background: #24333e;
}

html.kiv-shell-dark .kiv-locale-menu li + li {
    border-color: #354651;
}

html.kiv-shell-dark .kiv-locale-menu a {
    color: #dce5eb;
}

html.kiv-shell-dark .kiv-locale-menu a:hover,
html.kiv-shell-dark .kiv-locale-menu a:focus,
html.kiv-shell-dark .kiv-locale-menu a[aria-current="true"] {
    background: #294035;
    color: #bde8c8;
}

html.kiv-shell-dark .kiv-locale-home-intro {
    border-color: #3b4a54;
    background: transparent;
}

html.kiv-shell-dark .kiv-locale-home-intro h1 {
    color: #e1edf2;
}

html.kiv-shell-dark .kiv-locale-home-intro p {
    color: #b9c8d0;
}

html.kiv-shell-dark .kiv-locale-intro h1,
html.kiv-shell-dark .kiv-locale-summary h1 {
    color: #e1edf2;
}

html.kiv-shell-dark .kiv-locale-intro p,
html.kiv-shell-dark .kiv-locale-summary p {
    color: #b9c8d0;
}

html.kiv-shell-dark .kiv-locale-intro .local-badge,
html.kiv-shell-dark .kiv-locale-summary .local-badge {
    border-color: #49755a;
    background: #294035;
    color: #bde8c8;
}

@media (max-width: 767px) {
    .kiv-locale-launch {
        top: 8px;
        right: 65px;
    }

    .kiv-locale-menu {
        top: 49px;
        right: 65px;
    }

    .kiv-footer-languages {
        display: block;
        margin: 8px 0 0;
        padding: 8px 0 0;
        border-top: 1px solid rgba(255, 255, 255, .22);
        border-left: 0;
    }

    .kiv-footer-languages a {
        display: inline-block;
        margin-left: 8px;
    }

    .kiv-locale-intro h1,
    .kiv-locale-summary h1 {
        font-size: 22px;
    }
}
