@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500&display=swap');

/* ── Filter Bar ────────────────────────────────────────────────────────────── */

.gmd-filter-bar {
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
	height: 64px !important;
	background: #111111 !important;
	padding: 0 40px !important;
	box-sizing: border-box !important;
	position: relative !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	margin: 0 !important;
}

/* ── Filter Groups ─────────────────────────────────────────────────────────── */

.gmd-filter-group {
	flex: 1 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	position: relative !important;
	height: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	background: transparent !important;
}

.gmd-filter-group + .gmd-filter-group {
	border-left: 1px solid #2a2a2a !important;
}

/* ── Trigger Buttons ───────────────────────────────────────────────────────── */

.gmd-filter-trigger {
	display: inline-flex !important;
	align-items: center !important;
	gap: 7px !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	border: none !important;
	border-width: 0 !important;
	border-style: none !important;
	border-color: transparent !important;
	border-radius: 0 !important;
	outline: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	color: #ffffff !important;
	font-family: 'DM Sans', sans-serif !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	letter-spacing: 0.15em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	cursor: pointer !important;
	line-height: 1 !important;
	white-space: nowrap !important;
	vertical-align: baseline !important;
}

.gmd-filter-trigger:hover,
.gmd-filter-trigger:focus,
.gmd-filter-trigger:active {
	background: transparent !important;
	background-color: transparent !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	color: #ffffff !important;
	text-decoration: none !important;
}

.gmd-trigger-label {
	color: #ffffff !important;
	font-family: 'DM Sans', sans-serif !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	letter-spacing: 0.15em !important;
	text-transform: uppercase !important;
}

.gmd-trigger-chevron {
	display: inline-block !important;
	font-size: 14px !important;
	line-height: 1 !important;
	opacity: 0.55 !important;
	transition: transform 0.2s ease, opacity 0.2s ease !important;
	color: #ffffff !important;
	border: none !important;
	background: transparent !important;
}

.gmd-filter-trigger[aria-expanded="true"] .gmd-trigger-chevron {
	transform: rotate(90deg) !important;
	opacity: 1 !important;
}

/* ── Dropdown Panels ───────────────────────────────────────────────────────── */

.gmd-filter-panel {
	position: absolute !important;
	top: 64px !important;
	left: 0 !important;
	min-width: 220px !important;
	background: #111111 !important;
	background-color: #111111 !important;
	border: 1px solid #2a2a2a !important;
	border-radius: 0 !important;
	padding: 20px !important;
	margin: 0 !important;
	z-index: 9999 !important;
	box-sizing: border-box !important;
	box-shadow: none !important;
}

.gmd-filter-panel[hidden] {
	display: none !important;
}

/* ── Custom Checkboxes ─────────────────────────────────────────────────────── */

.gmd-checkbox-label {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	color: #ffffff !important;
	font-family: 'DM Sans', sans-serif !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 2 !important;
	cursor: pointer !important;
	user-select: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}

.gmd-checkbox {
	-webkit-appearance: none !important;
	appearance: none !important;
	flex-shrink: 0 !important;
	width: 14px !important;
	height: 14px !important;
	min-width: 14px !important;
	min-height: 14px !important;
	border: 1px solid #555555 !important;
	border-radius: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	cursor: pointer !important;
	position: relative !important;
	display: inline-block !important;
	margin: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
	outline: none !important;
}

.gmd-checkbox:checked {
	background: #ffffff !important;
	background-color: #ffffff !important;
	border-color: #ffffff !important;
}

.gmd-checkbox:checked::after {
	content: '' !important;
	position: absolute !important;
	left: 4px !important;
	top: 1px !important;
	width: 4px !important;
	height: 7px !important;
	border: 1.5px solid #111111 !important;
	border-top: none !important;
	border-left: none !important;
	transform: rotate(45deg) !important;
}

/* ── Location Hierarchy ────────────────────────────────────────────────────── */

.gmd-location-header {
	color: #666666 !important;
	font-family: 'DM Sans', sans-serif !important;
	font-size: 10px !important;
	font-weight: 500 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	line-height: 2 !important;
	margin-top: 4px !important;
	padding-top: 8px !important;
	border-top: 1px solid #1e1e1e !important;
	background: transparent !important;
	cursor: default !important;
}

