:root {
	--sas-blue: #24689a;
	--sas-blue-dark: #1a4c75;
	--sas-yellow: #f9b52c;
	--sas-bg: #f2f4f7;
	--sas-card: #ffffff;
	--sas-border: #e0e4eb;
	--sas-text: #1f2933;
	--sas-muted: #6b7280;
	--sas-radius: 18px;
	--sas-shadow: 0 12px 24px rgba(16, 24, 40, 0.08);
}

.sunlight-advanced-search {
	display: flex;
	flex-direction: column;
	gap: 1.75rem;
	padding: 1.5rem;
	background: var(--sas-bg);
	border-radius: var(--sas-radius);
	box-shadow: var(--sas-shadow);
	border: 1px solid #dde3ec;
	box-sizing: border-box;
	width: auto;
	max-width: 100%;
	margin: 0 40px 3rem;
	font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

.sunlight-advanced-search .sas-section {
	background: var(--sas-card);
	border-radius: var(--sas-radius);
	overflow: hidden;
	border: 1px solid var(--sas-border);
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}

.sunlight-advanced-search .sas-section__header {
	background: linear-gradient(105deg, var(--sas-blue), var(--sas-blue-dark));
	color: #fff;
	padding: 0.9rem 1.25rem;
}

.sunlight-advanced-search .sas-section__header h3 {
	margin: 0;
	font-size: 1.2rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.sunlight-advanced-search .sas-section__body {
	display: grid;
	gap: 1.25rem;
	padding: 1.25rem;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

@media (max-width: 767px) {
	.sunlight-advanced-search {
		width: calc(100% + 24px);
		max-width: none;
		margin: 0 -12px 2rem;
		padding: 0.85rem;
		gap: 1rem;
		border-radius: 24px;
	}

	.sunlight-advanced-search .sas-section__header {
		padding: 0.8rem 0.95rem;
	}

	.sunlight-advanced-search .sas-section__body {
		padding: 0.85rem;
	}

	.sas-range-slider__manual {
		grid-template-columns: 1fr;
	}
}

.sas-field__group-title {
	display: block;
	width: 100%;
	background: var(--sas-yellow);
	padding: 0.55rem 0.9rem;
	border-radius: 999px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #3b2a0b;
	box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.08);
	margin-bottom: 0.45rem;
	text-align: center;
}

.sas-field {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	width: 100%;
}
.sas-field--full {
	grid-column: 1 / -1;
}

.sas-field__control {
	width: 100%;
}

.sas-field__label {
	font-weight: 600;
	font-size: 0.92rem;
	color: var(--sas-text);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.sunlight-advanced-search select,
.sunlight-advanced-search input[type="number"],
.sunlight-advanced-search input[type="text"],
.sunlight-advanced-search input[type="time"],
.sunlight-advanced-search input[type="date"] {
	width: 100%;
	border: 1px solid var(--sas-border);
	background: #fdfdfd;
	border-radius: 12px;
	padding: 0.6rem 0.75rem;
	font-size: 0.95rem;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.sunlight-advanced-search select:focus,
.sunlight-advanced-search input[type="number"]:focus,
.sunlight-advanced-search input[type="text"]:focus,
.sunlight-advanced-search input[type="time"]:focus,
.sunlight-advanced-search input[type="date"]:focus {
	outline: none;
	border-color: var(--sas-blue);
	box-shadow: 0 0 0 2px rgba(36, 104, 154, 0.2);
	background: #fff;
}

.sas-input {
	width: 100%;
}

.sas-stepper {
	display: grid;
	grid-template-columns: 40px 1fr 40px;
	gap: 0.5rem;
	align-items: center;
}

.sas-stepper__btn {
	height: 42px;
	border-radius: 12px;
	border: 1px solid var(--sas-border);
	background: #fdfdfd;
	color: var(--sas-blue);
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}

.sas-stepper__btn:hover,
.sas-stepper__btn:active {
	border-color: var(--sas-blue);
	background: rgba(36, 104, 154, 0.06);
}

.sunlight-advanced-search .sas-tooltip-btn {
	appearance: none;
	-webkit-appearance: none;
	border: 1px solid #cfd6e3;
	background: #fff;
	color: #8a95a6;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1;
	margin-left: 0.4rem;
	padding: 0;
	cursor: pointer;
	user-select: none;
	vertical-align: middle;
}

.sunlight-advanced-search .sas-tooltip-btn:hover,
.sunlight-advanced-search .sas-tooltip-btn:active,
.sunlight-advanced-search .sas-tooltip-btn:focus,
.sunlight-advanced-search .sas-tooltip-btn:focus-visible {
	border-color: #b8c3d6 !important;
	background: #fff !important;
	color: #8a95a6 !important;
	outline: none !important;
	box-shadow: none !important;
}


.sas-tooltip-popover {
	position: fixed;
	z-index: 99999;
	width: 260px;
	max-width: calc(100vw - 24px);
	background: #fff;
	border: 1px solid var(--sas-border);
	border-radius: 10px;
	box-shadow: 0 18px 48px rgba(15, 23, 42, 0.22);
	padding: 12px 14px;
	opacity: 0;
	transform: translateY(4px);
	pointer-events: none;
}

.sas-tooltip-popover.is-open {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

.sas-tooltip-popover__content {
	font-size: 0.95rem;
	color: var(--sas-text);
	line-height: 1.25;
}

.sas-tooltip-popover__action {
	margin-top: 0.5rem;
	font-size: 0.95rem;
	color: #d08800;
	text-decoration: underline;
	font-weight: 600;
}

.sas-tooltip-popover__action a {
	color: inherit;
	text-decoration: inherit;
}

[data-section="listing_tags"] .sas-checkboxes--grid {
	display: flex;
	flex-wrap: nowrap;
	gap: 18px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	padding-bottom: 2px;
}

[data-section="listing_tags"] .sas-checkboxes--grid::-webkit-scrollbar {
	display: none;
}

[data-section="listing_tags"] .sas-scrollbar {
	display: none !important;
}

[data-section="listing_tags"] .sas-scrollbar.is-hidden {
	display: none !important;
}

[data-section="listing_tags"] .sas-scrollbar__thumb {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	min-width: 44px;
	border-radius: 999px;
	background: rgba(36, 104, 154, 0.52);
	cursor: grab;
	transform: translateX(0);
}

[data-section="listing_tags"] .sas-scrollbar__thumb.is-dragging {
	cursor: grabbing;
}

@media (max-width: 768px) {
	[data-section="listing_tags"] .sas-checkboxes--grid {
		gap: 14px;
	}
}

[data-section="additional_info"] .sas-section__body {
	grid-template-columns: repeat(3, minmax(280px, 1fr));
}

[data-section="additional_info"] [data-field="additional_security"] .sas-checkboxes--grid {
	grid-template-columns: repeat(4, minmax(160px, 1fr));
	gap: 0.6rem 1.5rem;
}

[data-section="additional_info"] [data-field="additional_distance"] .sas-checkboxes--grid {
	grid-template-columns: repeat(5, minmax(160px, 1fr));
	gap: 0.6rem 1.5rem;
}

[data-section="law_statement"] .sas-section__body {
	grid-template-columns: 1fr;
}

[data-section="law_statement"] .sas-checkboxes--grid {
	grid-template-columns: repeat(3, minmax(160px, 1fr));
	gap: 0.6rem 1.5rem;
}

@media (max-width: 768px) {
	[data-section="law_statement"] .sas-checkboxes--grid {
		grid-template-columns: repeat(2, minmax(160px, 1fr));
	}
}

[data-section="financial_info"] .sas-section__body {
	grid-template-columns: repeat(12, minmax(0, 1fr));
	align-items: start;
}

[data-section="financial_info"] .sas-field {
	grid-column: span 4;
}

[data-section="financial_info"] [data-field="status"] {
	grid-column: span 12;
}

[data-section="financial_info"] .sas-checkboxes--grid {
	grid-template-columns: repeat(4, minmax(160px, 1fr));
	gap: 0.6rem 1.5rem;
}

[data-section="financial_info"] [data-field="commission"] .sas-checkboxes--grid {
	grid-template-columns: repeat(2, minmax(160px, 1fr));
}

[data-section="financial_info"] [data-field="installments"] .sas-checkboxes--grid,
[data-section="financial_info"] [data-field="mortgage"] .sas-checkboxes--grid {
	grid-template-columns: repeat(1, minmax(160px, 1fr));
}

@media (max-width: 1024px) {
	[data-section="financial_info"] .sas-section__body {
		grid-template-columns: 1fr;
	}

	[data-section="financial_info"] .sas-field,
	[data-section="financial_info"] [data-field="status"] {
		grid-column: auto;
	}

	[data-section="financial_info"] .sas-checkboxes--grid {
		grid-template-columns: repeat(2, minmax(160px, 1fr));
	}
}

@media (max-width: 1024px) {
	[data-section="additional_info"] .sas-section__body {
		grid-template-columns: 1fr;
	}

	[data-section="additional_info"] [data-field="additional_security"] .sas-checkboxes--grid,
	[data-section="additional_info"] [data-field="additional_distance"] .sas-checkboxes--grid {
		grid-template-columns: repeat(2, minmax(160px, 1fr));
	}
}

.sas-field--group .sas-group {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 1rem;
}

.sas-field--group .sas-group .sas-field--full {
	grid-column: 1 / -1;
}

.sas-field--group.sas-field--layout-single .sas-group {
	grid-template-columns: 1fr;
}

.sas-field--group .sas-field__label {
	margin-bottom: 0.35rem;
}

.sas-field--group {
	background: #fff;
	border: 1px solid var(--sas-border);
	border-radius: 18px;
	overflow: hidden;
}

.sas-field--group .sas-field__control {
	padding: 1rem;
}

.sas-field--group .sas-field__label {
	padding: 0 1rem;
}

.sas-field__group-title--bar {
	border-radius: 12px 12px 0 0;
	text-align: left;
	padding: 0.75rem 1rem;
	margin: 0;
	box-shadow: none;
	font-size: 1rem;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
}

.sas-field__group-title--bar::after {
	content: none;
}

.sas-field--group-style-bar {
	background: #fff;
	border: 1px solid var(--sas-border);
	border-radius: 18px;
	overflow: hidden;
}

.sas-field--group-style-bar .sas-field__control {
	padding: 1rem;
}

[data-field="category_ui"] .sas-field__control {
	padding: 0.75rem;
}

[data-field="category_ui"] .sas-group {
	gap: 0.65rem;
}

[data-field="category_ui"] .sas-field {
	gap: 0.25rem;
}

[data-field="category_ui"] .sas-checkboxes--list {
	gap: 0.25rem;
}

[data-field="cat_resale"] .sas-checkbox--heading {
	padding-top: 0.2rem;
}

[data-field="cat_resale"] .sas-checkbox--heading span {
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--sas-text);
}

[data-field="cat_resale"] .sas-checkboxes--grid {
	grid-template-columns: repeat(2, minmax(220px, 1fr));
	gap: 0.45rem 2.25rem;
}

.sas-checkboxes {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
}

.sas-checkboxes--columns {
	display: block;
	column-count: 3;
	column-gap: 1.5rem;
}

.sas-checkboxes--columns .sas-checkbox {
	break-inside: avoid;
	display: block;
}

.sas-checkboxes--grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 0.35rem 1rem;
}

.sas-checkboxes--grid .sas-checkbox--heading {
	grid-column: 1 / -1;
}

.sas-checkboxes--list {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.4rem;
}

.sas-checkboxes--list .sas-checkbox span {
	white-space: normal;
}

.sas-checkbox {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.92rem;
	color: var(--sas-text);
	cursor: pointer;
	padding: 0.15rem 0.4rem 0.15rem 0;
}

.sas-checkbox input {
	accent-color: var(--sas-blue);
	width: 1rem;
	height: 1rem;
}

.sas-checkbox span {
	display: inline-block;
	white-space: nowrap;
	max-width: 100%;
	text-overflow: ellipsis;
	overflow: hidden;
}

[data-section="location"] .sas-checkbox--emphasis span {
	font-weight: 700;
}

.sas-checkbox--heading {
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--sas-muted);
	cursor: default;
	padding-top: 0.6rem;
	padding-bottom: 0;
}

.sas-checkbox--heading span {
	white-space: normal;
}

.sas-checkbox--depth-1 {
	padding-left: 0.75rem;
}

.sas-checkbox--depth-2 {
	padding-left: 1.5rem;
}

[data-field="propertytype"] .sas-checkboxes--columns-explicit {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.25rem;
}

[data-field="propertytype"] .sas-col-break {
	display: none;
}

[data-field="propertytype"] .sas-checkboxes--columns-explicit .sas-checkbox {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	min-height: 0;
	margin: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-right: 0;
}

[data-field="propertytype"] .sas-checkboxes--columns-explicit .sas-checkbox input {
	margin: 0;
}

[data-field="propertytype"] .sas-checkboxes--columns-explicit .sas-checkbox span {
	line-height: 1.3;
	white-space: normal;
	overflow: visible;
	text-overflow: clip;
}

[data-field="propertytype"] .sas-checkboxes--columns-explicit .sas-tooltip-btn {
	margin-left: 0;
	align-self: center;
}

[data-field="propertytype"] .sas-checkboxes--columns-explicit .sas-checkbox--depth-1 {
	padding-left: 0.75rem;
}

[data-field="propertytype"] .sas-checkboxes--columns-explicit .sas-checkbox--depth-2 {
	padding-left: 1.5rem;
}

[data-field="location"] .sas-checkbox span {
	white-space: nowrap;
}

[data-section="location"] .sas-loc-toggle {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: transparent;
	border: none;
	padding: 0.15rem 0.4rem 0.15rem 0;
	font-size: 0.92rem;
	font-weight: 700;
	color: var(--sas-text);
	cursor: pointer;
	text-transform: none;
	letter-spacing: 0;
}

[data-section="location"] .sas-loc-toggle::after {
	content: '';
	width: 8px;
	height: 8px;
	border-right: 2px solid rgba(0, 0, 0, 0.45);
	border-bottom: 2px solid rgba(0, 0, 0, 0.45);
	transform: rotate(-45deg);
	transition: transform 0.15s ease;
	margin-left: 10px;
	flex: 0 0 auto;
}

[data-section="location"] .sas-loc-toggle.is-open::after {
	transform: rotate(45deg);
}

[data-section="location"] .sas-loc-hidden {
	display: none !important;
}

[data-section="location"] .sas-section__body {
	grid-template-columns: 1fr;
}

[data-section="facilities_outdoor"] .sas-section__body {
	grid-template-columns: 1fr;
}

[data-section="technical"] .sas-section__body {
	grid-template-columns: 1fr;
}

[data-section="technical"] [data-field="technical_facilities"] .sas-group {
	grid-template-columns: 1fr;
}

[data-section="technical"] [data-field="heating_type"] .sas-field__label,
[data-section="technical"] [data-field="water_heating"] .sas-field__label,
[data-section="technical"] [data-field="technical_facilities_core"] .sas-field__label,
[data-section="technical"] [data-field="flooring_type"] .sas-field__label,
[data-section="technical"] [data-field="roof_insulation"] .sas-field__label {
	color: var(--sas-muted);
}

[data-section="technical"] [data-field="heating_type"] .sas-checkboxes--grid,
[data-section="technical"] [data-field="water_heating"] .sas-checkboxes--grid,
[data-section="technical"] [data-field="technical_facilities_core"] .sas-checkboxes--grid,
[data-section="technical"] [data-field="flooring_type"] .sas-checkboxes--grid,
[data-section="technical"] [data-field="roof_insulation"] .sas-checkboxes--grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.35rem 1.5rem;
}

[data-section="technical"] [data-field="other_adventages"] .sas-checkboxes--grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.35rem 1.5rem;
}

