/* ==========================================================================
   Search Filters Bar & Results
   ========================================================================== */

/* === Filter Bar === */
.wlre-search-bar {
	background: var(--wlre-color-surface-50);
	border-bottom: 0.5px solid var(--wlre-color-neutral-400);
	padding: 16px 0;
	/* No margin-top needed — on no-hero pages the header is position:relative (in-flow).
	   On hero pages, the hero absorbs the absolute header. */
}

.wlre-search-bar__inner {
	display: flex;
	align-items: center;
	gap: 9px;
	flex-wrap: nowrap;
}

.wlre-search-bar__mobile-chrome {
	display: none;
}

.wlre-search-bar__mobile-actions {
	display: none;
}

/* Buy / Rent toggle */
.wlre-search-bar__toggle {
	display: flex;
	min-height: 48px;
	border: 0.5px solid var(--wlre-color-neutral-500);
	border-radius: var(--wlre-radius-sm);
	overflow: hidden;
	background: var(--wlre-color-white);
}

.wlre-search-bar__toggle-btn {
	padding: 0 16px;
	font-size: 14px;
	font-weight: 700;
	font-family: var(--wlre-font-body);
	border: none;
	background: none;
	cursor: pointer;
	color: var(--wlre-color-neutral-600);
	transition: background 0.15s ease, color 0.15s ease;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

.wlre-search-bar__toggle-btn--active {
	background: var(--wlre-color-text-900);
	color: var(--wlre-color-white);
}

/* Filter dropdown wrappers */
.wlre-search-bar__dropdown {
	position: relative;
	flex: 1 1 0;
	min-width: 0;
}

/* Filter trigger buttons */
.wlre-search-bar__filter-btn {
	width: 100%;
	padding: 0 16px;
	height: 48px;
	border: 0.5px solid var(--wlre-color-neutral-500);
	border-radius: var(--wlre-radius-sm);
	background: transparent;
	font-size: 14px;
	font-family: var(--wlre-font-body);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	color: var(--wlre-color-text-900);
	transition: background 0.15s ease;
	white-space: nowrap;
}

.wlre-search-bar__filter-label {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
}

.wlre-search-bar__filter-btn:hover {
	border-color: var(--wlre-color-brand-900);
	background: var(--wlre-color-surface-50);
}

/* Selected — filter has an applied value: 2px navy border + bold label */
.wlre-search-bar__filter-btn--active {
	border: 2px solid var(--wlre-color-brand-900);
	font-weight: 700;
}

/* Open — dropdown panel is expanded: 1px navy border */
.wlre-dropdown[data-open="true"] > .wlre-search-bar__filter-btn {
	border: 1px solid var(--wlre-color-brand-900);
}

/* Open + selected — keep the thicker 2px selected border */
.wlre-dropdown[data-open="true"] > .wlre-search-bar__filter-btn--active {
	border-width: 2px;
}

.wlre-search-bar__chevron {
	display: inline-flex;
	width: 16px;
	height: 16px;
	transition: transform 0.2s ease;
}
.wlre-search-bar__chevron svg {
	width: 100%;
	height: 100%;
}

.wlre-dropdown[data-open="true"] .wlre-search-bar__chevron {
	transform: rotate(180deg);
}

.wlre-search-bar__filter-icon {
	display: inline-flex;
	width: 14px;
	height: 14px;
}
.wlre-search-bar__filter-icon svg {
	width: 100%;
	height: 100%;
}

/* Dropdown panel (overrides generic dropdown for filter bar context) */
.wlre-search-bar__panel {
	min-width: 240px;
	padding: 16px;
	border-color: var(--wlre-color-neutral-400);
	box-shadow: var(--wlre-shadow-card);
}

.wlre-search-bar__panel--range {
	min-width: 300px;
}

/* === Price slider panel (Figma 6116:155683) === */
.wlre-search-bar__panel--price {
	min-width: 320px;
	padding: 20px;
	flex-direction: column;
	gap: 12px;
}

.wlre-dropdown[data-open="true"] .wlre-search-bar__panel--price,
.wlre-dropdown[data-open="true"] .wlre-search-bar__panel--surface {
	display: flex;
}

.wlre-search-bar__panel--surface {
	min-width: 320px;
	padding: 20px;
	flex-direction: column;
	gap: 12px;
}

/* Track container */
.wlre-price-slider {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.wlre-price-slider__track {
	position: relative;
	height: 28px; /* thumb height — click area */
	display: flex;
	align-items: center;
}

/* Full grey baseline track */
.wlre-price-slider__track::before {
	content: '';
	position: absolute;
	inset-inline: 0;
	top: 50%;
	height: 2px;
	background: var(--wlre-color-neutral-400);
	transform: translateY(-50%);
	border-radius: 8px;
	pointer-events: none;
}

/* Navy fill between the two thumbs — left/right set by JS */
.wlre-price-slider__fill {
	position: absolute;
	top: 50%;
	height: 2px;
	background: var(--wlre-color-brand-900);
	transform: translateY(-50%);
	border-radius: 8px;
	pointer-events: none;
	left: 0;
	right: 0;
}

/* Both range inputs overlay each other, centered on the 28px container */
.wlre-price-slider__input {
	position: absolute;
	inset-inline: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	height: 2px;
	margin: 0;
	background: transparent;
	appearance: none;
	-webkit-appearance: none;
	pointer-events: none;
	outline: none;
}

.wlre-price-slider__input--min { z-index: 3; }
.wlre-price-slider__input--max { z-index: 4; }

/* Webkit thumb */
.wlre-price-slider__input::-webkit-slider-runnable-track {
	background: transparent;
}
.wlre-price-slider__input::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--wlre-color-white);
	border: 0.5px solid #999;
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3), 0 1px 1.5px rgba(0, 0, 0, 0.15);
	pointer-events: auto;
	cursor: pointer;
}

