/* ── Container width override (bypasses Astra Pro) ── */
.ast-container {
	max-width: 100% !important;
}

/* ── Homepage hero: full-width, no padding, flush to header ── */
.home .ast-container {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.home .elementor-section-full_width .elementor-container,
.home .elementor-section-stretched {
	max-width: 100vw !important;
	width: 100vw !important;
	margin-left: calc(-50vw + 50%) !important;
}

/* Flight result cards — use Roboto to match site standard */
.flight-card-wrapper,
.flight-item {
	font-family: 'Roboto', sans-serif;
}


body {
	font-family: 'Poppins', sans-serif;
}

.btn {
	border-radius: 0;
}

.hma_hp_search_tabs {
	bottom: 250px;
	z-index: 1;
}

.hma_hp_search_tabs .elementor-tab-title {
	background-color: #1A2B48;
	padding: 7px 30px !important;
	border-radius: 3px 3px 0px 0px;
}

.hma_hp_search_tabs .elementor-tab-title.elementor-active {
	background-color: #095DA6 !important;
}

.hotel_search_wrap,
.tour_search_wrap,
.inclusive_tour_search_wrap,
.sport_search_wrap,
.special_search_wrap {
	float: left;
	width: 100%;
	position: relative;
	margin: auto;
	display: flex;
	justify-content: space-around;
}

.hotel_search_wrap_inner,
.tour_search_wrap_inner,
.inclusive_tour_search_wrap_inner,
.sport_search_wrap_inner,
.special_search_wrap_inner {
	padding: 0 15px;
}

body.archive .hotel_search_wrap_inner,
body.archive .tour_search_wrap_inner body.archive .inclusive_tour_search_wrap_inner,
body.archive .sport_search_wrap_inner,
body.archive .special_search_wrap_inner {
	padding: 0;
}

.hp_search_icon,
.hp_search_field_box,
.hp_inclusive_tour_search_icon,
.hp_sport_search_field_box,
.hp_sport_search_icon,
.hp_sport_search_field_box,
.hp_special_search_field_box,
.hp_special_search_icon,
.hp_special_search_field_box {
	float: left;
}

.hp_search_field_box,
.hp_inclusive_tour_search_field_box,
.hp_sport_search_field_box,
.hp_special_search_field_box {
	width: calc(100% - 53px);
}

/* Hide Reiseziel (destination) field completely */
.flight_search_wrap .flight_search_section1 {
	display: none !important;
}

/* Flight search field boxes should take full width */
.flight_search_wrap .hp_search_field_box,
.flight_search_wrap .departures-field-box,
.flight_search_wrap .arrivals-field-box {
	width: 100%;
}

.is_singular_hotel_yes .hp_search_field_box,
.is_singular_tour_yes .hp_search_field_box,
.is_singular_inclusive_tour_yes .hp_inclusive_tour_search_field_box,
.is_singular_sport_yes .hp_sport_search_field_box {
	width: 100%;
}

body.archive .hp_search_field_box,
body.archive .hp_inclusive_tour_search_field_box,
body.archive .hp_sport_search_field_box,
body.archive .buss_transfer_form_group {
	width: 100%;
}

/* Field boxes should take full width on archive pages too */
body.archive .flight_search_wrap .hp_search_field_box,
body.archive .flight_search_wrap .departures-field-box,
body.archive .flight_search_wrap .arrivals-field-box {
	width: 100%;
}

.hp_search_input,
.hp_inclusive_tour_search_input,
.hp_sport_search_input,
body.archive .hp_sport_search_field_box {
	outline-color: transparent;
}

.hp_search_icon,
.hp_inclusive_tour_search_icon,
.hp_sport_search_icon {
	height: 52.5px;
	width: 52.5px;
	justify-content: center;
	display: flex;
	align-items: center;
}

input[type=text].hp_search_input,
select.hp_search_input,
input[type=text].tour_search_guests {
	display: block;
	padding: 0;
	border: none;
	width: calc(100% - 10px);
}

input[type=text].hotel_search_guests,
input[type=text].inclusive_tour_search_guests {
	font-size: 13px !important;
}

button[disabled],
html input[disabled] {
	cursor: no-drop;
	background-color: rgb(10 92 175 / 50%);
}

body.archive input[type=text].hp_search_input,
body.archive select.hp_search_input,
body.archive input[type=text].hp_inclusive_tour_search_input,
body.archive select.hp_inclusive_tour_search_input,
body.archive input[type=text].hp_sport_search_input,
body.archive select.hp_sport_search_input,
body.archive input[type=text].hp_special_search_input,
body.archive select.hp_special_search_input {
	width: 100%;
}

.hotel_search_section1,
.hotel_search_section2,
.hotel_search_section3,
.inclusive_tour_search_section1,
.inclusive_tour_search_section2,
.inclusive_tour_search_section3,
.sport_search_section1,
.sport_search_section2,
.sport_search_section3,
.tour_search_section1,
.tour_search_section2,
.tour_search_section3 {
	float: left;
	width: calc(33% - 36px);
}

.hotel_search_wrap.is_tax_page_yes .hotel_search_section1,
.tour_search_wrap.is_tax_page_yes .tour_search_section1,
.inclusive_tour_search_wrap.is_tax_page_yes .inclusive_tour_search_section1,
.sport_search_wrap.is_tax_page_yes .sport_search_section1 {
	display: none;
}

body.archive .hotel_search_section1,
body.archive .hotel_search_section2,
body.archive .hotel_search_section3,
body.archive .inclusive_tour_search_section1,
body.archive .inclusive_tour_search_section2,
body.archive .inclusive_tour_search_section3,
body.archive .sport_search_section1,
body.archive .sport_search_section2,
body.archive .sport_search_section3,
body.archive .tour_search_section1,
body.archive .tour_search_section2,
body.archive .tour_search_section3 {
	width: 100%;
	border-right: 0px;
	border-left: 0px;
	border-bottom: 1px solid #ddd;
}

/* Suchen sits on its own row below the fields on every booking form. */
.hotel_search_btn_section,
.tour_search_btn_section,
.inclusive_tour_search_btn_section,
.sport_search_btn_section,
.special_search_btn_section,
.flight_search_btn_section,
.bus_search_btn_section,
.hotelbed_search_btn_section {
	float: none;
	clear: both;
	width: 100%;
	margin-top: 12px;
	text-align: center;
}

.hma-hotel-search,
.hma-tour-search .hotel_search_section2,
.tour_search_section2,
.hma-inclusive_tour-search,
.inclusive_tour_search_section2,
.hma-sport-search,
.sport_search_section2 {
	border-right: 1px solid #ddd;
	border-left: 1px solid #ddd;
}

.form_destination_search_wrap,
.hotel_destination_search_wrap,
.tour_destination_search_wrap,
.inclusive_tour_destination_search_wrap,
.sport_destination_search_wrap,
.special_destination_search_wrap {
	position: absolute;
	background-color: #fff !important;
	left: -20px;
	width: calc(100% + 40px);
	display: none;
	top: 124px;
	z-index: 100000;
}

.hotel_search_wrap,
.inclusive_tour_search_wrap {
	position: relative;
}

.hotel_search_wrap .hotel_destination_search_wrap,
.inclusive_tour_search_wrap .inclusive_tour_destination_search_wrap {
	position: absolute !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	max-width: none !important;
	box-sizing: border-box;
}

body.archive .hotel_destination_search_wrap,
body.archive .tour_destination_search_wrap,
body.archive .inclusive_tour_destination_search_wrap,
body.archive .sport_destination_search_wrap,
body.archive .special_destination_search_wrap {
	top: 55px;
	z-index: 1;
	left: 15px;
	width: calc(100% - 30px);
}

body.archive .hotel_search_wrap .hotel_destination_search_wrap,
body.archive .inclusive_tour_search_wrap .inclusive_tour_destination_search_wrap {
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
}

body.archive .sport_destination_search_wrap {
	top: 110px;
}

.hotel_search_destination_ul,
.tour_search_destination_ul,
.inclusive_tour_search_destination_ul,
.sport_search_destination_ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.hotel_search_destination_ul li,
.tour_search_destination_ul li,
.inclusive_tour_search_destination_ul li,
.sport_search_destination_ul li {
	padding: 0 15px;
}

.hotel_search_item_wrap>label,
.tour_search_item_wrap>label,
.inclusive_tour_search_item_wrap>label,
.sport_search_item_wrap>label {
	border-bottom: 1px solid #ddd;
	display: block;
	margin: 15px;
	font-weight: bold;
}

.hp_guest_search_section,
.hp_inclusive_tour_guest_search_section,
.hp_sport_guest_search_section {
	position: relative;
}

.hp_guests_search_wrap,
.tour_guests_search_wrap,
.hp_inclusive_tour_guests_search_wrap,
.hp_sport_guests_search_wrap,
.hp_special_guests_search_wrap {
	position: absolute;
	background: #fff;
	width: 100%;
	left: 0;
	top: 55px;
	display: none;
	padding: 15px;
	z-index: 1;
	border: 1px solid #ddd;
	border-radius: 5px;
}

body.archive .hp_guests_search_wrap,
body.archive .hp_inclusive_tour_guests_search_wrap,
body.archive .hp_sport_guests_search_wrap,
body.archive .hp_special_guests_search_wrap {
	top: 55px;
}

.hp_search_guest_input_fa,
.hp_inclusive_tour_search_guest_input_fa,
.hp_sport_search_guest_input_fa,
.hp_special_search_guest_input_fa {
	position: absolute;
	right: 15px;
	top: 30px;
}

.hp_guests_search_room,
.hp_guests_search_adult,
.hp_guests_search_children,
.hp_inclusive_tour_guests_search_room,
.hp_inclusive_tour_guests_search_adult,
.hp_inclusive_tour_guests_search_children,
.hp_sport_guests_search_room,
.hp_sport_guests_search_adult,
.hp_sport_guests_search_children,
.hp_special_guests_search_room,
.hp_special_guests_search_adult,
.hp_special_guests_search_children {
	float: left;
	width: 100%;
}

.search_guest_plus_minus,
.search_inclusive_tour_guest_plus_minus,
.search_sport_guest_plus_minus,
.search_special_guest_plus_minus {
	cursor: pointer;
}

.hp_guests_search_wrap input[type="text"],
.hp_guests_search_children_ages_wrap input[type="number"],
.hp_inclusive_tour_guests_search_wrap input[type="text"],
.hp_inclusive_tour_guests_search_children_ages_wrap input[type="number"],
.hp_sport_guests_search_wrap input[type="text"],
.hp_sport_guests_search_children_ages_wrap input[type="number"] {
	width: 70px;
}

.hp_guests_search_children_ages_wrap input[type="number"],
.hp_inclusive_tour_guests_search_children_ages_wrap input[type="number"],
.hp_sport_guests_search_children_ages_wrap input[type="number"] {
	float: right;
}

.hp_search_guests_number_label,
.hp_inclusive_tour_search_guests_number_label,
.hp_sport_search_guests_number_label {
	float: right;
}

.hp_search_guests_label,
.hp_inclusive_tour_search_guests_label,
.hp_sport_search_guests_label {
	float: left;
	line-height: 47px;
}

.ajax_overlay {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 100000;
	display: none;
	overflow: hidden;
	-webkit-overflow-scrolling: touch;
	outline: 0;
	background-color: rgba(0, 0, 0, 0.5);
	overflow-y: scroll;
}

.ajax_overlay_loader {
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
}

.price_list_item {
	border-left: 3px dotted #095DA6;
	margin-bottom: 7.5px;
	padding: 7.5px;
}

.price_list_item .pricings_ul {
	border-top: 1px solid #095DA6;
	padding: 0;
	margin: 0;
	list-style: none;
	padding-top: 7.5px;
}

.hotel_booking_form_btn_loader,
.hotel_inquiry_form_btn_loader,
.special_booking_form_btn_loader,
.special_inquiry_form_btn_loader,
.inclusive_tour_booking_form_btn_loader,
.flight_booking_form_btn_loader {
	display: none;
}

.hp_special_hotel_img {
	background-size: cover;
	background-position: center;
	float: left;
	width: 100%;
}

.hp_special_hotel_rebate,
.hp_special_inclusive_tour_rebate {
	background-color: #95A504;
	color: #fff;
	font-size: 12px;
	display: block;
	text-align: center;
	padding: 0 3.5px;
	line-height: 20px;
}

.hotel_star_ratings,
.inclusive_tour_star_ratings,
.tour_star_ratings {
	display: inline-block;
	color: #95A504;
	font-size: 15px;
}

.hp_hotel_location_item,
.hp_inclusive_tour_location_item,
.hp_tour_location_item {
	margin: 15px 0;
	border-radius: 15px;
	background-position: center;
	position: relative;
	overflow: hidden;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 15px;
}

body.archive .hotel_search_wrap:hover,
body.archive .tour_search_wrap:hover,
.archive_hotel_item:hover,
.archive_tour_item:hover,
body.archive .inclusive_tour_search_wrap:hover,
.archive_inclusive_tour_item:hover,
body.archive .sport_search_wrap:hover {
	box-shadow: none;
}
.archive_sport_item:hover {
	box-shadow: 1px 12px 12px -5px #ddd;
}

body.archive .hotel_search_wrap,
.hotel_sidebar,
body.archive .tour_search_wrap,
.tour_sidebar,
body.archive .inclusive_tour_search_wrap,
.inclusive_tour_sidebar,
body.archive .sport_search_wrap,
.sport_sidebar,
body.archive .special_search_wrap,
.special_sidebar {
	top: 7.5px;
	margin-top: 7.5px;
}

.hp_hotel_location_heading,
.hp_tour_location_heading,
.hp_hotel_location_count,
.hp_inclusive_tour_location_heading,
.hp_inclusive_tour_location_count {
	color: #fff;
}

.archive_hotel_item,
.archive_tour_item,
.archive_inclusive_tour_item,
.archive_sport_item {
	margin: 7.5px 0;
	padding: 7.5px;
}

body.archive .hotel_search_wrap,
.archive_hotel_item,
body.archive .tour_search_wrap,
.archive_tour_item,
body.archive .inclusive_tour_search_wrap,
.archive_inclusive_tour_item,
body.archive .sport_search_wrap,
.archive_inclusive_tour_item,
body.archive .special_search_wrap,
.archive_special_item {
	border: solid 1px #ddd;
	padding: 12px;
	box-shadow: 1px 12px 12px -5px #ddd;
}

body.archive .flight_search_wrap {
	border: none;
	padding: 0;
	box-shadow: none;
}

body.archive .sport_search_wrap {
	border: 1px solid #dcdfe5;
	border-radius: 14px;
	padding: 24px;
	box-shadow: none;
	margin-top: 15px;
}

.hp_special_hotel_item,
.hp_special_tour_item,
.hp_special_inclusive_tour_item,
.hp_special_sport_item {
	border: 1px solid #95A504;
	border-radius: 4px;
}

.archive_hotel_item.hotel-recommended {
	border: 2px solid #95A504;
	position: relative;
	overflow: hidden;
}
.hotel-recommended-badge,
.sport-recommended-badge {
	position: absolute;
	top: -1px;
	right: -1px;
	background: #95A504;
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	padding: 2px 10px;
	border-radius: 0 4px 0 4px;
	letter-spacing: 0.5px;
	z-index: 1;
}

.archive_hotel_item.sport-recommended {
	border: 2px solid #95A504;
	position: relative;
	overflow: hidden;
}

.archive_hotel_item .hotel_img,
.archive_tour_item .tour_img,
.archive_inclusive_tour_item .inclusive_tour_img,
.archive_sport_item .sport_img {
	width: 100%;
}

.tt-traffics-facilities {
	margin: 8px 0 6px;
}

.tt-traffics-chip {
	background: #f3f6fa;
	border: 1px solid #dbe3ec;
	border-radius: 4px;
	color: #42526b;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
	margin-bottom: 5px;
	padding: 3px 7px;
}

.tt-traffics-description {
	color: #4d5870;
	font-size: 13px;
	line-height: 1.5;
}

.hp_hotel_item_meta,
.hp_inclusive_tour_item_meta,
.hp_sport_item_meta,
.hp_tour_item_meta {
	padding: 0 7.5px;
	font-size: 13px;
}

.hp_hotel_item_meta_terms a,
.hp_inclusive_tour_item_meta_terms a,
.hp_sport_item_meta_terms a,
.hp_tour_item_meta_terms a {
	color: #000;
}

.hp_hotel_item_meta_rating,
.hp_inclusive_tour_item_meta_rating,
.hp_sport_item_meta_rating,
.hp_tour_item_meta_rating {
	text-align: right;
}

.hotel_rating_txt,
.inclusive_tour_rating_txt,
.sport_rating_txt,
.tour_rating_txt {
	color: #95A504;
}

.hotel_rating_number,
.inclusive_tour_rating_number,
.sport_rating_number,
.tour_rating_number {
	background-color: #95A504;
	color: #fff;
	width: 22px;
	float: right;
	text-align: center;
	height: 22px;
	margin-left: 4px;
	border-radius: 4px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.hp_hotel_item_meta_catering_name,
.hp_inclusive_tour_item_meta_catering_name,
.hp_tour_item_meta_catering_name {
	background: #95A504;
	float: left;
	margin-left: 7.5px;
	color: #fff;
}


.hp_guests_search_children_ages_wrap,
.hp_inclusive_tour_guests_search_children_ages_wrap,
.hp_sport_guests_search_children_ages_wrap,
.hp_special_guests_search_children_ages_wrap,
.hp_special_guests_search_travellers_ages_wrap {
	float: left;
	width: 100%;
	margin: 0;
	list-style: none;
	border: 1px solid #ddd;
	padding: 7.5px;
	display: none;
}

.hp_guests_search_children_ages_wrap li {
	display: block;
	float: left;
	width: 100%;
}

.is_singular_hotel_yes .hotel_search_section1,
.is_singular_inclusive_tour_yes .inclusive_tour_search_section1,
.is_singular_special_yes .special_search_section1,
.is_singular_tour_yes .tour_search_section1 {
	display: none;
}

.is_singular_hotel_yes .hotel_search_section2,
.is_singular_hotel_yes .hotel_search_section3,
.is_singular_tour_yes .tour_search_section2,
.is_singular_tour_yes .tour_search_section3 {
	width: calc(50% - 59px);
	border: none;
}

.is_singular_inclusive_tour_yes .hotel_search_section2,
.is_singular_inclusive_tour_yes .inclusive_tour_search_section3 {
	width: calc(50% - 59px);
	border: none;
}

.hotel_gallery,
.inclusive_tour_gallery,
.tour_gallery {
	margin-left: -35px;
	width: calc(100% + 70px);
}

.tt-traffics-detail-page .hotel_gallery {
	clear: both;
	height: clamp(260px, 42vw, 520px);
	margin-left: auto;
	margin-right: auto;
	max-width: min(1110px, 100%);
	overflow: hidden;
	width: 100%;
}

.tt-traffics-detail-page .hotel_gallery:not(.slick-initialized) .gallery_img_item {
	display: none;
}

.tt-traffics-detail-page .hotel_gallery:not(.slick-initialized) .gallery_img_item:first-child {
	display: block;
}

.tt-traffics-detail-page .hotel_gallery.slick-initialized .slick-list,
.tt-traffics-detail-page .hotel_gallery.slick-initialized .slick-track,
.tt-traffics-detail-page .hotel_gallery.slick-initialized .slick-slide,
.tt-traffics-detail-page .hotel_gallery.slick-initialized .slick-slide > div {
	height: 100%;
}

.tt-traffics-detail-page .hotel_gallery .gallery_img_item {
	background: #f7f9fb;
	overflow: hidden;
}

.tt-traffics-detail-page .hotel_gallery .gallery_img_item,
.tt-traffics-detail-page .hotel_gallery .gallery_img_item > a {
	display: block;
	height: clamp(260px, 42vw, 520px) !important;
	width: 100%;
}

.tt-traffics-detail-page .hotel_gallery .gallery_img_item a {
	background-image: none !important;
	float: none;
	min-height: 0;
	overflow: hidden;
}

.tt-traffics-detail-page .hotel_gallery .gallery_img_item img {
	display: block;
	width: 100%;
	height: clamp(260px, 42vw, 520px) !important;
	max-height: clamp(260px, 42vw, 520px);
	object-fit: contain;
	object-position: center;
}

.tt-traffics-single-image-gallery {
	max-width: 760px;
}

.tt-traffics-single-image-gallery .gallery_img_item a {
	background-color: #f7f9fb;
	background-repeat: no-repeat;
	background-size: contain;
	display: block;
	min-height: 240px;
	height: 360px !important;
	width: 100%;
}

@media (max-width: 767px) {
	.tt-traffics-single-image-gallery .gallery_img_item a {
		height: 240px !important;
	}
}

.tt-traffics-detail-page .hotel_gallery.tt-traffics-single-image-gallery .gallery_img_item a,
.tt-traffics-detail-page .hotel_gallery .gallery_img_item a {
	height: clamp(260px, 42vw, 520px) !important;
	min-height: 0;
}

.tt-traffics-detail-page .hotel_gallery.tt-traffics-single-image-gallery .gallery_img_item,
.tt-traffics-detail-page .hotel_gallery.tt-traffics-single-image-gallery .gallery_img_item > a {
	height: clamp(240px, 36vw, 360px) !important;
}

.tt-traffics-detail-page .hotel_gallery.tt-traffics-single-image-gallery {
	height: clamp(240px, 36vw, 360px);
}

.tt-traffics-detail-page .hotel_gallery.tt-traffics-single-image-gallery .gallery_img_item img {
	height: clamp(240px, 36vw, 360px) !important;
	max-height: clamp(240px, 36vw, 360px);
}


.gallery_img_item a {
	width: 100%;
	float: left;
	background-size: cover;
	background-position: center;
}

.gallery_img_item a img {
	width: 100%;
}

.hma_slick_arrow {
	position: absolute;
	top: 0;
	height: 100%;
	display: flex !important;
	justify-content: center;
	align-items: center;
	z-index: 9;
	background: transparent;
	padding: 0 15px;
	color: transparent;
	cursor: pointer;
	font-size: 30px;
}

.slick-slider:hover .hma_slick_arrow {
	background: rgb(0 0 0 / 30%);
	padding: 0 15px;
	color: #fff;
}

.hma_slick_arrow_right {
	right: 0px;
}

.slick-slider {
	display: none;
}

.slick-initialized.slick-slider {
	display: block;
}

.ast-separate-container {
	background-color: #fff;
}

.nav-pills .nav-link.active,
.nav-pills .show>.nav-link,
.nav-pills .nav-link:hover {
	background-color: #095DA6;
}

.nav-pills .nav-link {
	background-color: rgb(9 93 166 / 50%);
	color: #fff;
	margin-right: 3px;
	border-radius: 0;
}

.btn-primary {
	background-color: #095DA6;
	border-color: #095DA6;
}

.price_list_item_heading {
	color: #095DA6;
	display: block;
}

.tab-content {
	width: 100%;
	display: inline-block;
}

.hp_search_field_label {
	justify-content: left !important;
}

.hp_inclusive_tour_search_field_label {
	justify-content: left !important;
}

.buss_transfer_form_group {
	width: calc(20% - 20px);
}

.hma_hp_search_tabs .elementor-tab-content {
	background-color: #fff;
}

@media(max-width:767px) {
	.hp_search_icon {
		display: none;
	}

	/* Keep flight search icons visible even on mobile */
	.flight_search_wrap .hp_search_icon {
		display: flex !important;
	}

	.hotel_search_section1,
	.hotel_search_section2,
	.hotel_search_section3,
	.tour_search_section1,
	.tour_search_section2,
	.tour_search_section3,
	.inclusive_tour_search_section1,
	.inclusive_tour_search_section2,
	.inclusive_tour_search_section3 {
		width: 100%;
		border-left: 0;
		border-right: 0;
		border-bottom: 1px solid #ddd;
		margin-bottom: 5px;
	}

	.hp_search_field_box {
		width: 100%;
	}

	.buss_transfer_form_group {
		width: 100%;
		border-bottom: 1px solid #ddd;
		margin-bottom: 5px !important;
	}
}

.hotel-sidebar h5,
.tour-sidebar h5 {
	padding-top: 20px;
}

.inclusive_tour-sidebar h5 {
	padding-top: 20px;
}

.hma_rating_filter_ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.hma_rating_filter_ul li {
	float: left;
	width: 20%;
	text-align: center;
}

.hma_rating_filter_ul label {
	margin: 0;
	width: calc(100% - 4px);
	border: 1px solid #ddd;
	line-height: 45px;
	border-radius: 4px;
	cursor: pointer;
}

.hma_rating_filter_ul label.filter_rating_active {
	background-color: #ddd;
}

.list-inline .list-inline-item img {
	height: 25px;
}

.display_on_more {
	display: none;
}

.selectedCity {
	font-weight: bold;
}

.rating-field:not(.show-rating) {
	display: none;
}

.mealplans-list {
	display: flex;
	flex-direction: column;
}

.selectedMealPlan {
	font-weight: bold;
	border-left: 2px solid #095da6;
	padding-left: 5px;
	transition: 0.2s;
}

.displayCity,
.displayMealPlan {
	cursor: pointer;
}

.hp_special_hotel_item .hotel_star_ratings {
	padding-left: 6px;
}

body.archive .hotel_search_wrap,
body.archive .special_search_wrap,
body.archive .tour_search_wrap {
	position: sticky;
	overflow-y: auto;
	max-height: 90vh;
	overflow-x: hidden;
	padding-bottom: 5px;
}

/* width */
body.archive .hotel_search_wrap::-webkit-scrollbar,
body.archive .special_search_wrap::-webkit-scrollbar,
body.archive .tour_search_wrap::-webkit-scrollbar {
	width: 10px;
}

/* Track */
body.archive .hotel_search_wrap::-webkit-scrollbar-track,
body.archive .special_search_wrap::-webkit-scrollbar-track,
body.archive .tour_search_wrap::-webkit-scrollbar-track {
	background: #f1f1f1;
}

/* Handle */
body.archive .hotel_search_wrap::-webkit-scrollbar-thumb,
body.archive .special_search_wrap::-webkit-scrollbar-thumb,
body.archive .tour_search_wrap::-webkit-scrollbar-thumb {
	background: #888;
}

/* Handle on hover */
body.archive .hotel_search_wrap::-webkit-scrollbar-thumb:hover,
body.archive .special_search_wrap::-webkit-scrollbar-thumb:hover,
body.archive .tour_search_wrap::-webkit-scrollbar-thumb:hover {
	background: #555;
}

.hotels-cart-menu {
	position: fixed;
	z-index: 1000000;
	background-color: white;
	height: 100vh;
	top: 32px;
	right: 0px;
	padding: 5px;
	box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
	min-width: 270px;
	top: 0px;
}

.hotels-cart-title {
	font-size: 1.5em;
	font-weight: bold;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
}

.hotels-cart-list {
	display: flex;
	gap: 1rem;
	flex-direction: column;
}

.hotels-cart-item {
	font-size: 0.9em;
	padding: 5px;
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding-top: 5px;
	border-top: 1px solid #dddddd;
}

.hotels-cart-item .hotel-title {
	font-weight: bold;
}

.hotels-cart-item .hotel-title span {
	font-weight: normal;
	color: gray;
}

.hotels-cart-item .hotel-description {
	display: flex;
	justify-content: space-around;
}

.hotels-cart-item .hotel-remove {
	color: #818181;
	background-color: white;
}

.hotels-cart-item .icon-hotel-remove:hover {
	transition: 0s !important;
	color: #fe6363;
	background-color: white;
	cursor: pointer;
}

.hotels-cart-item .hotel-remove svg {
	height: 2em;
}

.hotels-cart-item .hotel-cart-item-wrapper {
	width: 100%;
}

.hotels-cart-menu:not(.menu-open-cart) {
	display: none;
}

.toggle-menu-action {
	cursor: pointer;
}

.modal-footer.booking-footer {
	justify-content: space-between;
}

.cart-review-title {
	font-weight: bold;
	font-size: 1.3em;
	padding: 5px;
	padding-left: 0px;
}

.cart-review-item {
	border-left: 1px solid gray;
	padding-left: 10px;
}

.cart-review-item-adults-list {
	padding-left: 5px;
	list-style-type: none;
	padding-top: 5px;
	padding-bottom: 5px;
	font-style: italic;
}

.cart-review-item-children-list {
	padding-left: 5px;
	list-style-type: none;
	padding-top: 5px;
	padding-bottom: 5px;
	font-style: italic;
}

.hotels-cart-menu {
	overflow-y: auto;
}

.hotels-cart-menu::-webkit-scrollbar {
	width: 10px;
}

/* Track */
.hotels-cart-menu::-webkit-scrollbar-track {
	background: #f1f1f1;
}

/* Handle */
.hotels-cart-menu::-webkit-scrollbar-thumb {
	background: #888;
}

/* Handle on hover */
.hotels-cart-menu::-webkit-scrollbar-thumb:hover {
	background: #555;
}

.cart-review-item-name {
	font-weight: bold;
	color: #0a5caf;
}

.cart-review-item-subname {
	font-weight: bold;
	color: #0a5caf;
	font-size: 0.8em;
	width: fit-content;
	display: inline;
}

.cart-review-item-price {
	display: inline;
	width: fit-content;
	color: gray;
}

.cart-checkout-confirmation {
	padding-bottom: 40px;
}

.confirm-email {
	color: gray;
	font-size: 0.8em;
	padding: 5px;
	padding-left: 10px;
}

.title-booking {
	font-weight: bold;
	text-align: center;
}

.cart-review-item {
	position: relative;
}

.hotel-remove.hotel-remove-confirm {
	position: absolute;
	right: 5px;
	top: 5px;
	height: 2em;
	width: 2em;
}

.hotel-remove:hover svg {
	color: #e66161 !important;
	cursor: pointer;
}

.checkout-msg {
	padding: 5px;
	border: 1px solid gray;
	border-radius: 5px;
	margin: 5px;
	color: #0a5caf;
}

.hp_departures_search_section {
	position: relative;
}

.hp_departures_search_wrap {
	position: absolute;
	background-color: white;
	top: 50px;
	padding: 5px;
	border-radius: 5px;
	min-width: 350px;
	min-height: 200px;
	border: 1px solid #ddd;
	display: none;
}

.check-list {
	list-style-type: none;
	padding: 5px;
}

.display-flex {
	display: flex;
	gap: 1rem;
	padding: 5px;
}

.display-flex {
	min-width: fit-content;
}

.force_btn_inline {
	width: fit-content;
}

body:not(.post-type-archive-hotel).inclusive_tour_search_wrap .hp__search_field_section {
	width: 22% !important;
}

.hotel_search_wrap_inner,
.inclusive_tour_search_wrap_inner {
	width: 100%;
}

.inclusive_tour_search_wrap .hp__search_field_section {
	width: 22%;
}

.is_singular_inclusive_tour_yes .inclusive_tour_search_section1,
.is_singular_inclusive_tour_yes .hp_departures_search_section {
	display: none;
}

.is_singular_inclusive_tour_yes .hp__search_field_section {
	width: 41% !important;
	padding-left: 15px;
}

.checkout-msg:empty {
	display: none;
}


body:not(.post-type-archive-hotel).sport_search_wrap .hp__search_field_section {
	width: 22% !important;
}

.hotel_search_wrap_inner,
.tour_search_wrap_inner,
.sport_search_wrap_inner {
	width: 100%;
}

.sport_search_wrap .hp__search_field_section {
	width: 22%;
}

.is_singular_sport_yes .sport_search_section1,
.is_singular_sport_yes .hp_departures_search_section {
	display: none;
}

.is_singular_sport_yes .sport_search_wrap {
	width: 100% !important;
	display: block !important;
}

.is_singular_sport_yes .sport_search_wrap_inner {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	width: 100% !important;
}

.is_singular_sport_yes .hp__search_field_section {
	width: 45% !important;
	min-width: 200px;
	padding: 0 10px;
}

.is_singular_sport_yes .hp_search_field_box input {
	width: 100% !important;
}

.is_singular_sport_yes .sport_search_btn_section {
	flex: 0 0 100% !important;
	max-width: 400px;
	margin: 15px auto 0;
}

body:not(.post-type-archive-hotel).special_search_wrap .hp__search_field_section {
	width: 22% !important;
}

.special_search_wrap_inner,
.special_search_wrap_inner {
	width: 100%;
}

body:not(.archive) .special_search_wrap .hp__search_field_section {
	width: 22%;
	position: relative;
}

.is_singular_special_yes .special_search_section1,
.is_singular_special_yes .hp_departures_search_section {
	display: none;
}

.is_singular_special_yes .hp__search_field_section {
	width: 41% !important;
	padding-left: 15px;
}

.sitebar-item-check {
	display: flex;
	width: 90%;
	margin: 5px;
	margin: 10px auto;
	font-size: 1.2em;
	background-color: #efefef;
	border-radius: 5px;
	overflow: hidden;
	cursor: pointer;
}

.sidebar-item-check-icon {
	background: #0a5caf;
	padding: 5px;
}

.sitebar-item-check svg {
	color: #ffffff;
	height: 1.5em;
	width: 1.5em;
	font-weight: bold;

}

.sidebar-item-check-text {
	align-self: center;
	margin-left: 10px;
}

.sitebar-item-check.tauchkurse-checked,
.sitebar-item-check.tauchpakete-checked {
	border: 1px solid #0a5caf;
}

.sitebar-item-check:not(.filter-checked) {
	border: none;
}

.sitebar-item-check:not(.filter-checked) .sidebar-item-check-icon {
	background: #d3d3d3;
}

.sport_search_wrap .sport_search_btn_section {
	padding: 10px;
	padding-top: 10px;
}

.no-sports {
	margin-top: 25px;
	border-left: 2px solid #0a5caf;
	padding-left: 5px;
}

body.home .sport_search_wrap_inner {
	display: flex;
}

.sport-pricing {
	display: flex;
	width: 100%;
	justify-content: space-around;
	margin-top: 5px;
	flex-direction: column;
}

.sport-pricing .tauch-title {
	font-weight: bold;
	margin-top: 5px;
}

.tauch-services {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin: 5px;
}

.tauch-service {
	display: flex;
	width: 100%;
	justify-content: space-between;
	gap: 1rem;
	flex-direction: column;
}

.tauch-service .tauch-service-price {
	font-weight: bold;
}

.submit-sport {
	display: flex;
	align-self: flex-end
}

.tauch-service-open {
	display: none;
}

.tauch-service-details {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
}

.tauch-service-details:hover {
	cursor: pointer;
	text-decoration: underline;
}

.tauch-service-open.service-open {
	display: block;
	max-width: 300px;
}

body.home .special_search_wrap_inner {
	display: flex;
	justify-content: space-between;
}

.special_destination_search_wrap {
	min-height: 100px;
	text-align: center;
}

.special_search_item_wrap label {
	font-weight: bold;
}

.special_search_package_ul {
	list-style-type: none;
}

body.single-hotel .special_search_wrap_inner {
	display: flex !important;
	justify-content: space-between;
}

body.single-hotel .special_search_wrap .hp__search_field_section {
	width: 40%;
	position: relative;
}

body.single-hotel .special_search_section1,
body.single-hotel .special_search_section2 {
	display: none;
}

.post-type-archive-sport .tab-pane .sport_search_wrap {
	box-shadow: none;
	margin-bottom: 25px;
}

.tauch-services input[type="checkbox"],
.reisender input[type="radio"] {
	width: 1em;
	align-self: center;
	display: inline-block;
	height: 1em;
}

.tauch-reisenders {
	display: flex;
	gap: 1rem;
	font-size: 1.2em;
}

.reisender {
	display: flex;
	align-self: center;
	gap: 1rem;
	align-items: center;
}

.reisender label {
	align-self: center;
	margin: auto;
}

#sport_booking_modal .modal-title {
	text-align: center !important;
	width: 100%;
}

.service-row-flex {
	display: flex;
}

.reisender-info {
	display: flex
}

.reisender-line {
	display: flex;
}

.hp_departures_search_wrap {
	z-index: 10000000 !important;
}

.service-cart-item-one {
	padding-right: 50px !important;
	position: relative;
}

.hotel-remove-confirm.remove-service {
	height: 1em;
	right: 10px;
	top: -50%;
	transform: translateY(50%);
}

.remove-service svg {
	height: 1em;
}

body:not(.archive) .sport_search_wrap_inner {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.sport_search_section2 {
	padding-left: 5px;
}

.flex-buttons {
	display: flex;
	justify-content: space-around;
	gap: 1rem;
}

.flex-buttons button {
	width: 48%
}

.form-booking .form-group {
	display: flex;
	gap: 1rem
}

@media(max-width: 760px) {

	.inclusive_tour_search_wrap_inner,
	.hotel_search_wrap_inner {
		display: flex !important;
		flex-direction: column;
		width: 100% !important;
		align-items: center;
	}

	.hp__search_field_section {
		width: 100% !important;
	}
}

.price-changed {
	font-weight: bold;
	color: green;
}

.page:not(.archive) .special_search_wrap_inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.page:not(.archive) .special_search_wrap_inner .hp__search_field_section {
	width: 100%;
}

.hp_guests_search_traveller {
	width: 100%;
	display: flex;
	gap: 1rem;
	align-items: center;
	padding-top: 15px;
}

.form-field {
	display: flex;
	flex-direction: column;
	max-width: 200px;
}

.group-field-yes {
	display: inline-flex;
}

.group-field-no {}

.customizable-form .hp__search_field_section {
	width: 200px;
	border-right: 0px;
	margin-right: 0px;
	padding-right: 0px;
}

.customizable-form .hp_guests_search_wrap.without-rooms {
	width: 250px;
}

.inline-checkbox .form-group {
	display: inline;
	width: fit-content;
}

.inline-checkbox .form-group:not(:first-of-type) {
	margin-left: 15px;
}

.inline-checkbox {
	width: 95%;
	display: block;
}

.no-results-hotels {
	color: #145caf;
	border-left: 3px solid #145caf;
	padding-left: 12px;
	margin-top: 20px;
	font-size: 1.2em;
}

.inclusive_tour_search_wrap,
.hotel_search_wrap,
.sport_search_wrap,
.tour_search_wrap {
	color: var(--primary) !important;
}

.back-to-services {
	margin: 15px 0;
	padding: 10px 0;
	border-bottom: 1px solid #eee;
}

.back-to-services a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 1rem;
	font-weight: 600;
	color: #0073aa;
	text-decoration: none;
	transition: all 0.2s ease;
}

.back-to-services a svg {
	width: 18px;
	height: 18px;
	transition: transform 0.2s ease;
}

.back-to-services a:hover {
	color: #005177;
}

.back-to-services a:hover svg {
	transform: translateX(-3px);
}


.result_destination_wrap {
	background: #f5f9ff;
	border-radius: 16px;
	padding: 10px;
	margin: 20px 0;
	box-shadow: 0 8px 24px rgba(13, 76, 151, 0.1);
	animation: fadeInUp 0.5s ease-in-out;
	top: 115px;
}

.result-destination_col {
	padding: 15px;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.search_item_wrap {
	background: white;
	border-radius: 12px;
	padding: 20px;
	border: 1px solid #d6e4f7;
	height: 100%;
}

.search_item_wrap label {
	font-weight: 600;
	color: #0d4c97;
	display: block;
	font-size: 1.2em;
	padding: 0px;
	margin: 0px;
	margin-bottom: 10px;
}

.search_destination_ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.search_destination_ul li {
	background: #eaf2fc;
	border-radius: 8px;
	padding: 10px 15px !important;
	margin-bottom: 8px !important;
	color: #0d4c97;
	cursor: pointer;
	transition: background 0.2s ease;
	font-size: 14px;
}

.search_destination_ul li:hover {
	background: #d0e2fa;
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (max-width: 768px) {
	.result-destination_col {
		flex: 0 0 100%;
		max-width: 100%;
	}
}

.search_destination_ul:empty::before {
	content: "Keine Ergebnisse gefunden.";
	display: block;
	padding: 15px;
	background: #fff3f3;
	border: 1px solid #f5c2c7;
	border-radius: 8px;
	color: #b02a37;
	text-align: center;
	font-weight: 500;
	font-size: 14px;
}

/* departures */
.hp_departures_search_wrap {
	background: #eef4fc;
	border-radius: 10px;
	padding: 10px 12px;
	margin: 20px 0;
	box-shadow: 0 1px 3px rgba(13, 76, 151, 0.05);
	animation: fadeInFast 0.12s ease-out;
	top: 115px;
}

.hp_departures_search_wrap__grid {
	display: grid;
	grid-template-rows: repeat(6, auto);
	/* easily change rows */
	grid-auto-flow: column;
	grid-gap: 8px;
	list-style: none;
	padding: 0;
	margin: 0;
	align-items: start;
}

.departure__item {
	background: #fff;
	border: 1px solid #d6e4f5;
	border-radius: 6px;
	padding: 6px 10px !important;
	font-size: 13px;
	display: flex;
	align-items: center;
	white-space: nowrap;
	transition: background 0.2s ease;
	cursor: pointer;
	align-content: center;
}

.departure__item:hover {
	background: #ddecfb;
}

.departure__item input[type="checkbox"] {
	margin-right: 6px;
	accent-color: #0d4c97;
	width: 14px;
	height: 14px;
	flex-shrink: 0;
}

.departure__label {
	color: #0d4c97;
	font-weight: 500;
	cursor: pointer;
	user-select: none;
	font-size: 13px;
	line-height: 1;
	padding-bottom: 0px !important;
	margin-bottom: 0px;
}

@keyframes fadeInFast {
	from {
		opacity: 0;
		transform: translateY(2px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.hp_departures_search_wrap.hide {
	animation: fadeOutFast 0.1s ease-in forwards;
}

@keyframes fadeOutFast {
	from {
		opacity: 1;
		transform: translateY(0);
	}

	to {
		opacity: 0;
		transform: translateY(2px);
	}
}

@media (max-width: 768px) {
	.hp_departures_search_wrap__grid {
		grid-auto-flow: row;
		grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	}
}

/*Zimmer form update*/
.select_guests_wrap {
	background: #f9fbfd;
	border: 1px solid #dce6f1;
	border-radius: 6px;
	padding: 8px;
	flex-wrap: wrap;
	gap: 8px;
	margin: 16px 0;
	font-size: 13px;
	z-index: 1000 !important;
	top: 115px;
	display: none;
}

.select_guests_search_room,
.select_guests_search_adult,
.select_guests_search_children {
	flex: 1 1 140px;
	display: flex;
	align-items: center;
	gap: 6px;
	background: #fff;
	border: 1px solid #d4e1f0;
	border-radius: 4px;
	padding: 6px 8px;
	margin-top: 10px;
}

.select_guests_search_children {
	flex-direction: column;
}

.hp_search_guests_label,
.hp_inclusive_tour_search_guests_label {
	color: #0d4c97;
	font-weight: 500;
	margin-right: auto;
	font-size: 12px;
}

.select_search_guests_number_label {
	display: flex;
	align-items: center;
	gap: 4px;
}

.select_search_guest_plus_minus {
	width: 20px;
	height: 20px;
	background: #e3ecf8;
	color: #0d4c97;
	font-size: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 3px;
	cursor: pointer;
	transition: background 0.2s ease;
}

.select_search_guest_plus_minus:hover {
	background: #c8d9f1;
}

.select_search_guests_number_label input[type="text"] {
	width: 32px;
	border: none;
	background: transparent;
	text-align: center;
	font-weight: 600;
	color: #0d4c97;
	pointer-events: none;
	font-size: 13px;
}

.select_guests_search_children_ages_wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	width: 100%;
	padding-top: 4px;
	padding: 5px !important;
}

.select_guests_search_children_ages_wrap li {
	display: flex;
	flex-direction: colrowumn;
	gap: 2px;
	margin-top: 5px;
	align-items: center;
}

.select_guests_search_children_ages_wrap input[type="number"] {

	font-size: 12px;
	border: 1px solid #cbdcf0;
	border-radius: 3px;
	color: #0d4c97;
	height: fit-content;
}

@media (max-width: 600px) {
	.select_guests_wrap {
		flex-direction: column;
	}

	.select_guests_search_room,
	.select_guests_search_adult,
	.select_guests_search_children {
		flex: 1 1 100%;
	}
}


:root {
	--primary-color: #0e4d95;
	--primary-light: #f0f6fc;
	--text-color: #1a1a1a;
	--gray-light: #f8f9fa;
	--gray-dark: #444;
	--border-radius: 10px;
	--transition: 0.3s ease;
	--shadow-light: rgba(0, 0, 0, 0.04) 0px 4px 12px;
}

.hotel-sidebar {
	font-family: 'Segoe UI', sans-serif;
	font-size: 14px;
	color: var(--text-color);
}

.sidebar-wrapper {
	margin-top: 100px !important;
}

.sport_search_wrap .sidebar-wrapper,
.post-type-archive-sport .sidebar-wrapper {
	margin-top: 15px !important;
	padding-bottom: 30px;
	width: 100%;
}

.awesomplete {
	width: 100%;
}

.sidebar-item {
	background: #fff;
	border-radius: var(--border-radius);
	margin-top: 15px;
}

.sidebar-item h5 {
	font-size: 15px;
	color: var(--primary-color);
	margin-bottom: 10px;
	padding: 0;
}

.for-group {
	width: 100%;
}

.property_name_wraper input[type="text"] {
	width: 100%;
	padding: 10px 14px;
	border: 1px solid #ccd8e0;
	border-radius: var(--border-radius);
	transition: var(--transition);
	font-size: 14px;
}

.property_name_wraper input[type="text"]:focus {
	border-color: var(--primary-color);
	box-shadow: 0 0 0 2px rgba(14, 77, 149, 0.15);
}

.hma_rating_filter_ul {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(70px, 1fr));
	flex-wrap: wrap;
	gap: 8px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.rating-field {
	position: relative;
}

.rating-field input[type="checkbox"] {
	display: none;
}

.rating-field label {
	background: var(--primary-light);
	border-radius: var(--border-radius);
	padding: 8px 14px;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 6px;
	transition: var(--transition);
	font-weight: 500;
	color: var(--text-color);
	min-width: 60px;
}

.rating-field label:hover {
	background: #d5e6f7;
}

.rating-field label.filter_rating_active {
	background: var(--primary-color);
	color: #fff;
}

.rating-field label.filter_rating_active i {
	color: #ffd700;
}

.rating-field i.fa-star {
	color: #f2b01e;
}

.hotel_search_wrap input.hp_search_input,
.hotel_search_wrap select.hp_search_input,
.inclusive_tour_search_wrap input.hp_search_input,
.inclusive_tour_search_wrap select.hp_search_input,
.tour_search_wrap input.hp_search_input,
.tour_search_wrap select.hp_search_input,
.sport_search_wrap input.hp_search_input,
.sport_search_wrap select.hp_search_input,
.sport_search_wrap input.hp_sport_search_input,
.special_search_wrap input.hp_search_input,
.special_search_wrap select.hp_search_input,
.special_search_wrap input.hp_special_search_input,
.page_search_wrap input.hp_search_input,
.page_search_wrap select.hp_search_input,
.bus_search_wrap input.hp_search_input,
.bus_search_wrap select.hp_search_input {
	border: 1px solid #e0e0e0;
	border-radius: 5px;
	padding: 0 15px;
	height: 50px;
	width: 100%;
	background: #f8f9fa;
	box-sizing: border-box;
	transition: all 0.3s ease;
}

.hotel_search_wrap input.hp_search_input:focus,
.hotel_search_wrap select.hp_search_input:focus,
.inclusive_tour_search_wrap input.hp_search_input:focus,
.inclusive_tour_search_wrap select.hp_search_input:focus,
.tour_search_wrap input.hp_search_input:focus,
.tour_search_wrap select.hp_search_input:focus,
.sport_search_wrap input.hp_search_input:focus,
.sport_search_wrap select.hp_search_input:focus,
.sport_search_wrap input.hp_sport_search_input:focus,
.special_search_wrap input.hp_search_input:focus,
.special_search_wrap select.hp_search_input:focus,
.special_search_wrap input.hp_special_search_input:focus,
.page_search_wrap input.hp_search_input:focus,
.page_search_wrap select.hp_search_input:focus,
.bus_search_wrap input.hp_search_input:focus,
.bus_search_wrap select.hp_search_input:focus {
	border-color: #0070b9;
	background: #fff;
	box-shadow: 0 0 0 2px rgba(0, 112, 185, 0.1);
	outline: none;
}

.hotel_search_wrap .hp_search_field_box,
.inclusive_tour_search_wrap .hp_search_field_box,
.tour_search_wrap .hp_search_field_box,
.sport_search_wrap .hp_search_field_box,
.special_search_wrap .hp_search_field_box,
.page_search_wrap .hp_search_field_box,
.bus_search_wrap .hp_search_field_box {
	width: 100%;
}

.tt-field-optional {
	font-weight: 500;
	color: #7b8794;
	text-transform: none;
}

.tt-presearch-filter-row {
	display: grid;
	flex: 0 0 100%;
	width: 100%;
	grid-template-columns: minmax(280px, 1fr) auto minmax(280px, 0.85fr);
	gap: 20px 36px;
	align-items: start;
	justify-content: stretch;
	margin-top: 22px;
}

.hotel_search_wrap:not(.is_singular_hotel_yes)[data-source="selected"] .tt-presearch-filter-row,
.hotel_search_wrap:not(.is_singular_hotel_yes)[data-source="all"] .tt-presearch-filter-row,
.inclusive_tour_search_wrap:not(.is_singular_inclusive_tour_yes)[data-source="selected"] .tt-presearch-filter-row,
.inclusive_tour_search_wrap:not(.is_singular_inclusive_tour_yes)[data-source="all"] .tt-presearch-filter-row {
	display: grid;
}

.tt-presearch-filter-row .hp__search_field_section {
	width: 100%;
	min-width: 0;
	max-width: 100%;
}

body.archive .col-md-3 .tt-presearch-filter-row,
body.search .col-md-3 .tt-presearch-filter-row {
	grid-template-columns: 1fr;
	gap: 10px;
}

body.archive .col-md-3 .tt-presearch-filter-row .hp__search_field_section,
body.archive .col-md-3 .tt-presearch-filter-row .tt-star-filter,
body.archive .col-md-3 .tt-presearch-filter-row .tt-meal-plan-filter,
body.search .col-md-3 .tt-presearch-filter-row .hp__search_field_section,
body.search .col-md-3 .tt-presearch-filter-row .tt-star-filter,
body.search .col-md-3 .tt-presearch-filter-row .tt-meal-plan-filter {
	max-width: 100%;
	width: 100%;
}

.tt-inline-rating-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	min-height: 50px;
	align-items: center;
}

.tt-presearch-filter-row .tt-star-filter {
	justify-self: center;
}

.tt-inline-rating-filter .rating-field {
	margin: 0;
	width: auto;
	float: none;
}

.tt-inline-rating-filter label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-width: 54px;
	height: 50px;
	padding: 0 10px;
	border: 1px solid #e0e0e0;
	border-radius: 5px;
	background: #f8f9fa;
	font-size: 14px;
	line-height: 1;
	transition: all 0.3s ease;
	width: 54px;
}

.tt-inline-rating-filter label:hover {
	border-color: #0070b9;
	background: #fff;
	box-shadow: 0 0 0 2px rgba(0, 112, 185, 0.08);
}

.tt-inline-rating-filter label.filter_rating_active {
	border-color: #0070b9;
	background: #0070b9;
	color: #fff;
}

.form_search_wrap[data-source="all"] .result_destination_row .result-destination_col {
	flex: 0 0 33.333333%;
	max-width: 33.333333%;
	width: 33.333333%;
}

.form_search_wrap[data-source="all"] .hotel_search_hotels_ul,
.form_search_wrap[data-source="all"] .inclusive_tour_search_inclusive_tours_ul,
.form_search_wrap[data-source="all"] .inclusive_tour_search_hotels_ul {
	display: none;
}

@media (max-width: 767px) {
	.tt-presearch-filter-row {
		gap: 10px;
		grid-template-columns: 1fr;
	}

	.tt-presearch-filter-row .hp__search_field_section,
	.tt-presearch-filter-row .tt-star-filter,
	.tt-presearch-filter-row .tt-meal-plan-filter,
	.form_search_wrap[data-source="all"] .result_destination_row .result-destination_col {
		max-width: 100%;
		width: 100%;
	}
}

.hma_hp_search_tabs .elementor-tab-title:focus,
.hma_hp_search_tabs .elementor-tab-title:focus-visible,
.elementor-tab-title:focus,
.elementor-tab-title:focus-visible,
.e-n-tabs .e-n-tab-title:focus,
.e-n-tabs .e-n-tab-title:focus-visible {
	outline: none !important;
	box-shadow: none !important;
	border-color: transparent !important;
}

.hma-hotel-search,
.hma-tour-search .hotel_search_section2,
.tour_search_section2,
.hma-inclusive_tour-search,
.inclusive_tour_search_section2,
.hma-sport-search,
.sport_search_section2,
.flight_search_section2 {
	border-left: 0 !important;
	border-right: 0 !important;
}

@media (min-width: 768px) {
	.hotel_search_wrap_inner > .hp__search_field_section,
	.inclusive_tour_search_inputs_row > .hp__search_field_section,
	.flight_search_wrap .hp__search_field_section {
		position: relative;
	}

	.hotel_search_wrap_inner > .hotel_search_section1:not(.d-none)::after,
	.hotel_search_wrap_inner > .hotel_search_section2::after,
	.inclusive_tour_search_inputs_row > .inclusive_tour_search_section1:not(.d-none)::after,
	.inclusive_tour_search_inputs_row > .hp_departures_search_section::after,
	.inclusive_tour_search_inputs_row > .inclusive_tour_search_section2::after,
	.flight_search_wrap .hp_departures_search_section::after,
	.flight_search_wrap .hp_arrivals_search_section::after,
	.flight_search_wrap .flight_search_section2::after {
		content: "";
		position: absolute;
		right: -10px;
		top: 18px;
		bottom: 18px;
		width: 1px;
		background: #ddd;
		pointer-events: none;
	}

	body.archive .hotel_search_wrap_inner > .hp__search_field_section::after,
	body.archive .inclusive_tour_search_inputs_row > .hp__search_field_section::after,
	body.archive .flight_search_wrap .hp__search_field_section::after,
	.hotel-sidebar .hp__search_field_section::after {
		display: none;
	}
}

.hma_arch_sidebar_acc_card {
	margin-bottom: 10px;
}

.hma_arch_sidebar_acc_heading {
	display: block;
	padding: 10px 14px;
	border-radius: var(--border-radius);
	background: var(--gray-light);
	color: var(--text-color);
	font-weight: 500;
	cursor: pointer;
	transition: var(--transition);
}

.hma_arch_sidebar_acc_heading:hover {
	background: #e2ebf5;
}

.hma_arch_sidebar_acc_heading.selectedMealPlan,
.hma_arch_sidebar_acc_heading.selectedCity {
	background: var(--primary-color);
	color: #fff;
}

.hma_arch_sidebar_acc_card ul {
	margin-top: 8px;
	padding-left: 15px;
}

.hma_arch_sidebar_acc_card ul li {
	padding: 5px 0;
}

.hma_arch_sidebar_acc_card ul li a {
	color: var(--primary-color);
	text-decoration: none;
	font-size: 13px;
	transition: var(--transition);
}

.hma_arch_sidebar_acc_card ul li a:hover {
	text-decoration: underline;
}

#displayMoreCities {
	display: inline-block;
	margin-top: 10px;
	color: var(--primary-color);
	font-weight: 500;
	text-decoration: none;
	transition: var(--transition);
}

#displayMoreCities:hover {
	text-decoration: underline;
}

button[name="hp_search_btn"] {
	background: var(--primary-color);
	color: #fff;
	border: none;
	padding: 12px 16px;
	font-weight: 600;
	font-size: 14px;
	cursor: pointer;
	transition: var(--transition);
}

button[name="hp_search_btn"]:hover {
	background: #09396f;
}

/* New booking form */
:root {
	--primary-color: #0e4d95;
	--primary-light: #f0f6fc;
	--text-color: #1a1a1a;
	--gray-border: #d1d9e0;
	--gray-bg: #f9f9f9;
	--radius: 0px;
	--transition: 0.3s ease;
}

.form_search_wrap {
	background: #fff;
	border: 1px solid var(--gray-border);
	border-radius: var(--radius);
	padding: 24px;
	width: 100%;
	box-sizing: border-box;
}

.form_search_wrap_inner {
	flex-wrap: wrap;
	gap: 20px;
	box-sizing: border-box;
	width: 100%;
}

.hp__search_field_section {
	width: 100%;
	box-sizing: border-box;
	display: block;
	margin-bottom: 20px;
}

.hp_search_icon {
	color: var(--primary-color);
	margin-bottom: 8px;
}

.hp_search_icon i {
	font-size: 20px;
}

.hp_search_field_box {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.hp__search_field_section {
	display: flex;
	gap: 10px;
	align-items: flex-start
}

.hp_search_field_label {
	font-weight: 600;
	font-size: 13px;
	color: var(--primary-color);
}

.hp_search_input {
	padding: 11px 14px;
	font-size: 14px;
	border: 1px solid var(--gray-border);
	border-radius: var(--radius);
	background: #fff;
	width: 100%;
	box-sizing: border-box;
	transition: var(--transition);
}

.hp_search_input:focus {
	border-color: var(--primary-color);
	box-shadow: 0 0 0 3px rgba(14, 77, 149, 0.1);
	outline: none;
}

.select_guests_wrap {
	margin-top: 6px;
	padding: 14px;
	background: var(--gray-bg);
	border-radius: var(--radius);
	border: 1px solid var(--gray-border);
	display: none;
	flex-direction: column;
	gap: 16px;
	box-sizing: border-box;
	top: 50px;
}

.select_guests_search_room,
.select_guests_search_adult,
.select_guests_search_children {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
}

.select_search_guests_number_label {
	display: flex;
	align-items: center;
	gap: 10px;
}

.select_search_guest_plus_minus {
	background: var(--primary-color);
	color: #fff;
	padding: 6px 10px;
	border-radius: 6px;
	cursor: pointer;
	transition: var(--transition);
}

.select_search_guest_plus_minus:hover {
	background: #09396f;
}

.select_search_guest_plus_minus i {
	font-size: 12px;
}

.select_search_guests_number_label input[type="text"] {
	width: 42px;
	text-align: center;
	font-weight: 500;
	border: 1px solid var(--gray-border);
	border-radius: 6px;
	padding: 6px;
	background: #fff;
}

.hp_search_btn_section {
	width: 100%;
	margin-top: 24px;
}

button[name="hp_search_btn"] {
	background: var(--primary-color);
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	padding: 12px 26px;
	border: none;
	border-radius: var(--radius);
	cursor: pointer;
	transition: var(--transition);
	width: 100%;
}

button[name="hp_search_btn"]:hover {
	background: #09396f;
}

.form_search_wrap {
	left: 0px;
}

/* Fully responsive */
@media (max-width: 768px) {
	.form_search_wrap {
		padding: 16px;
	}

	.hp__search_field_section {
		margin-bottom: 16px;
	}

	.select_guests_wrap {
		padding: 12px;
	}

	button[name="hp_search_btn"] {
		font-size: 14px;
		padding: 10px 20px;
	}
}

.price_list_item {
	list-style-type: none;
}

.single-resource-content .nav-pills {
	display: flex;
	flex-wrap: wrap;
	border-bottom: 2px solid #ddd;
	gap: 10px;
	padding-bottom: 10px;
}

.single-resource-content .nav-pills .nav-link {
	border: none;
	border-radius: 0;
	font-weight: 500;
	color: #444;
	padding: 10px 16px;
	background: transparent;
	position: relative;
}

.single-resource-content .nav-pills .nav-link:focus {
	outline: none;
}

.single-resource-content .nav-pills .nav-link.active {
	color: #000;
	border-bottom: 2px solid #007bff;
}

.single-resource-content .tab-content {
	padding-top: 20px;
}

.single-resource-content .tab-pane {
	font-size: 15px;
	line-height: 1.7;
	color: #333;
}

.single-resource-content .tab-pane h4 {
	font-size: 17px;
	margin-top: 20px;
	margin-bottom: 10px;
	font-weight: 600;
	color: #222;
}

.single-resource-content label {
	font-weight: 600;
	margin-bottom: 6px;
	display: block;
}

.single-resource-content input[type="text"] {
	width: 100%;
	border: 1px solid #ccc;
	padding: 10px 12px;
	font-size: 14px;
	border-radius: 4px;
	background-color: #fff;
}

.single-resource-content .check-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.single-resource-content .check-list li {
	margin-bottom: 8px;
}

.single-resource-content .check-list input[type="checkbox"] {
	margin-right: 6px;
}

.single-resource-content .price_list_item {
	padding: 20px 0;
	border-top: 1px solid #eee;
}

.single-resource-content .price_list_item_heading {
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 12px;
}

.single-resource-content .pricings_ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.single-resource-content .pricings_ul li {
	margin-bottom: 6px;
	font-size: 14px;
}

.single-resource-content .pricings_ul li strong,
.single-resource-content .pricings_ul li b {
	font-weight: 600;
}

.single-resource-content .btn-primary {
	color: #fff;
	border: none;
	padding: 10px 18px;
	text-align: center;
	display: inline-block;
	font-weight: 500;
	width: 100%;
}

.single-resource-content .btn-primary:hover {
	background-color: #0056b3;
}

.single-resource-content #hotel_map {
	border: 1px solid #ddd;
	border-radius: 4px;
	margin-top: 20px;
}

.single-resource-content .wrapper_pricing_section {
	margin-top: 24px;
	border-left: none !important;
}

.single-resource-content .wrapper_pricing_section .price_list_item {
	border-left: none;
}

.single-resource-content .tt-traffics-detail-pricing .price_list_item {
	position: relative;
	background: #fff;
	border: 1px solid #e1eaf0;
	border-left: 3px dotted #095DA6;
	border-top: 0;
	margin-top: 0;
	padding: 12px 14px;
	border-radius: 6px;
	z-index: 1;
}

.single-resource-content .tt-traffics-detail-pricing .price_list_item + .price_list_item {
	margin-top: 12px;
}

.single-resource-content .tt-traffics-detail-pricing .tt-traffics-static-price--selected {
	border-color: #095DA6;
	box-shadow: 0 6px 18px rgba(9, 93, 166, 0.1);
}

.tt-traffics-selected-label {
	display: inline-flex;
	align-items: center;
	margin-left: 8px;
	padding: 3px 7px;
	border-radius: 999px;
	background: #e7f2fb;
	color: #095DA6;
	font-size: 12px;
	font-weight: 700;
}

.single-resource-content .tt-traffics-detail-pricing .pricings_ul {
	border-top: 1px solid #095DA6;
	padding-top: 8px;
}

.single-resource-content .tt-traffics-detail-pricing {
	position: relative;
	z-index: 1;
	clear: both;
	margin-top: 18px;
}

.single-resource-content .form_search_wrap,
.single-resource-content .form_search_wrap_inner {
	position: relative;
	z-index: 2;
}

.single-resource-content .form_search_wrap_inner {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.single-resource-content .hp__search_field_section {
	flex: 1 1 auto;
	min-width: 0;
}

.single-resource-content .select_search_guests_number_label {
	display: flex;
}

.tour_search_section4.hp__search_field_section {
	flex-direction: column;
}

.tour_search_wrap .hotel-sidebar {
	width: 100%;
}

.tour_search_wrap .sidebar-wrapper {
	margin-top: 15px !important;
	padding-bottom: 30px;
	width: 100%;
}

.wp-singular .form_search_wrap {
	border: none;
	padding: 0px;
}

.single-resource-content .wrapper_pricing_section {
	margin-top: 24px;
}

.single-resource-content .hotel_sidebar {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.single-resource-content .hotel_sidebar__image {
	width: 100%;
}

.single-resource-content .hotel_sidebar__image img,
.single-resource-content .hotel_sidebar > img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 6px;
}

.single-resource-content .hotel_sidebar__text {
	font-size: 14px;
	line-height: 1.5;
	color: #243844;
}

.single-resource-content .hotel_sidebar .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.wp-singular .form_search_wrap_inner {
	padding: 0px;
}

.price-loader {
	display: inline-block;
	width: 24px;
	height: 24px;
	border: 3px solid rgba(13, 76, 150, 0.3);
	border-top-color: #0d4c96;
	border-radius: 50%;
	animation: spin 0.8s linear infinite;
	vertical-align: middle;
}

@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}

.center-loader {
	display: block;
	margin: auto;
}

.location-loader-wrap {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 0;
	justify-content: center;
}

.location-loader-text {
	font-weight: 500;
	color: #0c4c96;
	font-size: 16px;
}

.location-loader-spinner {
	width: 18px;
	height: 18px;
	border: 3px solid rgba(12, 76, 150, 0.3);
	border-top: 3px solid #0c4c96;
	border-radius: 50%;
	animation: spin 0.7s linear infinite;
}

@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}