[data-section="security"] [data-field="security_facilities"] .sas-checkboxes--grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.35rem 1.5rem;
}

[data-section="facilities_outdoor"] [data-field="outdoor_recreation"] .sas-checkboxes--grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.35rem 1.5rem;
}

[data-section="facilities_outdoor"] [data-field="facing_view"] .sas-checkboxes--grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.35rem 1.5rem;
}

@media (max-width: 1024px) {
	[data-section="technical"] [data-field="heating_type"] .sas-checkboxes--grid,
	[data-section="technical"] [data-field="water_heating"] .sas-checkboxes--grid,
	[data-section="technical"] [data-field="technical_facilities_core"] .sas-checkboxes--grid,
	[data-section="technical"] [data-field="flooring_type"] .sas-checkboxes--grid,
	[data-section="technical"] [data-field="roof_insulation"] .sas-checkboxes--grid,
	[data-section="technical"] [data-field="other_adventages"] .sas-checkboxes--grid,
	[data-section="security"] [data-field="security_facilities"] .sas-checkboxes--grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	[data-section="facilities_outdoor"] [data-field="facing_view"] .sas-checkboxes--grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	[data-section="facilities_outdoor"] [data-field="outdoor_recreation"] .sas-checkboxes--grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	[data-section="technical"] [data-field="heating_type"] .sas-checkboxes--grid,
	[data-section="technical"] [data-field="water_heating"] .sas-checkboxes--grid,
	[data-section="technical"] [data-field="technical_facilities_core"] .sas-checkboxes--grid,
	[data-section="technical"] [data-field="flooring_type"] .sas-checkboxes--grid,
	[data-section="technical"] [data-field="roof_insulation"] .sas-checkboxes--grid,
	[data-section="technical"] [data-field="other_adventages"] .sas-checkboxes--grid,
	[data-section="security"] [data-field="security_facilities"] .sas-checkboxes--grid {
		grid-template-columns: 1fr;
	}

	[data-section="facilities_outdoor"] [data-field="facing_view"] .sas-checkboxes--grid {
		grid-template-columns: 1fr;
	}

	[data-section="facilities_outdoor"] [data-field="outdoor_recreation"] .sas-checkboxes--grid {
		grid-template-columns: 1fr;
	}
}

