.trendy-travel-search {
	--trendy-search-bg: #ffffff;
	--trendy-search-text: #171a21;
	--trendy-search-text-nav: #ffffff;
	--trendy-search-muted: #313131;
	--trendy-search-line: #d9dde6;
	--trendy-search-soft: #f7f9fc;
	--trendy-search-primary: #0b78df;
	--trendy-search-primary-dark: #075db0;
	--trendy-search-shadow: 0 16px 36px rgba(17, 24, 39, .14);
	color: var(--trendy-search-text);
	position: relative;
	z-index: 2;
	overflow: visible;
}

.trendy-travel-search.is-popup-open {
	z-index: 9999;
}

.trendy-travel-search__tabs {
	display: inline-flex;
	align-items: stretch;
	gap: 4px;
	padding: 4px;
	border-radius: var(--wp--preset--border-radius--2-xl) var(--wp--preset--border-radius--2-xl) 0 0;
	background: var(--trendy-search-bg);
}

.trendy-travel-search__tab {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 38px;
	padding: 0 16px;
	border: 0;
	border-radius: var(--wp--preset--border-radius--2-xl);
	background: transparent;
	color: var(--trendy-search-muted);
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	white-space: nowrap;
	transition: background-color .2s ease, color .2s ease, box-shadow .2s ease;
	z-index: 1;
}

.trendy-travel-search__tab.is-active {
	background: var(--trendy-search-soft);
	color: var(--trendy-search-text);
	box-shadow: inset 0 0 0 1px rgba(17, 24, 39, .05);
}

.trendy-travel-search__tab-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: rgba(11, 120, 223, .12);
	color: var(--trendy-search-primary);
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
}

.trendy-travel-search__panels {
	overflow: visible;
	background-color: #fff;
	padding: 25px;
	box-shadow: rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.04) 0px 10px 10px -5px;
	border-radius: 0 var(--wp--preset--border-radius--2-xl) var(--wp--preset--border-radius--2-xl) var(--wp--preset--border-radius--2-xl);
}

.trendy-travel-search__panel[hidden] {
	display: none;
}

.trendy-travel-search__form {
	display: flex;
	align-items: center;
	gap: 12px;
	overflow: visible;
	position: relative;
	z-index: 1;
}

.trendy-travel-search__form.has-advanced {
	flex-wrap: wrap;
}

.trendy-travel-search__field-group {
	position: relative;
	flex: 1 1 190px;
	min-width: 168px;
}

.trendy-travel-search__field-group.is-open {
	z-index: 1000;
}

.trendy-travel-search__field-group--destination {
	flex-basis: 250px;
}

.trendy-travel-search__form.has-advanced .trendy-travel-search__field-group {
	flex: 1 1 140px;
	min-width: min(100%, 132px);
}

.trendy-travel-search__form.has-advanced .trendy-travel-search__field-group--destination {
	flex-basis: 200px;
}

.trendy-travel-search__field-trigger {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	min-height: 50px;
	border: 1px solid var(--trendy-search-line);
	border-radius: 999px;
	background: var(--trendy-search-bg);
	color: var(--trendy-search-text);
	font: inherit;
	font-size: 15px;
	line-height: 1.2;
	padding: 0 16px;
	cursor: pointer;
	text-align: left;
	transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.trendy-travel-search__field-trigger:hover,
.trendy-travel-search__field-group.is-open .trendy-travel-search__field-trigger {
	border-color: rgba(11, 120, 223, .5);
	box-shadow: 0 8px 22px rgba(17, 24, 39, .08);
}

.trendy-travel-search__field-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	flex: 0 0 22px;
	color: #141820;
	font-size: 18px;
	line-height: 1;
}

