.country-switcher {
    align-self: center;
    flex: 0 0 auto;
    font-size: .8125rem;
    position: relative;
}

.country-switcher > summary {
    align-items: center;
    background: #fff;
    border: 1px solid var(--app-border, #d9e6f1);
    border-radius: .65rem;
    color: #173b5c;
    cursor: pointer;
    display: flex;
    font-weight: 500;
    line-height: 1.4;
    list-style: none;
    min-height: 2.25rem;
    padding: .35rem .6rem;
    white-space: nowrap;
}

.country-switcher > summary::-webkit-details-marker {
    display: none;
}

.country-switcher > summary::after {
    border-color: #58748c transparent transparent;
    border-style: solid;
    border-width: 5px 5px 0;
    content: "";
    flex: 0 0 auto;
    height: 0;
    margin-left: 8px;
    width: 0;
}

.country-switcher[open] > summary::after {
    border-color: transparent transparent #58748c;
    border-width: 0 5px 5px;
}

.country-switcher > summary:focus-visible {
    outline: 2px solid #0c8ff2;
    outline-offset: 2px;
}

.country-switcher .country-switcher__flag {
    border-radius: .2rem;
    box-shadow: 0 0 0 1px rgba(84, 116, 143, .16);
    flex: 0 0 24px;
    height: 18px;
    margin-right: 8px;
    object-fit: contain;
    width: 24px;
}

.country-switcher .country-switcher__flag--international {
    box-shadow: none;
}

.country-switcher__menu {
    background: #fff;
    border: 1px solid #d9e6f1;
    border-radius: .85rem;
    box-shadow: 0 .75rem 2rem rgba(0, 40, 91, .18);
    list-style: none;
    margin: .4rem 0 0;
    max-height: 15rem;
    max-width: calc(100vw - 32px);
    overflow-y: auto;
    padding: .35rem;
    position: absolute;
    right: 0;
    top: 100%;
    width: 16rem;
    z-index: 1040;
    -webkit-overflow-scrolling: touch;
}

.country-switcher:not([open]) > .country-switcher__menu {
    display: none;
}

.country-switcher .country-switcher__link {
    align-items: center;
    border-radius: .5rem;
    color: #173b5c;
    display: flex;
    font-size: .875rem;
    font-weight: 500;
    line-height: 1.4;
    min-height: 52px;
    padding: .6rem;
    text-decoration: none;
    white-space: normal;
}

.country-switcher .country-switcher__link::after {
    display: none;
}

.country-switcher .country-switcher__link:hover,
.country-switcher .country-switcher__link:focus {
    background: #eaf5ff;
    color: #0865a5;
}

.country-switcher__caption {
    min-width: 0;
    overflow-wrap: break-word;
}

.country-switcher__caption strong,
.country-switcher__caption small {
    display: block;
}

.country-switcher__caption strong {
    font-weight: 500;
}

.country-switcher__caption small {
    color: #58748c;
    font-size: 12px;
    margin-top: 2px;
}

@media (max-width: 820px) {
    .country-switcher > summary {
        min-height: 2.75rem;
    }
}