[data-section="location"] .sas-checkboxes--columns-explicit {
	display: block !important;
	column-count: 4;
	column-gap: 2.5rem;
	column-fill: balance;
}

[data-section="location"] .sas-field__control {
	padding: 1.25rem 1.5rem;
	border: 1px solid var(--sas-border);
	border-radius: 18px;
	background: #fff;
}

[data-section="location"] .sas-checkboxes--columns-explicit {
	padding: 0.25rem 0.25rem 0.75rem;
}

[data-section="location"] .sas-checkboxes--columns-explicit .sas-checkbox {
	display: block;
	width: 100%;
	break-inside: avoid;
}

[data-section="location"] .sas-col-break {
	display: none;
}

@media (max-width: 1024px) {
	[data-section="location"] .sas-checkboxes--columns-explicit {
		column-count: 2;
	}
}

@media (max-width: 640px) {
	[data-section="location"] .sas-checkboxes--columns-explicit {
		column-count: 1;
	}
}

[data-section="location"] .sas-field {
	grid-column: 1 / -1;
}

[data-variant="primary"] [data-section="building"] .sas-field__group-title {
	border-radius: 6px;
	text-align: left;
	text-transform: none;
	letter-spacing: 0;
	font-weight: 500;
	padding: 0.6rem 0.9rem;
	box-shadow: none;
	margin-bottom: 0.6rem;
}