.trendy-travel-search__field-summary {
	min-width: 0;
	flex: 1 1 auto;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.trendy-travel-search__field-summary.is-placeholder {
	color: var(--trendy-search-muted);
}

.trendy-travel-search__field-chevron {
	width: 8px;
	height: 8px;
	border-right: 1.8px solid currentColor;
	border-bottom: 1.8px solid currentColor;
	flex: 0 0 8px;
	margin-left: 4px;
	transform: rotate(45deg) translateY(-2px);
	transition: transform .2s ease;
}

.trendy-travel-search__field-group.is-open .trendy-travel-search__field-chevron {
	transform: rotate(225deg) translate(-2px, -1px);
}

.trendy-travel-search__popup {
	position: absolute;
	left: var(--trendy-search-popup-left, 0);
	width: min(300px, calc(100vw - 32px));
	z-index: 1000;
	opacity: 0;
	pointer-events: none;
	transform: translateY(6px) scale(.98);
	transform-origin: top left;
	visibility: hidden;
	transition: opacity .18s ease, transform .22s ease, visibility 0s linear .22s;
}

.trendy-travel-search__field-group.is-open .trendy-travel-search__popup {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0) scale(1);
	visibility: visible;
	transition-delay: 0s;
}

.trendy-travel-search__field-group.is-below .trendy-travel-search__popup {
	top: calc(100% + 10px);
	transform-origin: top left;
}

.trendy-travel-search__field-group.is-above .trendy-travel-search__popup {
	bottom: calc(100% + 10px);
	transform: translateY(-6px) scale(.98);
	transform-origin: bottom left;
}

.trendy-travel-search__field-group.is-open.is-above .trendy-travel-search__popup {
	transform: translateY(0) scale(1);
}

.trendy-travel-search__popup-inner {
	display: grid;
	gap: 12px;
	padding: 14px;
	border: 1px solid var(--trendy-search-line);
	border-radius: 12px;
	background: var(--trendy-search-bg);
	box-shadow: var(--trendy-search-shadow);
}

.trendy-travel-search__field-group--travel_date .trendy-travel-search__popup,
.trendy-travel-search__field-group--stay .trendy-travel-search__popup {
	width: min(344px, calc(100vw - 32px));
}

.trendy-travel-search__field-group--price .trendy-travel-search__popup {
	width: 320px;
}

.trendy-travel-search__field-group--destination .trendy-travel-search__popup,
.trendy-travel-search__field-group--activity .trendy-travel-search__popup,
.trendy-travel-search__field-group--attraction-type .trendy-travel-search__popup {
	width: 320px;
}

.trendy-travel-search-calendar {
	overflow: hidden;
	border-radius: 12px;
	background: #fff;
	min-width: 0;
}

.trendy-travel-search-calendar__toolbar {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px;
	background: #eee8dc;
}

.trendy-travel-search-calendar__select {
	min-width: 0;
	height: 40px;
	border: 1px solid #ded5c7;
	border-radius: 8px;
	background: #fffaf1;
	color: #38342e;
	font: inherit;
	font-size: 15px;
	line-height: 1.2;
	padding: 0 12px;
	outline: none;
}

.trendy-travel-search-calendar__select:not(.trendy-travel-search-calendar__select--year) {
	flex: 1 1 122px;
	width: auto;
}

.trendy-travel-search-calendar__select--year {
	flex: 0 0 84px;
	width: 84px;
}

.trendy-travel-search-calendar__nav {
	display: flex;
	gap: 6px;
	margin-left: auto;
}

.trendy-travel-search-calendar__nav-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 39px;
	border: 1px solid #ded5c7;
	border-radius: 8px;
	background: #fff;
	color: #171a21;
	font: inherit;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}

.trendy-travel-search-calendar__weekdays,
.trendy-travel-search-calendar__grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
}

.trendy-travel-search-calendar__weekdays {
	background: #fff;
	border-bottom: 1px solid #e6ddd0;
	color: #195936;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
}

.trendy-travel-search-calendar__weekdays span {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 40px;
}

.trendy-travel-search-calendar__grid {
	border-left: 1px solid #e6ddd0;
	border-top: 1px solid #e6ddd0;
}

.trendy-travel-search-calendar__cell.is-empty,
.trendy-travel-search-calendar__day {
	aspect-ratio: 1 / 1;
	min-height: 40px;
	border: 0;
	border-right: 1px solid #e6ddd0;
	border-bottom: 1px solid #e6ddd0;
	background: #fff;
}