.gmd-location-header:first-child {
	border-top: none !important;
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.gmd-location-child {
	padding-left: 12px !important;
}

.gmd-panel-empty {
	color: #555555 !important;
	font-family: 'DM Sans', sans-serif !important;
	font-size: 13px !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
}

/* ── Price Display ─────────────────────────────────────────────────────────── */

.gmd-price-display {
	color: #ffffff !important;
	font-family: 'DM Sans', sans-serif !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	text-align: center !important;
	margin-bottom: 20px !important;
	letter-spacing: 0.01em !important;
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
}

.gmd-price-min-display,
.gmd-price-max-display {
	color: #ffffff !important;
	font-family: 'DM Sans', sans-serif !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* ── Dual-handle Range Slider ──────────────────────────────────────────────── */

.gmd-slider-wrap {
	position: relative !important;
	height: 20px !important;
	margin: 0 6px !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
}

.gmd-slider-track {
	position: absolute !important;
	top: 50% !important;
	left: 0 !important;
	right: 0 !important;
	height: 2px !important;
	transform: translateY(-50%) !important;
	background: #333333 !important;
	background-color: #333333 !important;
	pointer-events: none !important;
	border: none !important;
	border-radius: 0 !important;
}

.gmd-slider-range {
	position: absolute !important;
	top: 0 !important;
	height: 100% !important;
	background: #ffffff !important;
	background-color: #ffffff !important;
	border: none !important;
	border-radius: 0 !important;
}

.gmd-range {
	-webkit-appearance: none !important;
	appearance: none !important;
	position: absolute !important;
	top: 50% !important;
	left: 0 !important;
	width: 100% !important;
	height: 2px !important;
	transform: translateY(-50%) !important;
	background: transparent !important;
	background-color: transparent !important;
	outline: none !important;
	box-shadow: none !important;
	margin: 0 !important;
	padding: 0 !important;
	pointer-events: none !important;
	border: none !important;
	border-radius: 0 !important;
	accent-color: transparent !important;
}

.gmd-range-min { z-index: 2 !important; }
.gmd-range-max { z-index: 3 !important; }

.gmd-range::-webkit-slider-thumb {
	-webkit-appearance: none !important;
	appearance: none !important;
	width: 16px !important;
	height: 16px !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	background-color: #ffffff !important;
	cursor: grab !important;
	pointer-events: all !important;
	border: none !important;
	box-shadow: none !important;
	margin-top: -7px !important;
}

.gmd-range:active::-webkit-slider-thumb {
	cursor: grabbing !important;
}

.gmd-range::-moz-range-thumb {
	width: 16px !important;
	height: 16px !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	background-color: #ffffff !important;
	cursor: grab !important;
	pointer-events: all !important;
	border: none !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	margin-top: -7px !important;
}

.gmd-range:active::-moz-range-thumb {
	cursor: grabbing !important;
}

.gmd-range::-moz-range-track {
	background: transparent !important;
	border: none !important;
	height: 2px !important;
}

.gmd-range::-webkit-slider-runnable-track {
	background: transparent !important;
	border: none !important;
	height: 2px !important;
}


/* ── Wrapper (search row + filter bar) ────────────────────────────────────── */

.gmd-filter-wrap {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

/* ── Search row ───────────────────────────────────────────────────────────── */

.gmd-search-row {
	display: block !important;
	width: 100% !important;
	background: #111111 !important;
	padding: 0 !important;
	margin: 0 0 12px 0 !important;
	box-sizing: border-box !important;
}

.gmd-search-input {
	display: block !important;
	width: 100% !important;
	height: 64px !important;
	background: #111111 !important;
	background-color: #111111 !important;
	background-image: none !important;
	border: none !important;
	border-radius: 0 !important;
	outline: none !important;
	box-shadow: none !important;
	padding: 0 40px !important;
	margin: 0 !important;
	color: #ffffff !important;
	font-family: 'DM Sans', sans-serif !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	letter-spacing: 0.12em !important;
	box-sizing: border-box !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}

.gmd-search-input::placeholder {
	color: #6b665e !important;
	opacity: 1 !important;
	text-transform: none !important;
	letter-spacing: 0.08em !important;
}

.gmd-search-input:focus {
	outline: none !important;
	box-shadow: none !important;
}

/* Kill the native clear "x" in WebKit — it breaks the flat aesthetic */
.gmd-search-input::-webkit-search-cancel-button {
	-webkit-appearance: none !important;
	appearance: none !important;
}

/* ── Search submit button (5th cell in the filter bar) ────────────────────── */

.gmd-filter-group--action {
	flex: 0 0 auto !important;
	min-width: 140px !important;
}

.gmd-filter-search {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 100% !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	border: none !important;
	border-radius: 0 !important;
	outline: none !important;
	box-shadow: none !important;
	padding: 0 24px !important;
	margin: 0 !important;
	color: #c9a87c !important;
	font-family: 'DM Sans', sans-serif !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	transition: color 0.35s cubic-bezier(0.4, 0, 0.2, 1),
	            background-color 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
	white-space: nowrap !important;
}

.gmd-filter-search:hover,
.gmd-filter-search:focus-visible {
	background: #c9a87c !important;
	background-color: #c9a87c !important;
	color: #0a0a0a !important;
}

/* ── Responsive ───────────────────────────────────────────────────────────── */

@media (max-width: 1024px) {
	.gmd-filter-group--action { min-width: 110px !important; }
	.gmd-filter-search { letter-spacing: 0.12em !important; padding: 0 12px !important; }
}

@media (max-width: 768px) {
	.gmd-search-input {
		height: 56px !important;
		padding: 0 20px !important;
		font-size: 12px !important;
	}
	.gmd-filter-bar {
		height: auto !important;
		flex-wrap: wrap !important;
		padding: 0 !important;
	}
	.gmd-filter-group {
		flex: 1 1 50% !important;
		height: 56px !important;
	}
	.gmd-filter-group--action {
		flex: 1 1 100% !important;
		min-width: 0 !important;
		border-left: none !important;
		border-top: 1px solid #2a2a2a !important;
	}
}
