/* SVIKARR country picker (country-picker.js): searchable, smooth-scrolling list with flags, in the site's style. */
.cp-native { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; overflow: hidden; clip: rect(0 0 0 0); }
.cp { position: relative; width: 100%; font-family: var(--f-body, "Funnel Sans", system-ui, sans-serif); }
.cp-btn { width: 100%; height: 46px; display: flex; align-items: center; gap: 10px; padding: 0 14px; border: 1px solid #cfd5e0; border-radius: 10px; background: #fff; color: #101b33; font-family: inherit; font-size: 0.9375rem; font-weight: 400; line-height: 1; text-align: left; cursor: pointer; transition: border-color .2s, box-shadow .2s; }
.cp-btn:hover { border-color: #aeb7c8; }
.cp-btn:focus-visible, .cp.open .cp-btn { outline: none; border-color: #2459c9; box-shadow: 0 0 0 3px #edf2fc; }
.cp-value { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cp-chevron { width: 16px; height: 16px; color: #8a93a8; flex: none; transition: transform .25s cubic-bezier(.2, .7, .2, 1); }
.cp.open .cp-chevron { transform: rotate(180deg); color: #2459c9; }
.cp-flag { width: 20px; height: 15px; flex: none; border-radius: 3px; object-fit: cover; box-shadow: 0 0 0 1px rgb(16 27 51 / 0.08); }
.cp-globe { display: inline-grid; place-items: center; box-shadow: none; color: #8a93a8; }
.cp-globe svg { width: 16px; height: 16px; }

.cp-pop { position: absolute; left: 0; right: 0; top: calc(100% + 8px); z-index: 60; min-width: 260px; background: #fff; border: 1px solid #e3e7ee; border-radius: 14px; box-shadow: 0 1px 2px rgb(16 27 51 / 0.05), 0 24px 56px -20px rgb(16 27 51 / 0.35); overflow: hidden; transform-origin: top center; animation: cp-in .18s cubic-bezier(.2, .7, .2, 1); }
.cp.up .cp-pop { top: auto; bottom: calc(100% + 8px); transform-origin: bottom center; animation-name: cp-in-up; }
.cp-pop[hidden] { display: none; }
@keyframes cp-in { from { opacity: 0; transform: translateY(-6px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes cp-in-up { from { opacity: 0; transform: translateY(6px) scale(.98); } to { opacity: 1; transform: none; } }

.cp-search { position: relative; padding: 10px; border-bottom: 1px solid #eef0f4; }
.cp .cp-search input { width: 100%; height: 40px; padding: 0 12px 0 36px; border: 1px solid #e3e7ee; border-radius: 999px; background: #f4f5f7; color: #101b33; font-family: inherit; font-size: 0.9375rem; font-weight: 400; outline: none; margin: 0; transition: border-color .2s, background .2s, box-shadow .2s; box-sizing: border-box; }
.cp .cp-search input:focus { background: #fff; border-color: #2459c9; box-shadow: 0 0 0 3px #edf2fc; }
.cp-search-icon { position: absolute; left: 22px; top: 50%; width: 16px; height: 16px; margin-top: -8px; color: #8a93a8; pointer-events: none; }

.cp-list { list-style: none; margin: 0; padding: 4px 6px 8px; max-height: min(320px, 52vh); overflow-y: auto; overscroll-behavior: contain; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: #cfd5e0 transparent; }
.cp-list::-webkit-scrollbar { width: 8px; }
.cp-list::-webkit-scrollbar-thumb { background: #cfd5e0; border-radius: 8px; border: 2px solid #fff; }
.cp-list::-webkit-scrollbar-track { background: transparent; }
.cp-group { position: sticky; top: -4px; z-index: 1; margin: 0 -6px; padding: 10px 16px 6px; background: rgb(255 255 255 / 0.94); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #2459c9; }
.cp-group[hidden], .cp-opt[hidden] { display: none; }
.cp-opt { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 10px; font-size: 0.9375rem; color: #101b33; cursor: pointer; transition: background .12s; }
.cp-opt.active { background: #f4f5f7; }
.cp-opt[aria-selected="true"] { background: #edf2fc; color: #183f94; font-weight: 600; }
.cp-label { flex: 1; min-width: 0; }
.cp-check { width: 16px; height: 16px; color: #2459c9; opacity: 0; flex: none; }
.cp-opt[aria-selected="true"] .cp-check { opacity: 1; }
.cp-empty { margin: 0; padding: 14px 16px 16px; font-size: 0.8125rem; color: #8a93a8; }
.cp-empty[hidden] { display: none; }

@media (max-width: 480px) { .cp-pop { min-width: 0; } .cp-list { max-height: 46vh; } }
@media (prefers-reduced-motion: reduce) { .cp-pop { animation: none; } .cp-list { scroll-behavior: auto; } .cp-chevron { transition: none; } }