/* Firefox thumb */
.wlre-price-slider__input::-moz-range-track { background: transparent; }
.wlre-price-slider__input::-moz-range-thumb {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--wlre-color-white);
	border: 0.5px solid #999;
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
	pointer-events: auto;
	cursor: pointer;
}

/* € 50K / € 1M scale labels */
.wlre-price-slider__scale {
	display: flex;
	justify-content: space-between;
	font-family: var(--wlre-font-body);
	font-size: 12px;
	line-height: 1.48;
	color: var(--wlre-color-text-900);
}

/* Side-by-side min/max inputs */
.wlre-price-slider__inputs {
	display: flex;
	gap: 16px;
}

/* Floating-label input field */
.wlre-price-float-field {
	position: relative;
	flex: 1;
	border: 0.5px solid var(--wlre-color-neutral-600);
	border-radius: var(--wlre-radius-sm);
	background: var(--wlre-color-white);
}

.wlre-price-float-field__input {
	display: block;
	width: 100%;
	height: 52px;
	padding: 0 24px;
	border: 0;
	background: transparent;
	font-family: var(--wlre-font-body);
	font-size: 14px;
	line-height: 1.48;
	color: var(--wlre-color-text-900);
	outline: 0;
	border-radius: var(--wlre-radius-sm);
	/* Remove number spinners */
	-moz-appearance: textfield;
}
.wlre-price-float-field__input::-webkit-outer-spin-button,
.wlre-price-float-field__input::-webkit-inner-spin-button {
	-webkit-appearance: none;
}

.wlre-price-float-field__label {
	position: absolute;
	top: -10.5px;
	inset-inline-start: 19.5px;
	padding: 0 4px;
	background: var(--wlre-color-white);
	font-family: var(--wlre-font-body);
	font-size: 12px;
	line-height: 1.48;
	color: var(--wlre-color-neutral-600);
	pointer-events: none;
	white-space: nowrap;
}

/* Clear link button */
.wlre-price-clear-btn {
	background: none;
	border: 0;
	padding: 4px;
	height: 32px;
	font-family: var(--wlre-font-body);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.48;
	color: var(--wlre-color-text-900);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
}
.wlre-price-clear-btn:hover {
	opacity: 0.7;
}

.wlre-search-bar__panel--more {
	min-width: 320px;
}

.wlre-dropdown[data-open="true"] .wlre-search-bar__panel--more {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* === Option list — vertical rows (bedrooms, bathrooms).
 * Renders directly in the dropdown panel so all options are visible at once.
 * === */
.wlre-search-bar__panel--list {
	padding: 8px 0;
	min-width: 260px;
	max-height: 360px;
	overflow-y: auto;
}

/* === Chip grid panel (City / Property Type) — Figma 6116:138651.
 * Wrapping pill chips instead of a vertical list.
 * === */
.wlre-search-bar__panel--chips {
	padding: 20px;
	min-width: 320px;
	max-width: 480px;
}

.wlre-search-bar__panel--chips .wlre-search-bar__option-list {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.wlre-search-bar__panel--chips .wlre-search-bar__option {
	width: auto;
	height: 36px;
	padding: 0 28px;
	border: 0.5px solid var(--wlre-color-neutral-400);
	border-radius: 52px;
	background: var(--wlre-color-white);
	justify-content: center;
	gap: 0;
}

.wlre-search-bar__panel--chips .wlre-search-bar__option:hover:not(:disabled) {
	background: var(--wlre-color-surface-50);
}

.wlre-search-bar__panel--chips .wlre-search-bar__option--active {
	background: rgba(129, 216, 208, 0.12);
	border: 1.5px solid var(--wlre-color-teal-700);
	font-weight: 700;
}

.wlre-search-bar__panel--chips .wlre-search-bar__option-count {
	display: none;
}

.wlre-search-bar__option-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.wlre-search-bar__option {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	padding: 10px 16px;
	background: none;
	border: 0;
	outline: none;
	font-family: var(--wlre-font-body);
	font-size: 14px;
	line-height: 1.48;
	color: var(--wlre-color-text-900);
	text-align: start;
	cursor: pointer;
}

.wlre-search-bar__option:focus-visible {
	outline: 2px solid var(--wlre-color-accent-500);
	outline-offset: -2px;
}
.wlre-search-bar__option:hover:not(:disabled) {
	background: var(--wlre-color-surface-50);
}
.wlre-search-bar__option--active {
	background: var(--wlre-color-surface-50);
	font-weight: 700;
	color: var(--wlre-color-text-900);
}
.wlre-search-bar__option:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}
.wlre-search-bar__option-count {
	color: var(--wlre-color-neutral-600);
	font-size: 12px;
	font-variant-numeric: tabular-nums;
}

/* Selects inside filter panels */
.wlre-search-bar__select {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--wlre-color-neutral-200);
	border-radius: var(--wlre-radius-sm);
	font-size: 14px;
	font-family: var(--wlre-font-body);
	color: var(--wlre-color-text-900);
	background: var(--wlre-color-white);
	appearance: none;
	cursor: pointer;
}