[aria-labelledby="ask_about_hotel_modal"] .modal-header button {
	background-color: unset !important;
}

.cart-review form.form-booking {
	padding: 30px;
	background: #fff;
	border-radius: 12px;
	font-family: "Inter", sans-serif;
	max-width: 860px;
	margin: auto;
}

.cart-review form.form-booking .form-group:not(.group-label) {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 18px;
}

.cart-review .group-label {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 18px;
	flex-direction: column !important;
}

.cart-review form.form-booking .form-group input:not([type="checkbox"]),
.cart-review form.form-booking .form-group select {
	background: #f1f4f8;
	border: 1px solid #ccd3db;
	border-radius: 8px;
	height: 44px;
	padding: 10px 14px;
	font-size: 14px;
	width: 100%;
	flex: 1 1 calc(50% - 12px);
	transition: border-color 0.2s ease;
}

.cart-review form.form-booking .form-group input:focus,
.cart-review form.form-booking .form-group select:focus {
	border-color: #0d4c96;
	outline: none;
	background: #fff;
}

.cart-review form.form-booking .form-group.full {
	flex-direction: column;
}

.cart-review form.form-booking .form-group.full select,
.cart-review form.form-booking .form-group.full input {
	width: 100%;
	flex: none;
}

.cart-review form.form-booking .form-checkboxes {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 24px;
}

