/**
 * Tenant Search Form Styles
 */

/* Tenant Search Form */
.pts-tenant-search-shortcode {
	margin-block: 30px;
}

.pts-tenant-search-form {
	background: #ffffff;
	padding: 15px 35px;
	border-radius: 60px;
	display: flex;
	align-items: center;
	gap: 40px;
	box-shadow: 0 0px 15px rgba(0,0,0,0.1);
}

.pts-search-fields {
	display: flex;
	align-items: center;
	gap: 40px;
	flex-wrap: nowrap;
	width: 100%;
}

.pts-search-field {
	position: relative;
	flex: 1;
	min-width: 0; /* Allow fields to shrink */
	border-right: 1px solid #eee;
	padding-right: 25px;
}

.pts-search-field:last-of-type,
.pts-search-button {
	border-right: none;
	padding-right: 0;
}

.pts-search-field--location {
	flex: 1;
	position: relative;
}

/* HivePress Geolocation wrapper - match regular listing search styling */
.pts-search-field--location .hp-field--location {
	display: flex;
	align-items: center;
	width: 100%;
}

.pts-search-field--location .hp-field--location input[type="text"] {
	flex: 1;
	border: none !important;
	background: transparent !important;
	font-size: 16px !important;
	padding: 5px 0 !important;
	padding-right: 3rem !important;
	outline: none !important;
	box-shadow: none !important;
	color: #929292 !important;
	font-weight: normal !important;
	min-height: 20px;
}

.pts-search-field--location .hp-field--location input[type="text"]::placeholder {
	color: #929292 !important;
	opacity: 1;
}

.pts-search-field--location .hp-field--location a {
	flex: 0 0 3rem;
	margin-left: -3rem;
	text-decoration: none;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: 3;
	color: #929292;
}

.pts-search-field--location .hp-field--location a:hover {
	color: #666;
}

.pts-search-field--dates {
	flex: 1;
	position: relative;
	overflow: visible;
}

.pts-search-field--category {
	flex: 1;
	position: relative;
}

.pts-search-field--verification {
	flex: 1.2;
	min-width: 140px;
	position: relative;
}

.pts-search-input,
.pts-search-select {
	width: 100%;
	border: none !important;
	background: transparent !important;
	font-size: 16px !important;
	padding: 5px 0 !important;
	padding-right: 30px !important;
	outline: none !important;
	box-shadow: none !important;
	color: #929292 !important;
	font-weight: normal !important;
	min-height: 20px;
}

.pts-search-input::placeholder {
	color: #929292 !important;
	opacity: 1;
}

.pts-search-field--dates .pts-search-input {
	border: 1px solid #F2F2F2 !important;
	border-width: 0px 1px !important;
	padding: 0px 10px !important;
}

.pts-search-input:focus,
.pts-search-select:focus {
	outline: none;
	box-shadow: none;
}

.pts-search-field--location .fas.fa-map-marker-alt {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	color: #929292;
	pointer-events: none;
	font-size: 16px;
	z-index: 1;
}

.pts-search-field--category .fas.fa-chevron-down,
.pts-search-field--dates .fas.fa-calendar-alt,
.pts-search-field--verification .fas.fa-star {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	color: #929292;
	pointer-events: none;
	font-size: 16px;
}

.pts-search-field--dates .pts-date-clear {
	display: none !important;
	position: absolute;
	right: 26px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 20;
	width: 22px;
	height: 22px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #f0f0f0;
	color: #333;
	font-size: 12px;
	line-height: 1;
	text-decoration: none;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.pts-search-field--dates.has-dates .pts-date-clear,
.pts-search-field--dates .pts-date-clear.is-visible,
.pts-search-field--dates .pts-search-input:not(:placeholder-shown) ~ .pts-date-clear {
	display: inline-flex !important;
}

.pts-search-field--dates .pts-date-clear:hover,
.pts-search-field--dates .pts-date-clear:focus {
	background: #e2e2e2;
	color: #111;
}

.pts-search-field--dates .pts-search-input {
	padding-right: 52px !important;
}

.pts-search-field--verification .fas.fa-star {
	color: #ffc107; /* Gold color for star icon */
}

.pts-search-field--category .fas.fa-chevron-down {
	right: 16px;
}

.pts-search-input.pts-date-picker {
	cursor: pointer;
}

/* Flatpickr Calendar Styling */
.flatpickr-calendar {
	font-family: inherit;
	border-radius: 8px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
}

.flatpickr-calendar.open {
	z-index: 9999;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
	background: #ff6b35;
	border-color: #ff6b35;
}

.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover {
	background: #e55a2b;
	border-color: #e55a2b;
}

.flatpickr-day.inRange {
	background: rgba(255, 107, 53, 0.1);
	border-color: rgba(255, 107, 53, 0.2);
}

.pts-search-select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	cursor: pointer;
	padding-right: 45px;
}

.pts-search-button {
	background: #EC5017 !important;
	color: #fff !important;
	border: none;
	box-shadow: none !important;
	border-radius: 40px !important;
	padding: 18px 30px 18px 50px !important;
	font-size: 18px !important;
	font-weight: 500;
	cursor: pointer !important;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	transition: background-color 0.2s ease;
	white-space: nowrap;
	flex-shrink: 0;
	position: relative;
	min-width: 150px;
}

.pts-search-button:hover {
	background: #d0450f !important;
}

.pts-search-button span::after {
	content: '\f002';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	left: 26px;
	position: absolute;
	top: 19px;
	font-size: 17px;
}

.pts-search-button .fas.fa-search {
	font-size: 16px;
}

.pts-search-button span {
	display: inline-block;
}

/* Responsive */
@media (max-width: 1200px) {
	.pts-search-fields {
		flex-wrap: wrap;
	}
	
	.pts-search-field {
		min-width: 150px;
	}
	
	.pts-search-button {
		width: 100%;
		justify-content: center;
		margin-top: 8px;
	}
}

@media (max-width: 768px) {
	.pts-search-fields {
		flex-direction: column;
	}

	.pts-search-field {
		width: 100%;
		min-width: 100%;
	}

	.pts-search-button {
		width: 100%;
		justify-content: center;
		margin-top: 0;
	}
	.pts-tenant-search-form {
		border-radius: 25px;
	}
}

