/* Homepage property search: generous desktop proportions, stacked small screens. */
.hero-search {
	position: relative;
	z-index: 3;
	grid-column: 1 / -1;
	width: 100%;
	max-width: none;
	margin: clamp(34px, 4vw, 52px) auto 0;
	box-sizing: border-box;
}

.hero-search-form {
	display: grid;
	grid-template-columns:
		minmax(190px, 1.15fr)
		minmax(225px, 1.3fr)
		minmax(230px, 1.3fr)
		minmax(130px, .78fr)
		minmax(165px, .9fr);
	align-items: end;
	gap: 16px;
	width: 100%;
	box-sizing: border-box;
	padding: 22px;
	border: 1px solid rgba(245, 238, 227, .18);
	border-radius: 20px;
	background: rgba(17, 16, 15, .86);
	box-shadow: 0 22px 54px rgba(0, 0, 0, .32), inset 0 1px 0 rgba(255, 255, 255, .045);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

.search-field {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.search-field label {
	display: block;
	min-height: 1.35em;
	margin: 0 0 9px;
	color: #f0d7ae;
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .055em;
	line-height: 1.35;
	text-transform: uppercase;
}

.search-field input,
.search-field select {
	display: block;
	width: 100%;
	min-width: 0;
	height: 54px;
	box-sizing: border-box;
	padding: 0 15px;
	border: 1px solid rgba(245, 238, 227, .18);
	border-radius: 10px;
	background: rgba(255, 255, 255, .08);
	color: #fff;
	font: inherit;
	font-size: .96rem;
	line-height: 1.2;
	transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.search-field select { cursor: pointer; }
.search-field select option { color: #0b0b0b; }
.search-field input::placeholder { color: rgba(245, 238, 227, .56); opacity: 1; }
.search-field :is(input, select):hover { border-color: rgba(224, 187, 128, .56); }
.search-field :is(input, select):focus-visible {
	border-color: #e0bb80;
	background: rgba(255, 255, 255, .12);
	outline: 3px solid rgba(224, 187, 128, .24);
	outline-offset: 2px;
}

.search-price-control { position: relative; min-width: 0; }
.search-price-control input { padding-right: 62px; font-variant-numeric: tabular-nums; }
.search-price-currency {
	position: absolute;
	top: 50%;
	right: 14px;
	color: rgba(245, 238, 227, .68);
	font-size: .82rem;
	font-weight: 700;
	letter-spacing: .035em;
	transform: translateY(-50%);
	pointer-events: none;
}

.search-submit { display: flex; align-items: end; min-width: 0; }
.search-submit button {
	width: 100%;
	min-width: 0;
	min-height: 54px;
	padding: 0 20px;
	border: 1px solid #c99a55;
	border-radius: 999px;
	background: linear-gradient(135deg, #e0bb80, #c99a55);
	color: #0b0b0b;
	font: inherit;
	font-size: .94rem;
	font-weight: 750;
	white-space: nowrap;
	cursor: pointer;
	transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.search-submit button:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(201, 154, 85, .25); }
.search-submit button:focus-visible { outline: 3px solid #f0d7ae; outline-offset: 3px; }

@media (max-width: 1180px) {
	.hero-search-form { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.hero-search-form .search-field:first-child { grid-column: span 2; }
	.hero-search-form .search-field:nth-child(2) { grid-column: span 2; }
	.hero-search-form .search-field:nth-child(3) { grid-column: span 2; }
	.hero-search-form .search-field:nth-child(4) { grid-column: span 1; }
	.hero-search-form .search-submit { grid-column: span 1; }
}

@media (max-width: 720px) {
	.hero-search { margin-top: 30px; }
	.hero-search-form { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 18px; }
	.hero-search-form .search-field:first-child,
	.hero-search-form .search-field:nth-child(2),
	.hero-search-form .search-field:nth-child(3) { grid-column: 1 / -1; }
	.hero-search-form .search-field:nth-child(4),
	.hero-search-form .search-submit { grid-column: span 1; }
}

@media (max-width: 420px) {
	.hero-search-form { grid-template-columns: 1fr; padding: 16px; }
	.hero-search-form .search-field:nth-child(4),
	.hero-search-form .search-submit { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
	.search-field input,
	.search-field select,
	.search-submit button { transition-duration: .01ms; }
}