.cart-review form.form-booking .form-group.group-check {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	background: #f9f9f9;
	border: 1px solid #dcdfe5;
	border-radius: 8px;
	font-size: 13px;
	line-height: 1.4;
}

.cart-review form.form-booking .form-group.group-check input[type="checkbox"] {
	/* width: 16px; */
	height: 16px;
	margin: 0;
	flex-shrink: 0;
	accent-color: #0d4c96;
	position: relative;
	top: 0;
}

.cart-review form.form-booking .form-group.group-check label {
	margin: 0;
	font-weight: 500;
	color: #333;
	line-height: 1.4;
	flex: 1;
}

.cart-review form.form-booking .group-check input[type="checkbox"] {
	/* width: fit-content !important; */
	height: 16px;
	margin: 0;
	flex-shrink: 0;
	accent-color: #0d4c96;
}

.cart-review form.form-booking .group-check label {
	margin: 0;
	font-weight: 500;
	color: #333;
	display: inline-block;
}

.cart-review form.form-booking .group-check a {
	color: #0d4c96;
	text-decoration: none;
	font-weight: 500;
}

.cart-review form.form-booking .group-check a:hover {
	text-decoration: underline;
}

.archive .hp__search_field_section {
	width: 100%;
}

/* Override for flight search direct flights toggle - should be fit-content on archive pages too */
.archive .flight_search_wrap .flight_search_section_stops {
	width: fit-content !important;
}

