@font-face { font-family: "Onest"; src: url("../fonts/onest-400.woff2") format("woff2"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "Onest"; src: url("../fonts/onest-500.woff2") format("woff2"); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: "Onest"; src: url("../fonts/onest-600.woff2") format("woff2"); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: "Onest"; src: url("../fonts/onest-700.woff2") format("woff2"); font-style: normal; font-weight: 700; font-display: swap; }

.tvf-native-flag-select {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: 0 !important;
	padding: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.tvf-flag-select { position: relative; width: 100%; font-family: "Onest", sans-serif; }
.tvf-flag-select-button { display: flex !important; align-items: center !important; justify-content: space-between !important; width: 100% !important; min-height: var(--tvf-input-height, 48px) !important; margin: 0 !important; padding: 10px 16px !important; border: var(--tvf-border-width, 1px) solid var(--tvf-border, #dcdcde) !important; border-radius: var(--tvf-input-radius, 6px) !important; background: var(--tvf-input-bg, #fff) !important; background-image: none !important; color: var(--tvf-input-text, #101828) !important; font-family: "Onest", sans-serif !important; font-size: var(--tvf-font-size, 15px) !important; font-style: normal !important; font-weight: 400 !important; line-height: 1.4 !important; letter-spacing: normal !important; text-align: left !important; text-transform: none !important; box-shadow: none !important; cursor: pointer; }
.tvf-flag-select-button:focus { outline: 0; border-color: var(--tvf-primary, #0050fd); box-shadow: 0 0 0 3px rgba(0,80,253,.14); }
.tvf-flag-selected, .tvf-flag-option { display: flex; align-items: center; gap: 10px; min-width: 0; }
.tvf-flag-selected > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tvf-flag-image { display: block !important; flex: 0 0 26px !important; width: 26px !important; min-width: 26px !important; max-width: 26px !important; height: 19px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 3px !important; object-fit: cover !important; box-shadow: 0 0 0 1px rgba(16,24,40,.12) !important; }
.tvf-flag-chevron { flex: 0 0 8px; width: 8px; height: 8px; margin-left: 12px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); }
.tvf-flag-select.is-open .tvf-flag-chevron { transform: translateY(2px) rotate(225deg); }
.tvf-flag-select-panel { position: fixed; z-index: 2147483000; width: 310px; padding: 10px; border: 1px solid #e4e7ec; border-radius: 14px; background: #fff; color: #101828; box-shadow: 0 20px 55px rgba(16,24,40,.22); font-family: "Onest", sans-serif; }
.tvf-flag-search-wrap { position: relative; margin: 0 0 8px; }
.tvf-flag-search-wrap::before { content: ""; position: absolute; z-index: 1; top: 50%; left: 13px; width: 12px; height: 12px; border: 2px solid #667085; border-radius: 50%; transform: translateY(-58%); pointer-events: none; }
.tvf-flag-search-wrap::after { content: ""; position: absolute; z-index: 1; top: calc(50% + 5px); left: 24px; width: 6px; height: 2px; border-radius: 2px; background: #667085; transform: rotate(45deg); pointer-events: none; }
.tvf-flag-search { width: 100% !important; min-height: 44px !important; margin: 0 !important; padding: 9px 12px 9px 40px !important; border: 1px solid #d0d5dd !important; border-radius: 10px !important; background: #f9fafb !important; color: #101828 !important; font: 14px "Onest", sans-serif !important; box-shadow: none !important; }
.tvf-flag-search:focus { border-color: #0050fd !important; background: #fff !important; outline: 0 !important; box-shadow: 0 0 0 3px rgba(0,80,253,.12) !important; }
.tvf-flag-options { max-height: 280px; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; background: #fff !important; }
.tvf-flag-select-panel button.tvf-flag-option {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 10px !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	min-height: 44px !important;
	height: auto !important;
	margin: 0 !important;
	padding: 9px 10px !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: #fff !important;
	background-color: #fff !important;
	background-image: none !important;
	color: #344054 !important;
	font-family: "Onest", sans-serif !important;
	font-size: 14px !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	letter-spacing: normal !important;
	text-align: left !important;
	text-decoration: none !important;
	text-indent: 0 !important;
	text-transform: none !important;
	box-shadow: none !important;
	filter: none !important;
	transform: none !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	cursor: pointer !important;
	transition: background-color .15s ease, color .15s ease !important;
}
.tvf-flag-select-panel button.tvf-flag-option::before,
.tvf-flag-select-panel button.tvf-flag-option::after { content: none !important; display: none !important; }
.tvf-flag-select-panel button.tvf-flag-option > span { display: block !important; margin: 0 !important; padding: 0 !important; color: inherit !important; font: inherit !important; line-height: inherit !important; }
.tvf-flag-select-panel button.tvf-flag-option:hover,
.tvf-flag-select-panel button.tvf-flag-option:focus { border: 0 !important; background: #f2f6ff !important; background-color: #f2f6ff !important; color: #0050fd !important; outline: 0 !important; box-shadow: none !important; }
.tvf-flag-select-panel button.tvf-flag-option.is-selected { background: #eaf1ff !important; background-color: #eaf1ff !important; color: #0050fd !important; font-weight: 500 !important; }
.tvf-flag-option.is-filtered-out, .tvf-flag-option[hidden] { display: none !important; }
.tvf-flag-no-results { padding: 16px 10px; color: #667085; font: 14px "Onest", sans-serif; text-align: center; }
.tvf-flag-no-results[hidden] { display: none !important; }
.tvf-flag-option.is-placeholder .tvf-flag-image { display: none !important; }
.tvf-flag-select.is-disabled { opacity: .6; pointer-events: none; }

@media (max-width: 520px) {
	.tvf-flag-select-panel { position: fixed; top: auto; right: 12px; bottom: 12px; left: 12px; width: auto; max-height: 70vh; }
	.tvf-flag-options { max-height: calc(70vh - 70px); }
}