.trendy-travel-search-calendar__cell.is-empty {
	display: block;
}

.trendy-travel-search-calendar__day {
	color: #38342e;
	font: inherit;
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
}

.trendy-travel-search-calendar__day.is-disabled {
	color: #c9bfb3;
	cursor: not-allowed;
}

.trendy-travel-search-calendar__day.is-available:hover {
	background: #f5efe5;
}

.trendy-travel-search-calendar__day.is-in-range {
	background: #ecf5ef;
	color: #25382c;
}

.trendy-travel-search-calendar__day.is-selected {
	background: #195936;
	color: #fff;
}

.trendy-travel-search-calendar__day.is-range-start,
.trendy-travel-search-calendar__day.is-range-end {
	background: #195936;
	color: #fff;
}

.trendy-travel-search-calendar__selected {
	padding: 10px 14px 12px;
	border-top: 1px solid #e6ddd0;
	background: #fff;
	color: #195936;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.3;
	text-align: center;
}

.trendy-travel-search__popup-field {
	display: grid;
	gap: 7px;
	min-width: 0;
}

.trendy-travel-search__popup-field > span {
	color: var(--trendy-search-muted);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
}

.trendy-travel-search__popup-field input,
.trendy-travel-search__popup-field select {
	width: 100%;
	min-height: 44px;
	border: 1px solid var(--trendy-search-line);
	border-radius: 8px;
	background: #fff;
	color: var(--trendy-search-text);
	font: inherit;
	line-height: 1.2;
	padding: 0 12px;
	outline: none;
}

.trendy-travel-search__popup-field input:focus,
.trendy-travel-search__popup-field select:focus {
	border-color: var(--trendy-search-primary);
	box-shadow: 0 0 0 3px rgba(11, 120, 223, .12);
}

.trendy-travel-search__tax-filter {
	display: grid;
	gap: 12px;
	min-width: 0;
}

.trendy-travel-search__tax-title {
	color: var(--trendy-search-muted);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
}

.trendy-travel-search__tax-checklist {
	display: grid;
	gap: 12px;
	max-height: 260px;
	overflow-y: auto;
	padding-right: 2px;
}

.trendy-travel-search__tax-check {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr) auto;
	align-items: center;
	gap: 10px;
	color: #2f2a21;
	font-size: 15px;
	line-height: 1.25;
	cursor: pointer;
}

.trendy-travel-search__tax-check.is-child {
	padding-left: calc(var(--trendy-term-depth, 1) * 18px);
}

.trendy-travel-search__tax-check-box {
	position: relative;
	display: inline-flex;
	width: 20px;
	height: 20px;
}

.trendy-travel-search__tax-check-box input {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}