.sport_search_section_wrapper {
	min-height: 300px;
}

.post-type-archive-sport .tab-pane .sport_search_wrap {
	box-shadow: unset;
	border: none;
	padding: 0px;
}

.post-type-archive-sport .sport_search_btn_section {
	padding: 0px;
}

.sport_search_section_wrapper {
	min-height: 300px;
}

.post-type-archive-sport .tab-pane .sport_search_wrap {
	box-shadow: unset;
	border: none;
	padding: 0px;
}

.post-type-archive-sport .sport_search_btn_section {
	padding: 0px;
}

.services-booking-row-data {
	display: flex;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 20px;
	align-items: stretch;
	width: 100%;
}

.services-booking-row-data .form-group {
	width: 100% !important;
	margin: 0px !important;
}

.services-booking-row-data {
	display: flex !important;
	width: 100%;
}

.services-booking-row-data div[C] {
	width: 100%;
	display: flex;
}

.bus_search_wrap {
	background: #fff;
	border: 1px solid #dfe4ea;
	border-radius: 16px;
	padding: 28px 24px;
	font-family: "Inter", sans-serif;
	max-width: 100%;
	margin: 0 auto;
}

.bus_search_wrap .bus_search_form {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: flex-end;
	justify-content: space-between;
}

.bus_search_wrap .bus_search_group {
	flex: 1 1 200px;
	display: flex;
	flex-direction: column;
}

