/* Finobazaar location selector. Uses the theme's tokens when present. */
.fbl-sel {
	--fbl-accent: var(--fb-green, #1d4ed8);
	--fbl-line: var(--fb-line, #cbd5e1);
	--fbl-ink: var(--fb-ink, #0f172a);
	--fbl-muted: var(--fb-muted, #475569);
	--fbl-bg: var(--fb-white, #fff);
	--fbl-r: var(--fb-r-sm, 6px);
	color: var(--fbl-ink);
	display: grid;
	gap: 0.75rem;
	max-width: 44rem;
}
.fbl-sel__title { font-weight: 600; margin: 0; }
.fbl-sel__tools { display: grid; gap: 0.75rem; grid-template-columns: 1fr; }
@media (min-width: 40em) {
	.fbl-sel__tools { grid-template-columns: 2fr 1fr; align-items: end; }
	.fbl-sel__geo { grid-column: 1 / -1; justify-self: start; }
}
.fbl-sel__levels { display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); }
.fbl-sel__label { display: block; font-size: 0.875rem; color: var(--fbl-muted); margin-bottom: 0.25rem; }
.fbl-sel__select,
.fbl-sel__input {
	box-sizing: border-box;
	width: 100%;
	min-height: 2.75rem;
	padding: 0.5rem 0.75rem;
	border: 1px solid var(--fbl-line);
	border-radius: var(--fbl-r);
	background: var(--fbl-bg);
	color: inherit;
	font: inherit;
}
.fbl-sel__select:focus-visible,
.fbl-sel__input:focus-visible,
.fbl-sel__btn:focus-visible,
.fbl-sel__results li:focus-visible {
	outline: 2px solid var(--fbl-accent);
	outline-offset: 2px;
}
.fbl-sel__pinrow { display: flex; gap: 0.5rem; }
.fbl-sel__btn {
	min-height: 2.75rem;
	padding: 0.5rem 1rem;
	border: 1px solid var(--fbl-accent);
	border-radius: var(--fbl-r);
	background: var(--fbl-bg);
	color: var(--fbl-accent);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}
.fbl-sel__btn[disabled] { opacity: 0.6; cursor: progress; }
.fbl-sel__search { position: relative; }
.fbl-sel__results {
	position: absolute;
	z-index: 20;
	left: 0;
	right: 0;
	margin: 0.25rem 0 0;
	padding: 0.25rem 0;
	list-style: none;
	background: var(--fbl-bg);
	border: 1px solid var(--fbl-line);
	border-radius: var(--fbl-r);
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
	max-height: 18rem;
	overflow-y: auto;
}
.fbl-sel__results li { padding: 0.5rem 0.75rem; cursor: pointer; display: grid; }
.fbl-sel__results li:hover,
.fbl-sel__results li:focus { background: rgba(29, 78, 216, 0.08); }
.fbl-sel__results small { color: var(--fbl-muted); }
.fbl-sel__results .fbl-sel__empty { cursor: default; color: var(--fbl-muted); }
.fbl-sel__status { min-height: 1.25rem; margin: 0; font-size: 0.875rem; color: var(--fbl-muted); }
.fbl-sel__levels[aria-busy="true"] { cursor: progress; }