.wlre-search-bar__select:focus {
	border-color: var(--wlre-color-accent-500);
	outline: none;
}

/* Range inputs (price, surface) */
.wlre-search-bar__range-row {
	display: flex;
	align-items: flex-end;
	gap: 8px;
}

.wlre-search-bar__range-label {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 12px;
	font-family: var(--wlre-font-body);
	color: var(--wlre-color-neutral-600);
}

.wlre-search-bar__range-input {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--wlre-color-neutral-200);
	border-radius: var(--wlre-radius-sm);
	font-size: 14px;
	font-family: var(--wlre-font-body);
	color: var(--wlre-color-text-900);
}

.wlre-search-bar__range-input:focus {
	border-color: var(--wlre-color-accent-500);
	outline: none;
}

.wlre-search-bar__range-sep {
	font-size: 16px;
	color: var(--wlre-color-neutral-400);
	padding-bottom: 10px;
}

/* More filters fieldsets */
.wlre-search-bar__fieldset {
	border: none;
	padding: 0;
	margin: 0;
}

.wlre-search-bar__legend {
	font-size: 12px;
	font-weight: 700;
	font-family: var(--wlre-font-body);
	color: var(--wlre-color-text-900);
	margin-bottom: 8px;
}

/* Apply / Search button */
.wlre-search-bar__apply {
	padding: 0 20px;
	height: 48px;
	min-width: 100px;
	font-size: 14px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	white-space: nowrap;
}

.wlre-search-bar .wlre-save-search-btn {
	flex: 0 0 auto;
	justify-content: center;
	height: 48px;
	padding: 0 24px;
	gap: 8px;
	border: 0;
	border-radius: var(--wlre-radius-sm);
	background: #0f0f0f;
	color: var(--wlre-color-white);
	font-size: 14px;
	font-weight: 700;
	text-transform: capitalize;
	white-space: nowrap;
}

.wlre-search-bar .wlre-save-search-btn:hover {
	background: #333;
	border-color: transparent;
}

.wlre-search-bar .wlre-save-search-btn.is-saved {
	background: var(--wlre-color-brand-900);
	color: var(--wlre-color-white);
}

.wlre-search-bar .wlre-save-search-btn__icon {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}

.wlre-search-bar .wlre-save-search-btn__icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

/* ==========================================================================
   Search Results Area
   ========================================================================== */

.wlre-search-results {
	padding: 40px 0 80px;
	min-height: 500px;
	background: var(--wlre-color-white);
}

/* --- Toolbar --- */
.wlre-search-toolbar {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 20px;
}

.wlre-search-toolbar__left {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	flex-wrap: wrap;
}

.wlre-search-toolbar__right {
	display: flex;
	align-items: center;
	gap: 24px;
	min-height: 48px;
}

.wlre-search-toolbar__count {
	font-family: var(--wlre-font-heading);
	font-size: 28px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--wlre-color-text-900);
	margin: 0;
	white-space: nowrap;
}

.wlre-search-toolbar__count strong {
	color: var(--wlre-color-text-900);
	font-weight: 600;
}

/* Buy/Rent purpose toggle — Figma 6717:431843 */
.wlre-search-purpose-toggle {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	padding: 4px;
	border-radius: 48px;
	border: 0.5px solid var(--wlre-color-neutral-400);
	background: #f5f5f5;
}

.wlre-search-purpose-toggle__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	padding: 12px 20px;
	border: 2.333px solid transparent;
	border-radius: 32px;
	background: transparent;
	color: var(--wlre-color-text-900);
	font-family: var(--wlre-font-body);
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
	line-height: 1;
	transition: background 0.15s ease, border-color 0.15s ease;
}

.wlre-search-purpose-toggle__btn--active {
	background: var(--wlre-color-green-50);
	border-color: var(--wlre-color-teal-700);
}

.wlre-search-toolbar__control {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.wlre-search-toolbar__control-label {
	font-family: var(--wlre-font-body);
	font-size: 14px;
	font-weight: 400;
	color: var(--wlre-color-text-900);
	white-space: nowrap;
}

/* --- Filter Chips --- */
.wlre-filter-chips {
	display: flex;
	align-items: center;
	min-height: 48px;
	gap: 8px;
	flex-wrap: wrap;
}

.wlre-filter-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 40px;
	padding: 0 20px;
	background: var(--wlre-color-white);
	border: 0.5px solid var(--wlre-color-neutral-400);
	border-radius: 52px;
	font-size: 14px;
	font-family: var(--wlre-font-body);
	color: var(--wlre-color-text-900);
	text-decoration: none;
	transition: background 0.15s ease, border-color 0.15s ease;
}