.bus_search_wrap .bus_search_icon {
	color: #0d4c96;
	margin-bottom: 6px;
	font-size: 18px;
}

.bus_search_wrap .hp_search_field_box {
	display: flex;
	flex-direction: column;
}

.bus_search_wrap .hp_search_field_label {
	font-size: 13px;
	font-weight: 600;
	color: #0d4c96;
	margin-bottom: 6px;
}

.bus_search_wrap .hp_search_input {
	padding: 12px 14px !important;
	border: 1px solid #cfd6de !important;
	background: #f7f9fc;
	border-radius: 12px;
	font-size: 14px;
	transition: border 0.2s ease, background 0.2s ease;
	width: 100%;

}

.bus_search_wrap .hp_search_input:focus {
	border-color: #0d4c96;
	background: #fff;
	outline: none;
}

.bus_search_wrap input {}

.bus_search_wrap .bus_search_btn_section {
	flex: 1 1 100%;
	display: flex;
	justify-content: flex-end;
	margin-top: 12px;
}

.bus_search_wrap .bus_search_btn_section button {
	/* background-color: #0d4c96; */
	color: #fff;
	padding: 13px 30px;
	/* font-size: 14px; */
	font-weight: 600;
	border: none;
	/* border-radius: 12px; */
	cursor: pointer;
	transition: background 0.2s ease;
}

