/* Desktop city picker: local styles, shared HARANT tokens. */
header .country-landing .hc-city-trigger {
    transition: background-color var(--transition), color var(--transition);
}
header .country-landing .hc-city-trigger[aria-expanded="true"] {
    background: var(--color-blend);
    color: var(--color-heading);
}
header .country-landing .hc-city-trigger:focus-visible {
    outline: var(--hc-focus-width) solid var(--color-heading);
    outline-offset: var(--hc-focus-offset);
}
header #headerCityDropdown.hc-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    width: var(--hc-dropdown-width);
    max-width: calc(100vw - var(--hc-space-lg) - var(--hc-space-lg));
    max-height: min(var(--hc-dropdown-max-height), var(--hc-available-height, 80vh));
    min-height: 0;
    padding: 0;
    overflow: hidden;
    border: var(--hc-border-width) solid var(--border-default);
    border-radius: var(--radius-md);
    background: var(--color-white);
    box-shadow: var(--shadow-dropdown);
    color: var(--color-heading);
    font-family: var(--font-family);
    font-size: var(--text-md);
    font-weight: var(--weight-regular);
    line-height: var(--leading-snug);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(calc(-1 * var(--hc-motion-offset)));
    transition: opacity var(--motion-duration-ui) var(--motion-ease-out), transform var(--motion-duration-ui) var(--motion-ease-out);
    z-index: 11;
}
header #headerCityDropdown.hc-dropdown.hc-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}
header #headerCityDropdown.hc-dropdown[hidden],
header #headerCityDropdown.hc-dropdown [hidden] {
    display: none !important;
}
header #headerCityDropdown.hc-dropdown .hc-toolbar {
    flex: 0 0 auto;
    padding: var(--hc-space-sm);
    border-bottom: var(--hc-border-width) solid var(--border-default);
    background: var(--color-white);
}
header #headerCityDropdown.hc-dropdown .hc-search-wrap {
    display: flex;
    align-items: center;
    min-height: var(--but-card-height);
    gap: var(--hc-space-xs);
    padding-inline: var(--hc-space-sm) var(--hc-space-xs);
    border: var(--hc-border-width) solid var(--color-gray-border);
    border-radius: var(--radius-sm);
    background: var(--color-white);
    transition: border-color var(--transition);
}
header #headerCityDropdown.hc-dropdown .hc-search-wrap:focus-within {
    border-color: var(--color-heading);
    outline: var(--hc-focus-width) solid var(--color-heading);
    outline-offset: var(--hc-focus-offset);
}
header #headerCityDropdown.hc-dropdown .hc-search-icon {
    display: flex;
    flex: 0 0 auto;
    color: var(--color-muted);
    pointer-events: none;
}
header #headerCityDropdown.hc-dropdown svg {
    flex: 0 0 auto;
    width: var(--hc-icon-size);
    height: var(--hc-icon-size);
}
header #headerCityDropdown.hc-dropdown input.hc-search {
    flex: 1 1 auto;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    height: var(--but-card-height);
    padding: 0;
    border: 0;
    border-radius: 0;
    outline: none;
    box-shadow: none;
    background: transparent;
    color: var(--color-heading);
    font: inherit;
    line-height: var(--leading-snug);
    appearance: none;
}
header #headerCityDropdown.hc-dropdown .hc-search::placeholder {
    color: var(--color-muted);
    opacity: 1;
}
header #headerCityDropdown.hc-dropdown .hc-search::-webkit-search-cancel-button {
    appearance: none;
}
header #headerCityDropdown.hc-dropdown :is(.hc-clear, .hc-auto, .hc-choice, .hc-reset, .hc-retry) {
    box-sizing: border-box;
    border: 0;
    border-radius: var(--radius-sm);
    outline-offset: var(--hc-focus-offset);
    box-shadow: none;
    background: transparent;
    color: var(--color-heading);
    font: inherit;
    line-height: var(--leading-snug);
    text-align: left;
    cursor: pointer;
    transition: background-color var(--transition), color var(--transition);
}
header #headerCityDropdown.hc-dropdown .hc-clear {
    display: flex;
    flex: 0 0 var(--h-small);
    align-items: center;
    justify-content: center;
    width: var(--h-small);
    height: var(--h-small);
    padding: 0;
    color: var(--color-muted);
}
header #headerCityDropdown.hc-dropdown .hc-current {
    margin: var(--hc-space-sm) var(--hc-space-sm) var(--hc-space-xs);
    color: var(--color-muted);
    font-size: var(--text-sm);
    line-height: var(--leading-snug);
    overflow-wrap: anywhere;
}
header #headerCityDropdown.hc-dropdown .hc-auto {
    display: flex;
    align-items: center;
    gap: var(--hc-space-sm);
    width: 100%;
    min-height: var(--h-small);
    padding: var(--hc-space-xs) var(--hc-space-sm);
    color: var(--color-primary);
    font-size: var(--text-base);
}
header #headerCityDropdown.hc-dropdown .hc-auto:disabled {
    cursor: progress;
    color: var(--color-muted);
}
header #headerCityDropdown.hc-dropdown .hc-status {
    margin: var(--hc-space-xs) var(--hc-space-sm) 0;
    color: var(--color-muted);
    font-size: var(--text-sm);
    line-height: var(--leading-relaxed);
    overflow-wrap: anywhere;
}
header #headerCityDropdown.hc-dropdown .hc-list {
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    margin: 0;
    padding: var(--hc-space-xs) var(--hc-space-sm) var(--hc-space-sm);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    list-style: none;
    scrollbar-gutter: stable;
}
header #headerCityDropdown.hc-dropdown .hc-list > li {
    margin: 0;
    padding: 0;
    list-style: none;
}
header #headerCityDropdown.hc-dropdown .hc-choice {
    display: flex;
    align-items: center;
    gap: var(--hc-space-sm);
    width: 100%;
    min-height: var(--h-small);
    padding: var(--hc-space-xs) var(--hc-space-sm);
    overflow-wrap: anywhere;
}
header #headerCityDropdown.hc-dropdown .hc-choice[aria-current="true"] {
    background: var(--color-bg-tint-blue);
    color: var(--color-primary);
}
header #headerCityDropdown.hc-dropdown .hc-choice .hc-check {
    flex: 0 0 auto;
    margin-left: auto;
    font-weight: var(--weight-bold);
}
header #headerCityDropdown.hc-dropdown .hc-country {
    margin-bottom: var(--hc-space-xs);
    padding-bottom: var(--hc-space-xs);
    border-bottom: var(--hc-border-width) solid var(--border-default);
}
header #headerCityDropdown.hc-dropdown :is(.hc-empty, .hc-load) {
    margin: 0;
    padding: var(--hc-space-md) var(--hc-space-lg);
    color: var(--color-muted);
    font-size: var(--text-base);
    line-height: var(--leading-relaxed);
}
header #headerCityDropdown.hc-dropdown :is(.hc-reset, .hc-retry) {
    display: block;
    min-height: var(--h-small);
    margin-top: var(--hc-space-xs);
    padding: var(--hc-space-xs) var(--hc-space-sm);
    color: var(--color-primary);
    font-size: var(--text-base);
}
header #headerCityDropdown.hc-dropdown :is(.hc-clear, .hc-auto, .hc-choice, .hc-reset, .hc-retry):focus-visible {
    outline: var(--hc-focus-width) solid var(--color-heading);
    outline-offset: calc(-1 * var(--hc-focus-width));
}
header #headerCityDropdown.hc-dropdown :is(.hc-clear, .hc-auto, .hc-choice, .hc-reset, .hc-retry):active:not(:disabled) {
    background: var(--color-bg-tint-purple);
    color: var(--color-primary-active);
}
@media (hover: hover) and (pointer: fine) {
    header .country-landing .hc-city-trigger:hover,
    header #headerCityDropdown.hc-dropdown :is(.hc-clear, .hc-auto, .hc-choice, .hc-reset, .hc-retry):hover:not(:disabled) {
        background: var(--color-blend);
        color: var(--color-heading);
    }
    header #headerCityDropdown.hc-dropdown .hc-choice[aria-current="true"]:hover {
        background: var(--color-bg-tint-blue);
        color: var(--color-primary-hover);
    }
}
@media (prefers-reduced-motion: reduce) {
    header .country-landing .hc-city-trigger,
    header #headerCityDropdown.hc-dropdown,
    header #headerCityDropdown.hc-dropdown * {
        transition: none;
    }
    header #headerCityDropdown.hc-dropdown,
    header #headerCityDropdown.hc-dropdown.hc-open {
        transform: none;
    }
}