.wlre-filter-chip:hover {
	background: var(--wlre-color-surface-50);
	border-color: var(--wlre-color-neutral-400);
}

.wlre-filter-chip__close {
	width: 12px;
	height: 12px;
	flex-shrink: 0;
	opacity: 0.5;
}

.wlre-filter-chip:hover .wlre-filter-chip__close {
	opacity: 1;
}

.wlre-filter-chips__clear {
	font-size: 13px;
	font-family: var(--wlre-font-body);
	color: var(--wlre-color-text-900);
	text-decoration: none;
	font-weight: 700;
}

.wlre-filter-chips__clear:hover {
	text-decoration: underline;
}

/* --- View Toggle — Figma 6819:382251 --- */
/* Container: white bg, 1px #D0D0D0 border, 8px radius, 4px padding, 8px gap */
.wlre-view-toggle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 4px;
	border: 1px solid var(--wlre-color-neutral-400);
	border-radius: var(--wlre-radius-sm);
	background: var(--wlre-color-white);
}

/* Each button: 32×32, 8px radius, icon centred */
.wlre-view-toggle__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: var(--wlre-radius-sm);
	background: transparent;
	color: var(--wlre-color-neutral-600);
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease;
}

.wlre-view-toggle__btn:hover {
	background: var(--wlre-color-surface-50);
	color: var(--wlre-color-text-900);
}

/* Active button: navy fill, white icon */
.wlre-view-toggle__btn--active {
	background: var(--wlre-color-brand-900);
	color: var(--wlre-color-white);
}

.wlre-view-toggle__btn--active:hover {
	background: var(--wlre-color-brand-900);
	color: var(--wlre-color-white);
}

/* Icons: 16×16 to match Figma */
.wlre-view-toggle__btn svg,
.wlre-view-toggle__icon svg {
	width: 16px;
	height: 16px;
	display: block;
	flex-shrink: 0;
}

.wlre-view-toggle__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* --- Sort Dropdown — Figma 6722:438674 --- */
/* Chip: 0.5px #999 border, 8px radius, 14px Regular, gap 8px */
.wlre-sort-dropdown__trigger {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 0 16px;
	height: 40px;
	border: 0.5px solid var(--wlre-color-neutral-500);
	border-radius: var(--wlre-radius-sm);
	background: var(--wlre-color-white);
	font-size: var(--wlre-font-size-m);
	font-weight: 400;
	font-family: var(--wlre-font-body);
	color: var(--wlre-color-text-900);
	cursor: pointer;
	white-space: nowrap;
}

.wlre-sort-dropdown__trigger:hover {
	background: var(--wlre-color-surface-50);
}

/* Chevron points DOWN (closed state); flips UP when open via rotate(180deg) */
.wlre-sort-dropdown__chevron {
	display: inline-flex;
	width: 16px;
	height: 16px;
	transition: transform 0.2s ease;
}

.wlre-sort-dropdown__chevron svg {
	width: 100%;
	height: 100%;
}

.wlre-dropdown[data-open="true"] .wlre-sort-dropdown__chevron {
	transform: rotate(180deg);
}

.wlre-sort-dropdown__menu {
	right: 0;
	left: auto;
	min-width: 200px;
}

/* --- Property Grid --- */
.wlre-search-grid {
	display: grid;
	gap: 24px;
}

.wlre-search-grid--grid {
	grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
}

.wlre-search-grid--grid .wlre-property-card {
	width: 100%; /* fill grid cell, override fixed 400px */
}

.wlre-search-grid--list {
	grid-template-columns: 1fr;
}

.wlre-search-grid--list .wlre-property-card {
	width: 100%;
	min-width: 0;
	height: 303px;
	display: grid;
	grid-template-columns: 660px minmax(0, 1fr);
	grid-template-rows: minmax(0, 1fr) auto;
	gap: 0;
	padding: 0;
	overflow: hidden;
}

.wlre-search-grid--list .wlre-property-card__image {
	grid-row: 1 / 3;
	width: 660px;
	height: 303px;
	border-radius: 0;
}

.wlre-search-grid--list .wlre-property-card__body {
	flex: 1;
	min-width: 0;
	padding: var(--wlre-space-24) var(--wlre-space-24) 0;
	gap: var(--wlre-space-24);
}

.wlre-search-grid--list .wlre-property-card__actions {
	width: 100%;
	padding: 0 var(--wlre-space-24) var(--wlre-space-24);
	margin-top: 0;
	gap: var(--wlre-space-12);
	flex-wrap: nowrap;
	align-self: end;
}

.wlre-search-grid--list .wlre-property-card__price {
	font-size: var(--wlre-font-size-h3);
}

.wlre-search-grid--list .wlre-property-card__visit {
	height: 50px;
}