.bus_search_wrap .bus_search_btn_section button:hover {
	background-color: #093867;
}

@media (max-width: 1024px) {
	.bus_search_wrap .bus_search_form {
		flex-direction: column;
		gap: 18px;
	}

	.bus_search_wrap .bus_search_btn_section {
		justify-content: center;
	}
}

.page-template-page-transfer .bus_search_wrap {
	background-color: #f9f9f9;
	border: 1px solid #ddd;
	border-radius: 10px;
	padding: 20px;
	max-width: 360px;
	margin: 0 auto;
	font-family: sans-serif;
	margin-top: 30px;
}

.page-template-page-transfer .bus_search_group {
	display: flex;
	align-items: flex-start;
	margin-bottom: 18px;
}

.page-template-page-transfer .bus_search_icon {
	display: none;
}

.page-template-page-transfer .hp_search_field_box {
	flex: 1;
	width: 100%;
}

.page-template-page-transfer .hp_search_field_label {
	display: block;
	font-size: 13px;
	color: #333;
	margin-bottom: 6px;
	font-weight: 600;
}

.page-template-page-transfer .hp_search_input {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #ccc;
	border-radius: 6px;
	font-size: 14px;
	background: #fff;
	appearance: none;
}

.page-template-page-transfer .hp_search_input:focus {
	border-color: #888;
	outline: none;
}

.page-template-page-transfer .bus_search_btn_section {
	text-align: center;
	margin-top: 20px;
}

.page-template-page-transfer button[type="submit"] {
	background-color: #0066cc;
	color: white;
	border: none;
	padding: 12px 25px;
	border-radius: 6px;
	font-size: 14px;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.page-template-page-transfer button[type="submit"]:hover {
	background-color: #004fa3;
}

.airport-selector__dropdown {
	position: absolute;
	z-index: 1000;
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	margin-top: 4px;
	max-height: 300px;
	overflow-y: auto;
	width: 100%;
	padding: 10px;
	font-family: "Inter", sans-serif;
	top: 150px;
}

.airport-selector__search {
	width: 100%;
	padding: 8px 12px;
	border: 1px solid #e0e0e0;
	border-radius: 6px;
	margin-bottom: 10px;
	font-size: 14px;
}

.airport-selector__group {
	margin-bottom: 12px;
}

.airport-selector__country {
	font-weight: bold;
	font-size: 13px;
	color: #444;
	margin-bottom: 6px;
	text-transform: uppercase;
}

.airport-selector__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.airport-selector__item {
	padding: 6px 10px;
	border-radius: 6px;
	cursor: pointer;
	transition: background 0.2s;
}

.airport-selector__item:hover {
	background: #f1f3f4;
}

.airport-selector__item--selected {
	background: #d2e3fc;
	font-weight: 500;
}

.airport-selector__loading {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	color: #666;
}

.airport-selector__loader {
	width: 16px;
	height: 16px;
	border: 3px solid #ccc;
	border-top: 3px solid #1a73e8;
	border-radius: 50%;
	animation: spin 0.6s linear infinite;
}

@keyframes spin {
	0% {
		transform: rotate(0);
	}

	100% {
		transform: rotate(360deg);
	}
}

.transfer-card {
	border: 1px solid #e0e0e0;
	border-left: 4px solid #0d4c96;
	margin: 1.5rem auto;
	background: #fff;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
	border-radius: 6px;
	overflow: hidden;
	max-width: 960px;
	width: 90%;
}

.transfer-card__header {
	background-color: #0d4c96;
	color: #fff;
	padding: 1rem 1.5rem;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
	font-size: 1rem;
	font-weight: 500;
}

.transfer-card__title {
	font-size: 1.1rem;
	font-weight: 600;
}

.transfer-card__direction {
	font-size: 0.9rem;
	opacity: 0.85;
}

.transfer-card__body {
	padding: 1.25rem 1.5rem;
	font-size: 0.95rem;
}

.transfer-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 2rem;
	font-size: 0.9rem;
	color: #333;
	margin-bottom: 1rem;
}