[data-variant="primary"] [data-section="building"] .sas-range-slider {
	padding-top: 0.35rem;
	padding-bottom: 0.25rem;
}

[data-variant="primary"] [data-section="building"] .sas-range-slider__values {
	font-weight: 600;
}

[data-section="location"] .sas-checkboxes--columns {
	column-width: 190px;
	column-gap: 2.5rem;
	max-height: none;
	overflow: visible;
	padding-right: 0;
}

[data-section="location"] .sas-checkbox--depth-0 {
	font-weight: 600;
}

[data-section="location"] .sas-checkbox--depth-1 {
	padding-left: 1.25rem;
}

[data-section="location"] .sas-checkbox--depth-2 {
	padding-left: 2.25rem;
}

[data-section="location"] .sas-checkboxes--columns .sas-checkbox {
	display: inline-flex;
	width: 100%;
	margin-bottom: 0.35rem;
}

[data-section="location"] .sas-checkboxes--columns::-webkit-scrollbar {
	width: 8px;
}

[data-section="location"] .sas-checkboxes--columns::-webkit-scrollbar-track {
	background: #e5e9f1;
	border-radius: 999px;
}

[data-section="location"] .sas-checkboxes--columns::-webkit-scrollbar-thumb {
	background: var(--sas-blue);
	border-radius: 999px;
}

.sas-range-slider {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding: 0.75rem 0;
	align-items: stretch;
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	position: relative;
}

.sas-range-slider__values {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	font-weight: 600;
	font-size: 1rem;
	color: var(--sas-text);
	width: 100%;
	min-width: 100%;
	text-align: center;
	margin-bottom: 0.25rem;
}

