.country-picker { position: relative; }
.country-selected { min-height: 42px; width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; border: 1px solid #d8dce2; border-radius: 7px; background: #fff; font: 500 13px Inter, sans-serif; color: #303846; cursor: pointer; list-style: none; }
.country-selected::-webkit-details-marker { display: none; }
.country-selected > span { display: flex; align-items: center; gap: 10px; min-width: 0; }
.country-selected svg { width: 12px; height: 12px; flex-shrink: 0; fill: none; stroke: #737c8a; stroke-width: 1.5; }
.country-picker[open] .country-selected { border-color: #1761da; }
.country-picker[open] .country-selected svg { transform: rotate(180deg); }
.country-options { position: absolute; z-index: 5; top: calc(100% + 6px); left: 0; right: 0; border: 1px solid #dce1e9; border-radius: 8px; padding: 10px; background: #fff; box-shadow: 0 10px 30px #14203c1a; }
.country-search-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.country-options input[type="search"] { width: 100%; padding: 10px 12px; border: 1px solid #dce1e9; border-radius: 7px; font: 12px Inter, sans-serif; background: #f7f9fc; }
.country-list { max-height: min(220px, 30dvh); overflow-y: auto; overscroll-behavior: contain; margin-top: 8px; scrollbar-width: thin; scrollbar-color: #bdc6d4 transparent; }
.country-list::-webkit-scrollbar { width: 5px; }
.country-list::-webkit-scrollbar-thumb { background: #bdc6d4; border-radius: 8px; }
.country-option { position: relative; display: flex; align-items: center; gap: 10px; padding: 10px 8px; border-radius: 7px; cursor: pointer; font-size: 12px; }
.country-option:hover, .country-option:has(:checked) { background: #eef4ff; }
.country-option input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.country-option:has(:checked)::after { content: '✓'; margin-left: auto; color: #1761da; font-weight: 700; }
.country-option:has(:focus-visible) { outline: 2px solid #1761da; outline-offset: -2px; }
.country-empty { padding: 8px; font-size: 12px; color: #727b89; }
@media (max-width: 540px) { .country-options { position: static; margin-top: 6px; box-shadow: none; } }

.country-rate { margin-left: auto; color: #687489; font-size: 11px; font-weight: 650; white-space: nowrap; font-variant-numeric: tabular-nums; }
.country-option > span:not(.country-rate) { flex: 1; }
.country-option:has(:checked)::after { margin-left: 0; }