.transfer-card__meta--grid>div {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.transfer-card__hotels {
	margin-top: 1rem;
}

.transfer-card__hotel-list {
	list-style: none;
	padding-left: 0;
	margin-top: 0.5rem;
}

.transfer-card__hotel-list li {
	margin-bottom: 0.4rem;
	display: flex;
	align-items: center;
	font-size: 0.9rem;
}

.transfer-card__hotel-list .text-warning {
	margin-left: 0.4rem;
	font-size: 0.85rem;
}

.transfer-card__vehicles {
	margin-top: 1.5rem;
	padding-top: 1rem;
	border-top: 1px dashed #ccc;
	font-size: 0.9rem;
}

.transfer-card__vehicle {
	margin-bottom: 0.6rem;
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
}

.transfer-card__vehicle i {
	margin-right: 0.4rem;
	color: #0d4c96;
}

.text-primary {
	color: #0d4c96 !important;
}

.text-secondary {
	color: #888 !important;
}

.text-warning {
	color: #ffc107 !important;
}

.me-1 {
	margin-right: 0.25rem;
}

.mt-3 {
	margin-top: 1rem !important;
}

.d-flex {
	display: flex;
}

.justify-content-between {
	justify-content: space-between;
}

.text-muted {
	color: #6c757d;
}

.text-end {
	text-align: right;
}

/* Responsive */
@media screen and (max-width: 768px) {
	.transfer-card__header {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.4rem;
	}

	.transfer-card__meta {
		flex-direction: column;
		gap: 0.5rem;
	}

	.transfer-card {
		margin-left: 1rem;
		margin-right: 1rem;
	}
}

.bus_search_wrap .hp_bus_guests_search_wrap {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 1000;
	background: #fff;
	border: 1px solid #ddd;
	border-left: 4px solid #0d4c96;
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	padding: 1rem;
	min-width: 260px;
	transition: all 0.2s ease-in-out;
}

.bus_search_wrap .hp_guests_search_adult {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.bus_search_wrap .hp_search_guests_label {
	font-size: 0.9rem;
	color: #333;
	font-weight: 500;
	flex: 1;
}

.bus_search_wrap .hp_search_guests_number_label {
	display: flex;
	align-items: center;
	gap: 10px;
}

.bus_search_wrap .search_guest_plus_minus {
	width: 32px;
	height: 32px;
	background: #0d4c96;
	color: #fff;
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-size: 14px;
	cursor: pointer;
	transition: background 0.15s ease-in-out;
}

.bus_search_wrap .search_guest_plus_minus:hover {
	background: #09397a;
}

.form_search_wrap.select_guests_wrap {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 999;
	background: #fff;
	border: 1px solid #ccc;
	border-left: 3px solid #0d4c96;
	border-radius: 8px;
	padding: 0.8rem 1rem;
	min-width: 240px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
	font-size: 0.9rem;
}

.form_search_wrap.select_guests_wrap>div {
	margin-bottom: 0.6rem;
}

.form_search_wrap.select_guests_wrap .hp_search_guests_label {
	font-weight: 600;
	color: #0d4c96;
	margin-bottom: 0.2rem;
}

.form_search_wrap.select_guests_wrap .hp_search_guests_number_label {
	display: flex;
	align-items: center;
	gap: 10px;
	background: #f2f4f8;
	border-radius: 5px;
	padding: 0.3rem 0.6rem;
}

.form_search_wrap.select_guests_wrap .search_guest_plus_minus {
	width: 28px;
	height: 28px;
	background: #0d4c96;
	color: #fff;
	border-radius: 4px;
	font-size: 13px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.form_search_wrap.select_guests_wrap .search_guest_plus_minus:hover {
	background: #093b75;
}

.form_search_wrap.select_guests_wrap input[readonly] {
	border: none;
	background: transparent;
	width: 36px;
	text-align: center;
	font-weight: bold;
	color: #0d4c96;
	font-size: 0.95rem;
}

.form_search_wrap.select_guests_wrap ul.hp_guests_search_children_ages_wrap {
	padding: 0;
	margin: 0.4rem 0 0;
	list-style: none;
}

.transfer-hotel-item {
	padding: 10px 12px;
	border: 1px solid #ddd;
	border-radius: 6px;
	margin-bottom: 6px;
	cursor: pointer;
	background-color: #fff;
	transition: background-color 0.2s, border-color 0.2s;
}

.transfer-hotel-selector {
	padding: 0px;
	margin: 0px;
}

.transfer-hotel-item:hover {
	background-color: #f8f9fa;
}

.transfer-hotel-item.selected {
	border: 2px solid #0d6efd;
	background-color: #e9f2ff;
}

:root {
	--primary-color: #0d4c96;
	--light-bg: #f8f9fa;
	--border-color: #dee2e6;
	--input-border: #ced4da;
	--input-radius: 0.5rem;
	--gap: 1rem;
}

.transfer-modal__dialog {
	max-width: 800px;
	margin: 1.75rem auto;
}

.transfer-modal__content {
	border-radius: 1rem;
	overflow: hidden;
	border: none;
}

.transfer-modal__header {
	background-color: var(--primary-color);
	padding: 1rem 1.5rem;
}

.transfer-modal__title {
	margin: 0;
	font-weight: 600;
}

.transfer-modal__close {
	background: none;
	border: none;
	color: #fff;
	font-size: 1.25rem;
	padding: 0;
}

.transfer-modal__body {
	padding: 2rem;
	background-color: #fff;
}

.transfer-summary {
	background-color: var(--light-bg);
	border: 1px solid var(--border-color);
	border-radius: 0.75rem;
}

.transfer-summary__title {
	font-size: 1.1rem;
}

.transfer-summary__item {
	font-size: 0.95rem;
}

.transfer-summary__value {
	display: inline-block;
	margin-top: 0.25rem;
	font-weight: 500;
}

.transfer-form__grid {
	margin-top: 1rem;
}

.transfer-form__group {
	display: flex;
	flex-direction: column;
}

.transfer-form__label {
	font-weight: 500;
	margin-bottom: 0.5rem;
}

.transfer-form__input {
	border-radius: var(--input-radius);
	border: 1px solid var(--input-border);
	padding: 0.5rem 0.75rem;
	font-size: 0.95rem;
}

.transfer-form__passenger-header,
.transfer-form__child-header {
	font-size: 1rem;
	font-weight: 600;
}

.transfer-form__submit-btn {
	background-color: var(--primary-color);
	border: none;
	padding: 0.75rem 1.5rem;
	font-weight: 600;
	border-radius: var(--input-radius);
}

.transfer-form__submit-btn:hover {
	background-color: #0b3e7a;
}

.transfer-form__submit-msg {
	font-size: 0.85rem;
	color: #6c757d;
}

@media (max-width: 768px) {
	.transfer-modal__body {
		padding: 1rem;
	}

	.transfer-form__group {
		flex: 1 1 100%;
	}

	.transfer-form__label {
		font-size: 0.9rem;
	}

	.transfer-summary__item {
		flex: 1 1 100%;
	}

	.modal-footer {
		flex-direction: column;
		gap: 1rem;
	}
}


input.form-control.transfer-form__input {
	padding: 5px 5px;
	border-radius: var(--input-radius)
}

.sport_destination_search_wrap_inner {
	display: flex;
	gap: 1rem;
	justify-content: space-around;
}

.row.sport_destination_search_wrap_inner div {
	flex: 1;
}

.vehicle-card {
	position: relative;
	cursor: pointer;
	border: 2px solid transparent;
	transition: all 0.2s ease-in-out;
	margin-top: 15px;
	border-radius: 8px;
}

.vehicle-card:hover {
	background: #f4f7fb;
}

.vehicle-card.active {
	border-color: #0d4c96;
	background-color: #eaf1fb;
}

.vehicle-card.active::after {
	content: "✔";
	position: absolute;
	top: -10px;
	right: -7px;
	font-size: 18px;
	color: #0d4c96;
	font-weight: bold;
	border-radius: 50%;
}

.daterangepicker {
	padding-right: 40px !important;
}

.daterangepicker .left {
	margin-right: 2rem !important;
}

.sidebar-filter-type .filter-checked {
	border: 1px solid #0a5caf;
}

.tauch-reisenders {
	display: none !important;
}

.sport_search_btn_section {
	margin-bottom: 10px;
}

/* Sport archive sidebar — match flight sidebar input styling */
body.post-type-archive-sport .sport_search_wrap input.hp_search_input,
body.post-type-archive-sport .sport_search_wrap input.hp_sport_search_input {
	border: 1px solid #e0e0e0;
	border-radius: 5px;
	padding: 0 15px;
	height: 50px;
	width: 100%;
	background: #f8f9fa;
	box-sizing: border-box;
	transition: all 0.3s ease;
}

body.post-type-archive-sport .sport_search_wrap input.hp_search_input:focus,
body.post-type-archive-sport .sport_search_wrap input.hp_sport_search_input:focus {
	border-color: #0070b9;
	background: #fff;
	box-shadow: 0 0 0 2px rgba(0, 112, 185, 0.1);
}

body.post-type-archive-sport .sport_search_wrap select {
	border: 1px solid #e0e0e0;
	border-radius: 5px;
	padding: 0 15px;
	height: 50px;
	width: 100%;
	background: #f8f9fa;
	box-sizing: border-box;
	font-size: 16px;
	font-family: 'Roboto', sans-serif;
	appearance: auto;
}

body.post-type-archive-sport .col-md-3 {
	padding: 0;
	padding-right: 20px;
}

/* Sidebar: destination dropdown single column */
body.post-type-archive-sport .col-md-3 .sport_destination_search_wrap_inner {
	flex-direction: column;
	gap: 0.5rem;
}

body.post-type-archive-sport .sport_search_wrap_inner {
	width: 300px;
}

/* Sport sidebar filter section styling */
body.post-type-archive-sport .sidebar-wrapper input.form-control {
	border: 1px solid #e0e0e0;
	border-radius: 5px;
	padding: 0 15px;
	height: 50px;
	background: #f8f9fa;
	font-size: 16px;
	font-family: 'Roboto', sans-serif;
	box-sizing: border-box;
	width: 100%;
}

body.post-type-archive-sport .sidebar-wrapper input.form-control:focus {
	border-color: #0070b9;
	background: #fff;
	box-shadow: 0 0 0 2px rgba(0, 112, 185, 0.1);
	outline: none;
}

/* Flight Search Form Styles */
.flight_search_wrap {
	float: left;
	width: 100%;
	position: relative;
	margin: auto;
	display: flex;
	justify-content: space-around;
	color: var(--primary) !important;
}

.flight_search_wrap_inner {
	padding: 0 15px;
	width: 100%;
}

body.archive .flight_search_wrap_inner {
	padding: 0;
}

.hp_flight_search_field_box {
	float: left;
	width: calc(100% - 53px);
}

.is_singular_flight_yes .hp_flight_search_field_box {
	width: 100%;
}

body.archive .hp_flight_search_field_box {
	width: 100%;
}

.hp_flight_search_input {
	outline-color: transparent;
}

.hp_flight_search_icon {
	height: 52.5px;
	width: 52.5px;
	justify-content: center;
	display: flex;
	align-items: center;
	float: left;
}

body.archive input[type=text].hp_flight_search_input,
body.archive select.hp_flight_search_input {
	width: 100%;
}

.flight_search_section1 {
	display: none !important;
}

.flight_search_section2,
.flight_search_section3 {
	float: left;
	width: calc(33% - 36px);
}

.flight_search_wrap.is_tax_page_yes .flight_search_section1 {
	display: none;
}

body.archive .flight_search_section1 {
	display: none !important;
}

body.archive .flight_search_section2,
body.archive .flight_search_section3 {
	width: 100%;
	border-right: 0px;
	border-left: 0px;
	border-bottom: 1px solid #ddd;
}

body.archive .flight_search_btn_section {
	width: 100%;
	text-align: center;
	margin-top: 7.5px;
}

.flight_search_section2 {
	border-right: 1px solid #ddd;
	border-left: 1px solid #ddd;
}

.flight_destination_search_wrap {
	position: absolute;
	background-color: #fff !important;
	left: -20px;
	width: calc(100% + 40px);
	display: none;
	top: 124px;
	z-index: 100000;
}

body.archive .flight_destination_search_wrap {
	top: 55px;
	z-index: 1;
	left: 15px;
	width: calc(100% - 30px);
}

.flight_search_destination_ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.flight_search_destination_ul li {
	padding: 0 15px;
}

.flight_search_item_wrap>label {
	border-bottom: 1px solid #ddd;
	display: block;
	margin: 15px;
	font-weight: bold;
}

.hp_flight_guest_search_section {
	position: relative;
}

.hp_flight_guests_search_wrap {
	position: absolute;
	background: #fff;
	width: 100%;
	left: 0;
	top: 55px;
	display: none;
	padding: 15px;
	z-index: 1;
	border: 1px solid #ddd;
	border-radius: 5px;
}

body.archive .hp_flight_guests_search_wrap {
	top: 55px;
}

.hp_flight_search_guest_input_fa {
	position: absolute;
	right: 15px;
	top: 30px;
}

.hp_flight_guests_search_room,
.hp_flight_guests_search_adult,
.hp_flight_guests_search_children {
	float: left;
	width: 100%;
}

.search_flight_guest_plus_minus {
	cursor: pointer;
}

.hp_flight_guests_search_wrap input[type="text"],
.hp_flight_guests_search_children_ages_wrap input[type="number"] {
	width: 70px;
}

.hp_flight_guests_search_children_ages_wrap input[type="number"] {
	float: right;
}

.hp_flight_search_guests_number_label {
	float: right;
}

.hp_flight_search_guests_label {
	float: left;
	line-height: 47px;
}

.hp_flight_guests_search_children_ages_wrap {
	float: left;
	width: 100%;
	margin: 0;
	list-style: none;
	border: 1px solid #ddd;
	padding: 7.5px;
	display: none;
}

.hp_flight_guests_search_children_ages_wrap li {
	display: block;
	float: left;
	width: 100%;
}

.is_singular_flight_yes .flight_search_section1 {
	display: none;
}

.is_singular_flight_yes .flight_search_section2,
.is_singular_flight_yes .flight_search_section3 {
	width: calc(50% - 59px);
	border: none;
}

body:not(.post-type-archive-hotel).flight_search_wrap .hp__search_field_section {
	width: 22% !important;
}

.flight_search_wrap .hp__search_field_section {
	width: 22%;
}

/* Direct flights toggle should have fit-content width when not in sidebar */
body:not(.archive) .flight_search_wrap .flight_search_section_stops {
	width: fit-content !important;
}

.is_singular_flight_yes .flight_search_section1,
.is_singular_flight_yes .hp_departures_search_section {
	display: none;
}

.is_singular_flight_yes .hp__search_field_section {
	width: 41% !important;
	padding-left: 15px;
}

@media(max-width:767px) {

	.flight_search_section1 {
		display: none !important;
	}

	.flight_search_section2,
	.flight_search_section3 {
		width: 100%;
		border-left: 0;
		border-right: 0;
		border-bottom: 1px solid #ddd;
		margin-bottom: 5px;
	}
}

@media(max-width: 760px) {
	.flight_search_wrap_inner {
		display: flex !important;
		flex-direction: column;
		width: 100% !important;
		align-items: center;
	}
}

/* Flight Search Form Styling - Blue Modern Design */
.flight_search_wrap_inner {
	border: 2px solid #0070b9;
	border-radius: 0 10px 10px 10px;
	/* Top left 0 because of the tab style */
	padding: 40px 30px 30px 30px;
	/* Increased padding to give fields breathing room from borders */
	margin-top: 55px !important;
	/* Force margin to ensure space for the tab */
	position: relative;
	background: #fff;
	box-shadow: 0 4px 15px rgba(0, 112, 185, 0.15);
	/* Soft blue shadow */
	display: flex;
	/* Use Flexbox for layout */
	flex-wrap: wrap;
	gap: 20px;
	/* Increased gap between items */
	align-items: flex-end;
	/* Align bottom */
	width: 100%;
}

/* Position the One Way / Return switch as a tab */
.flight_search_section_type {
	position: absolute;
	top: -47px;
	/* Exact height + border match */
	left: -2px;
	/* Align with border */
	width: auto !important;
	max-width: none !important;
	background-color: #0070b9;
	padding: 0 15px;
	border-radius: 10px 10px 0 0;
	margin-bottom: 0 !important;
	z-index: 2;
	float: none !important;
	height: 47px;
	display: flex !important;
	flex-direction: row;
	/* Force row */
	align-items: center;
	border: 2px solid #0070b9;
	/* Match border */
	border-bottom: none;
	/* Connect to main box */
}

/* Wrapper for radios */
.flight_search_section_type .hp_search_field_box {
	width: auto !important;
	float: none !important;
	display: flex !important;
	flex-direction: row !important;
	align-items: center;
	gap: 15px;
	/* Space between options */
	margin: 0 !important;
}

/* Style the radio labels in the tab */
.flight_search_section_type label.radio-inline {
	color: rgba(255, 255, 255, 0.8);
	font-weight: 600;
	margin: 0;
	cursor: pointer;
	text-transform: uppercase;
	font-size: 13px;
	letter-spacing: 0.5px;
	display: inline-flex;
	align-items: center;
	transition: all 0.2s;
	padding: 8px 5px;
	/* Reduced horizontal padding */
	border-radius: 0;
	background: transparent;
	/* Remove box background */
	border: none;
	/* Remove box border */
	position: relative;
	gap: 8px;
}

/* Hover state */
.flight_search_section_type label.radio-inline:hover {
	color: #fff;
	background: transparent;
}

/* Hide default radio input completely */
.flight_search_section_type label.radio-inline input[type="radio"] {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}

/* Custom checkmark indicator */
.flight_search_section_type label.radio-inline::before {
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	border: 1px solid rgba(255, 255, 255, 0.6);
	background: transparent;
	/* Default empty box */
	border-radius: 3px;
	transition: all 0.2s;
	flex-shrink: 0;
}

/* Checked state - Show checkmark inside the existing box */
/* User requested "leave only that checkmark" - this might mean NO BOX at all, just checkmark? 
   "remove the box layout, leave only that checkmark"
   Let's interpret this as the label container has no box/bg (which I did above), 
   but the selection indicator is likely still a checkbox-style box with a checkmark, 
   OR it's just a checkmark icon next to text. 
   Given "Change radio circles to boxes with checkmarks" was the previous request, 
   and now "remove the box layout", it probably refers to the PADDING/BORDER around the label text I likely added.
   So I removed label border/bg. Step 1 done.
   Step 2: Checkmark style.
*/
.flight_search_section_type label.radio-inline:has(input:checked) {
	color: #fff;
	/* No background on parent label */
	background: transparent;
	border: none;
	box-shadow: none;
}

.flight_search_section_type label.radio-inline:has(input:checked)::before {
	background-color: #fff;
	/* White background for the checkbox itself */
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230070b9' width='14px' height='14px'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	border-color: #fff;
}


/* Layout adjustments for Flexbox */
.flight_search_section1 {
	display: none !important;
}

.flight_search_section2,
.flight_search_section3 {
	margin-bottom: 0px;
	width: auto;
	flex: 1 1 0;
	/* Equal width grow */
	min-width: 150px;
	/* Override float */
	border: none !important;
	/* Remove all borders */
}

/* Remove borders from specific sections if they had them */
.flight_search_section2 {
	border: none !important;
}

/* Ensure departure section matches inclusive tour */
.hp_departures_search_section {
	/* Styles shared by default, ensuring correct width in flex */
}

/* Input fields styling */
.flight_search_wrap input.hp_search_input {
	border: 1px solid #e0e0e0;
	border-radius: 5px;
	padding: 0 15px;
	height: 50px;
	/* Taller inputs */
	width: 100%;
	transition: all 0.3s ease;
	background: #f8f9fa;
}

.flight_search_wrap input.hp_search_input:focus {
	border-color: #0070b9;
	background: #fff;
	box-shadow: 0 0 0 2px rgba(0, 112, 185, 0.1);
	outline: none;
}

/* Search Button Section */
.flight_search_btn_section {
	margin-top: 0;
	width: auto;
	text-align: right;
	flex: 0 0 auto;
	/* Don't grow, just take content width */
	align-self: flex-end;
	/* Align to bottom */
}

.flight_search_btn_section button {
	background-color: #0070b9;
	border-color: #0070b9;
	color: #fff;
	padding: 0 30px;
	border-radius: 5px;
	font-weight: 600;
	height: 50px;
	/* Match input height */
	font-size: 16px;
	text-transform: uppercase;
	transition: all 0.3s ease;
	cursor: pointer;
}

.flight_search_btn_section button:hover {
	background-color: #005a94;
	border-color: #005a94;
	transform: translateY(-1px);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

/* Labels */
.hp_search_field_label {
	font-size: 13px;
	font-weight: 600;
	color: #555;
	margin-bottom: 8px;
	/* increased spacing */
	text-transform: uppercase;
	letter-spacing: 0.5px;
	display: block;
}

/* Add padding to flight search labels to accommodate icons */
.flight_search_wrap .hp_search_field_label {
	padding-left: 25px;
}

body.archive .flight_search_wrap .hp_search_field_label {
	padding-left: 25px;
}

.tt-destination-error {
	margin-top: 6px;
	color: #b42318;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
}

.hp__search_field_section.has-error input.hp_search_input {
	border-color: #b42318;
}

/* Icons styling if present */
.hp_search_icon {
	color: #0070b9;
	margin-right: 15px;
	display: none;
	/* Hide icons to save space/clean look if preferred, or keep them */
}

/* Show icons in flight search (will be positioned absolutely) */
.flight_search_wrap .hp_search_icon {
	display: flex;
	margin: 0;
	flex-shrink: 0;
}

/* Flight search field sections should position icon absolutely to align with label */
.flight_search_wrap .hp__search_field_section {
	display: flex !important;
	flex-direction: column !important;
	position: relative;
}

/* Position icon absolutely to appear next to label text only */
.flight_search_wrap .hp__search_field_section .hp_search_icon {
	position: absolute;
	top: 0;
	left: 3px;
	z-index: 1;
	width: 30px;
	height: auto;
	margin: 0;
	display: flex !important;
	align-items: center;
	justify-content: flex-start;
	color: #0070b9;
}

.flight_search_wrap .hp__search_field_section .hp_search_icon i {
	font-size: 16px;
}

/* Ensure this applies on archive pages too (sidebar) */
body.archive .flight_search_wrap .hp__search_field_section {
	display: flex !important;
	flex-direction: column !important;
	position: relative;
}

/* Ensure dropdowns are positioned correctly */
.flight_destination_search_wrap,
.hp_departures_search_wrap,
.hp_flight_guests_search_wrap {
	top: 100%;
	margin-top: 5px;
	left: 0;
	width: 100%;
	z-index: 100 !important;
	border-radius: 8px;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
	border: 1px solid #eee;
}

/* Departure list styling to match inclusive tour */
.check-list.loadFlightDepartures {
	max-height: 250px;
	overflow-y: auto;
	padding: 10px;
}

.check-list.loadFlightDepartures li {
	margin-bottom: 5px;
}

/* Responsive adjustments */
@media (max-width: 991px) {
	.flight_search_wrap_inner {
		flex-direction: column;
		/* Stack on smaller screens */
		padding-top: 50px;
		gap: 20px;
	}

	.flight_search_section1 {
		display: none !important;
	}

	.flight_search_section2,
	.flight_search_section3,
	.flight_search_btn_section {
		width: 100%;
		/* Full width */
		flex: none;
	}

	.flight_search_btn_section {
		text-align: center;
	}

	.flight_search_btn_section button {
		width: 100%;
	}

	.flight_search_wrap_inner {
		border-radius: 10px;
	}

	.flight_search_section_type {
		top: -47px;
		left: 0;
		right: 0;
		width: 100% !important;
		border-radius: 10px 10px 0 0;
		justify-content: center;
		height: 47px;
	}
}

/* Flight archive sidebar: keep the controls boxed, but remove the outer panel. */
body.post-type-archive-flight .container-fluid > .row > .col-md-3,
body.post-type-archive-flight .flight_archive_layout,
body.post-type-archive-flight .flight_archive_layout.form_search_wrap,
body.post-type-archive-flight .flight_archive_layout .form_search_wrap_inner,
body.post-type-archive-flight .flight_archive_layout .flight_search_inputs_row,
body.post-type-archive-flight .flight_archive_layout .hp__search_field_section,
body.post-type-archive-flight .flight_archive_layout .hp_flight_search_field_box,
body.post-type-archive-flight .flight_archive_layout .hp_search_field_box {
	background: transparent !important;
	box-shadow: none !important;
}

body.post-type-archive-flight .flight_archive_layout .flight_search_wrap_inner,
body.post-type-archive-flight .flight_archive_layout .form_search_wrap_inner {
	background: transparent !important;
	border: 1px solid #d8e5f5 !important;
	box-shadow: none !important;
}

body.post-type-archive-flight .flight_archive_layout .flight_search_wrap_inner {
	margin-top: 55px !important;
	padding: 40px 16px 18px;
}

body.post-type-archive-flight .flight_archive_layout .flight_search_btn_section,
body.post-type-archive-flight .flight_archive_layout .carrier-filter-container {
	border-top-color: transparent !important;
}

/* EKit Tabs — align nav with boxed content inside tab panes */
.elementor-section-full_width .elementkit-tab-wraper .elementkit-tab-nav {
	max-width: 1140px;
	margin-left: auto;
	margin-right: auto;
	display: flex !important;
	width: 100%;
}

/* Shared location submenu styling for ElementsKit nav menus. */
.location-menu-list {
	background: #7a7a7a !important;
	overflow: visible !important;
}

.location-menu-list .elementor-widget-container,
.location-menu-list .ekit-wid-con,
.location-menu-list .elementskit-menu-container,
.location-menu-list .e-con-inner {
	background: transparent !important;
	overflow: visible !important;
}

.location-menu-list .elementskit-navbar-nav-default > li > a,
.location-menu-list .elementskit-navbar-nav-default > li > a:visited {
	color: #ffffff !important;
}

.location-menu-list .elementskit-dropdown {
	background: #7a7a7a !important;
	border-color: rgba(0, 0, 0, 0.1) !important;
}

body .location-menu-list .elementskit-navbar-nav-default .elementskit-dropdown li > a,
body .location-menu-list .elementskit-navbar-nav-default .elementskit-dropdown li > a:visited {
	color: #ffffff !important;
}

body .location-menu-list .elementskit-navbar-nav-default .elementskit-dropdown li > a:hover,
body .location-menu-list .elementskit-navbar-nav-default .elementskit-dropdown li:hover > a {
	background: #686868 !important;
	color: #ffffff !important;
}

/* Brand blue for ALL Elementor tab types (override magenta/pink defaults) */
.elementor-tab-title.elementor-active {
	color: #0170B9 !important;
}
.elementor-tab-title.elementor-active::after {
	background-color: #0170B9 !important;
}
/* Elementor nested/advanced tabs (e-n-tabs) */
.e-n-tabs .e-n-tab-title[aria-selected="true"],
.e-n-tabs .e-n-tab-title.e-active {
	color: #0170B9 !important;
	--e-global-color-accent: #0170B9;
}
.e-n-tabs .e-n-tab-title[aria-selected="true"]::after,
.e-n-tabs .e-n-tab-title.e-active::after {
	background-color: #0170B9 !important;
}

.site-footer a,
footer a,
.ast-footer a,
.ekit-template-content-footer a,
.elementor-location-footer a {
	color: #ffffff !important;
	text-decoration: none !important;
}
.site-footer a:hover,
footer a:hover,
.ast-footer a:hover,
.ekit-template-content-footer a:hover,
.elementor-location-footer a:hover {
	text-decoration: underline !important;
}

/* ElementsKit: keep the offcanvas close button from leaking into tablet headers. */
.elementskit-menu-container .elementskit-menu-close.elementskit-menu-toggler {
	display: none !important;
}

.elementskit-menu-container.active .elementskit-menu-close.elementskit-menu-toggler,
.elementskit-menu-container.show .elementskit-menu-close.elementskit-menu-toggler,
.elementskit-menu-container[class*="active"] .elementskit-menu-close.elementskit-menu-toggler,
.elementskit-menu-container.ekit-nav-menu-active .elementskit-menu-close.elementskit-menu-toggler {
	display: inline-flex !important;
}

.elementskit-menu-close.elementskit-menu-toggler .fas.fa-times {
	font-family: "FontAwesome" !important;
	font-style: normal;
	font-weight: normal;
	line-height: 1;
}

.elementskit-menu-close.elementskit-menu-toggler .fas.fa-times::before {
	content: "\f00d";
}

/* Booking-form polish overrides: keep these at the end so older form rules cannot win. */
.hma_hp_search_tabs .elementkit-nav-link:focus,
.hma_hp_search_tabs .elementkit-nav-link:focus-visible,
.elementkit-nav-link:focus,
.elementkit-nav-link:focus-visible,
.elementskit-tab-nav a:focus,
.elementskit-tab-nav a:focus-visible {
	outline: none !important;
	box-shadow: none !important;
	border-color: transparent !important;
}

body:not(.archive) .hotel_search_wrap_inner > .hp__search_field_section,
body:not(.archive) .inclusive_tour_search_inputs_row > .hp__search_field_section,
body:not(.archive) .flight_search_wrap .hp__search_field_section {
	border-left: 0 !important;
	border-right: 0 !important;
}

@media (min-width: 768px) {
	body:not(.archive) .hotel_search_wrap_inner > .hp__search_field_section,
	body:not(.archive) .inclusive_tour_search_inputs_row > .hp__search_field_section,
	body:not(.archive) .flight_search_wrap .hp__search_field_section {
		position: relative !important;
	}

	body:not(.archive) .hotel_search_wrap_inner > .hotel_search_section1:not(.d-none)::after,
	body:not(.archive) .hotel_search_wrap_inner > .hotel_search_section2::after,
	body:not(.archive) .inclusive_tour_search_inputs_row > .inclusive_tour_search_section1:not(.d-none)::after,
	body:not(.archive) .inclusive_tour_search_inputs_row > .hp_departures_search_section::after,
	body:not(.archive) .inclusive_tour_search_inputs_row > .inclusive_tour_search_section2::after,
	body:not(.archive) .flight_search_wrap .hp_departures_search_section::after,
	body:not(.archive) .flight_search_wrap .hp_arrivals_search_section::after,
	body:not(.archive) .flight_search_wrap .flight_search_section2::after {
		content: "" !important;
		position: absolute !important;
		right: -10px !important;
		top: 18px !important;
		bottom: 18px !important;
		width: 1px !important;
		background: #ddd !important;
		pointer-events: none !important;
	}
}