.trendy-travel-search__tax-check-box span {
	display: block;
	width: 20px;
	height: 20px;
	border: 1.5px solid #d0c1a7;
	border-radius: 6px;
	background: #fff;
	transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.trendy-travel-search__tax-check-box input:checked + span {
	border-color: #eb7b3a;
	background: #eb7b3a;
	box-shadow: inset 0 0 0 4px #fff;
}

.trendy-travel-search__tax-check-label {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.trendy-travel-search__tax-check-count {
	color: #8b7b62;
	font-size: 13px;
	font-weight: 600;
}

.trendy-travel-search__tax-empty {
	color: var(--trendy-search-muted);
	font-size: 14px;
}

.trendy-travel-search__popup-grid,
.trendy-travel-search__stepper-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.trendy-travel-search__price-range {
	display: grid;
	gap: 14px;
	padding: 2px 0;
}

.trendy-travel-search__price-range-slider {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 34px;
}

.trendy-travel-search__price-range-track,
.trendy-travel-search__price-range-fill {
	position: absolute;
	left: 0;
	right: 0;
	height: 6px;
	border-radius: 999px;
}

.trendy-travel-search__price-range-track {
	background: #f2ddc3;
}

.trendy-travel-search__price-range-fill {
	background: #ef862d;
}

.trendy-travel-search__price-range input[type="range"] {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 34px;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	pointer-events: none;
	appearance: none;
	-webkit-appearance: none;
}

.trendy-travel-search__price-range input[type="range"]::-webkit-slider-runnable-track {
	height: 6px;
	background: transparent;
}

.trendy-travel-search__price-range input[type="range"]::-moz-range-track {
	height: 6px;
	background: transparent;
}

.trendy-travel-search__price-range input[type="range"]::-webkit-slider-thumb {
	width: 22px;
	height: 22px;
	margin-top: -8px;
	border: 2px solid #ef862d;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 4px 10px rgba(239, 134, 45, .22);
	cursor: pointer;
	pointer-events: auto;
	appearance: none;
	-webkit-appearance: none;
}

.trendy-travel-search__price-range input[type="range"]::-moz-range-thumb {
	width: 22px;
	height: 22px;
	border: 2px solid #ef862d;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 4px 10px rgba(239, 134, 45, .22);
	cursor: pointer;
	pointer-events: auto;
}

.trendy-travel-search__price-range-values {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	color: #2f2a21;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
}

.trendy-travel-search__advanced-toggle {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	flex: 0 0 50px;
	border: 1px solid var(--trendy-search-line);
	border-radius: 50%;
	background: var(--trendy-search-bg);
	color: var(--trendy-search-text);
	cursor: pointer;
	transition: border-color .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.trendy-travel-search__advanced-toggle:hover,
.trendy-travel-search__advanced-toggle:focus,
.trendy-travel-search__advanced-toggle.is-active {
	border-color: rgba(11, 120, 223, .55);
	background: rgba(11, 120, 223, .08);
	color: var(--trendy-search-primary);
	box-shadow: 0 8px 22px rgba(17, 24, 39, .08);
}

.trendy-travel-search__advanced-icon {
	display: block;
	width: 22px;
	height: 22px;
	flex: 0 0 22px;
}

.trendy-travel-search__advanced-panel {
	display: grid;
	grid-template-rows: 0fr;
	flex: 0 0 100%;
	grid-column: 1 / -1;
	min-width: 0;
	order: 30;
	width: 100%;
	overflow: hidden;
	opacity: 0;
	transform: translateY(-6px);
	transition: grid-template-rows .24s ease, opacity .2s ease, transform .24s ease;
}

.trendy-travel-search__advanced-panel.is-open {
	grid-template-rows: 1fr;
	order: 21;
	overflow: visible;
	opacity: 1;
	transform: translateY(0);
}

.trendy-travel-search__advanced-panel .trendy-travel-search__field-group {
	min-height: 0;
	max-width: 320px;
	padding-top: 2px;
}

.trendy-travel-search__stepper-grid {
	grid-template-columns: 1fr;
}

.trendy-travel-search__actions {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	order: 20;
	flex: 0 0 auto;
}

.trendy-travel-search__guest-stepper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-width: 0;
	padding: 10px 12px;
	border: 1px solid var(--trendy-search-line);
	border-radius: 10px;
	background: #fff;
}

.trendy-travel-search__guest-stepper-label {
	color: var(--trendy-search-text);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
}

.trendy-travel-search__guest-stepper-control {
	display: inline-grid;
	grid-template-columns: 34px 48px 34px;
	align-items: center;
	gap: 7px;
	flex: 0 0 auto;
}

.trendy-travel-search__guest-stepper-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 1px solid var(--trendy-search-line);
	border-radius: 50%;
	background: var(--trendy-search-soft);
	color: var(--trendy-search-text);
	font: inherit;
	font-size: 18px;
	font-weight: 800;
	line-height: 1;
	cursor: pointer;
	transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}

.trendy-travel-search__guest-stepper-btn:hover:not(:disabled),
.trendy-travel-search__guest-stepper-btn:focus:not(:disabled) {
	border-color: var(--trendy-search-primary);
	background: rgba(11, 120, 223, .1);
	color: var(--trendy-search-primary);
}

.trendy-travel-search__guest-stepper-btn:disabled {
	opacity: .45;
	cursor: not-allowed;
}

.trendy-travel-search__guest-stepper-control input {
	width: 48px;
	min-height: 34px;
	border: 0;
	background: transparent;
	color: var(--trendy-search-text);
	font: inherit;
	font-size: 16px;
	font-weight: 800;
	line-height: 1;
	text-align: center;
	outline: none;
	-moz-appearance: textfield;padding: 0;
}

.trendy-travel-search__guest-stepper-control input::-webkit-outer-spin-button,
.trendy-travel-search__guest-stepper-control input::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.trendy-travel-search__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-width: 142px;
	min-height: 50px;
	border: 0;
	border-radius: 999px;
	background: var(--trendy-search-primary);
	color: #fff;
	font: inherit;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.1;
	padding: 0 22px;
	cursor: pointer;
	white-space: nowrap;
	transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.trendy-travel-search__submit:hover,
.trendy-travel-search__submit:focus {
	background: var(--trendy-search-primary-dark);
	box-shadow: 0 12px 28px rgba(11, 120, 223, .25);
	transform: translateY(-1px);
}

.trendy-travel-search__submit-icon {
	width: 15px;
	height: 15px;
	border: 2px solid currentColor;
	border-radius: 50%;
	position: relative;
	flex: 0 0 auto;
}

.trendy-travel-search__submit-icon::after {
	content: "";
	position: absolute;
	right: -6px;
	bottom: -4px;
	width: 8px;
	height: 2px;
	border-radius: 999px;
	background: currentColor;
	transform: rotate(45deg);
	transform-origin: center;
}

.trendy-travel-search--stacked .trendy-travel-search__form {
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
}

.trendy-travel-search--stacked .trendy-travel-search__field-group {
	flex: 1 1 150px;
	min-width: min(100%, 180px);
}

.trendy-travel-search--stacked .trendy-travel-search__field-group--destination {
	flex-basis: 260px;
}

.trendy-travel-search--stacked .trendy-travel-search__submit {
	flex: 1 1 150px;
}

@media (max-width: 850px) {
	.trendy-travel-search__form {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.trendy-travel-search--stacked .trendy-travel-search__form {
		display: flex;
	}

	.trendy-travel-search__form.has-advanced {
		display: flex;
	}

	.trendy-travel-search__submit {
		width: 100%;
	}

	.trendy-travel-search__actions {
		flex: 1 1 192px;
	}

	.trendy-travel-search__field-group--travel_date .trendy-travel-search__popup,
	.trendy-travel-search__field-group--stay .trendy-travel-search__popup {
		width: min(344px, calc(100vw - 32px));
	}
}

@media (max-width: 600px) {
	.trendy-travel-search__tabs {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		width: 85%;
	}

	.trendy-travel-search__tab {
		min-width: 0;
		padding: 0 8px;
	}

	.trendy-travel-search__tab-icon {
		display: none;
	}

	.trendy-travel-search__field-group {
		min-width: 0;
	}

	.trendy-travel-search__form {
		grid-template-columns: 1fr;
	}

	.trendy-travel-search--stacked .trendy-travel-search__field-group,
	.trendy-travel-search--stacked .trendy-travel-search__submit,
	.trendy-travel-search--stacked .trendy-travel-search__actions {
		flex-basis: 100%;
		width: 100%;
	}

	.trendy-travel-search__actions {
		width: 100%;
	}

	.trendy-travel-search__popup {
		width: 100%;
	}



	.trendy-travel-search-calendar__toolbar {
		gap: 6px;
		padding: 10px;
	}

	.trendy-travel-search-calendar__select:not(.trendy-travel-search-calendar__select--year) {
		flex-basis: 96px;
	}

	.trendy-travel-search-calendar__select--year {
		flex-basis: 72px;
		width: 72px;
	}

	.trendy-travel-search-calendar__nav-btn {
		width: 36px;
	}

	.trendy-travel-search__popup-grid,
	.trendy-travel-search__stepper-grid {
		grid-template-columns: 1fr;
	}
}
