:root {
    --chrome-action-gap: 12px;
    --chrome-border: #d9e6f1;
    --chrome-content-width: 1480px;
    --chrome-control-height: 44px;
    --chrome-control-radius: 11px;
    --chrome-font-family: Onest, "Noto Sans", sans-serif;
    --chrome-header-height: 76px;
    --chrome-hover: #eaf5ff;
    --chrome-ink: #173b5c;
    --chrome-muted: #58748c;
    --chrome-nav-font-size: .8125rem;
    --chrome-nav-font-weight: 650;
    --chrome-selected: #dcefff;
    --chrome-user-font-size: .75rem;
    --chrome-user-font-weight: 500;
}

.internal-header,
.public-header {
    font-family: var(--chrome-font-family);
    font-synthesis: none;
}

/* Ссылка кабинета и кнопка публичного сайта выглядят одинаково, сохраняя POST-выход. */
.internal-header .internal-header__session-nav .nav-link.logout,
.public-header .public-account-logout__button {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: var(--chrome-control-radius);
    color: var(--chrome-ink);
    cursor: pointer;
    display: inline-flex;
    font-family: inherit;
    font-size: var(--chrome-nav-font-size);
    font-weight: var(--chrome-nav-font-weight);
    justify-content: center;
    line-height: 1.5;
    max-width: 100%;
    min-height: var(--chrome-control-height);
    padding: 0 var(--chrome-logout-padding-inline, 10px);
    text-decoration: none;
    white-space: nowrap;
}

.internal-header .internal-header__session-nav .nav-link.logout:focus,
.internal-header .internal-header__session-nav .nav-link.logout:hover,
.public-header .public-account-logout__button:focus,
.public-header .public-account-logout__button:hover {
    background: var(--chrome-hover);
    color: var(--chrome-ink);
}

.internal-header__user,
.public-account-logout__user {
    color: var(--chrome-muted);
    display: block;
    font-size: var(--chrome-user-font-size);
    font-weight: var(--chrome-user-font-weight);
    line-height: inherit;
    margin-left: 4px;
    max-width: 8rem;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Выбор страны и языка сохраняет рамку, остальные действия шапки — нет. */
.public-header .country-switcher > summary,
.public-header .language-switcher select.language-switcher__select,
.public-header .language-switcher .ts-wrapper.single .ts-control,
.internal-header .language-switcher select.language-switcher__select,
.internal-header .language-switcher .ts-wrapper.single .ts-control {
    border-radius: var(--chrome-control-radius);
    min-height: var(--chrome-control-height);
}

/* Оптический центр надписи рядом с флагом. Пункты раскрытых списков не затрагиваются. */
.public-header .country-switcher > summary > span,
.public-header .language-switcher .ts-control > .item > .language-choice__code,
.public-header .language-switcher .ts-control > .item > .language-choice__label,
.internal-header .language-switcher .ts-control > .item > .language-choice__code,
.internal-header .language-switcher .ts-control > .item > .language-choice__label {
    transform: translateY(1px);
}

.internal-header a:focus,
.internal-header button:focus,
.internal-header summary:focus,
.public-header a:focus,
.public-header button:focus,
.public-header summary:focus {
    outline: 2px solid #0c8ff2;
    outline-offset: 2px;
}

.internal-header a:focus:not(:focus-visible),
.internal-header button:focus:not(:focus-visible),
.internal-header summary:focus:not(:focus-visible),
.public-header a:focus:not(:focus-visible),
.public-header button:focus:not(:focus-visible),
.public-header summary:focus:not(:focus-visible) {
    outline: none;
}

[data-bs-theme="dark"] {
    --chrome-border: #294564;
    --chrome-hover: #1c4264;
    --chrome-ink: #e6f2ff;
    --chrome-muted: #a0bad0;
    --chrome-selected: #234c70;
}

/* Футер не делит текст с копирайтом на две конкурирующие узкие колонки. */
.app-footer {
    background: #031332;
    border-top: 1px solid #294564;
    color: #c9dcf2;
    padding: 32px 0 24px;
}

.app-footer__inner {
    margin: 0 auto;
    max-width: var(--chrome-content-width);
    width: calc(100% - 64px);
}

.app-footer__brand {
    align-items: center;
    display: flex;
    min-width: 0;
}

.app-footer__logo-surface {
    align-items: center;
    background: #fff;
    border-radius: 11px;
    display: inline-flex;
    flex: 0 0 auto;
    justify-content: center;
    max-width: 100%;
    padding: 8px 12px;
}

.app-footer .app-footer__logo {
    display: block;
    height: 44px;
    max-width: 100%;
    object-fit: contain;
    width: 190px;
}

.app-footer .app-footer__description {
    color: #c9dcf2;
    flex: 1 1 auto;
    font-size: 14px;
    line-height: 1.6;
    margin: 0 0 0 24px;
    min-width: 0;
    overflow-wrap: break-word;
}

.app-footer__navigation {
    margin-top: 20px;
}

.app-footer .legal-links,
.app-footer .analytics-consent,
.app-footer .public-footer-links__nav {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    justify-content: flex-start;
    margin: 0;
}

.app-footer .legal-links > a,
.app-footer .analytics-consent > .consent-link,
.app-footer .public-footer-links__nav > a,
.app-footer__bottom > a {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    color: #c9dcf2;
    display: inline-flex;
    font-family: inherit;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
    margin: 0 18px 0 0;
    min-height: 36px;
    padding: 6px 0;
    text-align: start;
    text-decoration: none;
}

.app-footer .public-footer-links__nav > a {
    color: #e4f1ff;
    font-weight: 650;
}

.app-footer .legal-links > a:hover,
.app-footer .public-footer-links__nav > a:hover,
.app-footer__bottom > a:hover,
.app-footer .analytics-consent > .consent-link:hover {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.app-footer .legal-links > a:focus,
.app-footer .public-footer-links__nav > a:focus,
.app-footer__bottom > a:focus,
.app-footer .analytics-consent > .consent-link:focus {
    color: #fff;
    outline: 2px solid #92d6ff;
    outline-offset: 3px;
}

.app-footer .legal-links > a:focus:not(:focus-visible),
.app-footer .public-footer-links__nav > a:focus:not(:focus-visible),
.app-footer__bottom > a:focus:not(:focus-visible),
.app-footer .analytics-consent > .consent-link:focus:not(:focus-visible) {
    outline: none;
}

.app-footer__bottom {
    align-items: center;
    border-top: 1px solid #294564;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 20px;
    padding-top: 16px;
}

.app-footer .app-footer__copyright {
    color: #a8bed8;
    font-size: 12px;
    line-height: 1.6;
    margin: 0;
}

.app-footer__bottom > a {
    margin-right: 0;
}

@media (max-width: 980px) {
    .app-footer__inner {
        width: calc(100% - 36px);
    }
}

@media (max-width: 760px) {
    .app-footer__inner {
        width: calc(100% - 28px);
    }

    .app-footer__brand {
        align-items: flex-start;
        flex-direction: column;
    }

    .app-footer .app-footer__description {
        margin: 16px 0 0;
    }

    .app-footer .legal-links > a,
    .app-footer .analytics-consent > .consent-link,
    .app-footer .public-footer-links__nav > a,
    .app-footer__bottom > a {
        min-height: 44px;
    }
}

@media (max-width: 420px) {
    .app-footer__inner {
        width: calc(100% - 20px);
    }
}