.wlre-search-grid--list .wlre-property-card__action-btn {
	width: 52px;
	height: 52px;
	min-width: unset;
	padding: var(--wlre-space-16);
}

/* Save and WhatsApp are icon-only in list view — label stays hidden */
.wlre-search-grid--list .wlre-property-card__action-label {
	display: none;
}

/* Agent info — hidden in grid view, shown in list view */
.wlre-property-card__agent {
	display: none;
}

.wlre-search-grid--list .wlre-property-card__agent {
	display: flex;
	align-items: center;
	gap: var(--wlre-space-12);
	flex: 1 1 auto;
	min-width: 0;
}

.wlre-property-card__agent-avatar {
	width: 52px;
	height: 52px;
	border-radius: var(--wlre-radius-sm);
	background-color: #e8e8e8;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23b0b0b0'%3E%3Cpath d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center 45%;
	background-size: 65%;
	flex-shrink: 0;
	overflow: hidden;
}

.wlre-property-card__agent-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: var(--wlre-radius-sm);
}

.wlre-property-card__agent-info {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.wlre-property-card__agent-name {
	font-family: var(--wlre-font-body);
	font-weight: 700;
	font-size: 16px;
	line-height: 1.2;
	color: var(--wlre-color-text-900);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.wlre-property-card__agent-role {
	font-family: var(--wlre-font-body);
	font-weight: 400;
	font-size: 12px;
	line-height: 1.48;
	color: var(--wlre-color-text-900);
}

/* Empty state: see empty-state.css (.wlre-empty). */

/* --- Pagination --- */
.wlre-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	margin-top: 48px;
}

.wlre-pagination__btn,
.wlre-pagination__page {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: var(--wlre-radius-sm);
	border: 1px solid var(--wlre-color-neutral-200);
	background: var(--wlre-color-white);
	font-family: var(--wlre-font-body);
	font-size: 14px;
	font-weight: 400;
	color: var(--wlre-color-text-900);
	text-decoration: none;
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease;
}

.wlre-pagination__btn:hover,
.wlre-pagination__page:hover {
	background: var(--wlre-color-surface-50);
	border-color: var(--wlre-color-neutral-400);
}

.wlre-pagination__page--current {
	background: var(--wlre-color-accent-500);
	border-color: var(--wlre-color-accent-500);
	color: var(--wlre-color-text-900);
	font-weight: 700;
	cursor: default;
}

.wlre-pagination__page--current:hover {
	background: var(--wlre-color-accent-500);
	border-color: var(--wlre-color-accent-500);
}

.wlre-pagination__btn--disabled {
	opacity: 0.3;
	cursor: not-allowed;
	pointer-events: none;
}

.wlre-pagination__ellipsis {
	width: 40px;
	text-align: center;
	color: var(--wlre-color-neutral-400);
	font-size: 14px;
}

.wlre-pagination__btn svg {
	width: 16px;
	height: 16px;
}

/* --- Loading state (toggled by JS) --- */
.wlre-search-results--loading {
	pointer-events: none;
}

.wlre-search-results--loading .wlre-container {
	opacity: 0.5;
	transition: opacity 0.2s ease;
}

/* ==========================================================================
   Responsive — Mobile
   ========================================================================== */

/* === Mobile actions bar (Figma 6086:114665 / 6819:382347) ==================
 * Replaces the inline filter form on mobile with two buttons sitting above
 * the results: Filtri (opens mobile-search-bottomsheet) + Salva ricerca
 * (opens the save-search dialog). Hidden on desktop where the inline form
 * already provides the same affordances. */
.wlre-search-mobile-actions {
	display: none;
}

@media (max-width: 767px) {
	.wlre-search-results {
		padding-block-start: 10px;
	}

	/* Figma 6819:382346 — cream wrapper with bottom hairline. */
	.wlre-search-mobile-actions {
		display: flex;
		gap: 9px;
		align-items: stretch;
		justify-content: center;
		padding: 16px;
		background: var(--wlre-color-surface-50, #faf8f4);
		border-block-end: 0.5px solid var(--wlre-color-neutral-300, #d0d0d0);
	}

	/* Figma 6819:382348 — outline "Filtri" pill. */
	.wlre-search-mobile-actions__filter {
		flex: 1 1 0;
		min-width: 0;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 12px;
		height: 48px;
		padding: 12px 16px;
		background: transparent;
		border: 1px solid rgba(10, 36, 56, 0.25);
		border-radius: 8px;
		color: #0a2438;
		font-family: var(--wlre-font-body);
		font-size: 14px;
		font-weight: 400;
		line-height: 1.48;
		cursor: pointer;
	}

	.wlre-search-mobile-actions__filter-icon {
		display: inline-flex;
		width: 16px;
		height: 16px;
		color: #0a2438;
	}

	.wlre-search-mobile-actions__filter-icon svg {
		width: 100%;
		height: 100%;
	}

	/* Figma 6819:382349 — solid black "Salva ricerca" button.
	 * 2-class selector (.wlre-save-search-btn.wlre-search-mobile-actions__save)
	 * outranks the base .wlre-save-search-btn rule in saved-searches.css, which
	 * loads later in the cascade and sets bg:white + radius:999px otherwise. */
	.wlre-save-search-btn.wlre-search-mobile-actions__save {
		flex: 1 1 0;
		min-width: 0;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 4px;
		height: 48px;
		padding: 16px 24px;
		background: #0f0f0f;
		color: #fff;
		border: 0;
		border-radius: 8px;
		font-family: var(--wlre-font-body);
		font-size: 14px;
		font-weight: 700;
		line-height: 1.48;
		cursor: pointer;
		white-space: nowrap;
	}

	.wlre-save-search-btn.wlre-search-mobile-actions__save:hover {
		background: #0f0f0f;
	}

	/* Saved state — keep the black background (Figma doesn't show a separate
	 * variant for this bar) and swap the outline heart for the filled aqua one. */
	.wlre-save-search-btn.wlre-search-mobile-actions__save.is-saved {
		background: #0f0f0f;
		border: 0;
		color: #fff;
	}

	.wlre-save-search-btn.wlre-search-mobile-actions__save .wlre-save-search-btn__icon {
		width: 20px;
		height: 20px;
		display: inline-flex;
	}

	.wlre-save-search-btn.wlre-search-mobile-actions__save .wlre-save-search-btn__icon svg {
		width: 100%;
		height: 100%;
	}

	.wlre-save-search-btn.wlre-search-mobile-actions__save .wlre-save-search-btn__icon--on { display: none; }
	.wlre-save-search-btn.wlre-search-mobile-actions__save.is-saved .wlre-save-search-btn__icon--off { display: none; }
	.wlre-save-search-btn.wlre-search-mobile-actions__save.is-saved .wlre-save-search-btn__icon--on { display: inline-flex; color: var(--wlre-color-accent-500, #81d8d0); }

	/* Hide the inline filter form on mobile — the mobile bottom-sheet
	 * (mobile-search-bottomsheet.php) now owns the filter UI on small viewports. */
	.wlre-search-bar {
		display: none;
	}

	/* Hide the grid/list view toggle on mobile — Figma 6086:114665 shows
	 * only Sort, no view switch. :has() selector targets the toolbar control
	 * wrapper that contains the view-toggle so the label hides too. */
	.wlre-search-toolbar__control:has(.wlre-view-toggle) {
		display: none;
	}
}

@media (max-width: 767px) {
	.wlre-search-bar {
		padding: 8px 0 0;
		background: rgba(10, 36, 56, 0.62);
		border-bottom: 0;
	}

	.wlre-search-bar__inner {
		flex-direction: column;
		align-items: stretch;
		gap: 24px;
		padding: 0 0 8px;
		background: var(--wlre-color-white);
		border-radius: 20px 20px 0 0;
		max-height: calc(92svh - 8px);
		overflow-y: auto;
	}

	.wlre-search-bar .wlre-container {
		padding-inline: 0;
	}

	.wlre-search-bar__mobile-chrome {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 20px;
		padding: 8px 12px 18px;
		background: var(--wlre-color-white);
		border-radius: 20px 20px 0 0;
	}

	.wlre-search-bar__mobile-handle {
		width: 60px;
		height: 6px;
		border-radius: 999px;
		background: #d5d5d5;
	}

	.wlre-search-bar__mobile-title {
		margin: 0;
		font-size: 22px;
		line-height: 1.2;
		font-weight: 700;
		color: var(--wlre-color-text-900);
	}

	.wlre-search-bar__filter-btn {
		width: 100%;
		justify-content: flex-start;
		height: auto;
		padding: 0 12px;
		border: 0;
		border-radius: 0;
		background: transparent;
		font-size: 12px;
		font-weight: 700;
		pointer-events: none;
	}

	.wlre-search-bar__toggle {
		align-self: stretch;
		min-height: 44px;
		height: auto;
		margin: 0 12px;
		border: 0.5px solid var(--wlre-color-neutral-400);
		border-radius: 48px;
		background: #f5f5f5;
		padding: 4px;
	}

	.wlre-search-bar__toggle-btn {
		flex: 1;
		text-align: center;
		min-height: 36px;
		border-radius: 32px;
		font-size: 14px;
		font-weight: 700;
		color: var(--wlre-color-text-900);
	}

	.wlre-search-bar__toggle-btn--active {
		background: var(--wlre-color-green-50);
		border: 1.5px solid var(--wlre-color-teal-700);
		box-shadow: none;
	}

	.wlre-search-bar__chevron,
	.wlre-search-bar__option-count {
		display: none;
	}

	.wlre-search-bar__dropdown {
		display: flex;
		flex-direction: column;
		gap: 12px;
		padding: 0 12px 24px;
		border-bottom: 0.5px solid var(--wlre-color-neutral-200);
	}

	.wlre-search-bar__dropdown:nth-last-of-type(1) {
		border-bottom: 0;
	}

	.wlre-search-bar__panel,
	.wlre-search-bar__panel--list,
	.wlre-search-bar__panel--range {
		position: static;
		display: block;
		width: 100%;
		min-width: 0;
		max-height: none;
		padding: 0;
		border: 0;
		box-shadow: none;
		background: transparent;
		overflow: visible;
	}

	.wlre-search-bar__option-list {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
	}

	.wlre-search-bar__option {
		width: auto;
		min-height: 28px;
		padding: 0 20px;
		border: 0.5px solid var(--wlre-color-neutral-400);
		border-radius: 999px;
		background: var(--wlre-color-white);
		font-size: 12px;
		line-height: 1;
		justify-content: center;
	}

	.wlre-search-bar__option--active {
		background: rgba(129, 216, 208, 0.12);
		border: 1.5px solid var(--wlre-color-teal-700);
		color: var(--wlre-color-text-900);
		font-weight: 700;
	}

	.wlre-search-bar__range-row {
		align-items: flex-end;
		gap: 12px;
	}

	.wlre-search-bar__range-label {
		gap: 4px;
		font-size: 11px;
		color: var(--wlre-color-neutral-600);
	}

	.wlre-search-bar__range-input {
		height: 52px;
		padding: 0 16px;
		border: 0.5px solid var(--wlre-color-neutral-600);
		border-radius: var(--wlre-radius-sm);
		font-size: 14px;
	}

	.wlre-search-bar__range-sep {
		display: none;
	}

	.wlre-search-bar__apply {
		width: 100%;
		justify-content: center;
		height: 56px;
		margin: 56px 12px 8px;
		width: calc(100% - 24px);
		border-radius: 6px;
		font-weight: 500;
	}

	.wlre-search-bar .wlre-save-search-btn {
		display: none; /* replaced by the mobile actions footer on small screens */
	}

	/* Mobile sticky footer: Clear selection + Search */
	.wlre-search-bar__mobile-actions {
		display: flex;
		gap: 12px;
		flex-shrink: 0;
		padding: 8px 16px calc(32px + env(safe-area-inset-bottom, 0));
		background: var(--wlre-color-white);
		box-shadow: 0 -4px 7px -1px rgba(99, 99, 99, 0.04);
	}

	.wlre-search-bar__mobile-action {
		flex: 1 1 0;
		min-width: 0;
		height: 56px;
		border-radius: var(--wlre-radius-sm);
		font-family: var(--wlre-font-body);
		font-size: 16px;
		font-weight: 700;
		cursor: pointer;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		text-decoration: none;
		transition: background 0.15s ease, border-color 0.15s ease;
	}

	.wlre-search-bar__mobile-action--clear {
		background: transparent;
		color: var(--wlre-color-text-900);
		border: 1px solid var(--wlre-color-text-900);
	}

	.wlre-search-bar__mobile-action--search {
		background: var(--wlre-color-accent-500);
		color: var(--wlre-color-text-900);
		border: 1px solid transparent;
	}

	.wlre-search-bar__mobile-action--search:hover {
		background: var(--wlre-color-accent-600);
	}

	/* Toolbar stacks */
	.wlre-search-toolbar {
		flex-direction: column;
		align-items: stretch;
	}

	.wlre-search-toolbar__left {
		flex-direction: column;
		align-items: flex-start;
		width: 100%;
		min-width: 0;
	}

	.wlre-search-toolbar__count {
		font-size: 22px;
		white-space: normal;
	}

	.wlre-search-toolbar__right {
		justify-content: space-between;
		flex-wrap: wrap;
		gap: 12px;
	}

	.wlre-search-toolbar__control {
		flex: 0 0 auto;
		justify-content: flex-start;
		gap: var(--wlre-space-12);
	}

	.wlre-filter-chips {
		min-height: 0;
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		width: 100%;
		min-width: 0;
	}

	.wlre-filter-chips::-webkit-scrollbar {
		display: none;
	}

	.wlre-filter-chip {
		white-space: nowrap;
		flex-shrink: 0;
	}

	.wlre-filter-chips__clear {
		white-space: nowrap;
		flex-shrink: 0;
	}

	.wlre-view-toggle__btn {
		width: 44px;
		height: 44px;
	}

	.wlre-sort-dropdown__trigger {
		height: var(--wlre-tap-target);
	}

	/* Grid becomes single column */
	.wlre-search-grid--grid {
		grid-template-columns: 1fr;
	}

	.wlre-search-grid--grid .wlre-property-card {
		width: 100%;
		height: auto;
	}

	/* List view also stacks on mobile */
	.wlre-search-grid--list .wlre-property-card {
		display: flex;
		flex-direction: column;
		grid-template-columns: none;
		grid-template-rows: none;
		height: auto;
		padding: var(--wlre-space-12);
		gap: var(--wlre-space-12);
	}

	.wlre-search-grid--list .wlre-property-card__image {
		width: 100%;
		height: 200px;
		border-radius: var(--wlre-radius-lg);
	}

	.wlre-search-grid--list .wlre-property-card__body {
		padding: 0;
		gap: var(--wlre-space-16);
	}

	.wlre-search-grid--list .wlre-property-card__price {
		font-size: var(--wlre-font-size-h5);
	}

	.wlre-search-grid--list .wlre-property-card__actions {
		padding: 0;
		flex-wrap: wrap;
		align-items: center;
	}

	/* Agent fills its own row; visit + save + WA share the row below. */
	.wlre-search-grid--list .wlre-property-card__agent {
		flex: 0 0 100%;
	}

	.wlre-search-grid--list .wlre-property-card__visit {
		flex: 1 0 100px;
	}

	.wlre-search-grid--list .wlre-property-card__action-label {
		display: none;
	}

	.wlre-pagination {
		gap: 2px;
	}

	.wlre-pagination__btn,
	.wlre-pagination__page {
		width: var(--wlre-tap-target);
		height: var(--wlre-tap-target);
		font-size: 13px;
	}
}

/* === Search page FAQ section (below results) ===
 * Figma 6808:332957 — pt=40, pb=80 on the search/listing pages.
 * The global .wlre-faq uses 80/80; override top padding for search context. */
.wlre-page--search .wlre-faq {
	padding-block-start: var(--wlre-space-40);
	background: var(--wlre-color-white);
}

/* === Mobile sort bottom-sheet — Figma 6116:132756 ==================== */
@media (max-width: 767px) {
	.wlre-sort-sheet {
		position: fixed;
		inset: 0;
		z-index: 300;
		display: flex;
		align-items: flex-end;
		pointer-events: none;
		visibility: hidden;
	}

	.wlre-sort-sheet[aria-hidden="false"] {
		pointer-events: auto;
		visibility: visible;
	}

	.wlre-sort-sheet__scrim {
		position: absolute;
		inset: 0;
		background: rgba(10, 36, 56, 0.62);
		opacity: 0;
		transition: opacity 0.25s ease;
	}

	.wlre-sort-sheet[aria-hidden="false"] .wlre-sort-sheet__scrim {
		opacity: 1;
	}

	.wlre-sort-sheet__panel {
		position: relative;
		width: 100%;
		background: var(--wlre-color-white);
		border-radius: 20px 20px 0 0;
		display: flex;
		flex-direction: column;
		max-height: 85vh;
		transform: translateY(100%);
		transition: transform 0.3s cubic-bezier(0.32, 0.72, 0, 1);
	}

	.wlre-sort-sheet[aria-hidden="false"] .wlre-sort-sheet__panel {
		transform: translateY(0);
	}

	.wlre-sort-sheet__grabber-row {
		display: flex;
		justify-content: center;
		padding: 12px 10px;
		flex-shrink: 0;
	}

	.wlre-sort-sheet__grabber {
		width: 60px;
		height: 6px;
		background: var(--wlre-color-neutral-400);
		border-radius: 20px;
	}

	.wlre-sort-sheet__body {
		overflow-y: auto;
		padding: 16px 16px 32px;
		display: flex;
		flex-direction: column;
		gap: var(--wlre-space-24);
	}

	.wlre-sort-sheet__title {
		font-family: var(--wlre-font-heading);
		font-weight: 600;
		font-size: 22px;
		line-height: 1.2;
		color: var(--wlre-color-text-900);
		text-align: center;
		margin: 0;
	}

	.wlre-sort-sheet__list {
		list-style: none;
		margin: 0;
		padding: 0;
		display: flex;
		flex-direction: column;
		gap: var(--wlre-space-8);
	}

	.wlre-sort-sheet__item {
		display: flex;
		align-items: center;
		gap: var(--wlre-space-8);
		padding: var(--wlre-space-12) 0;
		cursor: pointer;
		border: 0;
		background: none;
		width: 100%;
	}

	.wlre-sort-sheet__item-label {
		flex: 1 1 0;
		min-width: 0;
		font-family: var(--wlre-font-body);
		font-weight: 400;
		font-size: 14px;
		line-height: 1.48;
		color: var(--wlre-color-text-900);
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.wlre-sort-sheet__item.is-active .wlre-sort-sheet__item-label {
		font-weight: 700;
	}

	.wlre-sort-sheet__item-check {
		display: none;
		flex-shrink: 0;
		width: 20px;
		height: 20px;
		align-items: center;
		justify-content: center;
	}

	.wlre-sort-sheet__item.is-active .wlre-sort-sheet__item-check {
		display: flex;
	}

	.wlre-sort-sheet__footer {
		flex-shrink: 0;
		padding: var(--wlre-space-8) var(--wlre-space-16) calc(var(--wlre-space-32) + env(safe-area-inset-bottom, 0px));
		background: var(--wlre-color-white);
		box-shadow: 0 -4px 7px -1px rgba(99, 99, 99, 0.04);
	}

	.wlre-sort-sheet__confirm {
		width: 100%;
		height: 56px;
		background: #0f0f0f;
		color: var(--wlre-color-white);
		border: 0;
		border-radius: var(--wlre-radius-sm);
		font-family: var(--wlre-font-body);
		font-weight: 700;
		font-size: 16px;
		line-height: 1.48;
		cursor: pointer;
		transition: background-color 0.15s ease;
	}

	.wlre-sort-sheet__confirm:hover {
		background: var(--wlre-color-text-900);
	}

	html.wlre-sort-sheet-open {
		overflow: hidden;
	}
}