.sas-range-slider[data-display="currency"] .sas-range-slider__values {
	display: none;
}

.sas-range-slider__manual {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
	width: 100%;
}

.sas-range-slider__manual-field {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.sas-range-slider__manual-label {
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--sas-muted);
}

.sas-range-slider__manual-input {
	width: 100%;
	border: 1px solid var(--sas-border);
	background: #fdfdfd;
	border-radius: 12px;
	padding: 0.6rem 0.75rem;
	font-size: 0.95rem;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.sas-range-slider__manual-input:focus {
	outline: none;
	border-color: var(--sas-blue);
	box-shadow: 0 0 0 2px rgba(36, 104, 154, 0.2);
	background: #fff;
}

.sas-range-slider__tracks {
	position: relative;
	height: 36px;
	display: block;
	width: 100%;
	padding: 0;
}

.sas-range-slider__tracks::before {
	content: '';
	position: absolute;
	height: 8px;
	border-radius: 999px;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	right: 0;
	background: #cfd6e3;
	z-index: 1;
}

.sas-range-slider__tracks::after {
	content: '';
	position: absolute;
	height: 8px;
	border-radius: 999px;
	top: 50%;
	transform: translateY(-50%);
	background: linear-gradient(90deg, var(--sas-blue) 0%, var(--sas-blue-dark) 100%);
	z-index: 2;
	left: calc(var(--sas-fill-start, 0) * 1%);
	width: calc((var(--sas-fill-end, 100) - var(--sas-fill-start, 0)) * 1%);
	min-width: 0;
	pointer-events: none;
}

.sas-range-slider__input {
	-webkit-appearance: none;
	width: 100%;
	min-width: 100%;
	background: transparent;
	pointer-events: none;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	margin: 0;
	z-index: 3;
	height: 0;
}

.sas-range-slider__input::-webkit-slider-runnable-track {
	-webkit-appearance: none;
	height: 8px;
	background: transparent;
	border: 0;
}

.sas-range-slider__input::-moz-range-track {
	height: 8px;
	background: transparent;
	border: 0;
}

.sas-range-slider__input::-webkit-slider-thumb {
	-webkit-appearance: none;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid #c7d4e7;
	box-shadow:
		0 0 0 2px rgba(36, 104, 154, 0.35),
		inset 0 0 0 6px var(--sas-blue);
	margin-top: -7px;
	pointer-events: all;
	cursor: grab;
}

.sas-range-slider__input::-moz-range-thumb {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid #c7d4e7;
	box-shadow:
		0 0 0 2px rgba(36, 104, 154, 0.35),
		inset 0 0 0 6px var(--sas-blue);
	margin-top: -7px;
	pointer-events: all;
	cursor: grab;
}

.sas-field--range {
	grid-column: 1 / -1;
	align-items: stretch;
	width: 100%;
}

.sas-field--range .sas-range-slider {
	width: 100%;
	min-width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.sas-actions {
	display: flex;
	justify-content: flex-end;
	gap: 0.75rem;
	padding-top: 0.5rem;
}

.sas-results-toolbar {
	display: flex;
	justify-content: flex-end;
	width: 100%;
	max-width: none;
	margin-left: auto;
	margin-right: auto;
	padding: 0 clamp(24px, 3.2vw, 56px);
	box-sizing: border-box;
}

.sas-results-toolbar--full {
	margin-top: -1.5rem;
	margin-bottom: 1.5rem;
}

.sas-results-toolbar--compact {
	margin-top: 0;
	margin-bottom: 1.25rem;
}

.sas-results-toolbar__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.85rem 1rem;
	width: 100%;
}

.sas-results-toolbar__count {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--sas-text);
}

.sas-results-toolbar__sort {
	display: inline-flex;
	align-items: center;
	flex-wrap: nowrap;
	flex: 0 0 auto;
	gap: 0.7rem;
	padding: 0.5rem 0.65rem 0.5rem 1rem;
	background: #fff;
	border: 1px solid var(--sas-border);
	border-radius: 999px;
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
	min-width: 430px;
}

.sas-results-toolbar__label {
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--sas-muted);
	white-space: nowrap;
	line-height: 1;
}

.sas-results-toolbar__select {
	flex: 1 1 auto;
	min-width: 300px;
	border: none;
	background: transparent;
	color: var(--sas-text);
	font-size: 0.95rem;
	font-weight: 600;
	padding: 0.1rem 1.6rem 0.1rem 0;
	box-shadow: none;
	outline: none;
	cursor: pointer;
}

.sas-results-toolbar__select:focus,
.sas-results-toolbar__select:focus-visible {
	outline: none;
	box-shadow: none;
}

.sas-results-toolbar ~ .jet-listing-grid,
.sas-results-toolbar ~ .jet-engine-listing-grid,
.sas-results-toolbar ~ .jet-engine-listing,
.sas-results-toolbar ~ .elementor-loop-container,
.sas-results-toolbar ~ .e-loop-container,
.sas-results-toolbar ~ .elementor-widget-loop-grid,
.sas-results-toolbar ~ .elementor-widget-jet-listing-grid {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.sas-results-toolbar ~ .jet-listing-grid__items,
.sas-results-toolbar ~ .jet-engine-listing-grid__items,
.sas-results-toolbar ~ .elementor-widget-loop-grid .elementor-widget-container,
.sas-results-toolbar ~ .elementor-widget-jet-listing-grid .elementor-widget-container {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.sas-pagination-jump {
	position: fixed;
	z-index: 99999;
	display: none;
	width: min(260px, calc(100vw - 20px));
	padding: 0.95rem;
	background: #fff;
	border: 1px solid var(--sas-border);
	border-radius: 16px;
	box-shadow: 0 16px 36px rgba(15, 23, 42, 0.16);
	box-sizing: border-box;
}

body.sas-pagination-jump-body-lock {
	position: fixed;
	left: 0;
	right: 0;
	width: 100%;
	overflow: hidden;
	overscroll-behavior: none;
}

.sas-pagination-jump.is-open {
	display: block;
}

.sas-pagination-jump.sas-pagination-jump--above {
	box-shadow: 0 -12px 28px rgba(15, 23, 42, 0.14);
}

.sas-pagination-jump__label {
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--sas-muted);
	margin-bottom: 0.55rem;
}

.sas-pagination-jump__controls {
	display: flex;
	align-items: center;
	gap: 0.55rem;
}

.sas-pagination-jump__input {
	flex: 1 1 auto;
	min-width: 0;
	height: 44px;
	padding: 0 0.85rem;
	border: 1px solid var(--sas-border);
	border-radius: 12px;
	background: #fff;
	color: var(--sas-text);
	font-size: 0.95rem;
	box-sizing: border-box;
}

.sas-pagination-jump__input:focus,
.sas-pagination-jump__input:focus-visible {
	outline: none;
	border-color: rgba(22, 106, 159, 0.45);
	box-shadow: 0 0 0 3px rgba(22, 106, 159, 0.14);
}

.sas-pagination-jump__submit {
	flex: 0 0 auto;
	border: none;
	border-radius: 999px;
	min-height: 44px;
	padding: 0.7rem 1rem;
	background: var(--sas-yellow);
	color: #1f1200;
	font-weight: 700;
	cursor: pointer;
	box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.12);
	white-space: nowrap;
}

.sas-pagination-jump__submit:hover,
.sas-pagination-jump__submit:focus,
.sas-pagination-jump__submit:focus-visible {
	background: var(--sas-yellow);
	color: #1f1200;
	outline: none;
}

.sas-submit,
.sas-reset {
	border-radius: 40px;
	padding: 0.75rem 2.3rem;
	font-weight: 600;
	border: none;
	cursor: pointer;
	font-size: 0.95rem;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.sas-submit {
	background: var(--sas-yellow);
	color: #1f1200;
	box-shadow: inset 0 -3px 0 rgba(0, 0, 0, 0.12);
}

.sas-reset {
	background: transparent;
	color: var(--sas-blue);
	border: 1px solid var(--sas-blue);
}

.sunlight-advanced-search .sas-submit:hover,
.sunlight-advanced-search .sas-submit:active,
.sunlight-advanced-search .sas-submit:focus,
.sunlight-advanced-search .sas-submit:focus-visible {
	background: var(--sas-yellow) !important;
	color: #1f1200 !important;
}

.sunlight-advanced-search .sas-submit:focus,
.sunlight-advanced-search .sas-submit:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(22, 106, 159, 0.35), inset 0 -3px 0 rgba(0, 0, 0, 0.12);
}

.sunlight-advanced-search .sas-submit:active {
	transform: translateY(0);
	box-shadow: 0 0 0 3px rgba(22, 106, 159, 0.35), inset 0 -2px 0 rgba(0, 0, 0, 0.12);
}

.sunlight-advanced-search .sas-reset:hover,
.sunlight-advanced-search .sas-reset:active,
.sunlight-advanced-search .sas-reset:focus,
.sunlight-advanced-search .sas-reset:focus-visible {
	background: transparent !important;
	color: var(--sas-blue) !important;
	border-color: var(--sas-blue) !important;
}

.sunlight-advanced-search .sas-reset:focus,
.sunlight-advanced-search .sas-reset:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(22, 106, 159, 0.25);
}

.sas-submit:hover,
.sas-reset:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.1);
}

.sas-collapsible {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto 1.25rem;
}

.sas-collapsible .sas-collapsible__toggle {
	width: 100%;
	display: none;
	align-items: center;
	justify-content: flex-start;
	gap: 0.75rem;
	background: var(--sas-yellow) !important;
	background-color: var(--sas-yellow) !important;
	border: 1px solid rgba(0, 0, 0, 0.08) !important;
	border-radius: 999px;
	padding: 0.9rem 1.1rem;
	font-weight: 600;
	color: #1f1200 !important;
	cursor: pointer;
	box-shadow: inset 0 -3px 0 rgba(0, 0, 0, 0.12), 0 10px 18px rgba(0, 0, 0, 0.05) !important;
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
	user-select: none;
}

.sas-collapsible .sas-collapsible__toggle:hover,
.sas-collapsible .sas-collapsible__toggle:active,
.sas-collapsible .sas-collapsible__toggle:focus,
.sas-collapsible .sas-collapsible__toggle:focus-visible {
	background: var(--sas-yellow) !important;
	background-color: var(--sas-yellow) !important;
	color: #1f1200 !important;
	border-color: rgba(0, 0, 0, 0.18) !important;
	outline: none;
	filter: none !important;
}

.sas-collapsible .sas-collapsible__toggle:hover {
	transform: translateY(-1px);
	box-shadow: 0 12px 22px rgba(0, 0, 0, 0.08);
}

.sas-collapsible .sas-collapsible__toggle:active {
	transform: translateY(0);
	box-shadow: 0 0 0 3px rgba(22, 106, 159, 0.25), inset 0 -2px 0 rgba(0, 0, 0, 0.12), 0 10px 18px rgba(0, 0, 0, 0.05);
}

.sas-collapsible .sas-collapsible__toggle:focus,
.sas-collapsible .sas-collapsible__toggle:focus-visible {
	box-shadow: 0 0 0 3px rgba(22, 106, 159, 0.35), inset 0 -3px 0 rgba(0, 0, 0, 0.12), 0 10px 18px rgba(0, 0, 0, 0.05);
}

.sas-collapsible__toggle::before {
	content: '';
	width: 18px;
	height: 18px;
	border: 2px solid var(--sas-blue);
	border-radius: 50%;
	position: relative;
	display: inline-block;
	flex: 0 0 auto;
}

.sas-collapsible__toggle::after {
	content: '';
	width: 8px;
	height: 8px;
	display: inline-block;
	border-right: 2px solid var(--sas-blue);
	border-bottom: 2px solid var(--sas-blue);
	transform: rotate(45deg);
	margin-left: auto;
	flex: 0 0 auto;
}

.sas-collapsible.is-open .sas-collapsible__toggle::after {
	transform: rotate(-135deg);
}

.sas-collapsible__content {
	overflow: hidden;
	max-height: 9999px;
	opacity: 1;
	transition: max-height 0.28s ease, opacity 0.22s ease;
}

.sas-collapsible:not(.is-open) .sas-collapsible__content {
	max-height: 0;
	opacity: 0;
	pointer-events: none;
}

.sas-collapsible[data-collapsible-mode="always"] .sas-collapsible__toggle {
	display: flex;
}

@media (max-width: 768px) {
	.sas-collapsible {
		width: calc(100% + 24px);
		max-width: none;
		margin: 0 -12px 0.85rem;
	}

	.sas-collapsible[data-collapsible-mode="mobile"] .sas-collapsible__toggle {
		display: flex;
		margin-bottom: 0.85rem;
		padding: 0.85rem 1rem;
	}

	.sas-collapsible {
		margin-bottom: 0.85rem;
	}
}

@media (max-width: 768px) {
	.sunlight-advanced-search {
		padding: 0.85rem;
	}

	.sas-results-toolbar {
		padding: 0 20px;
	}

	.sas-results-toolbar--full {
		margin-top: -1rem;
		margin-bottom: 1.25rem;
	}

	.sas-results-toolbar--compact {
		margin-top: 0;
		margin-bottom: 1rem;
	}

	.sas-results-toolbar__inner {
		justify-content: flex-start;
	}

	.sas-results-toolbar__sort {
		width: 100%;
		border-radius: 18px;
		min-width: 0;
	}

	.sas-results-toolbar__select {
		min-width: 0;
		width: 100%;
	}

	.sunlight-advanced-search .sas-section__body {
		grid-template-columns: 1fr;
		padding: 0.85rem;
		gap: 0.9rem;
	}

	.sas-checkboxes--columns {
		column-count: 1;
	}

	[data-section="location"] .sas-checkboxes--columns {
		max-height: none;
	}

	.sas-field--group .sas-field__control,
	.sas-field--group-style-bar .sas-field__control {
		padding: 0.85rem;
	}

	.sas-field__group-title--bar {
		padding: 0.7rem 0.9rem;
	}

	[data-field="category_ui"] .sas-field__control {
		padding: 0.6rem;
	}
}

/* Building section layout tweaks */
[data-section="building"] .sas-section__body {
	grid-template-columns: repeat(12, minmax(0, 1fr));
}

[data-section="building"] .sas-field {
	grid-column: span 4;
}

[data-section="building"] .sas-field.sas-field--full {
	grid-column: span 12;
}

[data-section="building"] [data-field="gross_area"],
[data-section="building"] [data-field="net_area"],
[data-section="building"] [data-field="land_size"],
[data-section="building"] [data-field="distance_beach"] {
	grid-column: span 12;
}

[data-section="building"] [data-field="balconies"],
[data-section="building"] [data-field="terrace"] {
	grid-column: span 12;
}

[data-section="building"] [data-field="floor"],
[data-section="building"] [data-field="rooms_group"] {
	grid-column: span 6;
}

[data-section="building"] [data-field="delivery"],
[data-section="building"] [data-field="citizenship"] {
	grid-column: span 6;
}

[data-section="kitchen"] .sas-section__body {
	grid-template-columns: 320px 1fr;
	align-items: start;
}

[data-section="kitchen"] [data-field="kitchen_facilities"] {
	grid-column: 2 / 3;
}

[data-section="kitchen"] [data-field="kitchen_type"] {
	grid-column: 1 / 2;
}

[data-section="bathroom"] .sas-section__body {
	grid-template-columns: repeat(12, minmax(0, 1fr));
	align-items: start;
}

[data-section="bathroom"] [data-field="bathrooms_count"],
[data-section="bathroom"] [data-field="toilets_count"] {
	grid-column: span 4;
}

[data-section="bathroom"] [data-field="bathroom_facilities"] {
	grid-column: span 4;
}

[data-section="bathroom"] [data-field="bathroom_facilities"] .sas-checkboxes--grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.35rem 1.25rem;
}

[data-section="bathroom"] [data-field="bathroom_facilities"] .sas-checkbox span {
	white-space: normal;
	overflow: visible;
	text-overflow: initial;
}

@media (max-width: 768px) {
	[data-section="bathroom"] .sas-section__body {
		grid-template-columns: 1fr;
	}
}
[data-section="location"] .sas-section__header {
	position: relative;
	padding-bottom: 1rem;
}

[data-section="location"] .sas-section__header::after {
	content: none;
}

[data-section="location"] .sas-field__group-title {
	background: var(--sas-yellow);
	border-radius: 10px;
	text-align: left;
	padding: 0.75rem 1.25rem;
	position: relative;
	margin-bottom: 0.75rem;
}

[data-section="location"] .sas-field__group-title::before {
	content: none;
}

[data-section="location"] .sas-field__label {
	font-size: 0.9rem;
	letter-spacing: 0.02em;
}

[data-section="location"] .sas-checkboxes--columns .sas-checkbox span {
	white-space: nowrap;
}

@media (max-width: 768px) {
	[data-section="building"] .sas-section__body {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1rem;
	}

	[data-section="building"] .sas-field {
		grid-column: span 1;
	}

	[data-section="building"] [data-field="gross_area"],
	[data-section="building"] [data-field="net_area"],
	[data-section="building"] [data-field="land_size"],
	[data-section="building"] [data-field="distance_beach"],
	[data-section="building"] [data-field="balconies"],
	[data-section="building"] [data-field="terrace"],
	[data-section="building"] [data-field="floor"],
	[data-section="building"] [data-field="rooms_group"],
	[data-section="building"] [data-field="delivery"],
	[data-section="building"] [data-field="citizenship"] {
		grid-column: span 2;
	}

	[data-section="building"] [data-field="floor"],
	[data-section="building"] [data-field="rooms_group"] {
		grid-column: 1 / -1 !important;
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	[data-section="building"] [data-field="floor"] .sas-field__control,
	[data-section="building"] [data-field="rooms_group"] .sas-field__control,
	[data-section="building"] [data-field="rooms_group"] .sas-field,
	[data-section="building"] [data-field="rooms_group"] .sas-field__label {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	[data-section="building"] [data-field="rooms_group"] .sas-group {
		grid-template-columns: 1fr;
		width: 100%;
	}
}

@media (max-width: 767px) {
	[data-section="building"] .sas-section__body {
		grid-template-columns: 1fr !important;
	}

	[data-section="building"] .sas-field,
	[data-section="building"] [data-field="gross_area"],
	[data-section="building"] [data-field="net_area"],
	[data-section="building"] [data-field="land_size"],
	[data-section="building"] [data-field="distance_beach"],
	[data-section="building"] [data-field="balconies"],
	[data-section="building"] [data-field="terrace"],
	[data-section="building"] [data-field="floor"],
	[data-section="building"] [data-field="rooms_group"],
	[data-section="building"] [data-field="delivery"],
	[data-section="building"] [data-field="citizenship"] {
		grid-column: 1 / -1 !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	[data-section="building"] [data-field="floor"] .sas-field__control,
	[data-section="building"] [data-field="rooms_group"] .sas-field__control,
	[data-section="building"] [data-field="rooms_group"] .sas-group,
	[data-section="building"] [data-field="rooms_group"] .sas-field,
	[data-section="building"] [data-field="rooms_group"] .sas-field__label {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	[data-section="kitchen"] .sas-section__body {
		grid-template-columns: 1fr !important;
	}

	[data-section="kitchen"] [data-field="kitchen_type"],
	[data-section="kitchen"] [data-field="kitchen_facilities"] {
		grid-column: 1 / -1 !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	[data-section="kitchen"] [data-field="kitchen_facilities"] .sas-checkboxes--columns {
		column-count: 1 !important;
	}

	[data-section="kitchen"] [data-field="kitchen_facilities"] .sas-checkbox {
		width: 100%;
		break-inside: avoid;
	}

	[data-section="additional_info"] [data-field="additional_security"] .sas-checkboxes--grid,
	[data-section="additional_info"] [data-field="occupancy_certificate_status"] .sas-checkboxes--grid,
	[data-section="law_statement"] [data-field="occupancy_certificate_status"] .sas-checkboxes--grid,
	[data-section="financial_info"] [data-field="status_terms"] .sas-checkboxes--grid,
	[data-section="financial_info"] [data-field="commission_terms"] .sas-checkboxes--grid {
		grid-template-columns: 1fr !important;
	}

	[data-section="additional_info"] [data-field="additional_security"] .sas-checkbox,
	[data-section="additional_info"] [data-field="occupancy_certificate_status"] .sas-checkbox,
	[data-section="law_statement"] [data-field="occupancy_certificate_status"] .sas-checkbox,
	[data-section="financial_info"] [data-field="status_terms"] .sas-checkbox,
	[data-section="financial_info"] [data-field="commission_terms"] .sas-checkbox {
		width: 100%;
	}

	[data-section="listing_tags"] .sas-checkboxes--grid {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0.65rem;
		overflow: visible;
		padding-bottom: 0;
	}

	[data-section="listing_tags"] .sas-scrollbar {
		display: none;
	}
}
