body.theme-astra div.ttbm_wraper,
body.theme-twentytwenty div.ttbm_wraper,
body.theme-twentytwentyone div.ttbm_wraper,
body.theme-twentytwentytwo div.ttbm_wraper {
	max-width: 1400px !important;
}

.ast-separate-container .ast-article-single {
	padding: var(--ttbm_mp);
}

/**************************************************/
@media (min-width: 10px) {
	div.ttbm_default_widget {

		border-radius: 10px;

		display: block;
		font-size: var(--ttbm_fs);
		color: var(--d_color);
		position: relative;
		margin: 0 0 var(--ttbm_mp) 0;
		background: #FFF;
	}
}

/**************************************************/
div.ttbm_default_theme,
div.ttbm_viator_theme {
	width: 100%;
	max-width: 1400px;
	margin: auto;
	background: #fff;
}

div.ttbm_wraper {
	max-width: 100%;
	width: 100%;
	margin: var(--ttbm_mp) auto;
	position: relative;
}

div.ttbm_container {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	padding: var(--ttbm_mp);
	background-color: var(--color_white);
}

.ttbm_wraper table {
	table-layout: fixed;
	margin: 0;
	width: 100%;
}

.ttbm_wraper table th {
	font-size: var(--ttbm_fs_label);
}

.ttbm_wraper table th,
div.ttbm_faq_item .ttbm_faq_title {
	-webkit-transition: 350ms ease-in-out;
	transition: 350ms ease-in-out;
}

.ttbm-rating-stars {
	margin-top: 15px;
}

/**********Shadow content****************************/
#ttbm_related_tour div.filter_item {
	/* border: 1px solid var(--color_border); */
	padding: 0;
	margin: 10px 20px 10px 0;
	border: none;
	box-shadow: 0 4px 20px rgba(30, 30, 60, 0.10);
}

#ttbm_related_tour div.filter_item .ttbm-rating-stars {
	margin: 0;
}

/*****************Details page*********************************/
div.ttbm_details_page {
	display: block;
	position: relative;
}

div.ttbm_content_area {
	position: relative;
	display: -webkit-flex;
	display: flex;
	flex-direction: column;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	padding-top: 5px
}



.ttbm_details_page_header .ttbm-rating-stars {
	margin: 0;
	margin-top: 3px;
	font-size: 16px;
}

.ttbm_details_page .ttbm_details_page_header .location_name {
	margin: 0;
	margin-bottom: 10px;
	font-size: 16px;
}

.ttbm_content__left {
	width: 100%;
}

.hip_hop_hotel_theme .ttbm_content__left,
.ttbm_spring_theme .ttbm_content__left {
	width: calc(50% - 20px);
}

.ttbm_content__right {
	width: 100%;
	height: max-content;
	position: sticky;
	top: 30px;
	z-index: 0;
	margin-top: 20px;
	border: 0px solid #e7e7e7;
	border-radius: 12px;
}


.ttbm_content__right .ttbm_default_widget h5 {
	text-transform: uppercase;
}

.ttbm_smart_theme .ttbm_content__right {
	border: none;
}

@media (min-width:960px) {
	div.ttbm_content_area {
		justify-content: space-between;
		flex-direction: row;
	}

	.ttbm_content__left {
		width: calc(100% - 376px);
	}

	.ttbm_content__right {
		width: 360px;
		margin-top: 0;
	}
}

div.superSlider .sliderAllItem {
	z-index: 0;
}

.hip_hop_hotel_theme .ttbm_content__right,
.ttbm_spring_theme .ttbm_content__right {
	width: 50%;
}

/**/
div.ttbm_details_page div.superSlider {
	margin-bottom: 15px;
}

div.ttbm_details_page div.ttbm_description {
	margin: 20px 0 var(--ttbm_mp) 0;
	border: 1px solid var(--color_border);
	border-radius: 10px;
	box-shadow: 0 2px 10px #0000001B;
}

div.ttbm_details_page div.ttbm_description .ttbm_description_title {
	background: rgba(var(--color_theme_rbg), 0.1);
	padding: 12px var(--ttbm_mp);
	font-weight: bold;
	border-radius: 10px 10px 0 0;
	margin: 0;
	font-size: 22px;
}

div.ttbm_details_page div.ttbm_description .ttbm_content {
	padding: 20px 25px;
}

/*********/
div.ttbm_details_page .location_name {
	font-size: var(--ttbm_fs_h5);
	margin: 0 0 var(--ttbm_mp) 0;
}

/*********/
.section_item {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	width: 33.333%;
	overflow: hidden;
	margin: 0;
	position: relative;
}

/***********/
.sidebar_price {
	text-align: center;
	color: var(--color_theme);
}

.ttbm_title_style_2~.ttbm_widget_content .sidebar_price,
.ttbm_title_style_3~.ttbm_widget_content .sidebar_price {
	text-align: left;
	padding: 0 0 0 20px;
	color: var(--d_color);
}

/******************/
div.ttbm_map_area {
	padding: 5px;
}

div.ttbm_map_area #gmap_canvas {
	: 100%;
	width: 100%;
	min-height: 320px;
}

/*********************Location list*****************************/
div.ttbm_location_list div.filter_item {
	padding: 0;
}

/**************************************************/
.col-left .roundSwitchLabel {
	margin-right: 5px;
}

.col-right .roundSwitchLabel {
	margin-right: 5px;
}

div.ttbm_style .mp_tour_ticket_form {
	border-radius: 8px;
	margin-top: 0px;
	padding: 0px;
}

#ttbm_content .content-title {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -.01em;
	color: var(--ttbm_d_heading);
	margin: 0 0 16px;
	padding: 0;
	text-transform: none;
}

@media (min-width: 540px) {
	div.ttbm_style .mp_tour_ticket_form {
		border-radius: 8px;
	}
}

.person-description {
	font-size: 12px;
	color: #666;
}

.ttbm_spring_theme .ttbm_booking_panel table,
.hip_hop_hotel_theme .ttbm_booking_panel table {
	table-layout: initial;
}

.ttbm_spring_theme .ttbm_booking_panel table tr:nth-of-type(odd) td:last-child,
.hip_hop_hotel_theme .ttbm_booking_panel table tr:nth-of-type(odd) td:last-child {
	width: 160px;
	padding: 5px;
}

.ttbm_booking_panel table.mp_tour_ticket_type {
	border: 0;
}

.ttbm_booking_panel table.mp_tour_ticket_type tbody tr:nth-child(2n+1) {
	background: none;
	border-bottom: 1px solid #DADADA;
}

.ttbm_booking_panel .ttbm_ticket_area table.mp_tour_ticket_type tbody tr:last-child {
	border-bottom: 0;
}

.ttbm-tour-guide .ttbm_widget_content {
	margin: 10px;
}

.tour-guide-lists .ttbm_tour_guide_item {
	margin-bottom: 10px;
}

.tour-guide-lists.circle {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.tour-guide-lists.circle .ttbm_tour_guide_item .bg_image_area {
	width: 140px;
	height: 140px;
	border-radius: 100%;
	margin: auto;
}

#ttbm-tour-guide.circle .ttbm_tour_guide_item .bg_image_area {
	width: 200px;
	height: 200px;
	border-radius: 100%;
	margin: auto;
}

/*********Group Content*******/
.ttbm_wraper table label {
	: 100px;
}

.ttbm_wraper table label select.formControl {
	text-align: center;
}

/*****************/
div.item_section {
	display: inline-flex;
	border: 0px solid #E6E6E6;
	padding: 10px;
	border-radius: 50px;
	margin-bottom: 15px;
	flex-wrap: wrap;
}

div.item_section .ttbm_short_list_more {
	cursor: pointer;
	color: var(--color_theme);
	margin: 0 0 0 var(--ttbm_mp_xs);
	font-weight: var(--fw-medium);
	font-size: var(--ttbm_fs_h4);
	margin-top: var(--ttbm_mp_xs);
	padding: var(--ttbm_mp_xs) var(--ttbm_mp_xs);
	display: inline-block;
}

div.small_box {
	padding: var(--ttbm_mp) var(--ttbm_mp_xs);
	margin: var(--ttbm_mp_xs);
	width: calc(25% - var(--ttbm_mp));
	border: 1px solid var(--color_border);
	border-radius: 10px;
	background-color: var(--color_section);
	line-height: 1.25;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-justify-content: center;
	justify-content: center;
}

div .item_icon {
	padding: 5px 20px;
	text-align: center;
	position: relative;
	white-space: nowrap;
	display: flex;
	align-items: center;
	line-height: 1.5;
}

div .item_icon::after {
	content: "";
	position: absolute;
	top: 50%;
	inset-inline-end: 0;
	display: block;
	width: 2px;
	height: 10px;
	background-color: rgba(var(--color_theme_rgb), 0.4);
	transform: translateY(-50%);
}

div .item_icon:last-child:after {
	width: 0;
	height: 0;
}

div .item_icon i {
	color: var(--color_theme);
	font-size: 20px;
	margin-right: 6px;
}

div.ttbm_style [data-bg-image] {
	transform: scale(1);
}

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

	div.item_section {
		border-radius: 10px;
	}

	div.item_section .item_icon {
		padding: 5px 10px;
	}
}

#ttbm_related_tour .ttbm_default_widget .ttbm_widget_content {
	padding: 10px;
}

.ttbm_extra_service_area table.mp_tour_ticket_extra {
	border-left: 0;
}

.ttbm_extra_service_area table.mp_tour_ticket_extra thead {
	border: 0;
}

.ttbm_extra_service_area table.mp_tour_ticket_extra tbody tr {
	border-bottom: 1px solid #DADADA;
}

.ttbm_extra_service_area table.mp_tour_ticket_extra tbody tr:last-child {
	border-bottom: 0;
}

#ttbm_content .ttbm_extra_service_area h2.extra_service_title {
	margin-top: 20px;
	padding: 10px;
	font-weight: bold;
	font-size: 18px;
	color: #666
}

table div.ttbm_attendee_form_item {
	border-top: 1px solid #ebe8e8;
	padding-top: 10px;
	padding-bottom: 20px;
}

/**************************************************/
.ttbm_wraper button.ttbm_book_now {
	margin: 0 var(--ttbm_mp_xs) 0 0;
}

/**********************/
div.bg_image_area .group_item {
	display: -webkit-flex;
	display: flex;
	background-color: #0009;
	opacity: 0;
	transition: opacity 0.35s, transform 0.35s;
	-webkit-align-items: flex-end;
	align-items: flex-end;
}

div.bg_image_area:hover .group_item {
	opacity: 1;
}

div.bg_image_area .group_item>* {
	color: #FFF;
	font-weight: bold;
	width: 100%;
}

div.bg_image_area .group_item span {
	color: #FFF;
}

div.bg_image_area .group_item .ttbm_list_info {
	-webkit-justify-content: center;
	justify-content: center;
	margin: 0 0 var(--ttbm_mp_xs) 0;
	font-size: 12px;
	background-color: #0007;
	padding: 10px;
}

div.include_service ul li[title]:hover::before {
	position: absolute;
	content: "";
	left: calc(50% - 9px);
	top: -11px;
	border: 8px solid transparent;
	border-bottom-color: #333;
	transform: rotate(180deg);
}

div.include_service ul li[title]:hover::after {
	content: attr(title);
	position: absolute;
	top: -122%;
	left: 0;
	background-color: #333;
	padding: 5px var(--dbr);
	color: #FFF;
	border-radius: 5px;
	white-space: nowrap;
	font-size: 12px;
	line-height: 20px;
}

div.include_service ul {
	display: -webkit-flex;
	display: flex;
}

div.include_service ul li,
.ttbm_widget_content .ttbm_list_details .include_service ul li {
	display: flex;
	align-items: center;
	position: relative;
	margin: 0 7px 0 0 !important;
	border: 1px solid var(--color_border);
	border-radius: 5px;
	transition: all 0.3s ease-in-out;
	color: var(--color_theme) !important;
	font-size: var(--ttbm_fs);
	height: 30px;
	width: 30px !important;
	padding: 0 !important;
	line-height: 35px;
	text-align: center;
	padding-top: 10px;
}

div.include_service ul li .circleIcon_xs {
	height: auto;
	width: 100%;
}

div.include_service ul li span,
.ttbm_widget_content div.ttbm_list_details .include_service ul li span {
	display: inline-block !important;
	margin: 0 !important;
}

div.include_service ul li:hover,
.ttbm_widget_content .ttbm_list_details .include_service ul li:hover {
	background-color: var(--color_theme) !important;
	color: var(--color_theme_alter) !important;
	border-color: var(--color_theme) !important;
}

div.include_service ul li:hover .mi {
	color: var(--color_theme_alter) !important;
}

/* ===============include exclude feature========= */
.ttbm-include-exclude {
	display: flex;
	justify-content: start;
	align-items: start;
	gap: 10px;
	padding: 20px;
}

.ttbm-include-exclude .items {
	width: 50%;
}

.ttbm-include-exclude .items li {
	margin-bottom: 10px;
}

.ttbm-activities {
	display: flex;
	justify-content: start;
	align-items: start;
	gap: 10px;
	flex-wrap: wrap;
}

div.ttbm_description ul.ttbm-activities {
	padding: 20px;
}

.ttbm-activities .ttbm-items {
	width: 49%;
	margin-bottom: 10px;
}

.get-enquiry-form {
	display: flex;
	flex-direction: column;
	justify-content: start;
	align-items: start;
	gap: 10px;
	padding: 20px 10px;
}

.ttbm_style .get-enquiry-form input,
.get-enquiry-form textarea {
	width: 100%;
	margin-bottom: 20px;
}

div.filter_top_bar button {
	background-color: #FFF;
	color: var(--color_theme);
	font-size: var(--ttbm_fs_h2);
	padding: 6px;
	border-radius: 5px !important;
}

/**************Availability theme***********************************/
div.ttbm_viator_theme .ttbm_content__left {
	width: calc(100% - 400px - var(--ttbm_mp));
}

div.ttbm_viator_theme .ttbm_content__right {
	width: calc(380px + var(--ttbm_mp));
}

div.ttbm_viator_theme .viator_top_section .ttbm_content__left {
	width: calc(100% - 400px);
}

div.ttbm_viator_theme .viator_top_section .ttbm_content__right {
	width: 380px;
	background-color: #F5F5F5;
	padding: 10px;
	border-radius: 10px;
	overflow: auto;
	height: 500px;
}

div.ttbm_viator_theme div.superSlider {
	margin: 0;
}

div.ttbm_viator_theme div.small_box {
	width: 100%;
	padding: 0;
	border: none;
	border-radius: 0;
	margin: var(--ttbm_mp_xs) 0 0 0;
	background-color: transparent;
	-webkit-flex-direction: initial;
	flex-direction: initial;
	-webkit-justify-content: initial;
	justify-content: initial;
}

div.ttbm_viator_theme .item_icon {
	margin: 0 var(--ttbm_mp_xs) 0 0;
	font-size: var(--ttbm_fs_h5);
}

div.viator_top_section .ttbm_booking_panel {
	position: initial;
	top: 100%;
	left: var(--ttbm_mp_negetive);
	right: var(--ttbm_mp_negetive);
	padding: var(--ttbm_mp_xs);
	z-index: 11;
	background-color: #F5F5F5;
}

div.ttbm_date_time_select span.date_time_label {
	font-size: 20px;
	color: #fff;
	margin-right: 20px;
}

div.viator_top_section .ttbm_booking_panel h3 {
	font-size: var(--ttbm_fs_h5);
}

div.viator_top_section .ttbm_booking_panel .addonGroupContent {
	min-width: 25px;
}

div.viator_top_section .ttbm_booking_panel .qtyIncDec {
	: 100%;
}

div.viator_top_section .ttbm_booking_panel .formControl {
	padding: 5px;
}

div.viator_top_section .ttbm_booking_panel div.rendered-form>div.form-group {
	width: 100%;
}

div.viator_top_section .ttbm_booking_panel table td:last-child>div {
	min-width: 100%;
}

div.viator_top_section .ttbm_booking_panel button.ttbm_book_now {
	width: 100%;
}

div.viator_top_section div.ttbm_date_time_select span.date_time_label {
	display: none;
}

div.viator_top_section div.ttbm_date_time_select {
	padding: 0;
	background-color: transparent;
	color: var(--d_color);
	margin: 0;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

div.viator_top_section .ttbm_select_date_area>*,
div.viator_top_section .ttbm_date_time_select>* {
	width: 100%;
}

div.viator_top_section div.ttbm_select_date_area {
	padding: 0;
	background-color: transparent;
}

div.viator_top_section div.ttbm_select_time_area {
	margin: var(--ttbm_mp_xs) 0 0 0;
}

div.viator_top_section div.ttbm_book_now_area {
	-webkit-flex-direction: column;
	flex-direction: column;
	margin: 0;
}

div.viator_top_section .ttbm_book_now {
	margin: var(--ttbm_mp_xs) 0 0 0;
}

/******************day wise details********************************/
div.ttbm_day_wise_details div.superSlider {
	min-width: 300px;
	: 50%;
	margin: 0 var(--ttbm_mp) var(--ttbm_mp) 0;
	float: left;
}

div.day_wise_details_item .day_wise_details_item_details {
	margin: var(--ttbm_mp_xs) 0 0 0;
	overflow: hidden;
}

div.ttbm_day_wise_details .day_wise_details_item_title {
	padding: 0 var(--ttbm_mp_xs) var(--ttbm_mp_xs) 0;
	border-bottom: 1px solid #DDD;
	font-size: var(--ttbm_fs_h4);
	font-weight: var(--fw-medium);
}

div.ttbm_day_wise_timeline .day_wise_details_item_title,
#ttbm_content .ttbm_day_wise_timeline .day_wise_details_item_title {
	padding: 20px 22px;
	border-bottom: 0;
	font-size: inherit;
	font-weight: inherit;
}

.get-enquiry-popup button[class^='_dButton'] {
	background-color: #333;
	color: #fff;
}

.details-meta {
	margin-bottom: 10px;
}

div.day_wise_details_item {
	border-left: 1px solid #ddd;
	position: relative;
	margin: 0;
	padding: 0 0 var(--ttbm_mp) 25px;
}

div.ttbm_day_wise_timeline .day_wise_details_item,
#ttbm_content .ttbm_day_wise_timeline .day_wise_details_item {
	border-left: 0;
	padding: 0;
	margin: 0 0 18px;
}

div.ttbm_day_wise_timeline .day_wise_details_item:before,
#ttbm_content .ttbm_day_wise_timeline .day_wise_details_item:before {
	content: none;
	display: none;
}

div.day_wise_details_item:before {
	content: "";
	width: 15px;
	height: 15px;
	top: 0;
	left: -8px;
	position: absolute;
	background-color: #333;
	border: 1px solid #333;
	border-radius: 50%;
}

div.day_wise_details_item:last-child {
	padding-bottom: 0;
	border: none;
}

div.day_wise_details_item img {
	width: initial;
}

/*************F.A.Q*************************************/
div.ttbm_faq_item {
	margin: 0 0 var(--ttbm_mp_xs) 0;
}

div.ttbm_faq_item .ttbm_faq_title {
	background-color: #FFF;
	border-bottom: 1px solid #DDD;
	border-radius: 0;
	font-weight: normal;
	text-transform: none;
	padding: 5px;
	font-size: var(--ttbm_fs_h5)
}

div.ttbm_faq_item .ttbm_faq_title.active {
	border-color: #F5F5F5;
	border-radius: 5px 5px 0 0;
	background-color: #F5F5F5;
	color: var(--color_black);
}

div.ttbm_faq_item .ttbm_faq_title span {
	padding: 5px 0;
	font-size: 14px;
	font-weight: bold;
}

div.ttbm_faq_content {
	background-color: #FFF;
	padding: var(--ttbm_mp) 0;
	border-radius: 10px;
	overflow: hidden;
}

div.ttbm_faq_content p {
	margin-top: 0;
}

.ttbm_registration_area div[class*="simpleSpinner"] {
	position: absolute;
	z-index: 11111;
	left: 0;
	right: 0;
	top: 50%;
	font-size: var(--ttbm_fs_h1);
	width: 100%;
	padding: var(--ttbm_mp);
	color: var(--color_theme);
}

div.ttbm_faq_content p:last-child {
	margin-bottom: 0;
}

div.ttbm_faq_item div.superSlider {
	min-width: 300px;
	: 50%;
	margin: 0 var(--ttbm_mp_xs) var(--ttbm_mp_xs) 0;
	float: left;
}

/*****************dynamic sidebar*********************************/
div.ttbm_sidebar_widget {
	margin: 0 0 var(--ttbm_mp) 0;
}

div.ttbm_sidebar_widget .form-group-with-button {
	display: -webkit-flex;
	display: flex;
}

div.ttbm_sidebar_widget .form-group-with-button button {
	min-width: 50px;
	background-color: var(--color_theme);
	color: var(--color_theme_alter);
}

div.ttbm_sidebar_widget ul li {
	padding: 5px;
}

div.ttbm_wraper div.ttbm_sidebar_widget ul li a {
	color: var(--d_color);
}

div.ttbm_sidebar_widget ul li a:hover {
	color: var(--color_theme);
	margin: 0 0 0 7px;
}

div.ttbm_sidebar_widget ul li a::before {
	content: ">";
	margin: 0 5px 0 0;
}

/************** owlCarousel***********************************/
div.ttbm_wraper .carousel_area span {
	cursor: pointer;
}

.carousel_area .prev,
.carousel_area .next {
	display: block;
	height: 30px;
	width: 30px;
	text-align: center;
	background: var(--color_theme);
	margin-left: 10px;
	line-height: 30px;
	border-radius: var(--dbr);
	color: #FFF;
	font-size: 14px;
}

.carousel_area .prev:hover,
.carousel_area .next:hover {
	background: var(--color_theme_secondary);
	color: var(--color_white);
}

div.ttbm_wraper .owl-carousel .owl-stage {
	display: -webkit-flex;
	display: flex;
}

div.ttbm_wraper .owl-item div.filter_item,
div.ttbm_wraper .owl-item .section_item {
	width: 100%;
}

@media (min-width: 767px) {
	.ttbm_widget_content.owl-carousel .owl-stage-outer {
		margin-left: -10px;
	}
}

div.ttbm_wraper .owl-nav>button {
	width: 40px;
	height: 40px;
	margin-top: 0;
	background: #FFF;
	border-radius: 50%;
	box-shadow: 0 0 25px 0 rgb(0 0 0 / 25%);
	border: none;
	outline: 0;
	font-size: 30px;
	position: absolute;
	top: 25%;
}

div.ttbm_wraper button.owl-next {
	right: -20px;
}

div.ttbm_wraper button.owl-prev {
	left: -20px;
}

div.ttbm_wraper .owl-dots,
div.ttbm_wraper .owl-theme .owl-nav {
	display: none;
}

.popover-content {
	display: none;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	overflow-y: auto;
	background-color: rgba(230, 230, 230, 1);
	padding: 10px;
	z-index: 111;
}

.popover-content:hover,
#place_you_see span.abTopRight:hover~.popover-content {
	display: block;
}

#place_you_see span.abTopRight {
	margin: 0;
}

#ttbm_related_tour div.filter_item:not([class*="grid_"]) {
	margin: 0;
}

#place_you_see .filter_item {
	box-shadow: none !important;
	padding: 0 !important;
	border-radius: 0 !important;
}

.ttbm_tour_guide [data-bg-image].circle {
	: 100%;
	border: 2px solid var(--color_theme);
	margin: var(--ttbm_mp_xs) auto;
	width: 170px;
}

.get-enquiry-popup {
	padding: 10px;
}

/**************Responsive***********************************/
@media only screen and (: 1100px) {
	.ttbm_content__left {
		width: calc(100% - 316px);
	}

	.ttbm_content__right {
		width: 300px;
	}
}

@media only screen and (: 1000px) {
	.ttbm_content__left {
		width: calc(100% - 300px);
	}

	.ttbm_content__right {
		width: 284px;
	}

	.section_item {
		width: 50%;
	}

	div.small_box {
		width: calc(33.3333% - var(--ttbm_mp));
	}
}

@media only screen and (: 900px) {}

@media only screen and (: 767px) {

	div.ttbm_viator_theme .ttbm_content__left,
	div.ttbm_viator_theme .ttbm_content__right,
	div.ttbm_viator_theme .viator_top_section .ttbm_content__left,
	div.ttbm_viator_theme .viator_top_section .ttbm_content__right,
	.hip_hop_hotel_theme .ttbm_content__right,
	.ttbm_spring_theme .ttbm_content__right,
	.hip_hop_hotel_theme .ttbm_content__left,
	.ttbm_spring_theme .ttbm_content__left,
	.ttbm_content__right,
	.ttbm_content__left {
		width: 100%;
	}

	div.ttbm_viator_theme .viator_top_section .ttbm_content__right,
	div.ttbm_viator_theme .ttbm_content__right {
		margin: var(--ttbm_mp) 0 0 0;
	}

	div.viator_top_section .ttbm_booking_panel {
		position: relative;
		left: inherit;
		right: inherit;
	}

	div.viator_top_section .ttbm_booking_panel {
		position: initial;
		left: inherit;
		right: inherit;
	}

	div.ttbm_content_area .ttbm_content__right {
		margin-top: 50px;
	}
}

@media only screen and (: 600px) {
	div.small_box {
		width: calc(100% - var(--ttbm_mp_xs));
	}

	.section_item {
		width: 100%;
	}

	div.small_box {
		width: calc(50% - var(--ttbm_mp));
	}

	div.ttbm_top_filter label {
		width: 100%;
		margin-right: 0;
	}
}

@media only screen and (: 320px) {
	div.small_box {
		width: calc(100% - var(--ttbm_mp));
	}
}

.ttbm_location_list div.filter_item {
	border-radius: 0;
}

.ttbm_location_image {
	overflow: hidden;
	height: 100%;
	width: 100%;
}

.ttbm_location_list div.pagination_area {
	margin-top: 30px;
}

#ui-datepicker-div.ui-datepicker td {
	background-color: #FFF;
	border: 1px solid #FEEAF1;
	padding: 4px 6px;
}

#ui-datepicker-div.ui-datepicker td.ui-datepicker-unselectable.ui-state-disabled {
	background-color: rgba(var(--color_theme_rgb), 0.1);
	/* 50% opacity */
	color: var(--color_white);
	border: 1px solid rgba(var(--color_theme_rgb), 0.2);
	padding: 4px 6px;
	z-index: 2;
}

.ttbm_booking_panel .mp_tour_ticket_form .ttbm_default_widget {
	border: 0;
	padding: 0;
}

/* ---------- Modern booking status empty states ---------- */
.ttbm_booking_panel .ttbm_booking_status {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	text-align: center;
	padding: 36px 28px;
	margin: 0;
	border-radius: 14px;
	border: 1px dashed #d7dce3;
	background:
		radial-gradient(120% 80% at 50% 0%, rgba(var(--color_theme_rgb, 37, 99, 235), 0.08) 0%, transparent 55%),
		linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
	animation: ttbmBookingStatusIn 0.45s cubic-bezier(0.16, 1, 0.3, 1) both;
}
.ttbm_booking_panel .ttbm_booking_status__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	color: var(--color_theme, #2563eb);
	background: rgba(var(--color_theme_rgb, 37, 99, 235), 0.12);
	box-shadow: inset 0 0 0 1px rgba(var(--color_theme_rgb, 37, 99, 235), 0.16);
	animation: ttbmBookingStatusIconIn 0.55s cubic-bezier(0.16, 1, 0.3, 1) 0.08s both;
}
.ttbm_booking_panel .ttbm_booking_status__title {
	margin: 4px 0 0;
	padding: 0;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: -0.015em;
	color: #111827;
}
.ttbm_booking_panel .ttbm_booking_status__desc {
	margin: 0;
	max-width: 32ch;
	font-size: 14px;
	line-height: 1.55;
	color: #6b7280;
}
.ttbm_booking_panel .ttbm_booking_status--expired .ttbm_booking_status__icon {
	color: #b45309;
	background: rgba(180, 83, 9, 0.1);
	box-shadow: inset 0 0 0 1px rgba(180, 83, 9, 0.16);
}
@keyframes ttbmBookingStatusIn {
	from { opacity: 0; transform: translateY(10px); }
	to   { opacity: 1; transform: translateY(0); }
}
@keyframes ttbmBookingStatusIconIn {
	from { opacity: 0; transform: scale(0.86); }
	to   { opacity: 1; transform: scale(1); }
}
@media (max-width: 600px) {
	.ttbm_booking_panel .ttbm_booking_status {
		padding: 28px 18px;
	}
	.ttbm_booking_panel .ttbm_booking_status__title {
		font-size: 16px;
	}
}

/* =====================ttbm_viator_theme overrite========== */
.ttbm_viator_theme .ttbm_select_date_area {
	display: flex;
	flex-direction: column;
}

.ttbm_viator_theme .ttbm_select_date_area h4 {
	color: var(--color_theme);
	display: none;
}

.ttbm_viator_theme .booking-button {
	flex-direction: column;
}

.ttbm_viator_theme .booking-button .date-picker-icon {
	width: 100%;
	margin: 0;
	margin-top: var(--ttbm_mp);
}

.ttbm_viator_theme .booking-button .date-picker-icon #ttbm_select_date {
	text-align: left;
	padding-left: 50px;
}

.ttbm_viator_theme .booking-button label {
	margin: 0;
}

div.ttbm_viator_theme .item_section {
	margin-top: 20px;
}

div.ttbm_viator_theme .item_icon {
	width: auto;
}

.ttbm_viator_theme .ttbm_booking_panel .mp_tour_ticket_form {
	padding: 0;
}

.ttbm_viator_theme .ttbm_registration_area .ttbm_booking_panel {
	padding: 0;
}

.ttbm_viator_theme .ttbm_booking_panel .ttbm_ticket_area .ttbm_widget_content {
	background-color: transparent;
}

.ttbm_viator_theme .ttbm_content__right {
	padding: 0;
}

.ttbm_viator_theme .ttbm_registration_area {
	margin-bottom: 0;
}

.ttbm_viator_theme .ttbm_booking_panel .ttbm_ticket_area .ttbm_default_widget {
	padding: 0;
}

.ttbm_viator_theme .ttbm_booking_panel .ttbm_book_now_area {
	background-color: transparent;
	border: 0;
	border-top: 1px solid var(--color_border);
	border-radius: 0;
}

/* ==========smart theme============= */
.ttbm_smart_theme .booking-button,
.ttbm_smart_theme .ttbm_select_date_area,
.ttbm_smart_theme .booking-button label {
	flex-direction: column;
	margin: 0;
	gap: 20px;
}

.ttbm_smart_theme .booking-button label .date_time_label {
	color: #FFF;
}

.ttbm_smart_theme .booking-button label .date-picker-icon {
	margin: 0;
	display: block;
	width: 100%;
}

.ttbm_smart_theme .ttbm-sidebar-booking {
	border-radius: 10px;
	margin-bottom: 10px;
}

.ttbm_smart_theme .ttbm-title-price {
	display: flex;
	align-items: center;
	justify-content: start;
	font-size: 20px;
	padding-bottom: 7px;
	margin-bottom: 20px;
	border-bottom: 1px solid #DDD;
}

.ttbm_smart_theme .ttbm-title-price .item_icon {
	padding: 0 5px;
	font-size: 30px;
}

.ttbm_smart_theme .ttbm-sidebar-booking .ttbm-title-price i {
	display: none;
}

.ttbm_style .dButton,
.ttbm_style [class*="_dButton"] {
	color: var(--color_theme_alter);
	background-color: var(--color_theme);
}

.ttbm_style .dButton span {
	color: var(--color_theme_alter);
}

.ttbm_see-more-button {
	margin-top: 10px;
	padding: 8px 12px;
	background-color: unset;
	color: #666666;
	border: 1px solid #D5D5D5 !important;
	cursor: pointer;
	border-radius: 20px !important;
}

.ttbm_see-more-button:hover {
	background-color: #005E8A;
}

.ttbm_top_attraction_holder {
	display: block;
	position: relative;
	width: 100%;
	padding: 20px 25px;
	margin: 10px;
	background-color: #FBFBFB;
	border: 1px solid #E5E5E5;
	border-radius: 10px;
}

.ttbm_top_attraction {
	/*: 1000px;*/
	margin: 0 auto;
	padding: 20px;
}

.ttbm_top_attraction .ttbm_title {
	text-align: center;
	font-size: 28px;
	margin-bottom: 30px;
}

.ttbm_top_attraction_grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 10px 10px;
}

.ttbm_attraction_item {
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 10px;
	margin-left: 10px;
	border-radius: 8px;
	transition: background 0.3s ease;
}

.ttbm_attraction_item .ttbm-title-icon {
	width: 50px;
	height: 50px;
	color: var(--color_theme);
	font-size: 20px;
	background: #f0f4ff;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 10px;
}

.ttbm_activity_item {
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	gap: 8px;
	padding: 40px 20px;
	margin: 0;
	background: #f0f4ff;
	border-radius: 16px;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
	border: 1px solid transparent;
}

.ttbm_activity_item:hover {
	transform: translateY(-5px);
	background: #fff;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
	border-color: #eef2ff;
}

.ttbm_activity_item .ttbm-title {
	font-size: 24px;
	width: 60px;
	height: 60px;
	background: #d3e4fe;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #333;
	margin: 0 0 10px 0 !important;
}

.ttbm_activity_item h4 {
	margin: 0 !important;
	padding: 0 !important;
}

.ttbm_activity_item h4 a {
	font-size: 18px;
	font-weight: 500;
	color: #1e293b;
	text-decoration: none;
	transition: color 0.2s;
}

.ttbm_activity_item h4 a:hover {
	color: #3b82f6;
}

.ttbm_activity_item p {
	font-size: 13px !important;
	color: #64748b !important;
	margin: 0 !important;
	font-weight: 500;
}

#ttbm_feature_placeholder_area {
	justify-content: start;
	gap: 15px;
}

#ttbm_feature_placeholder_area .ttbm_term_display_shortcode {
	margin: 0;
}

.ttbm_attraction_item:hover {
	background-color: #F5F5F5;
}

.ttbm_attraction_title {
	text-align: center;
}

.ttbm_attraction_item img {
	width: 90px !important;
	height: 80px !important;
	object-fit: cover;
	border-radius: 8px;
}

.ttbm_attraction_item h4 {
	margin: 0;
	font-weight: normal;
	font-size: 16px;
}

.ttbm_attraction_item p {
	margin: 3px 0 0;
	font-size: 14px;
	color: #555;
}

.ttbm_shortcode_load_more_holder,
.ttbm_attraction_load_more_holder {
	display: flex;
	justify-content: center;
	margin: 10px 10px;
	padding: 10px;
}

.ttbm_load_more_text {
	display: inline-block;
	padding: 12px 35px;
	border: 2px solid var(--color_theme);
	color: var(--color_theme);
	border-radius: 30px;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	background: #fff;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.ttbm_load_more_text:hover {
	background: var(--color_theme);
	color: var(--color_theme_alter);
	box-shadow: 0 8px 25px rgba(124, 58, 237, 0.3);
	transform: scale(1.02);
}

.ttbm_term_display_shortcode {
	background: #fff;
  	border: 1px solid #e5e5e5;
}

#ttbm_activities_placeholder_area {
	display: flex;
	flex-wrap: wrap;
	gap:10px;
	justify-content: start;
}

#ttbm_activities_placeholder_area .ttbm_activity_item {
	width: calc(25% - 18px); /* 4 columns on desktop */
	min-width: 250px;
	background-color: #f0f4ff;
}

@media (max-width: 991px) {
	#ttbm_activities_placeholder_area .ttbm_activity_item {
		width: calc(50% - 12px); /* 2 columns on tablet */
	}
}

@media (max-width: 575px) {
	#ttbm_activities_placeholder_area .ttbm_activity_item {
		width: 100%; /* 1 column on mobile */
	}
}

.ttbm_attraction_load_more_holder {
	width: 100%;
	display: flex;
	justify-content: center;
	margin-top: 40px;
}

.ttbm_carousel_holder {
	position: absolute;
	right: 0;
	z-index: 99;
	background-color: bisque;
}

/*****************content & Title*********************************/
.site-content .ast-container {
	display: block;
}

.ttbm_default__title h1 {
	margin: 10px 0;
	padding: 0 0 5px 0;

	padding: 0;
}

#ttbm_content h1 {
	margin-bottom: 10px;
	font-size: 25px;
	font-weight:500;
}

.ttbm_style table thead th {
	font-weight: normal;
}

.place_you_see {
	position: relative;
	padding-top: 12px;
}

.place_you_see .ttbm_widget_content {
	padding: 15px;
	padding-left: 0;
}

div>div.ttbm_default_widget:last-child {
	margin: 0;
}

div.ttbm_default_widget .ttbm_widget_title {
	padding: var(--ttbm_mp_xs) var(--ttbm_mp);
	text-align: center;
	margin: 0;
	background-color: var(--color_theme);
	color: var(--color_theme_alter);
	border-radius: 10px 10px 0 0;
}

.ttbm_widget_content {
	padding: var(--ttbm_mp_xs);
	border-radius: 0 0 10px 10px;
}

div.ttbm_default_widget .ttbm_widget_content {
	background-color: var(--color_section);
	border: 1px solid #DDD;
}

/*div.ttbm_default_widget .ttbm_widget_content a {margin: 0 0 7px 0;}*/
div.ttbm_default_widget .ttbm_title_style_3,
div.ttbm_default_widget .ttbm_title_style_2 {
	padding: 0 0 var(--ttbm_mp_xs) 0;
}

div.ttbm_default_widget .ttbm_title_style_2~.ttbm_widget_content,
div.ttbm_default_widget .ttbm_title_style_3~.ttbm_widget_content {
	border: none;
	background-color: transparent;
	padding: 0;
}

div.ttbm_default_widget .ttbm_title_style_2~.ttbm_widget_content.ttbm_day_wise_details {
	padding: 20px;
}

div.ttbm_default_widget .ttbm_title_style_3 {
	padding: 10px 10px;
	font-size: 22px;
}

div.ttbm_default_widget .ttbm_title_style_3::before {
	content: "";
	position: absolute;
	left: 10px;
	top: 40px;
	width: 50px;
	border-bottom: 3px solid var(--color_theme);
}

div.ttbm_default_widget .ttbm_widget_content.ttbm_day_wise_details {
	padding: 20px;
}

div.ttbm_default_widget .ttbm_title_style_2 {
	padding: 12px 0 var(--ttbm_mp);
	font-size: 22px;
}

#ttbm_content .ttbm_title_style_2 h5 {
	font-weight: bold;
}

.ttbm_widget_content [data-bg-image] {
	border-radius: 10px;
}

.ttbm_widget_content [data-bg-image]::before {
	border-radius: 10px;
}

/*****************List*********************************/
.ttbm_widget_content ul li:not(.ttbm_wp_editor li) {
	width: 100%;
}

.ttbm_widget_content ul li i,
.ttbm_widget_content ul li span {
	margin: 0 var(--ttbm_mp_xs) 0 0;
}

.ttbm_widget_content ul li:not(.ttbm_wp_editor li) {
	margin: 5px 10px;
	padding: 2px 0;
	border-bottom: 1px solid #F3F3F3;
	position: relative;
	font-size: var(--ttbm_fs);
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	width: auto;
}

.ttbm_widget_content ul li:not(.ttbm_wp_editor li):last-child {
	border: 0;
}

.ttbm_widget_content ul li a:not(.ttbm_wp_editor li a) {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}

/*************************************************/
div.ttbm_registration_area {
	position: relative;
	margin: 0 0 var(--ttbm_mp) 0;
	background-color: #FFF;
	border: 1px solid #DDD;
	border-radius: 12px;
}

/***/
div.ttbm_booking_panel .ttbm_widget_content {
	padding: 0;
	border: none;
}

div.ttbm_booking_panel table tbody tr:nth-of-type(even) {
	background-color: #FFF;
}

div.ttbm_booking_panel table tbody tr:nth-of-type(even) td {
	padding: 0;
}

div.ttbm_booking_panel table tbody tr td .ttbm_attendee_form_item:not(:last-child) {
	border-bottom: 0;
}

.ttbm_style table th,
.ttbm_style table td {
	border: 0;
}

div.ttbm_booking_panel table thead th,
div.ttbm_booking_panel table td:last-child {
	text-align: center;
	padding: 8px;
}

div.ttbm_booking_panel table thead th:first-child {
	text-align: left;
	padding: 10px;
}

div.ttbm_booking_panel table th {

	text-align: left;
	vertical-align: middle;
}

.ttbm_default_theme div.ttbm_default_widget .ttbm_widget_title {
	text-align: left;
}

#ttbm_content div.ttbm-attendee-form h3,
#ttbm_content div.ttbm-attendee-form .ttbm-attendee-form__title {
	margin: 0;
	margin-bottom: 0;
	font-size: inherit;
	font-weight: inherit;
}

.ttbm_day_wise_details {
	margin: 10px 0;
}

label.time_select_box {
	text-align: center;
	width: 100%;
}

div.ttbm_booking_panel table thead th {
	border: 0;
}

div.ttbm_booking_panel table tr .ttbm-person-info .person-info,
div.ttbm_booking_panel table .extra-service-title {
	font-weight: normal;
	font: 16px;
	text-transform: capitalize;
}

div.ttbm_booking_panel table tr .ttbm_load_more_text_area {
	color: #8B8B8B;
}

div.ttbm_booking_panel table tr th.ttbm-regular-price,
div.ttbm_booking_panel table .extra-service-price {
	font-weight: bold;
	font-size: 18px;
	text-align: center;

}

div.ttbm_booking_panel table .ttbm-hotel-room-info i {
	color: #A9A9A9;
	font-size: 12px;
	margin-right: 10px;
}

div.ttbm_booking_panel table tbody th,
div.ttbm_booking_panel table tbody td {
	border: 0 !important;
}

div.ttbm_booking_panel .ttbm_book_now_area,
div.ttbm_booking_panel .ttbm_book_now_bar {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 16px 20px;
	flex-wrap: nowrap;
	border: 0;
	margin-top: 30px;
	padding: 14px 16px;
	background-color: #EBEBEB;
}

div.ttbm_booking_panel .ttbm_book_now_area .ttbm_order_summary {
	display: flex;
	align-items: center;
	flex: 1 1 auto;
	min-width: 0;
}

div.ttbm_booking_panel .ttbm_book_now_area .ttbm_summary_values {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 0;
}

div.ttbm_booking_panel .ttbm_book_now_area .ttbm_summary_item {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 8px;
	padding: 0 16px;
}

div.ttbm_booking_panel .ttbm_book_now_area .ttbm_summary_item:first-child {
	padding-left: 0;
}

div.ttbm_booking_panel .ttbm_book_now_area .ttbm_summary_divider {
	display: inline-block;
	width: 1px;
	height: 26px;
	background: #cfcfcf;
}

div.ttbm_booking_panel .ttbm_book_now_area .ttbm_summary_label {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: #666;
	white-space: nowrap;
}

div.ttbm_booking_panel .ttbm_book_now_actions {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	flex: 0 0 auto;
	margin-left: auto;
}

div.ttbm_booking_panel .ttbm_book_now_area .ttbm_book_now {
	margin: 0;
	white-space: nowrap;
}

div.ttbm_booking_panel .ttbm_book_now_area .tour_qty,
div.ttbm_booking_panel .ttbm_book_now_area .tour_price {
	font-size: 20px;
	font-weight: bold;
	line-height: 1;
	white-space: nowrap;
}

div.ttbm_booking_panel .ttbm_attendee_form_area {
	border-radius: 0;
	margin: 0;
	background: transparent;
}

div.ttbm_booking_panel .ttbm_attendee_form_item {
	border-radius: 0;
	border-top: 1px solid #ebe8e8;
	padding-top: 10px;
	padding-bottom: 20px;
}

div.ttbm_booking_panel .ttbm-attendee-form .ttbm_form_header {
	background: none;
	padding: 0;
	margin-bottom: 10px;
}

div.ttbm_booking_panel .ttbm-attendee-form .groupCheckBox.ttbm_form_item,
div.ttbm_booking_panel .ttbm-attendee-form .groupRadioBox.ttbm_form_item {
	margin-bottom: 15px;
}

div.ttbm_booking_panel .ttbm-attendee-form .customCheckboxLabel,
div.ttbm_booking_panel .ttbm-attendee-form .customRadioLabel {
	font-weight: normal;
}

div.ttbm_booking_panel table.mp_tour_ticket_type thead tr th:first-child {
	border-top-left-radius: 10px;
}

div.ttbm_booking_panel table.mp_tour_ticket_type thead tr th:last-child {
	border-top-right-radius: 10px;
}

div.ttbm_booking_panel table.mp_tour_ticket_type tbody td,
table.mp_tour_ticket_type tbody th {
	border-bottom: 1px dotted #DDD;
	padding: 15px;
}

div.ttbm_booking_panel .qtyIncDec .decQty,
div.ttbm_booking_panel .qtyIncDec .incQty {
	border-radius: 100px;
	border: 1px solid #ddd;
}

#ttbm_content .ttbm_booking_section .qtyIncDec .decQty,
#ttbm_content .ttbm_booking_section .qtyIncDec .incQty {
	border: 0 !important;
	border-radius: 50%;
}

div.ttbm_booking_panel .qtyIncDec label {
	border: 0;
	font-weight: bold;
}

div.ttbm_booking_panel table td {
	background-color: #FFF;
}

/*************************************************/
div.ttbm_date_time_select {
	margin: 0;
	border-bottom: 1px solid #F2F2F2;
}

div.ttbm_select_date_area {
	padding: var(--ttbm_mp_xs);
	background-color: var(--color_theme);
	width: 100%;
	border-radius: 12px 12px 0 0;
	display: flex;
	justify-content: space-evenly;
	align-items: center;
	gap: 10px;
}
div.ttbm_select_date_area {
	color: #fff;
}
.ttbm_select_date_area .ttbm-title {
	color: var(--color_white);
	font-size: 20px;
	margin: 0;
}

.ttbm_select_date_area .date-picker {
	display: flex;
	align-items: center;
	justify-content: start;
	flex-wrap: wrap;
	gap: 10px;
}

.ttbm_select_date_area .booking-button {
	color: var(--color_white);
	display: flex;
	justify-content: start;
	align-items: center;
	gap: 10px;
}

.ttbm_select_date_area .ttbm_check_ability {
	margin: 0;
}

.ttbm_select_date_area .navy_blueButton.ttbm_check_ability {
	background-color: var(--button_bg);
	color: var(--color_button);
	padding: 12px;
	border: 1px solid var(--color_button);
	font-size: 16px;
}

.date-picker-icon {
	position: relative;
}

div.ttbm_style #ttbm_select_date.formControl {
	padding: 20px;
}

.date-picker-icon i {
	position: absolute;
	top: 10px;
	left: 10px;
	color: var(--color_theme);
	font-size: 20px;
}

/**
 * FIX: Broken media-query syntax `@media (: 767px)` and inadequate hotel-booking-bar mobile styles.
 * AUTHOR: Kimi
 * ISSUE: Hotel-based tour details booking bar crushed on mobile
 * SOLVED: 2026-05-14
 * CONTEXT: Corrected syntax; added vertical stacking, full-width input/button for hotel booking bar.
 */
@media (max-width: 767px) {
	div.ttbm_select_date_area {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}

	.ttbm_select_date_area .ttbm-title {
		font-size: 18px;
		text-align: center;
	}

	.ttbm_select_date_area .booking-button {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		gap: 12px;
	}

	.ttbm_select_date_area .booking-button label {
		width: 100%;
	}

	.ttbm_select_date_area .booking-button label input.formControl {
		width: 100%;
		min-width: unset;
	}

	.ttbm_select_date_area .ttbm_check_ability,
	.ttbm_select_date_area .navy_blueButton.ttbm_check_ability {
		width: 100%;
		justify-content: center;
	}

	.ttbm_select_date_area .date-picker {
		justify-content: center;
	}
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) div.availability_section div.ttbm_date_time_select {
	-webkit-flex-direction: column;
	flex-direction: column;
}

#ttbm_select_date {
	text-align: center;
}

/************************************************/
button.ttbm_hotel_open_room_list {
	background-color: var(--color_theme);
	color: #FFF;
	padding: 10px 20px;
}

div.daterangepicker:not(.ttbm-hotel-daterange):not(.ttbm-tour-daterange) select.monthselect,
div.daterangepicker:not(.ttbm-hotel-daterange):not(.ttbm-tour-daterange) select.yearselect {
	display: inline-block !important;
}

div.daterangepicker:not(.ttbm-hotel-daterange):not(.ttbm-tour-daterange) .calendar-table table {
	border: none;
	box-shadow: none;
}

div.daterangepicker:not(.ttbm-hotel-daterange):not(.ttbm-tour-daterange) .drp-calendar {
	width: 100%;
}

div.daterangepicker:not(.ttbm-hotel-daterange):not(.ttbm-tour-daterange) .drp-calendar .calendar-table .table-condensed thead {
	color: #FFF;
	background-color: var(--color_theme);
}

div.daterangepicker:not(.ttbm-hotel-daterange):not(.ttbm-tour-daterange) .drp-calendar .calendar-table .table-condensed thead th {
	border-color: var(--color_theme);
}

div.daterangepicker:not(.ttbm-hotel-daterange):not(.ttbm-tour-daterange) .drp-calendar .calendar-table .table-condensed tbody {
	background-color: #FFF;
}

div.daterangepicker:not(.ttbm-hotel-daterange):not(.ttbm-tour-daterange) {
	border: none;
	background-color: var(--color_theme);
}

div.daterangepicker:not(.ttbm-hotel-daterange):not(.ttbm-tour-daterange) .drp-calendar .calendar-table {
	padding: 0 !important;
	border: none !important;
	background-color: var(--color_theme);
	border-radius: 0;
}

div.daterangepicker:not(.ttbm-hotel-daterange):not(.ttbm-tour-daterange) th.month {
	font-size: 22px;
}

div.daterangepicker:not(.ttbm-hotel-daterange):not(.ttbm-tour-daterange) .calendar-table .prev span,
div.daterangepicker:not(.ttbm-hotel-daterange):not(.ttbm-tour-daterange) .calendar-table .next span {
	border-width: 0 4px 4px 0;
	padding: 5px;
	border-color: #FFF;
}

div.daterangepicker:not(.ttbm-hotel-daterange):not(.ttbm-tour-daterange) .calendar-table .prev span:hover,
div.daterangepicker:not(.ttbm-hotel-daterange):not(.ttbm-tour-daterange) .calendar-table .next span:hover {
	border-color: var(--button_bg);
}

div.daterangepicker:not(.ttbm-hotel-daterange):not(.ttbm-tour-daterange) th.available:hover {
	background-color: transparent;
}

div.daterangepicker:not(.ttbm-hotel-daterange):not(.ttbm-tour-daterange) .calendar-table td,
div.daterangepicker:not(.ttbm-hotel-daterange):not(.ttbm-tour-daterange) .calendar-table th {
	font-size: 16px;
	border-radius: 0;
	width: 40px;
	height: 40px;
	padding: 0;
}

/**************particular date***********************************/
div.particular_date_area {
	background: #FFF;
	border-radius: var(--dbr_d);
	margin-bottom: 26px;
	padding: 15px;
	transition: max-height .3s ease-out;
}

div.particular_date_area:nth-child(odd) {
	background-color: #F5F5F5;
	border: 1px solid #EDEDED;
}

div.particular_date_area:nth-child(even) {
	background-color: #CDF5F6;
}

div.particular_date_item {
	position: relative;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
	font-size: 14px;
}

div.particular_date_area .mp_tour_ticket_form {
	margin: var(--ttbm_mp_xs) 0 0 0;
}

div.ttbm_hotel_details_item {
	position: relative;
	display: -webkit-flex;
	display: flex;
	gap: 24px;
}

.hotel_list_top_right_left.fdColumn.textRight {
	padding: 5px 15px;
	display: flex;
	align-items: center;
	gap: 10px;
	border-radius: 8px;
}

@media (min-width: 992px) {
	div.ttbm_hotel_details_item .bg_image_area {
		-ms-flex: 0 0 auto;
		flex: 0 0 auto;
		width: 200px;
	}
}

div.ttbm_hotel_list_details {
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	width: calc(100% - 216px);
}

@media (max-width: 991px) {
	div.ttbm_hotel_details_item {
		-webkit-flex-direction: column;
		flex-direction: column;
	}

	div.ttbm_hotel_list_details {
		width: 100%;
	}

	.ttbm_hotel_details_item .bg_image_area {
		height: auto;
	}
}

div.hotel_list_top_left h4 {
	color: #0A0A0A;
	font-weight: 700;
	font-size: 22px;
	margin-bottom: 10px;
}

.ttbm_hotel_list_details h4.textTheme {
	margin-bottom: 20px;
}

div.hotel_rating {
	display: block;
}

div.hotel_rating span {
	color: #FEBB02;
	padding: 3px;
	font-size: 12px;
}

div.hotel_list_top_area {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

div.hotel_list_top_left ul li {
	padding: 5px 10px 5px 0;
	line-height: 18px;
}

div.hotel_list_top_left ul li a {
	color: #0071C2;
	line-height: 18px;
	text-decoration: underline !important;
	font-weight: 600;
}

div.hotel_list_top_right_right {
	align-items: center;
	background: var(--color_theme);
	border-radius: 5.8181818182px 5.8181818182px 5.8181818182px 0;
	color: #FFF;
	display: -ms-flexbox;
	display: flex;
	height: 32px;
	justify-content: center;
	min-width: 32px;
	vertical-align: baseline;
	width: 32px;
	font-weight: 500;
	font-size: 16px;
	line-height: 24px;
	margin-left: 10px;
}

div.hotel_list_top_right_left h6 {
	color: #262626;
	font-size: 16px;
	line-height: 24px;
	font-weight: 500;
}

div.hotel_list_top_right_left span {
	margin-top: -4px;
	font-size: 12px;
	line-height: 18px;
	font-weight: 400;
}

div.hotel_list_middle_left {
	margin-bottom: 24px;
}

span.load_more_text {
	cursor: pointer;
	color: var(--color_theme_cc);
}

@media only screen and (: 767px) {

	div.ttbm_hotel_details_item,
	div.ttbm_date_time_select label span {
		/*margin: 0 0 var(--ttbm_mp_xs) 0;*/
		display: inline-block;
		line-height: 1;
	}

	div.ttbm_date_time_select label {
		margin: var(--ttbm_mp_xs) 0;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	div.ttbm_hotel_list_details {
		width: 100%;
		margin: 20px 0 0 0;
	}
}

@media only screen and (: 600px) {
	div.ttbm_booking_panel table td:last-child>div {
		min-width: auto;
	}
}

div.ttbm_smart_theme div.ttbm_date_time_select label {
	margin: 0 0 10px 0;
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
}

div.ttbm_smart_theme .time_select_box .customRadio.button_type {
	border: 1px solid var(--color_theme);
	color: var(--color_theme);
	background-color: var(--color_theme_alter);
	border-radius: 50px;
}

div.ttbm_smart_theme .time_select_box .customRadio.button_type.active {
	color: var(--color_theme_alter);
	background-color: var(--color_theme);
}

div.ttbm_smart_theme .ttbm_load_popup_reg {
	box-shadow: 0;
}

/* Smart hero overlay — title, rating & location on slider */
#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .sliderAllItem {
	position: relative;
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .iconIndicator,
#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .slideIndicator {
	z-index: 6;
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_hero_overlay {
	position: absolute;
	inset: 0;
	z-index: 4;
	display: flex;
	align-items: flex-end;
	padding: 0 32px 36px;
	border-radius: 12px;
	background: linear-gradient(
		to top,
		rgba(6, 10, 18, 0.95) 0%,
		rgba(6, 10, 18, 0.72) 32%,
		rgba(6, 10, 18, 0.35) 58%,
		rgba(6, 10, 18, 0.08) 78%,
		rgba(6, 10, 18, 0) 100%
	);
	pointer-events: none;
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_hero_overlay_inner {
	width: 100%;
	max-width: 100%;
	pointer-events: auto;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_hero_overlay_head {
	position: relative;
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_hero_overlay .ttbm_default__title h1 {
	color: #fff;
	font-size: clamp(24px, 3.6vw, 44px);
	line-height: 1.1;
	font-weight: 800;
	letter-spacing: -0.03em;
	margin: 0;
	max-width: 92%;
	text-shadow:
		0 2px 4px rgba(0, 0, 0, 0.55),
		0 10px 36px rgba(0, 0, 0, 0.4);
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_hero_overlay_head::after {
	content: '';
	display: block;
	width: 68px;
	height: 4px;
	margin-top: 14px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--color_theme, #5a56e0) 0%, #ff6b8a 100%);
	box-shadow: 0 2px 16px rgba(var(--color_theme_rgb, 90, 86, 224), 0.55);
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_hero_overlay .ttbm-review-location-area {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0;
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_hero_overlay .ttbm-rating-stars,
#ttbm_content .ttbm_smart_theme .ttbm_smart_hero_overlay .location_name {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 16px;
	margin: 0;
	border: 1px solid rgba(255, 255, 255, 0.38);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.14);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	box-shadow:
		0 4px 20px rgba(0, 0, 0, 0.22),
		inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_hero_overlay .ttbm-rating-stars::before {
	background: linear-gradient(90deg, #ffc107 var(--percent), rgba(255, 255, 255, 0.35) var(--percent));
	-webkit-background-clip: text;
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_hero_overlay .location_name .mi {
	color: #ff8fa3;
	font-size: 16px;
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_hero_cta.ttbm_hero_cta {
	margin-top: 4px;
	pointer-events: auto;
	display: flex;
	align-items: stretch;
	flex-wrap: nowrap;
	gap: 0;
	overflow: hidden;
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.38);
	box-shadow:
		0 12px 40px rgba(0, 0, 0, 0.28),
		inset 0 1px 0 rgba(255, 255, 255, 0.45);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_hero_cta .ttbm_hero_cta_meta {
	display: flex;
	align-items: stretch;
	flex: 1 1 auto;
	min-width: 0;
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_hero_cta .ttbm_hero_stat {
	display: flex;
	align-items: center;
	gap: 12px;
	flex: 1 1 0;
	min-width: 0;
	padding: 14px 18px;
	background: rgba(255, 255, 255, 0.92);
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_hero_cta .ttbm_hero_price.ttbm_hero_stat {
	flex: 0 1 auto;
	min-width: 132px;
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_hero_cta .ttbm_hero_stat + .ttbm_hero_stat {
	border-left: 1px solid rgba(15, 23, 42, 0.08);
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_hero_cta .ttbm_hero_stat_body {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_hero_cta .ttbm_hero_price_label,
#ttbm_content .ttbm_smart_theme .ttbm_smart_hero_cta .ttbm_hero_date_label {
	display: block;
	color: #64748b;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	margin: 0;
	line-height: 1.2;
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_hero_cta .ttbm_hero_price_value,
#ttbm_content .ttbm_smart_theme .ttbm_smart_hero_cta .ttbm_hero_price_sale .woocommerce-Price-amount {
	color: #e03248;
	font-size: 22px;
	font-weight: 800;
	line-height: 1;
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_hero_cta .ttbm_hero_date_value {
	color: #0f172a;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery {
	width: 100%;
	max-width: 100%;
	margin-bottom: 28px;
	border-radius: 12px;
	overflow: hidden;
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .superSlider {
	border-radius: 12px;
	margin-bottom: 0;
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .superSlider .sliderAllItem,
#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .superSlider .sliderShowcaseItem {
	border-radius: 12px;
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .superSlider,
#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .superSlider .ttbm_slider-wrapper,
#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .superSlider .sliderAllItem,
#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .superSlider .sliderAllItem .sliderItem {
	height: 520px;
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .superSlider .sliderAllItem .sliderItem img,
#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .superSlider .sliderShowcaseItem img {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery [data-bg-image] {
	width: 100%;
	height: 100%;
	background-color: #e8edf2;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* Keep smart showcase + main image hidden as one unit until all are ready */
#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .superSlider.ttbm-awaiting-images .sliderAllItem,
#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .superSlider.ttbm-awaiting-images .sliderShowcase,
#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .superSlider.ttbm-awaiting-images .ttbm_slider-wrapper {
	opacity: 0 !important;
}
#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .superSlider.is-images-ready .sliderAllItem,
#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .superSlider.is-images-ready .sliderShowcase,
#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .superSlider.is-images-ready .ttbm_slider-wrapper {
	opacity: 1 !important;
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery [class*="dLoader"],
#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery [class*="simpleSpinner"] {
	display: none !important;
}

/* Gallery disabled: featured image only, full width — keep the same height cap as gallery mode */
#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .superSlider.ttbm-featured-only,
#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .superSlider.ttbm-featured-only .sliderAllItem,
#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .superSlider.ttbm-featured-only .sliderAllItem .sliderItem {
	width: 100%;
	max-width: 100%;
	flex: 1 1 100%;
	height: 520px !important;
	max-height: 520px !important;
	min-height: 0 !important;
	overflow: hidden;
}

@media (min-width: 960px) {
	#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .superSlider .ttbm_slider-wrapper {
		display: flex;
		flex-direction: row;
		align-items: stretch;
		gap: 16px;
		height: 520px;
	}

	#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .superSlider .sliderAllItem {
		flex: 1 1 0;
		width: auto;
		min-width: 0;
		height: 100%;
	}

	#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .sliderShowcase.right.style_1 {
		width: 360px;
		min-width: 360px;
		max-width: 360px;
		flex: 0 0 360px;
		margin-inline-start: 0;
		gap: 10px;
		height: 100%;
	}

	#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .sliderShowcase.right.style_1 .sliderShowcaseItem {
		flex: 1 1 0;
		max-height: none;
		margin: 0;
		min-height: 0;
		border-radius: 10px;
		overflow: hidden;
	}
}

@media (max-width: 959px) {
	#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .superSlider,
	#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .superSlider .ttbm_slider-wrapper,
	#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .superSlider .sliderAllItem,
	#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .superSlider .sliderAllItem .sliderItem {
		height: 280px;
	}

	#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .superSlider.ttbm-featured-only,
	#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .superSlider.ttbm-featured-only .sliderAllItem,
	#ttbm_content .ttbm_smart_theme .ttbm_smart_gallery .superSlider.ttbm-featured-only .sliderAllItem .sliderItem {
		height: 280px !important;
		max-height: 280px !important;
	}

	#ttbm_content .ttbm_smart_theme .ttbm_smart_hero_overlay {
		padding: 0 16px 22px;
	}

	#ttbm_content .ttbm_smart_theme .ttbm_smart_hero_overlay .ttbm_default__title h1 {
		font-size: clamp(20px, 5.5vw, 28px);
		max-width: 100%;
	}

	#ttbm_content .ttbm_smart_theme .ttbm_smart_hero_overlay_head::after {
		width: 48px;
		margin-top: 10px;
	}

	#ttbm_content .ttbm_smart_theme .ttbm_smart_hero_overlay .ttbm-rating-stars,
	#ttbm_content .ttbm_smart_theme .ttbm_smart_hero_overlay .location_name {
		padding: 7px 12px;
		font-size: 13px;
	}
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_overview > * + * {
	margin-top: 20px;
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_inclusions {
	display: grid;
	gap: 20px;
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_inclusions .ttbm_include_exclude_section,
#ttbm_content .ttbm_smart_theme .ttbm_smart_inclusions .ttbm_planned_activities_section {
	padding: var(--ttbm_d_section-gap, 24px) 0;
	border-top: 1px solid var(--ttbm_d_border, #e2e8f0);
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_inclusions .ttbm_include_exclude_section:first-child {
	border-top: 0;
	padding-top: 0;
}

#ttbm_content .ttbm_smart_theme .ttbm_content__right {
	position: sticky;
	top: 24px;
	align-self: flex-start;
}

@media (min-width: 960px) {
	#ttbm_content .ttbm_smart_theme .ttbm_content__right {
		width: 360px;
		margin-top: 0;
	}

	#ttbm_content .ttbm_smart_theme .ttbm_content__left {
		width: calc(100% - 376px);
	}
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_inline_booking .ttbm_smart_registration_controls {
	margin-bottom: 0;
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_inline_booking .ttbm_smart_registration_panel {
	margin-top: 20px;
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_inline_booking .ttbm_booking_panel:empty {
	display: none;
}

#ttbm_content .ttbm_smart_theme .ttbm_smart_inline_booking .ttbm_booking_panel {
	width: 100%;
}

@media (max-width: 959px) {
	#ttbm_content .ttbm_smart_theme .ttbm_content__right {
		position: static;
		width: 100%;
	}

	#ttbm_content .ttbm_smart_theme .ttbm-sidebar-booking.ttbm_registration_area {
		margin-top: 20px;
		margin-bottom: 20px;
	}
}

div.ttbm_smart_theme ul.ttbm-registration-info {
	margin: 10px 0;
	background: rgba(var(--color_theme_rbg), 0.1);
	padding: 15px;
	border-radius: 10px;
}

div.ttbm_smart_theme ul.ttbm-registration-info li {
	margin: 10px 0;
}

div.ttbm_smart_theme ul.ttbm-registration-info li {
	padding-left: 20px;
	position: relative;
	font-size: 12px;
}

div.ttbm_smart_theme ul.ttbm-registration-info li::before {
	content: "\f058";
	font-family: "Font Awesome 5 Free";
	position: absolute;
	left: 0;
	top: 0;
	color: rgba(var(--color_theme_rbg), 1);
}

/*===========viator theme booking form=======*/
div.ttbm_viator_theme .viator_top_section {
	position: relative;
	z-index: 222;
}

div.ttbm_viator_theme .viator_top_section .ttbm_registration_area {
	padding: 0;
	background: none;
	box-shadow: none;
}

div.ttbm_viator_theme .viator_top_section .booking-title {
	margin: 10px 0;
}

div.ttbm_viator_theme .viator_top_section .ttbm_select_date_area .ttbm-title,
div.ttbm_viator_theme .viator_top_section .ttbm_select_date_area .date_time_label {
	display: none;
}

div.ttbm_viator_theme .viator_top_section .ttbm_select_date_area .date-picker {
	width: 100%;
}

div.ttbm_viator_theme .viator_top_section .ttbm_select_date_area .date-picker-icon {
	margin: 0;
}

div.viator_top_section .ttbm_check_ability {
	width: 100%;
}

div.ttbm_viator_theme .viator_top_section div.ttbm_booking_panel table thead th {
	padding: 5px 10px;
	background-color: #D6D6D6;
}

div.ttbm_viator_theme .viator_top_section div.ttbm_booking_panel table.mp_tour_ticket_type thead tr th:first-child {
	border-top-left-radius: 5px;
}

div.ttbm_viator_theme .viator_top_section div.ttbm_booking_panel table.mp_tour_ticket_type thead tr th:last-child {
	border-top-right-radius: 5px;
}

div.ttbm_viator_theme .viator_top_section .ttbm_extra_service_area h2.extra_service_title {
	padding: 10px 0;
}

/*********************************/
.ttbm_hotel_container {
	flex: 1;
	padding: 15px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	border-radius: 8px;
	background-color: #FFF;
	color: #666666;
}

.ttbm_hotel_rating {
	display: flex;
	align-items: center;
	margin-bottom: 10px;
	font-weight: bold;
}

.ttbm_hotel_star {
	color: #FFD700;
	margin-right: 8px;
	font-size: 18px;
}

.ttbm_hotel_location {
	display: flex;
	align-items: flex-start;
	margin-bottom: 10px;
}

.ttbm_hotel_location_icon {
	margin-right: 8px;
	font-size: 18px;
}

.ttbm_hotel_location_text {
	font-size: 14px;
}

.ttbm_hotel_nearby_title {
	font-weight: bold;
	margin: 20px 0 10px 0;
}

.ttbm_hotel_nearby_item {
	display: flex;
	align-items: flex-start;
	margin-bottom: 12px;
}

.ttbm_hotel_nearby_icon {
	margin-right: 8px;
	font-size: 18px;
}

.ttbm_hotel_nearby_text {
	font-size: 14px;
}

.ttbm_hotel_distance {
	font-weight: normal;
}

.ttbm_hotel_highlight {
	cursor: pointer;
}

/* Prefixing all styles with ttbm_hotel_ */
.ttbm_hotel_ordered_room_list {
	display: flex !important;
	gap: 15px;
	padding: 20px;
	background-color: #F9F9F9;
	border-radius: 8px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.ttbm_hotel_room {
	margin-bottom: 20px;
	padding: 15px;
	background-color: #FFF;
	border: 1px solid #DDD;
	border-radius: 5px;
}

.ttbm_hotel_room_name {
	font-size: 1.2em;
	font-weight: bold;
	color: #333;
	margin-bottom: 5px;
}

.ttbm_hotel_qty,
.ttbm_hotel_price {
	font-size: 1em;
	color: #555;
	margin-bottom: 5px;
}

.ttbm_hotel_qty {
	font-weight: normal;
}

.ttbm_hotel_price {
	font-weight: bold;
	color: #007CBA;
	/* Change this to match your theme's accent color */
}

/****************************/
/***************************************/
div.leftSidebar,
div.filter_top_bar,
div.search_result_empty,
div.filter_item {
	/*-webkit-box-shadow: 0 8px 12px rgb(51 65 80 / 6%), 0 14px 44px rgb(51 65 80 / 11%);*/
	/*box-shadow: 0 8px 12px rgb(51 65 80 / 6%), 0 14px 44px rgb(51 65 80 / 11%);*/
	border: 1px solid var(--color_border);
	height: auto;
	border-radius: 10px;
}

.ttbm_filter_area div.leftSidebar {
	border: none;
	border-radius: 16px;
	box-shadow: 0 10px 30px rgba(20, 40, 120, 0.06);
}

.ttbm_widget_content div.filter_item {
	border: 0;
}

.ttbm_widget_content [class*="_mT"] {
	margin-top: var(--ttbm_mp_xs);
	font-size: var(--ttbm_fs_h4);
	font-weight: 600;
}

/**********Top Static Filter*****************************/
div.ttbm_top_filter {
	margin: 0 0 var(--ttbm_mp) 0;
}

div.ttbm_top_filter .dButton,
div.ttbm_top_filter label {
	margin: 10px 5px;
	font-weight: var(--fw-bold);
}

div.ttbm_top_filter .formControl {
	border-radius: 0;
	min-width: 200px;
	font-weight: normal;
}

/*div.ttbm_top_filter .formControl:focus {background-color: var(--color_theme_cc);}*/
div.ttbm_top_filter .formControl::placeholder {
	color: var(--color_theme_alter);
}

div.ttbm_top_filter.ttbm_filter .formControl {
	background-color: #FFF;
	color: inherit;
	border: 1px solid var(--color_border);
}

/* Modern horizontal search bar (ttbm-top-search shortcode) */
.ttbm-top-search-modern.ttbm_top_filter,
div.ttbm_top_filter.ttbm-top-search-modern {
	margin: 0 auto var(--ttbm_mp);
	max-width: 1180px;
	padding: 0 16px;
}

.ttbm-top-search-modern .ttbm-top-search-form {
	background: #fff;
	border: 1px solid #eef1f6;
	border-radius: 14px;
	box-shadow: 0 10px 40px rgba(15, 23, 42, 0.08), 0 2px 10px rgba(15, 23, 42, 0.04);
	padding: 6px;
	margin: 0;
	overflow: visible;
}

.ttbm-top-search-modern .ttbm-top-search-row {
	display: flex;
	align-items: stretch;
	flex-wrap: nowrap;
	gap: 0;
	margin: 0 !important;
	width: 100%;
	justify-content: flex-start !important;
}

.ttbm-top-search-modern .ttbm-top-search-field {
	flex: 1 1 0;
	min-width: 0;
	margin: 0 !important;
	width: auto;
	padding: 12px 16px;
	border-right: 1px solid #e8ecf1;
	background: transparent;
	transition: background 0.2s ease;
	overflow: visible;
	position: relative;
}

.ttbm-top-search-modern .ttbm-top-search-field:hover,
.ttbm-top-search-modern .ttbm-top-search-field:focus-within {
	background: #fafbfc;
}

.ttbm-top-search-modern .ttbm-top-search-label {
	display: block;
	margin: 0 0 4px;
	padding: 0;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #94a3b8;
	line-height: 1.2;
}

.ttbm-top-search-modern .ttbm-top-search-control {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 22px;
	background: transparent;
	border: none;
	border-radius: 0;
	padding: 0 22px 0 0;
	box-shadow: none;
}

.ttbm-top-search-modern .ttbm-top-search-control.has-left-icon {
	padding-left: 30px;
	padding-right: 22px;
}

.ttbm-top-search-modern .ttbm-top-search-control:focus-within {
	border: none;
	box-shadow: none;
}

.ttbm-top-search-modern .ttbm-top-search-icon {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: 18px;
	color: #1e3a5f;
	pointer-events: none;
	z-index: 2;
	line-height: 1;
}

.ttbm-top-search-modern .ttbm-top-search-chevron {
	position: absolute;
	right: 2px;
	top: 50%;
	width: 7px;
	height: 7px;
	margin-top: -2px;
	border-right: 2px solid #cbd5e1;
	border-bottom: 2px solid #cbd5e1;
	transform: translateY(-50%) rotate(45deg);
	pointer-events: none;
}

.ttbm-top-search-modern .ttbm-top-search-control .formControl,
.ttbm-top-search-modern select.ttbm-top-search-input,
.ttbm-top-search-modern input.ttbm-top-search-input,
.ttbm-top-search-modern .ttbm-top-search-input,
.ttbm-top-search-modern .ttbm_date-picker-input {
	width: 100% !important;
	min-width: 0 !important;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: #1e293b !important;
	appearance: none;
	-webkit-appearance: none;
	border-radius: 0 !important;
	min-height: 22px;
	height: auto;
	line-height: 1.35;
	cursor: pointer;
}

.ttbm-top-search-modern .ttbm-top-search-input::placeholder,
.ttbm-top-search-modern .ttbm_date-picker-input::placeholder {
	color: #94a3b8 !important;
	font-weight: 500;
	opacity: 1;
}

.ttbm-top-search-modern .ttbm_date-picker-container.ttbm-top-search-date {
	width: 100%;
	margin: 0;
	padding: 0;
	display: block;
	border: none;
	border-radius: 0;
}

.ttbm-top-search-modern .ttbm_calendar-icon {
	display: none !important;
}

/* Top search — Select2 dropdowns (location, activity) */
.ttbm-top-search-modern select.ttbm-top-search-select.select2-hidden-accessible {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
	pointer-events: none !important;
}

.ttbm-top-search-modern .ttbm-top-search-control .select2-container {
	position: relative;
	z-index: 2;
	flex: 1 1 auto;
	min-width: 0 !important;
	max-width: 100% !important;
	width: 100% !important;
	cursor: pointer;
	overflow: hidden;
}

.ttbm-top-search-modern .select2-container.ttbm-top-search-select2 .select2-selection--single {
	height: auto !important;
	min-height: 22px;
	border: none !important;
	background: transparent !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	overflow: visible;
}

.ttbm-top-search-modern .select2-container.ttbm-top-search-select2 .select2-selection__rendered {
	padding: 0 !important;
	padding-right: 4px !important;
	line-height: 1.2;
	color: #1e293b !important;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 100%;
	display: block !important;
}

.ttbm-top-search-modern .select2-container.ttbm-top-search-select2 .select2-selection__arrow {
	display: none !important;
}

.ttbm-search-opt {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: 3px;
	width: 100%;
	padding: 2px 0;
}

.ttbm-search-opt--compact {
	align-items: flex-start;
	text-align: left;
	gap: 2px;
	padding: 0;
}

.ttbm-top-search-modern .ttbm-search-opt--compact {
	width: auto;
	max-width: 100%;
	min-width: 0;
}

.ttbm-search-opt__title {
	display: block;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.3;
	color: inherit;
	text-transform: none;
}

.ttbm-search-opt--compact .ttbm-search-opt__title {
	font-size: 14px;
	font-weight: 500;
}

.ttbm-top-search-modern .ttbm-search-opt--compact .ttbm-search-opt__title {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 100%;
	display: block;
}

.ttbm-top-search-modern span.selection {
	overflow: hidden !important;
	max-width: 100%;
}

.ttbm-search-opt__subtitle {
	display: block;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	line-height: 1.2;
	color: #94a3b8;
	margin-top: 1px;
}

.ttbm-search-opt--compact .ttbm-search-opt__subtitle {
	display: none;
}

.ttbm-top-search-modern .ttbm-top-search-field.is-open {
	background: #fafbfc;
	z-index: 5;
}

.ttbm-top-search-modern .ttbm-top-search-field.is-open .ttbm-top-search-chevron {
	border-color: #1a1f4e;
}

.select2-dropdown.ttbm-top-search-select2-dropdown {
	border: 1px solid #e8ecf1 !important;
	border-radius: 10px !important;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12) !important;
	padding: 0 !important;
	margin-top: 6px;
	overflow: hidden;
	background: #fff;
	width: 250px !important;
	min-width: 250px !important;
	max-width: 250px !important;
	z-index: 10051 !important;
}

.select2-dropdown.ttbm-top-search-select2-dropdown .select2-search--dropdown {
	padding: 8px 10px 6px;
	margin: 0;
}

.select2-dropdown.ttbm-top-search-select2-dropdown .select2-search__field {
	border: 1px solid #e8ecf1 !important;
	border-radius: 6px !important;
	padding: 6px 10px !important;
	margin: 0;
	font-size: 13px;
	color: #1e293b;
}

.select2-dropdown.ttbm-top-search-select2-dropdown .select2-results {
	padding: 4px 6px 6px;
}

.select2-dropdown.ttbm-top-search-select2-dropdown .select2-results__options {
	max-height: 260px;
	padding: 0;
	margin: 0;
}

.select2-dropdown.ttbm-top-search-select2-dropdown .select2-results__option {
	padding: 7px 30px 7px 12px;
	margin: 0 0 2px;
	font-size: 13px;
	font-weight: 500;
	color: #1e293b;
	line-height: 1.25;
	border: none;
	border-radius: 7px;
	text-align: left;
}

.select2-dropdown.ttbm-top-search-select2-dropdown .ttbm-search-opt {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	text-align: left;
	gap: 1px;
	width: 100%;
	padding: 0;
}

.select2-dropdown.ttbm-top-search-select2-dropdown .ttbm-search-opt__title {
	font-size: 13px;
	font-weight: 500;
	line-height: 1.25;
}

.select2-dropdown.ttbm-top-search-select2-dropdown .ttbm-search-opt__subtitle {
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 1.15;
	margin-top: 0;
}

.select2-dropdown.ttbm-top-search-select2-dropdown .select2-results__option:last-child {
	margin-bottom: 0;
}

.select2-dropdown.ttbm-top-search-select2-dropdown .select2-results__option .ttbm-search-opt__subtitle {
	color: #94a3b8;
}

.select2-dropdown.ttbm-top-search-select2-dropdown .select2-results__option--highlighted[aria-selected] {
	background: #f7f8fb !important;
	color: #1e293b !important;
}

.select2-dropdown.ttbm-top-search-select2-dropdown .select2-results__option--highlighted[aria-selected] .ttbm-search-opt__subtitle {
	color: #94a3b8 !important;
}

.select2-dropdown.ttbm-top-search-select2-dropdown .select2-results__option[aria-selected="true"] {
	background: #1a1f4e !important;
	color: #fff !important;
	position: relative;
}

.select2-dropdown.ttbm-top-search-select2-dropdown .select2-results__option[aria-selected="true"] .ttbm-search-opt__title,
.select2-dropdown.ttbm-top-search-select2-dropdown .select2-results__option[aria-selected="true"] .ttbm-search-opt__subtitle {
	color: #fff !important;
}

.select2-dropdown.ttbm-top-search-select2-dropdown .select2-results__option[aria-selected="true"]::after {
	content: "\f00c";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 12px;
	color: #fff;
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	line-height: 1;
}

.select2-dropdown.ttbm-top-search-select2-dropdown .select2-results__option--highlighted[aria-selected="true"] {
	background: #1a1f4e !important;
	color: #fff !important;
}

.ttbm-top-search-modern .dButton,
.ttbm-top-search-modern label {
	margin: 0 !important;
	font-weight: normal;
}

.ttbm-top-search-modern button.ttbm-top-search-submit,
.ttbm_style .ttbm-top-search-modern button.ttbm-top-search-submit {
	flex: 0 0 auto;
	align-self: center;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 168px !important;
	width: auto !important;
	min-height: 48px !important;
	height: auto !important;
	padding: 14px 28px !important;
	margin: 8px 10px 8px 6px !important;
	border: none !important;
	border-radius: 10px !important;
	background: #1a1f4e !important;
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	box-shadow: 0 8px 20px rgba(26, 31, 78, 0.28) !important;
	cursor: pointer;
	text-transform: none !important;
	opacity: 1 !important;
	overflow: visible;
	-webkit-appearance: none;
}

.ttbm-top-search-modern .ttbm-top-search-submit-text {
	color: #fff;
}

.ttbm-top-search-modern .ttbm-top-search-submit-arrow {
	font-size: 18px;
	line-height: 1;
	color: #fff;
}

.ttbm_style .ttbm-top-search-modern button.ttbm-top-search-submit:hover,
.ttbm_style .ttbm-top-search-modern button.ttbm-top-search-submit:focus,
.ttbm_style .ttbm-top-search-modern button.ttbm-top-search-submit:focus-visible {
	background: #252b6a !important;
	color: #fff !important;
	opacity: 1 !important;
	box-shadow: 0 10px 24px rgba(26, 31, 78, 0.34) !important;
	transform: translateY(-1px);
}

@media (max-width: 991px) {
	.ttbm-top-search-modern .ttbm-top-search-form {
		padding: 6px;
	}

	.ttbm-top-search-modern .ttbm-top-search-row {
		flex-wrap: wrap;
	}

	.ttbm-top-search-modern .ttbm-top-search-field {
		flex: 1 1 100%;
		min-width: 100%;
		border-right: none;
		border-bottom: 1px solid #e8ecf1;
	}

	.ttbm-top-search-modern .ttbm-top-search-field:last-of-type {
		border-bottom: none;
	}

	.ttbm-top-search-modern button.ttbm-top-search-submit,
	.ttbm_style .ttbm-top-search-modern button.ttbm-top-search-submit {
		width: calc(100% - 16px) !important;
		margin: 8px !important;
	}
}

@media (max-width: 575px) {
	.ttbm-top-search-modern.ttbm_top_filter,
	div.ttbm_top_filter.ttbm-top-search-modern {
		padding: 0 10px;
	}

	.ttbm-top-search-modern .ttbm-top-search-form {
		border-radius: 12px;
	}
}

/* Tour top-search date range picker — match hotel booking picker */
body .daterangepicker.ttbm-tour-daterange {
	margin-top: 8px;
	border: 1px solid #e0e0e0;
	border-radius: 12px;
	background: #fff !important;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
	font-family: inherit;
	z-index: 10050;
}

body .daterangepicker.ttbm-tour-daterange::before,
body .daterangepicker.ttbm-tour-daterange::after {
	display: none;
}

body .daterangepicker.ttbm-tour-daterange .drp-calendar {
	background: #fff !important;
	padding: 8px;
}

body .daterangepicker.ttbm-tour-daterange .drp-calendar .calendar-table,
body .daterangepicker.ttbm-tour-daterange .calendar-table {
	background: #fff !important;
	background-color: #fff !important;
	border: 0 !important;
	padding: 4px !important;
}

body .daterangepicker.ttbm-tour-daterange .calendar-table .table-condensed thead,
body .daterangepicker.ttbm-tour-daterange .calendar-table thead {
	color: #6b7280 !important;
	background: #fff !important;
	background-color: #fff !important;
}

body .daterangepicker.ttbm-tour-daterange th.month {
	font-size: 15px;
	font-weight: 700;
	color: #111827 !important;
	background: #fff !important;
}

body .daterangepicker.ttbm-tour-daterange .calendar-table th,
body .daterangepicker.ttbm-tour-daterange .calendar-table td {
	font-size: 13px;
	color: #111827 !important;
	border-radius: 8px;
	width: 36px;
	height: 36px;
}

body .daterangepicker.ttbm-tour-daterange .calendar-table .table-condensed thead th,
body .daterangepicker.ttbm-tour-daterange .calendar-table thead th {
	color: #6b7280 !important;
	font-weight: 600;
	font-size: 11px;
	background: #fff !important;
	background-color: #fff !important;
	border-color: transparent !important;
}

body .daterangepicker.ttbm-tour-daterange td.off,
body .daterangepicker.ttbm-tour-daterange td.off.in-range,
body .daterangepicker.ttbm-tour-daterange td.off.start-date,
body .daterangepicker.ttbm-tour-daterange td.off.end-date {
	background: #fff !important;
	color: #cbd5e1 !important;
}

body .daterangepicker.ttbm-tour-daterange td.available:hover,
body .daterangepicker.ttbm-tour-daterange th.available:hover {
	background: #f3f4f6;
	color: #111827;
}

body .daterangepicker.ttbm-tour-daterange td.in-range {
	background: #f2f0fa;
	color: #111827;
}

body .daterangepicker.ttbm-tour-daterange td.active,
body .daterangepicker.ttbm-tour-daterange td.active:hover,
body .daterangepicker.ttbm-tour-daterange td.start-date,
body .daterangepicker.ttbm-tour-daterange td.end-date {
	background: #5b3cbe !important;
	color: #fff !important;
}

body .daterangepicker.ttbm-tour-daterange .calendar-table .prev span,
body .daterangepicker.ttbm-tour-daterange .calendar-table .next span {
	border-color: #6b7280;
}

body .daterangepicker.ttbm-tour-daterange select.monthselect,
body .daterangepicker.ttbm-tour-daterange select.yearselect {
	font-size: 13px;
	color: #111827 !important;
	background: #fff !important;
	background-color: #fff !important;
	border: 1px solid #e0e0e0;
	border-radius: 6px;
	padding: 2px 6px;
	display: inline-block !important;
	-webkit-appearance: auto;
	appearance: auto;
}

/*************Left Filter section**************************/
div.left_filter {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}

.leftSidebar .filter-top-label {
	padding: 15px var(--ttbm_mp);
	background-color: var(--color_theme);
	color: var(--color_theme_alter);
	border: 1px solid var(--color_theme);
	border-radius: 10px 10px 0 0;
}

.ttbm_filter_area .leftSidebar .filter-top-label {
	padding: 16px 16px 12px;
	background-color: transparent;
	color: inherit;
	border: none;
	border-radius: 0;
}

.leftSidebar .filter-top-label h4 {
	color: var(--color_theme_alter);
	margin: 0;
}

.ttbm_filter_area .leftSidebar .filter-top-label h4 {
	color: #1e2a4a;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0;
}

.leftSidebar div.ttbm_filter {
	width: 100%;
	display: block;
	background-color: #FFF;
	padding: var(--ttbm_mp);
	margin: 0 0 var(--ttbm_mp) 0;
	position: sticky;
	top: 30px;
}

.ttbm_filter_area .leftSidebar {
	width: 100%;
	display: block;
	background-color: #f0f4ff;
	padding: 12px;
	position: sticky;
	top: 30px;
	overflow-y: auto;
	z-index: 2222;
	height: auto;
	align-self: flex-start;
	flex-shrink: 0;
}

.ttbm_filter_area .leftSidebar div.ttbm_filter {
	background-color: transparent;
	padding: 0;
	margin: 0;
	position: static;
}

@media(: 767px) {
	div.ttbm_filter.leftSidebar {
		position: static;

	}
}

.admin-bar div.ttbm_filter.leftSidebar {
	top: 46px;
}

.ttbm_filter .mActive {
	margin-top: 20px;
}

.ttbm_filter_area .leftSidebar .ttbm_filter .mActive {
	margin-top: 0;
}

.ttbm_filter span {
	font-size: var(--ttbm_fs);
}

/***************************************/
div.search_result_empty {
	display: none;
	font-size: 16px;
	color:#333;
	text-align: center;
	width: 100%;
	background-color: #FFF;
	padding: var(--ttbm_mp);
	margin: var(--ttbm_mp) 0;
}

div.filter_top_bar {
	font-size: 22px;
	width: 100%;
	background-color: #FFF;
	padding: var(--ttbm_mp_xs);
	margin: 0 0 var(--ttbm_mp_xs) 0;
}

div.filter_short_result {
	font-size: var(--ttbm_fs_small);
	font-weight: 500;
	color: var(--d_color);
	text-align: center;
	margin: var(--ttbm_mpl) 0 0 0;
}

.filter_top_bar {
	align-items: center;
	color: #666;
}

/***************************************/
div.all_filter_item>div {
	margin: 0;
}

div.all_filter_item>div.modern {
	margin: 0;
	margin-top: 20px;
}

/****************/
div.filter_item {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	background-color: #FFF;
	color: var(--d_color);
	margin: var(--ttbm_mp_xs);
	position: relative;
	overflow: hidden;
	width: auto;
	justify-content: space-between;
}

div.modern div.filter_item {
	margin: 0 0 var(--ttbm_mp) 0;
	-webkit-flex-direction: initial;
	flex-direction: initial;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	min-height: auto;
}

div.modern div.filter_item,
div.grid_1 {
	width: 100%;
}

div.grid_2 {
	width: calc(50% - var(--ttbm_mp));
}

div.grid_3 {
	width: calc(33.333333% - var(--ttbm_mp));
}

div.grid_4 {
	width: calc(25% - var(--ttbm_mp));
}

div.grid_5 {
	width: calc(20% - var(--ttbm_mp));
}

div.grid_6 {
	width: calc(16.66666667% - var(--ttbm_mp));
}

div.grid_7 {
	width: calc(14.285715% - var(--ttbm_mp));
}

div.grid_8 {
	width: calc(12.5% - var(--ttbm_mp));
}

div.grid_9 {
	width: calc(11.1111111111% - var(--ttbm_mp));
}

div.grid_10 {
	width: calc(10% - var(--ttbm_mp));
}

/***************************************/


div.ttbm_list_title {
	margin-top: var(--ttbm_mp_xs);
}

.filter_item .ttbm_list_title {
	margin-top: 10px;
	margin-bottom: 10px;
	line-height: 20px;
	font-size: 16px;
	font-weight: normal;
}

.filter_item .bg_image_area {
	border-radius: 0;
}

.filter_item h3.ttbm_list_title a,
.filter_item h3.ttbm_list_title a:focus {
	color: var(--color_black);
	font-size: inherit;
	font-weight: 500;
	outline: 0;
	display: block;
}

.filter_item.grid_4 .ttbm_list_title a {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	/*height: 80px;*/
	margin-top: 0;
}

.flora .filter_item.grid_4 .ttbm_list_title a {
	-webkit-line-clamp: 2;
	font-size: 18px;
	height: 52px;
}

.flora div.filter_item {
	justify-content: start;
}

.blossom .ttbm_list_details {
	padding: 0;
}

.blossom .ttbm_list_title {
	padding: 0 10px;
}

.blossom .ttbm_list_content_wrapper {
	padding: 10px;
	padding-top: 0;
}

.blossom .ttbm_list_info {
	margin: 0;
	margin-bottom: 10px;
}

@media(: 767px) {
	.flora .filter_item.grid_4 .ttbm_list_title a {
		height: auto;
		font-size: 22px;
	}
}

.flora .filter_item .ttbm_list_title {
	padding: 10px;
	margin: 0;
}

.lotus .ttbm_list_info_header .ttbm_list_title a {
	text-decoration: none !important;
}

/* Lotus styles — see full block below Orchid section */

.filter_item.grid_3 .ttbm_list_title a {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	/*height: 52px;*/
	margin-top: 0;

}

@media(: 1400px) {
	.filter_item.grid_4 .ttbm_list_title a {
		height: 52px;
	}
}

@media(: 767px) {

	.filter_item.grid_4 .ttbm_list_title a,
	.filter_item.grid_3 .ttbm_list_title a {
		height: auto;
	}
}

div.modern .ttbm_list_title,
div.modern .ttbm_list_title>* {
	margin: 0;
	font-size: 20px;
	font-weight: normal;
}

.ttbm_list_info i {
	color: var(--color_theme);
}

div.superSlider .sliderAllItem {
	border-radius: 10px;
}

div.superSlider .sliderShowcaseItem {
	border-radius: 10px;
}

div.superSlider .sliderShowcaseItem:last-child {
	margin-bottom: 0;
}

/***************************************/
div.ttbm_list_info {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	margin: 10px 0;
	overflow: hidden;
}

div.ttbm_list_info span {
	font-size: var(--ttbm_fs_h6);
}

div.ttbm_list_info>span:first-child {
	margin: 0 var(--dbr) 0 0;
}

.ttbm_list_info.location_name {
	font-size: 16px;
}

.filter_item.grid_4 .ttbm_list_info_wrapper,
.filter_item.grid_3 .ttbm_list_info_wrapper {
	height: auto;
}

@media(: 767px) {

	.filter_item.grid_4 .ttbm_list_info_wrapper,
	.filter_item.grid_4 .ttbm_list_info_wrapper,
	.filter_item.grid_3 .ttbm_list_info_wrapper {
		height: auto;
	}
}

/*************************/
div.ttbm_description {
	display: block;
	-webkit-flex: auto;
	flex: auto;
	margin-bottom: var(--ttbm_mp);
}

div.ttbm_description h2 {
	margin-bottom: 20px;
}

div.filter_item div.ttbm_description>div {
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	-webkit-box-orient: horizontal;
	max-height: 4.65em;
	line-height: 1.5em;
}

/***************************************/
div.ttbm_list_inline ul,
div.ttbm_list_inline ul li,
div.ttbm_list_inline {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

div.ttbm_list_inline {
	margin: var(--ttbm_mp_xs) 0 0 0;
}

div.ttbm_list_inline ul li {
	padding: 5px 10px;
	margin-right: 7px;
	border: 1px solid var(--color_border);
	border-radius: 5px;
}

div.ttbm_list_inline ul li span {
	background-color: transparent;
	width: auto;
	height: auto;
	color: var(--color_theme);
	min-width: auto;
	margin: 0;
}

div.ttbm_list_inline div.ttbm_list_info {
	margin: 0 var(--ttbm_mp_xs) 0 0;
}

.filter_item_footer {
	gap: 10px;
}

.filter_item_footer .include_service ul li {
	background: #f3f4f6;
	border-color: #e5e7eb;
	color: #374151 !important;
}


.filter_item_footer .include_service ul li:hover {
	background: var(--color_theme, #6c47ff) !important;
	border-color: var(--color_theme, #6c47ff) !important;
	color: #fff !important;
}

.filter_item.grid_4 div.ttbm_list_inline ul li {
	font-size: var(--ttbm_fs_small);
}

/***************************************/
.placeholderLoader div.absolute_item[data-placeholder] {
	position: absolute;
}

div.absolute_item {
	position: absolute;
	z-index: 20;
	: calc(100% - var(--ttbm_mp_xs) - var(--ttbm_mp_xs));
}

.absolute_item .ttbm_list_info {
	color: var(--color_theme_alter);
	background-color: var(--color_theme);
	font-size: var(--ttbm_fs_small);
	padding: 5px var(--ttbm_mp_xs);
	margin: 0;
	-webkit-justify-content: center;
	justify-content: center;
	border-radius: 0 5px 5px 0;
	box-shadow: 0px 0px 2px 0 rgba(0, 0, 0, 0.4);
}

.absolute_item .ttbm_list_info.location_name {
	margin-top: 42px;
}

.ttbm-location-overlay {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 20;
	align-items: flex-end;
	gap: 5px;
}

.ttbm-location-overlay .ttbm_list_info {
	color: #1f2937;
	background: rgba(255, 255, 255, 0.94);
	font-size: var(--ttbm_fs_small);
	font-weight: 600;
	padding: 6px 10px;
	margin: 0;
	-webkit-justify-content: center;
	justify-content: center;
	border: 1px solid rgba(17, 24, 39, 0.08);
	border-radius: 6px;
	box-shadow: 0 4px 14px rgba(17, 24, 39, 0.16);
	backdrop-filter: blur(6px);
}

.ttbm-location-overlay * {
	color: inherit;
	font-size: inherit;
}

.ttbm-location-overlay span {
	font-size: var(--ttbm_fs);
	color: inherit;
}

div.absolute_item.bottom {
	text-align: center;
	bottom: var(--ttbm_mp_xs);
	right: var(--ttbm_mp_xs);
	top: initial;
	left: var(--ttbm_mp_xs);
	padding: 5px;
	font-size: var(--ttbm_fs_h6);
	background-color: #0007;
	border-radius: 0 0 8px 8px;
}

div.absolute_item * {
	color: var(--color_theme_alter);
	font-size: inherit;
}

div.absolute_item span {
	font-size: var(--ttbm_fs);
	color: var(--color_theme_alter);
}

/**********List************/
div.modern .bg_image_area {
	width: 300px;
}

div.ttbm_list_details {
	width: 100%;
	position: relative;
	overflow: hidden;
	-webkit-flex: auto;
	flex: auto;
	text-align: left;
	justify-content: space-between;
	padding: var(--ttbm_mp_xs);

}

#ttbm_related_tour div.ttbm_list_details {
	padding: 10px;
}


.ttbm_list_details .fdColumn .ttbm_list_info:first-child,
.filter_item .bg_image_area .ttbm_list_info:first-child {
	border-radius: 5px 5px 0 0;
}

.ttbm_list_details .fdColumn .ttbm_list_info:last-child,
.bg_image_area .ttbm_list_info:last-child {
	border-radius: 0 5px 5px 0;
}



.ttbm_list_details .ttbm-rating-stars {
	margin-bottom: 0 !important;
}

div.modern div.ttbm_list_details {
	max-width: calc(100% - 300px);
	min-width: 60%;
	padding: 10px;
}

.modern .filter_item .ttbm_list_details .ttbm-rating-stars {
	margin-top: 0;
	margin-bottom: 10px !important;
}

.ttbm_style .ribbon,
div.ttbm_pagination_main_area .ribbon {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 20;
	background: var(--color_theme, #6c47ff);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.5px;
	padding: 5px 12px;
	border-radius: 50px;
	text-transform: uppercase;
	box-shadow: 0 2px 8px rgba(108, 71, 255, 0.35);
	pointer-events: none;
}

.ttbm_style .ribbon::before {
	border: 0;
	display: none;
}

.ttbm_item_filter_by_activity {
	display: block;
	float: left;
	background-color: #ededed;
	padding: 8px 18px 8px 18px;
	border-radius: 20px;
	color: #4f4c4c;
	font-size: 14px;
	cursor: pointer;
}

.ttbm_item_filter_by_activity:hover {
	background-color: #6e7073;
	color: #f7f5f5;
}

.ttbm_item_activity_active {
	background-color: #6e7073;
	color: #f7f5f5;
}

.ttbm_all_item_activities_wrapper {
	display: flex;
	align-items: center;
	position: relative;
	width: calc(100% - 10px);
	margin: auto;
	padding: 10px 0px;
}

.ttbm_all_item_activities_holder {
	display: flex;
	overflow-x: hidden;
	/* Hide the scrollbar */
	white-space: nowrap;
	scroll-behavior: smooth;
	/* Smooth scrolling for modern browsers */
	width: 100%;
	gap: 5px;
	padding: 0;
	/*margin-bottom: 5px;*/
}

.ttbm_all_item_activities_holder::-webkit-scrollbar {
	display: none;
	/* Hide scrollbar for WebKit browsers (Chrome, Safari) */
}

.ttbm_all_item_activities_holder {
	-ms-overflow-style: none;
	/* Hide scrollbar for IE and Edge */
	scrollbar-width: none;
	/* Hide scrollbar for Firefox */
}

.ttbm_item_activity {
	display: inline-block;
	margin: 0 5px;
}

button.scroll-left,
button.scroll-right {
	background-color: #ccc;
	border: none;
	cursor: pointer;
	padding: 10px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
	display: none;
	/* Initially hide the arrows */
}

.ttbm_date-picker-container {
	display: flex;
	align-items: center;
	position: relative;
}

.ttbm_filter_input_radius {
	border-radius: 5px !important;
}

.ttbm_date-picker-input {
	width: 200px;
	: inherit;
	border: 1px solid var(--color_border);
	font-size: var(--ttbm_fs);
	color: var(--d_color);
	background-color: #fff;
	border-radius: 5px;
	padding: 10px 15px !important;
	font-weight: var(--fw-medium);
}

.ttbm_calendar-icon {
	width: 9px;
	height: 10px;
	background: url('https://cdn-icons-png.flaticon.com/512/271/271210.png') no-repeat center center;
	background-size: contain;
	margin-right: 5px;
	cursor: pointer;
	position: absolute;
	right: 0;
}

button.scroll-left {
	left: 0;
	/* Position left arrow */
}

button.scroll-right {
	right: 0;
	/* Position right arrow */
}

/**********Grid******************************/
div.bg_image_area {
	margin: 0;
	border-radius: 5px;
}

/**********Orchid Grid******************************/
.orchid.flexWrap {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 20px;
	margin: 0;
}

.ttbm-orchid-list .ttbm_all_item_activities_wrapper,
.ttbm-tour-activity-pills {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	width: 100%;
	margin: 0 0 28px;
	padding: 0;
	clear: both;
	overflow: hidden;
	min-height: 44px;
	position: relative;
}

.ttbm-tour-activity-pills .scroll-left,
.ttbm-tour-activity-pills .scroll-right {
	display: none !important;
}

.ttbm-tour-activity-pills .ttbm_all_item_activities_holder {
	display: flex;
	flex: 1 1 100%;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	overflow: visible;
	white-space: normal;
	width: 100%;
	min-height: 44px;
	margin-bottom: 20px;
}

.ttbm-tour-activity-pills .ttbm_item_activity {
	display: block;
	float: none;
	margin: 0;
}

.ttbm-tour-activity-pills .ttbm_item_filter_by_activity {
	float: none !important;
	display: inline-block;
	padding: 10px 20px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	background: #eef1f8;
	color: #4b5563;
	border: none;
	transition: background 0.2s ease, color 0.2s ease;
}

.ttbm-lotus-list > .flexWrap,
.ttbm-orchid-list > .flexWrap {
	clear: both;
	width: 100%;
}

.ttbm-tour-activity-pills .ttbm_item_filter_by_activity:hover {
	background: #e4e8f5;
	color: var(--color_theme, #4f29b7);
}

.ttbm-tour-activity-pills .ttbm_item_filter_by_activity.ttbm_item_activity_active,
.ttbm-tour-activity-pills .ttbm_item_filter_by_activity#all.ttbm_item_activity_active {
	background: var(--color_theme, #4f29b7);
	color: #fff;
}

.orchid .filter_item,
.orchid .filter_item.grid_3 {
	width: calc(33.333333% - 14px);
	min-width: 280px;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 4px 18px rgba(20, 30, 60, 0.08);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-self: stretch;
}

.orchid .filter_item:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 28px rgba(20, 30, 60, 0.12);
}

.orchid .ttbm-orchid-image-wrap {
	position: relative;
	display: block;
	height: 210px;
	overflow: hidden;
	border-radius: 12px 12px 0 0;
	cursor: pointer;
}

.orchid .ttbm-orchid-thumb {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transition: transform 0.35s ease;
}

.orchid .ttbm-orchid-thumb[data-bg-image]::before {
	display: none;
}

.orchid .ttbm-orchid-thumb[data-bg-image]:hover {
	transform: none;
}

.orchid .ttbm-orchid-image-wrap:hover .ttbm-orchid-thumb {
	transform: scale(1.05);
}

.orchid .ttbm-orchid-badge-sale {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 2;
	background: #ef4444;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	padding: 5px 12px;
	border-radius: 999px;
	text-transform: uppercase;
	pointer-events: none;
}

.orchid .ttbm-orchid-body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 16px 16px 18px;
	min-height: 0;
}

.orchid .ttbm-orchid-footer {
	display: flex;
	flex-direction: column;
	margin-top: auto;
	width: 100%;
}

.orchid .filter_item .ttbm_list_title {
	margin: 0 0 8px;
	padding: 0;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
	color: #0f172a;
	min-height: calc(1.35em * 2);
}

.orchid .filter_item .ttbm_list_title a {
	color: inherit;
	font-weight: inherit;
	text-decoration: none;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.orchid .filter_item .ttbm_list_title a:hover {
	color: var(--color_theme, #4f29b7);
}

.orchid .ttbm-orchid-body .location_name {
	margin: 0 0 14px;
	padding: 0;
	font-size: 16px;
	font-weight: 500;
	color: #6b7280;
}

.orchid .ttbm-orchid-body .location_name .mi {
	color: var(--color_theme, #4f29b7);
	font-size: 13px;
	margin-right: 4px;
}

.orchid .ttbm-orchid-divider {
	border: none;
	border-top: 1px solid #e8ecf4;
	margin: 0 0 14px;
}

.orchid .ttbm-orchid-meta-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 16px;
}

.orchid .ttbm-orchid-from {
	display: block;
	font-size: 12px;
	color: #9ca3af;
	font-weight: 500;
	line-height: 1.2;
}

.orchid .ttbm-orchid-price-value,
.orchid .ttbm-orchid-price-value .woocommerce-Price-amount {
	font-size: 22px;
	font-weight: 700;
	color: var(--color_theme, #4f29b7);
	line-height: 1.2;
}

.orchid .ttbm-orchid-duration .ttbm_list_info {
	margin: 0;
	padding: 0;
	font-size: 13px;
	font-weight: 500;
	color: #6b7280;
	text-align: right;
	white-space: nowrap;
}

.orchid .ttbm-orchid-duration .ttbm_list_info .mi {
	color: #9ca3af;
	font-size: 13px;
	margin-right: 4px;
}

.orchid .ttbm-orchid-explore {
	width: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: var(--color_theme, #4f29b7) !important;
	color: #fff !important;
	border: none;
	border-radius: 10px;
	padding: 12px 18px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.15s ease;
}

.orchid .ttbm-orchid-explore:hover {
	background: #3d1f96 !important;
	transform: none;
}

.orchid .ttbm-orchid-explore-arrow {
	font-size: 16px;
	line-height: 1;
}

.orchid .ttbm_list_content_wrapper,
.orchid .ttbm_list_info_header,
.orchid .ttbm-location-overlay,
.orchid .ribbon {
	display: none !important;
}

@media only screen and (max-width: 991px) {
	.orchid .filter_item,
	.orchid .filter_item.grid_3 {
		width: calc(50% - 10px);
	}
}

@media only screen and (max-width: 767px) {
	.orchid .filter_item,
	.orchid .filter_item.grid_3 {
		width: 100%;
		min-width: 0;
	}
}

/* =====================================================
   TTBM Lotus Grid  (.flexWrap.lotus)
   ===================================================== */

.lotus.flexWrap {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 20px;
	margin: 0;
}

.lotus .filter_item,
.lotus .filter_item.grid_3 {
	width: calc(33.333333% - 14px);
	min-width: 280px;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 4px 18px rgba(20, 30, 60, 0.08);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-self: stretch;
	position: relative;
}

.lotus .filter_item:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 28px rgba(20, 30, 60, 0.12);
}

.lotus .ribbon {
	top: 14px;
	left: 14px;
	background: #ef4444;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	padding: 5px 12px;
	border-radius: 999px;
	text-transform: uppercase;
	box-shadow: none;
}

.lotus .ttbm_list_details {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 0;
	min-height: 0;
}

.lotus .ttbm_list_info_header {
	display: flex;
	flex-direction: column;
}

.lotus .bg_image_area {
	margin: 0;
	border-radius: 0;
	overflow: hidden;
}

.lotus .bg_image_area > div[data-bg-image] {
	height: 210px;
	min-height: 210px;
	background-size: cover !important;
	background-position: center !important;
	border-radius: 0;
}

.lotus .bg_image_area > div[data-bg-image]::before {
	display: none;
}

.lotus .bg_image_area:hover > div[data-bg-image] {
	transform: scale(1.05);
	transition: transform 0.35s ease;
}

.lotus .filter_item .ttbm_list_title {
	margin: 0;
	padding: 16px 16px 8px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
	color: #0f172a;
	min-height: calc(1.35em * 2);
}

.lotus .filter_item .ttbm_list_title a {
	color: inherit;
	font-weight: inherit;
	text-decoration: none;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.lotus .filter_item .ttbm_list_title a:hover {
	color: var(--color_theme, #4f29b7);
}

.lotus .ttbm_list_content_wrapper {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 0 16px 18px;
	margin: 0;
	min-height: 0;
}

.lotus .ttbm_list_info_wrapper {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 6px 12px;
	margin: 0 0 14px;
	align-items: center;
}

.lotus .ttbm_list_info_wrapper .location_name {
	grid-column: 1 / -1;
	margin: 0;
	padding: 0;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	color: #6b7280;
}

.lotus .ttbm_list_info_wrapper .location_name .mi {
	color: var(--color_theme, #4f29b7);
	font-size: 13px;
	margin-right: 4px;
}

.lotus .ttbm_list_info_wrapper .ttbm_list_info:not(.location_name) {
	margin: 0;
	padding: 0;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	color: #6b7280;
}

.lotus .ttbm_list_info_wrapper .ttbm_list_info .mi-money-bill-wave {
	display: none;
}

.lotus .ttbm_list_info_wrapper .ttbm_list_info:not(.location_name):has(.mi-money-bill-wave) {
	grid-column: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	color: #9ca3af;
	font-size: 12px;
}

.lotus .ttbm_list_info_wrapper .ttbm_list_info:not(.location_name):has(.mi-money-bill-wave) .woocommerce-Price-amount,
.lotus .ttbm_list_info_wrapper .ttbm_list_info:not(.location_name):has(.mi-money-bill-wave) bdi {
	font-size: 22px;
	font-weight: 700;
	color: var(--color_theme, #4f29b7);
	line-height: 1.2;
}

.lotus .ttbm_list_info_wrapper .ttbm_list_info:not(.location_name):has(.mi-clock-three) {
	grid-column: 2;
	justify-content: flex-end;
	text-align: right;
	white-space: nowrap;
}

.lotus .ttbm_list_info_wrapper .ttbm_list_info:not(.location_name):has(.mi-clock-three) .mi {
	color: #9ca3af;
	font-size: 13px;
	margin-right: 4px;
}

.lotus .ttbm_list_content_wrapper > .divider {
	border: none;
	border-top: 1px solid #e8ecf4;
	margin: 0 0 12px;
	height: 0;
}

.lotus .ttbm_description {
	display: block;
	margin: 0 0 12px;
	flex: 0 0 auto;
}

.lotus .ttbm_description > div {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.65;
	color: #6b7280;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	max-height: none;
	margin: 0;
}

.lotus .filter_item_footer {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 14px;
	margin-top: auto;
	padding-top: 4px;
}

.lotus .filter_item_footer .include_service ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lotus .filter_item_footer .include_service ul li {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	margin: 0;
	padding: 0;
	border-radius: 8px;
	background: #f3f4f6;
	border: 1px solid #e5e7eb;
	color: #4b5563 !important;
}

.lotus .filter_item_footer .include_service ul li:hover {
	background: var(--color_theme, #4f29b7) !important;
	border-color: var(--color_theme, #4f29b7) !important;
	color: #fff !important;
}

.lotus .filter_item_footer .include_service .circleIcon_xs {
	font-size: 15px;
}

.lotus .filter_item_footer .ttbm_explore_button {
	width: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 12px 18px;
	border: none;
	border-radius: 10px;
	background: var(--color_theme, #4f29b7) !important;
	color: #fff !important;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	transition: background 0.2s ease;
}

.lotus .filter_item_footer .ttbm_explore_button:hover {
	background: #3d1f96 !important;
	transform: none;
}

.lotus .filter_item_footer .ttbm_explore_button::after {
	content: '\2192';
	font-size: 16px;
	line-height: 1;
}

.lotus .absolute_item {
	display: none;
}

/* =====================================================
   TTBM Unified Placeholder Loaders (all shortcodes)
   ===================================================== */

.placeholderLoader {
	--ttbm-skeleton-bar: #dce1ea;
	--ttbm-skeleton-card: #fff;
	--ttbm-skeleton-shell: #f0f4ff;
}

/* Ticket panel skeleton while AJAX loads ticket types */
.ttbm_style .ttbm_registration_area:not(.placeholderLoader) .ttbm_booking_panel.placeholder_area:empty {
	display: none;
}
.ttbm_style .ttbm_registration_area.placeholderLoader .ttbm_booking_panel.placeholder_area,
.ttbm_style .ttbm_registration_area.placeholderLoader .ttbm_booking_panel.ttbm-ticket-loading {
	display: block !important;
	min-height: 148px;
	position: relative;
	overflow: hidden;
	padding: 0 20px 16px;
	box-sizing: border-box;
	background-color: #fff !important;
	background-image:
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)) !important;
	background-size: 100% 36px, 100% 36px, 100% 36px !important;
	background-repeat: no-repeat !important;
	background-position: 0 10px, 0 56px, 0 102px !important;
	background-origin: content-box !important;
	background-clip: content-box !important;
	border-top: 1px solid #e5e7eb;
}
.ttbm_style .ttbm_registration_area.placeholderLoader .ttbm_booking_panel.placeholder_area::before,
.ttbm_style .ttbm_registration_area.placeholderLoader .ttbm_booking_panel.ttbm-ticket-loading::before {
	display: none !important;
}
.ttbm_style .ttbm_registration_area.placeholderLoader .ttbm_booking_panel.placeholder_area::after,
.ttbm_style .ttbm_registration_area.placeholderLoader .ttbm_booking_panel.ttbm-ticket-loading::after {
	content: '' !important;
	display: block !important;
	position: absolute;
	top: 0;
	left: -100%;
	bottom: 0;
	width: 60%;
	background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.75) 50%, transparent 100%);
	animation: ttbmTicketShimmer 1.4s ease-in-out infinite;
}
@keyframes ttbmTicketShimmer {
	0% { left: -100%; }
	100% { left: 160%; }
}

/* Suppress broken per-element grey overlays */
.placeholderLoader .leftSidebar.placeholder_area [data-placeholder]::before,
.placeholderLoader .filter_item.placeholder_area [data-placeholder]::before,
.placeholderLoader .filter_item[data-placeholder]::before,
.placeholderLoader .placeholder_area.flexWrap [data-placeholder]::before,
.placeholderLoader .filter_top_bar.placeholder_area [data-placeholder]::before,
.placeholderLoader .ttbm_top_filter [data-placeholder]::before,
.placeholderLoader .ttbm-filter-bar [data-placeholder]::before,
.placeholderLoader .ttbm_activity_item[data-placeholder]::before,
.placeholderLoader .ttbm_attraction_item[data-placeholder]::before,
.placeholderLoader .ttbm_term_display_shortcode[data-placeholder]::before,
.placeholderLoader .superSlider.placeholder_area [data-placeholder]::before,
.placeholderLoader .search_result_empty[data-placeholder]::before,
.placeholderLoader .filter_short_result[data-placeholder]::before {
	display: none !important;
	content: none !important;
	background: none !important;
}

@keyframes ttbmGridCardShimmer {
	0% {
		left: -100%;
	}

	100% {
		left: 160%;
	}
}

/* --- Left sidebar (travel-list, ttbm-tour-list, hotel, search) ---------- */
.placeholderLoader .leftSidebar.placeholder_area {
	position: relative !important;
	flex: 0 0 280px;
	width: 280px;
	max-width: 280px;
	min-width: 280px;
	height: 520px;
	min-height: 520px;
	max-height: 520px;
	padding: 16px !important;
	overflow: hidden !important;
	background-color: var(--ttbm-skeleton-shell) !important;
	border-radius: 16px;
	box-shadow: 0 10px 30px rgba(20, 40, 120, 0.06);
	animation: none !important;
	background-image:
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-card), var(--ttbm-skeleton-card)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-card), var(--ttbm-skeleton-card)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-card), var(--ttbm-skeleton-card)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-card), var(--ttbm-skeleton-card)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar));
	background-size:
		52% 18px,
		72% 12px,
		100% 54px,
		calc(100% - 32px) 10px,
		calc(100% - 32px) 10px,
		calc(100% - 32px) 10px,
		100% 54px,
		calc(100% - 32px) 10px,
		calc(100% - 32px) 10px,
		calc(100% - 32px) 10px,
		100% 54px,
		calc(100% - 32px) 10px,
		calc(100% - 32px) 10px,
		calc(100% - 32px) 10px,
		100% 54px,
		calc(100% - 32px) 10px,
		calc(100% - 32px) 10px,
		calc(100% - 32px) 10px;
	background-position:
		16px 16px,
		16px 42px,
		16px 68px,
		32px 86px,
		32px 102px,
		32px 118px,
		16px 138px,
		32px 156px,
		32px 172px,
		32px 188px,
		16px 208px,
		32px 226px,
		32px 242px,
		32px 258px,
		16px 278px,
		32px 296px,
		32px 312px,
		32px 328px;
	background-repeat: no-repeat;
}

.placeholderLoader .leftSidebar.placeholder_area .filter-top-label,
.placeholderLoader .leftSidebar.placeholder_area .ttbm_filter {
	display: none !important;
}

.placeholderLoader .leftSidebar.placeholder_area::before {
	display: none !important;
}

.placeholderLoader .leftSidebar.placeholder_area::after {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	bottom: 0;
	width: 60%;
	background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.55) 50%, transparent 100%);
	animation: ttbmGridCardShimmer 1.4s ease-in-out infinite;
	pointer-events: none;
	z-index: 5;
}

/* --- Lotus & Orchid grid cards ------------------------------------------ */
.placeholderLoader .flexWrap.lotus .filter_item.placeholder_area,
.placeholderLoader .flexWrap.orchid .filter_item.placeholder_area {
	overflow: hidden !important;
	background-color: var(--ttbm-skeleton-card) !important;
	box-shadow: 0 4px 18px rgba(20, 30, 60, 0.08);
	animation: none !important;
}

.placeholderLoader .flexWrap.lotus .filter_item.placeholder_area > *,
.placeholderLoader .flexWrap.orchid .filter_item.placeholder_area > * {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

.placeholderLoader .flexWrap.lotus .filter_item.placeholder_area::before,
.placeholderLoader .flexWrap.orchid .filter_item.placeholder_area::before {
	display: none !important;
}

.placeholderLoader .flexWrap.lotus .filter_item.placeholder_area::after,
.placeholderLoader .flexWrap.orchid .filter_item.placeholder_area::after {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	bottom: 0;
	width: 60%;
	background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.72) 50%, transparent 100%);
	animation: ttbmGridCardShimmer 1.4s ease-in-out infinite;
	pointer-events: none;
	z-index: 5;
}

.placeholderLoader .flexWrap.orchid .filter_item.placeholder_area {
	min-height: 400px;
	background-image:
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar));
	background-size:
		100% 210px,
		calc(100% - 32px) 16px,
		calc(65% - 16px) 16px,
		calc(45% - 16px) 12px,
		calc(42% - 16px) 14px,
		28% 14px,
		120px 36px;
	background-position:
		0 0,
		16px 226px,
		16px 248px,
		16px 272px,
		16px 304px,
		calc(100% - 16px - 28%) 304px,
		16px 346px;
	background-repeat: no-repeat;
}

.placeholderLoader .flexWrap.lotus .filter_item.placeholder_area {
	min-height: 440px;
	background-image:
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar));
	background-size:
		100% 210px,
		calc(100% - 32px) 16px,
		calc(65% - 16px) 16px,
		calc(50% - 16px) 12px,
		calc(40% - 16px) 14px,
		28% 14px,
		calc(100% - 32px) 10px,
		calc(75% - 16px) 10px,
		110px 36px;
	background-position:
		0 0,
		16px 226px,
		16px 248px,
		16px 278px,
		16px 306px,
		calc(100% - 16px - 28%) 306px,
		16px 338px,
		16px 354px,
		16px 390px;
	background-repeat: no-repeat;
}

/* --- Default tour cards (modern, grid, blossom, flora, premium) --------- */
.placeholderLoader .flexWrap:not(.lotus):not(.orchid) .filter_item.placeholder_area {
	min-height: 360px;
	overflow: hidden !important;
	background-color: var(--ttbm-skeleton-card) !important;
	box-shadow: 0 4px 18px rgba(20, 30, 60, 0.08);
	animation: none !important;
	background-image:
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar));
	background-size:
		100% 180px,
		calc(100% - 32px) 16px,
		calc(70% - 16px) 14px,
		calc(50% - 16px) 12px,
		100px 32px;
	background-position:
		0 0,
		16px 196px,
		16px 220px,
		16px 244px,
		16px 280px;
	background-repeat: no-repeat;
}

.placeholderLoader .flexWrap:not(.lotus):not(.orchid) .filter_item.placeholder_area > * {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

.placeholderLoader .flexWrap:not(.lotus):not(.orchid) .filter_item.placeholder_area::before {
	display: none !important;
}

.placeholderLoader .flexWrap:not(.lotus):not(.orchid) .filter_item.placeholder_area::after {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	bottom: 0;
	width: 60%;
	background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.72) 50%, transparent 100%);
	animation: ttbmGridCardShimmer 1.4s ease-in-out infinite;
	pointer-events: none;
	z-index: 5;
}

/* --- Location list & flexWrap grids ------------------------------------- */
.placeholderLoader .placeholder_area.flexWrap {
	background: transparent !important;
	animation: none !important;
}

.placeholderLoader .placeholder_area.flexWrap::before {
	display: none !important;
}

.placeholderLoader .placeholder_area.flexWrap > .filter_item,
.placeholderLoader .placeholder_area.flexWrap > .filter_item[data-placeholder] {
	position: relative;
	min-height: 260px;
	overflow: hidden !important;
	background-color: var(--ttbm-skeleton-card) !important;
	animation: none !important;
	background-image:
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar));
	background-size:
		100% 180px,
		calc(100% - 32px) 18px,
		calc(55% - 16px) 12px;
	background-position:
		0 0,
		16px 196px,
		16px 224px;
	background-repeat: no-repeat;
}

.placeholderLoader .placeholder_area.flexWrap > .filter_item > *,
.placeholderLoader .placeholder_area.flexWrap > .filter_item[data-placeholder] > * {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

.placeholderLoader .placeholder_area.flexWrap > .filter_item::before,
.placeholderLoader .placeholder_area.flexWrap > .filter_item[data-placeholder]::before {
	display: none !important;
}

.placeholderLoader .placeholder_area.flexWrap > .filter_item::after,
.placeholderLoader .placeholder_area.flexWrap > .filter_item[data-placeholder]::after {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	bottom: 0;
	width: 60%;
	background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.72) 50%, transparent 100%);
	animation: ttbmGridCardShimmer 1.4s ease-in-out infinite;
	pointer-events: none;
	z-index: 5;
}

/* --- Activity / taxonomy / attraction term cards ------------------------ */
.placeholderLoader .ttbm_activity_item[data-placeholder],
.placeholderLoader .ttbm_attraction_item[data-placeholder],
.placeholderLoader .ttbm_term_display_shortcode[data-placeholder] {
	position: relative;
	overflow: hidden !important;
	background-color: var(--ttbm-skeleton-shell) !important;
	animation: none !important;
	background-image:
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar));
	background-size:
		60px 60px,
		calc(100% - 40px) 16px,
		calc(70% - 40px) 12px;
	background-position:
		center 36px,
		center 112px,
		center 136px;
	background-repeat: no-repeat;
}

.placeholderLoader .ttbm_activity_item[data-placeholder] > *,
.placeholderLoader .ttbm_attraction_item[data-placeholder] > *,
.placeholderLoader .ttbm_term_display_shortcode[data-placeholder] > * {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

.placeholderLoader .ttbm_activity_item[data-placeholder]::after,
.placeholderLoader .ttbm_attraction_item[data-placeholder]::after,
.placeholderLoader .ttbm_term_display_shortcode[data-placeholder]::after {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	bottom: 0;
	width: 60%;
	background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.55) 50%, transparent 100%);
	animation: ttbmGridCardShimmer 1.4s ease-in-out infinite;
	pointer-events: none;
	z-index: 5;
}

/* --- Filter top bar (find page, hotel lists) ---------------------------- */
.placeholderLoader .filter_top_bar.placeholder_area {
	position: relative;
	min-height: 48px;
	overflow: hidden !important;
	background-color: var(--ttbm-skeleton-card) !important;
	animation: none !important;
	background-image:
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar)),
		linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar));
	background-size:
		180px 14px,
		72px 32px;
	background-position:
		16px center,
		calc(100% - 88px) center;
	background-repeat: no-repeat;
}

.placeholderLoader .filter_top_bar.placeholder_area > * {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

.placeholderLoader .filter_top_bar.placeholder_area::before {
	display: none !important;
}

.placeholderLoader .filter_top_bar.placeholder_area::after {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	bottom: 0;
	width: 60%;
	background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.55) 50%, transparent 100%);
	animation: ttbmGridCardShimmer 1.4s ease-in-out infinite;
	pointer-events: none;
	z-index: 5;
}

/* --- Top search filter shortcode (ttbm-top-search) ---------------------- */
.placeholderLoader.ttbm_top_filter.ttbm-top-search-modern .ttbm-top-search-row > .ttbm-top-search-field,
.placeholderLoader.ttbm_top_filter.ttbm-top-search-modern .ttbm-top-search-row > button {
	position: relative;
	overflow: hidden !important;
	color: transparent !important;
	background-color: var(--ttbm-skeleton-shell) !important;
	border-color: transparent !important;
	min-height: 56px;
	border-radius: 0;
}

.placeholderLoader.ttbm_top_filter.ttbm-top-search-modern .ttbm-top-search-row > .ttbm-top-search-field::after,
.placeholderLoader.ttbm_top_filter.ttbm-top-search-modern .ttbm-top-search-row > button::after {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	bottom: 0;
	width: 60%;
	background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.55) 50%, transparent 100%);
	animation: ttbmGridCardShimmer 1.4s ease-in-out infinite;
	pointer-events: none;
	z-index: 5;
}

.placeholderLoader.ttbm_top_filter:not(.ttbm-top-search-modern) .ttbm-top-search-row > *,
.placeholderLoader.ttbm_top_filter:not(.ttbm-top-search-modern) .flexWrap > * {
	position: relative;
	overflow: hidden !important;
	color: transparent !important;
	background-color: var(--ttbm-skeleton-shell) !important;
	border-color: transparent !important;
	min-height: 44px;
	min-width: 160px;
	border-radius: 8px;
}

.placeholderLoader.ttbm_top_filter:not(.ttbm-top-search-modern) .ttbm-top-search-row > *::after,
.placeholderLoader.ttbm_top_filter:not(.ttbm-top-search-modern) .flexWrap > *::after {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	bottom: 0;
	width: 60%;
	background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.55) 50%, transparent 100%);
	animation: ttbmGridCardShimmer 1.4s ease-in-out infinite;
	pointer-events: none;
	z-index: 5;
}

.placeholderLoader.ttbm_top_filter .ttbm-top-search-row > label,
.placeholderLoader.ttbm_top_filter .ttbm-top-search-row > button,
.placeholderLoader.ttbm_top_filter .ttbm-top-search-row > .ttbm-top-search-field,
.placeholderLoader.ttbm_top_filter .flexWrap > label,
.placeholderLoader.ttbm_top_filter .flexWrap > button {
	flex: 0 0 auto;
}

/* --- Modern filter bar count -------------------------------------------- */
.placeholderLoader .ttbm-filter-bar-count[data-placeholder] {
	position: relative;
	overflow: hidden;
	color: transparent !important;
	min-width: 120px;
	min-height: 20px;
	border-radius: 4px;
	background-color: transparent !important;
	background-image: linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar));
	background-size: 100px 14px;
	background-repeat: no-repeat;
	background-position: left center;
}

.placeholderLoader .ttbm-filter-bar-count[data-placeholder] > * {
	opacity: 0 !important;
	visibility: hidden !important;
}

/* --- Sort result / empty state lines ------------------------------------ */
.placeholderLoader .filter_short_result[data-placeholder],
.placeholderLoader .search_result_empty[data-placeholder] {
	color: transparent !important;
	background-image: linear-gradient(var(--ttbm-skeleton-bar), var(--ttbm-skeleton-bar));
	background-size: 140px 12px;
	background-repeat: no-repeat;
	background-position: left center;
}

/* --- Image slider placeholder ------------------------------------------- */
.placeholderLoader .superSlider.placeholder_area {
	position: relative;
	min-height: 320px;
	overflow: hidden !important;
	background-color: var(--ttbm-skeleton-shell) !important;
	animation: none !important;
}

.placeholderLoader .superSlider.placeholder_area > * {
	opacity: 0 !important;
	visibility: hidden !important;
}

.placeholderLoader .superSlider.placeholder_area::before {
	display: none !important;
}

.placeholderLoader .superSlider.placeholder_area::after {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	bottom: 0;
	width: 60%;
	background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.55) 50%, transparent 100%);
	animation: ttbmGridCardShimmer 1.4s ease-in-out infinite;
	pointer-events: none;
	z-index: 5;
}

@media only screen and (max-width: 767px) {
	.placeholderLoader .leftSidebar.placeholder_area {
		flex: 1 1 auto;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		height: 360px;
		min-height: 360px;
		max-height: 360px;
	}
}

@media only screen and (max-width: 991px) {
	.lotus .filter_item,
	.lotus .filter_item.grid_3 {
		width: calc(50% - 10px);
	}
}

@media only screen and (max-width: 767px) {
	.lotus .filter_item,
	.lotus .filter_item.grid_3 {
		width: 100%;
		min-width: 0;
	}

	.lotus .ttbm_list_info_wrapper {
		grid-template-columns: 1fr;
	}

	.lotus .ttbm_list_info_wrapper .ttbm_list_info:not(.location_name):has(.mi-clock-three) {
		grid-column: 1;
		text-align: left;
		justify-content: flex-start;
	}
}

#ttbm_related_tour {
	position: relative;
}

#ttbm_related_tour .ttbm_list_title {
	font-weight: 500;
	margin-bottom: 10px;
}

#ttbm_related_tour .owl-carousel {
	margin-top: 20px;
}

#ttbm_related_tour .ttbm_description {
	display: none;
}

#ttbm_related_tour .divider {
	display: none;
}

#ttbm_related_tour .ttbm_list_info {
	margin-top: 0;
}

#place_you_see .filter_item h6 {
	margin: 5px 0;
}

#ttbm_content .day_wise_details_item_title {
	padding-bottom: 5px;
}

#ttbm_content .ttbm_day_wise_timeline .day_wise_details_item_title {
	padding-bottom: 20px;
}

.ttbm_review_container h4.ttbm-review-title {
	font-weight: normal;
}

/**********Location list******************************/
[data-bg-image] .ttbm_list_title {
	color: #FFF;
}

/****************************************/
/****************************************/
/****************************************/
@media only screen and (: 600px) {
	.ttbm_date-picker-input {
		width: 100%;
	}
}

@media only screen and (: 1199px) {
	div.filter_item {
		min-width: calc(50% - var(--ttbm_mp));
	}
}

@media only screen and (: 1024px) {
	div.ttbm_filter_area .leftSidebar {
		: 250px;
	}

	div.ttbm_filter_area .mainSection {
		: calc(100% - 270px);
	}

	div.modern .bg_image_area {
		width: 200px;
	}

	div.modern div.ttbm_list_details {
		max-width: calc(100% - 200px - var(--ttbm_mp))
	}
}

@media only screen and (max-width: 991px) {
	div.pagination_area button.active_pagination {
		min-width: 40px;
	}

	div.pagination_area button[class*="dButton_xs"] {
		min-width: 30px;
	}

	div.filter_item {
		min-width: calc(50% - 16px);
	}

	div.modern .include_service {
		display: none;
	}
}

@media only screen and (max-width: 767px) {
	div.left_filter {
		-webkit-flex-direction: column;
		flex-direction: column;
	}

	div.left_filter .groupCheckBox {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	div.left_filter .groupCheckBox label {
		margin: 0 var(--ttbm_mp) var(--ttbm_mp_xs) 0;
	}

	div.ttbm_filter_area .leftSidebar [data-collapse].mActive {
		display: none;
	}

	div.ttbm_filter_area .leftSidebar {
		max-width: 100%;
	}

	div.ttbm_filter_area .mainSection {
		max-width: 100%;
		margin: var(--ttbm_mp) 0;
	}

	div.all_filter_item>div {
		margin: 0;
		width: 100%;
	}

	div.filter_item {
		min-width: 100%;
		margin: var(--ttbm_mp_xs) 0;
	}

	div.modern .include_service {
		display: block;
	}

	div.modern div.ttbm_list_details {
		max-width: 100%;
		padding-top: 15px;
	}

	div.modern .bg_image_area {
		width: 100%;
	}

	div.modern div.filter_item {
		-webkit-flex-direction: column;
		flex-direction: column;
		padding: var(--ttbm_mp);
	}
}

@media only screen and (max-width: 600px) {}

@media only screen and (max-width: 500px) {}


/* ======hotels settings sidebar modal========= */

.ttbm-modal-container {
	position: fixed;
	right: -100%;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.1725490196);
	transition: right 0.3s ease;
	z-index: 1000;
}

.ttbm-modal-container.open {
	right: 0;
	/* Slide in */
}

.ttbm-modal-container .ttbm-modal-content {
	background-color: #fff;
	width: 600px;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	padding: 70px 0px;
	border-radius: 20px 0 0 20px;
}

.ttbm-modal-container .ttbm-modal-content .title {
	padding-left: 40px;
}

.ttbm-modal-container .ttbm-modal-content .ttbm-modal-close {
	position: absolute;
	top: 40px;
	right: 15px;
	font-size: 20px;
	cursor: pointer;
}

.ttbm-modal-container .ttbm-modal-content .content {
	height: 100%;
	overflow-y: scroll;
	padding: 0 40px;
	padding-bottom: 40px;
}

.ttbm-modal-container .ttbm-modal-content p {
	margin: 15px 0;
}

.ttbm-modal-container .ttbm-modal-content h3 {
	font-size: 18px;
	padding: 0;
	margin: 5px 0;
	margin-bottom: 30px;
}

.ttbm-modal-container .ttbm-modal-content input[type=text],
.ttbm-modal-container .ttbm-modal-content input[type=number],
.ttbm-modal-container .ttbm-modal-content textarea,
.ttbm-modal-container .ttbm-modal-content select {
	width: 100%;
	display: block;
	font-weight: normal;
	padding: 10px;
	font-size: 18px;
	border: 1px solid #dfdfdf;
}

.ttbm-modal-container .ttbm-modal-content label {
	display: flex;
	justify-content: start;
	align-items: start;
	flex-direction: column;
	font-weight: normal;
	font-size: 18px;
	gap: 7px;
	margin: 15px 0;
}

.ttbm-modal-container .ttbm-modal-content .ttbm_add_icon_image_area {
	position: relative;
	max-width: 202px;
	margin: 10px 0;
}

.ttbm-modal-container .ttbm-modal-content .ttbm_add_icon_image_area .ttbm_add_icon_image_button_area {
	display: flex;
	flex-direction: row;
	justify-content: start;
	border: 1px solid #8c8f94;
	width: 100%;
	border-radius: 3px;
}

.ttbm-modal-container .ttbm-modal-content .ttbm_add_icon_image_area .ttbm_add_icon_image_button_area .ttbm_image_add,
.ttbm-modal-container .ttbm-modal-content .ttbm_add_icon_image_area .ttbm_add_icon_image_button_area .ttbm_icon_add {
	padding: 10px 26px;
	border-radius: 0;
	margin: 1px;
}


/* ==============Hotel new style=========== */

.ttbm-hotel-details:not(.ttbm-hotel-details-page) {
	margin: 50px auto;
	background-color: #fff;
	padding: 10px;
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .ttbm-hero-header {
	display: flex;
	justify-content: space-between;
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .title-section {
	display: flex;
	flex-direction: column;
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .title-section .title {
	margin: 8px 0;
	font-size: 32px;
	font-weight: bold;
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .ttbm-rating-stars {
	font-size: 12px;
	color: #ffb700;
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .ttbm-hero-header p.location-info {
	color: #555;
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .location-info i {
	color: var(--color_theme);
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .sharing-meta {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: end;
	align-items: end;
	gap: 10px;
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .sharing-info {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	gap: 10px;

}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .sharing-info i {
	padding: 15px;
	color: var(--color_theme);
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .sharing-info i:hover {
	background-color: #dfecfb;
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .sharing-info .button {
	padding: 8px 10px;
	border: none;
	border-radius: 4px;
	font-weight: normal;
	background-color: var(--color_theme);
	color: #fff;
	font-size: 14px;
	margin: 0;
}

.ttbm-hotel-details .price-match .button {
	padding: 8px 10px;
	border: none;
	border-radius: 4px;
	background: none;
	box-shadow: none;
	color: var(--color_theme);
	font-weight: normal;
}

.ttbm-hotel-details .price-match button i {
	margin-right: 5px;
}

.ttbm-hotel-details .price-match button:hover {
	color: var(--color_theme);
	background: #dfecfb;
}

/* ttbm-hero-area */
.ttbm-hotel-details .ttbm-hero-area {
	display: flex;
	align-items: start;
	justify-content: center;
	margin: 20px 0;
	gap: 20px;
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .slider-area {
	width: 80%;
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .review-map-container {
	width: 20%;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ttbm-hotel-details .review-container {
	border: 1px solid #ddd;
}

.ttbm-hotel-details .review-rating {
	display: flex;
	justify-content: end;
	gap: 10px;
	padding: 10px;
	border-bottom: 1px solid #ddd;
	align-items: start;
}

.ttbm-hotel-details .review-rating .review {
	text-align: right;
}

.ttbm-hotel-details .review-rating .review h3 {
	font-size: 16px;
	font-weight: normal;
}

.ttbm-hotel-details .review-container .review-rating .review p {
	font-size: 10px;
	color: #666;
	line-height: 12px;
}

.ttbm-hotel-details .review-rate {
	background-color: var(--color_theme);
	color: #fff;
	font-size: 19px;
	font-weight: bold;
	padding: 10px;
	padding: 5px;
	border-radius: 3px;
}

.ttbm-hotel-details .review-testimonial {
	padding: 10px;
	border-bottom: 1px solid #ddd;
}

.ttbm-hotel-details div.review-testimonial h2 {
	font-size: 12px;
	font-weight: normal;
}

.ttbm-hotel-details .review-testimonial .testimonial {
	font-size: 12px;
	margin: 10px 0;
}

.ttbm-hotel-details .service-rating {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px;
}

.ttbm-hotel-details .service-rating h3 {
	font-size: 16px;
	font-weight: bold;
}

.ttbm-hotel-details .service-rating .service-rate {
	color: #000;
	font-size: 19px;
	font-weight: normal;
	padding: 10px;
	padding: 5px;
	border: 1px solid #666;
	border-radius: 3px;
}

.ttbm-hotel-details .ttbm-modal-content .content .faq-question {
	margin: 10px 0;
	margin-top: 20px;
}

.ttbm-hotel-details .ttbm-modal-content .content .faq-anwser {
	background-color: #f8f8f8;
	padding: 10px;
	border-radius: 5px;
}

/* =========ttbm-content-area======== */
.ttbm-hotel-details .ttbm-content-area {
	display: flex;
	justify-content: space-between;
	align-items: start;
	gap: 10px;
}

.ttbm-hotel-details .ttbm-content-left {
	width: 75%;
}

.ttbm-hotel-details .ttbm-content-left .content-details {
	margin-bottom: 20px;
}

.ttbm-hotel-details .ttbm-content-left div.content-details p {
	margin-bottom: 20px;
	font-size: 14px;
	color: #333;
}

.ttbm_default_theme .ttbm-hotel-details:not(.ttbm-hotel-details-page) h2 {
	font-size: 1.6em;
	color: #000;
	margin: 10px 0;
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .ttbm-content-left .popular-facilities {
	margin-bottom: 20px;
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) h2 {
	font-size: 14px;
	margin-bottom: 10px;
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .ttbm-content-left .popular-facilities ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .ttbm-content-left .popular-facilities li {
	display: flex;
	justify-content: start;
	align-items: center;
	gap: 10px;
	margin: 5px;
	background: #f0f6ff;
	border: 1px solid #e1e3e7;
	padding: 10px 5px;
	border-radius: 5px;
	font-size: 14px;
	width: 32%;
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .ttbm-content-left .popular-facilities i {
	font-size: 20px;
	color: var(--color_theme);
}

/* right sidebar */
.ttbm-hotel-details .ttbm-content-right {
	width: 25%;
	background-color: #f0f6ff;
	padding: 20px;
	border-radius: 4px;
	/* box-shadow: 0 4px 12px rgb(74 73 73 / 22%); */
}

.ttbm-hotel-details .ttbm-content-right .widgets {
	margin: 0 0 20px 0;
}

.ttbm-hotel-details .ttbm-content-right .widgets h2 {
	font-size: 14px;
	margin: 15px 0;
	font-weight: bold;
	color: #000;
}

.ttbm-hotel-details .ttbm-content-right .widgets .widgets-text {
	font-size: 14px;
	color: #333;
	display: flex;
	gap: 10px;
}

.ttbm-hotel-details .ttbm-content-right .widgets .widgets-text i {
	font-size: 20px;
	width: 20px;
	height: 20px;
}

.ttbm-hotel-details .ttbm-content-right .activities-info .widgets-text {
	flex-direction: column;
	gap: 10px 0;
}

.ttbm-hotel-details .ttbm-content-right .widgets-button {
	width: 100%;
	padding: 10px;
	font-weight: normal;
	background-color: var(--color_theme);
	margin-top: 30px;
	text-align: center;
	color: #fff;
}

.ttbm-hotel-details div.ttbm_registration_area {
	box-shadow: 0 0px 1px #aaa;
}

/* ========faq==== */

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .faq-area .faq-groups {
	display: flex;
	justify-content: start;
	gap: 10px;
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .faq-area .faq-group {
	border: 1px solid #ddd;
	padding: 0 20px;
	border-radius: 5px;
	width: 49%;
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .faq-area .faq-item {
	font-size: 18px;
	padding: 15px 0;
	border-bottom: 1px solid #ddd;
	position: relative;
	cursor: pointer;

}

.ttbm_style.related-hotel div.grid_4 {
	width: calc(25% - 20px);
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .faq-area .faq-item::after {
	content: '\f043';
	font-family: mageicon;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .faq-area .faq-question {
	font-size: 14px;
	display: flex;
	justify-content: start;
	align-items: center;
	gap: 10px;
}

.badge-gray {
	background-color: #f8f8f8;
	color: #000;
	padding: 3px 8px;
	border-radius: 3px;
	font-size: 12px;
	font-weight: normal;
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .faq-area .faq-question i {
	font-size: 20px;
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .faq-area .faq-question span {
	padding-right: 20px;
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .faq-area .faq-item:last-child {
	border-bottom: 0 solid #ddd;
}

/* =======ttbm-feature-list=========== */
.ttbm-hotel-details:not(.ttbm-hotel-details-page) .ttbm-feature-list {
	display: flex;
	justify-content: start;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
	margin: 20px 0;
	/* background: #e9eced; */
	border: 1px solid #f3efef;
	padding: 10px;
	border-radius: 10px;
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .ttbm-feature-list .feature-items {
	padding: 5px 15px;
	border-radius: 5px;
	display: flex;
	width: 24%;
	align-items: center;
	gap: 10px;
	font-size: 14px;
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .ttbm-feature-list .feature-items i {
	font-size: 20px;
	color: var(--color_theme);
}

/* .ttbm-hotel-details */
.ttbm-hotel-details:not(.ttbm-hotel-details-page) .ttbm-hotel-area-info {
	margin: 50px 0;
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .ttbm-hotel-area-info .ttbm-area-section {
	display: flex;
	justify-content: start;
	align-items: start;
	gap: 50px;
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .ttbm-hotel-area-info .ttbm-area-items {
	width: 30%;
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .ttbm-hotel-area-info .ttbm-area-items h2 {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 10px;
	display: flex;
	align-items: center;
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .ttbm-hotel-area-info .ttbm-area-items h2 i {
	margin-right: 5px;
	font-size: 20px;
}

.ttbm-hotel-details:not(.ttbm-hotel-details-page) .ttbm-hotel-area-info .ttbm-area-item {
	display: flex;
	justify-content: space-between;
	margin: 10px 0;
	padding: 5px 0;
	border-bottom: 1px dotted #ddd999;
}

.ttbm_style .mp_tour_ticket_type .groupContent {
	justify-content: right;
}

div.ttbm_style .ttbm_hotel_room_incDec .formControl {
	width: 60px;
	text-align: center;
}

@media (max-width:1024px) {
	.ttbm-hero-area {
		flex-direction: column;
	}

	.ttbm-hotel-details .slider-area {
		width: 100%;
	}

	.ttbm-hotel-details:not(.ttbm-hotel-details-page) .review-map-container {
		width: 100%;
	}

	.ttbm-content-area {
		flex-direction: column;
	}

	.ttbm-hotel-details .ttbm-content-left {
		width: 100%;
	}

	.ttbm-hotel-details .ttbm-content-right {
		width: 100%;
	}

	.ttbm-hotel-details:not(.ttbm-hotel-details-page) .faq-area .faq-groups {
		flex-direction: column;
	}

	.ttbm-hotel-details:not(.ttbm-hotel-details-page) .faq-area .faq-group {
		width: 100%;
	}

	.ttbm-hotel-details:not(.ttbm-hotel-details-page) .ttbm-hotel-area-info .ttbm-area-section {
		flex-direction: column;
	}

	.ttbm-hotel-details:not(.ttbm-hotel-details-page) .ttbm-hotel-area-info .ttbm-area-items {
		width: 100%;
	}

	.ttbm-modal-container .ttbm-modal-content {
		width: auto;
	}

	.ttbm-modal-container .ttbm-modal-content .content,
	.ttbm-modal-container .ttbm-modal-content .title {
		padding: 0 20px;
	}
}

/* Enhanced Ticket Availability Styles */

.ttbm_enhanced_table {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
	
}

.ttbm_table_header {
	background: #f8f9fa;
	border-bottom: 2px solid #e9ecef;
	display: none;
}
tr.ttbm_hidden_inputs {
    display: none;
}
tr.ttbm_attendee_form_row {
	display: block;
	width: 100%;
}
tr.ttbm_attendee_form_row td {
	display: block;
	width: 100% !important;
	max-width: 100%;
	box-sizing: border-box;
	padding: 8px 0 16px;
	border-bottom: 0;
	text-align: left !important;
}
tr.ttbm_attendee_form_row .ttbm_attendee_form_item,
tr.ttbm_attendee_form_row .ttbm-attendee-form {
	width: 100%;
	max-width: 100%;
}
.ttbm_table_header th {
	padding: 16px 20px;
	font-weight: normal;
	text-align: left;
	color: #495057;
	font-size: 14px;
	text-transform: capitalize;
	letter-spacing: 0.5px;
}

.ttbm_ticket_row {
	border-bottom: 1px solid #e9ecef;
	transition: all 0.3s ease;
	position: relative;
}

.ttbm_ticket_row:hover {
	background: #f8f9fa;
}

.ttbm_ticket_row td {
	padding: 20px;
	vertical-align: middle;
	position: relative;
}

.ttbm_ticket_row td:first-child {
	padding: 10px;
	vertical-align: middle;
	position: relative;
}

.person-info {
	display: flex;
	align-items: center;
	gap: 12px;
}

.ttbm_ticket_icon {
	font-size: 24px;
	color: #667eea;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin: 0;
}

.ttbm_ticket_details {
	display: block;
}

.ttbm_ticket_details h4 {
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	color: #2c3e50;
}

.ttbm_ticket_description {
	font-size: 13px;
	color: #6c757d;
	line-height: 1.4;
}

.ttbm_price_container {
	position: relative;
	text-align: center;
}

.ttbm_ticket_area .ttbm_price_container {}


.ttbm_regular_price.strikeLine .woocommerce-Price-amount {
	font-size: 14px;
	color: #6c757d;
	text-decoration: line-through;
	display: inline-block;
	margin: 0;
}

.ttbm_sale_price {
	font-size: 18px;
	font-weight: 700;
	color: #333;
	display: inline-block;
	margin: 0;
}

.ttbm_discount_badge {
	background: #dc3545;
	color: white;
	font-size: 11px;
	font-weight: 600;
	padding: 2px 6px;
	border-radius: 8px;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	position: absolute;
	top: -20px;
	right: 40px;
	z-index: 0;
}


.ttbm_stock_info {
	display: block;
}

.ttbm_remaining_count {
	display: block;
}

.ttbm_available_number {
	font-size: 12px;
	font-weight: 700;
	color: #333;
	margin-right: 5px;
}

.ttbm_available_label {
	font-size: 12px;
	color: #333;
	text-transform: uppercase;
	letter-spacing: 0.3px;
}

.ttbm_capacity_info {
	margin-top: 5px;
}

.ttbm_capacity_text {
	font-size: 13px;
	color: #333;
	display: block;
	margin-bottom: 4px;
}

.ttbm_progress_bar {
	width: 100%;
	height: 8px;
	background: #e9ecef;
	border-radius: 4px;
	overflow: hidden;
	position: relative;
	border: 1px solid #dee2e6;
}

.ttbm_progress_fill {
	height: 100%;
	transition: width 0.5s ease, background-color 0.3s ease;
	border-radius: 3px;
	min-width: 2px;
}

.ttbm_progress_in_stock {
	background: linear-gradient(90deg, #28a745, #20c997);
}

.ttbm_progress_medium_stock {
	background: linear-gradient(90deg, #ffc107, #fd7e14);
}

.ttbm_progress_sold_out {
	background: #6c757d;
}

.ttbm_stock_status.sold_out {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #dc3545;
	font-weight: 600;
	font-size: 14px;
	padding: 10px 15px;
	background: rgba(220, 53, 69, 0.1);
	border-radius: 20px;
	border: 2px solid rgba(220, 53, 69, 0.2);
}

.ttbm_sold_out {
	background: rgba(220, 53, 69, 0.02) !important;
	opacity: 0.7;
}

.ttbm_sold_out td::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 4px;
	height: 100%;
	background: #dc3545;
}

.ttbm_not_available {
	color: #6c757d;
	font-style: italic;
	font-size: 14px;
	padding: 8px 16px;
	background: #f8f9fa;
	border-radius: 15px;
	border: 1px dashed #dee2e6;
}

/* Desktop column centering */
.ttbm_enhanced_table .ttbm-select-quantity {
	text-align: center;
}

.ttbm_enhanced_table .ttbm-select-quantity .qtyIncDec {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
}

.ttbm_enhanced_table .ttbm-select-quantity .ttbm_sold_out_message {
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* Availability column centering */
.ttbm_enhanced_table .ttbm-availability-info {
	text-align: center;
}

.ttbm_enhanced_table .ttbm_availability_container {
	display: inline-block;
	text-align: center;
}

.ttbm_enhanced_table .ttbm_stock_info {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.ttbm_enhanced_table .ttbm_availability_details {
	display: flex;
	flex-direction: column;
	align-items: end;
	text-align: right;
}

.ttbm_enhanced_table .ttbm_remaining_count {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
}

.ttbm_enhanced_table .ttbm_capacity_info {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.ttbm_enhanced_table .ttbm_stock_status.sold_out {
	margin: 0 auto;
	display: inline-flex;
}

@media (max-width: 768px) {
	.ttbm_enhanced_ticket_area {
		padding: 10px 0;
	}

	.ttbm_enhanced_table {
		font-size: 14px;
		display: block;
		width: 100%;
		margin: 0;
		border-collapse: separate;
		border-spacing: 0 15px;
	}

	.ttbm_table_header {
		display: none;
	}

	.ttbm_ticket_row {
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 15px;
		background: #fff;
		border-radius: 8px;
		box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
		position: relative;
		overflow: hidden;
	}

	.ttbm_ticket_row td {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		padding: 12px 15px;
		width: 100%;
		border-bottom: 1px solid #f0f0f0;
	}

	.ttbm_ticket_row td:last-child {
		border-bottom: none;
	}

	/* Left column for labels */
	.ttbm_ticket_row td::before {
		content: attr(data-label);
		font-weight: 600;
		font-size: 13px;
		color: #495057;
		margin-right: 10px;
	}

	.ttbm_ticket_row td.ttbm-person-info::before {
		content: 'Ticket Type';
	}

	.ttbm_ticket_row td.ttbm-regular-price::before {
		content: 'Price';
	}

	.ttbm_ticket_row td.ttbm-availability-info::before {
		content: 'Availability';
	}

	.ttbm_ticket_row td.ttbm-select-quantity::before {
		content: 'Quantity';
	}

	/* Special handling for ticket type cell */
	.ttbm_ticket_row td.ttbm-person-info {
		background-color: #f8f9fa;
		border-radius: 8px 8px 0 0;
		border-left: 4px solid #667eea;
	}

	/* Right column for content */
	.person-info {
		display: flex;
		align-items: center;
		gap: 10px;
		margin-left: auto;
	}

	.ttbm_ticket_icon {
		font-size: 18px;
	}

	.ttbm_ticket_details h4 {
		font-size: 14px;
		font-weight: 600;
		margin: 0;
	}

	/* Price styling */
	.ttbm_price_container {
		display: flex;
		align-items: center;
		gap: 8px;
		margin-left: auto;
		flex-direction: row;
	}

	.ttbm_regular_price.strikeLine {
		font-size: 12px;
		color: #6c757d;
	}

	.ttbm_sale_price {
		font-size: 16px;
		font-weight: 700;
		color: #28a745;
	}

	.ttbm_discount_badge {
		padding: 2px 6px;
		background: #dc3545;
		color: white;
		border-radius: 20px;
		margin-left: 5px;
		position: relative;
		top: auto;
		right: auto;


	}

	/* Availability styling */
	.ttbm_availability_container {
		margin-left: auto;
	}

	.ttbm_remaining_count {
		display: flex;
		align-items: center;
		gap: 5px;
	}

	.ttbm_available_number {
		font-size: 16px;
		font-weight: 700;
		color: #28a745;
	}

	.ttbm_available_label {
		font-size: 12px;
		color: #6c757d;
	}

	.ttbm_capacity_info {
		display: none;
		/* Hide on mobile for cleaner look */
	}

	/* Quantity section */
	.ttbm-select-quantity .qtyIncDec {
		margin-left: auto;
		min-width: 150px;
	}

	div.ttbm_booking_panel td.ttbm-availability-info {
		background-color: #f8f9fa;
		padding: 5px 15px;
	}
}

@media (max-width: 480px) {
	.ttbm_enhanced_ticket_area {
		padding: 5px 0;
		margin: 10px 0;
	}

	.ttbm_ticket_row {
		margin-bottom: 12px;
		border-radius: 6px;
		box-shadow: 0 1px 6px rgba(0, 0, 0, 0.06);
	}

	.ttbm_ticket_row td {
		padding: 10px 12px;
	}

	.ttbm_ticket_row td::before {
		font-size: 12px;
	}

	.person-info {
		gap: 6px;
	}

	.ttbm_ticket_icon {
		font-size: 16px;
	}

	.ttbm_ticket_details h4 {
		font-size: 13px;
	}

	.ttbm_price_container {
		gap: 4px;
	}

	.ttbm_regular_price.strikeLine {
		font-size: 11px;
	}

	.ttbm_sale_price {
		font-size: 14px;
	}

	.ttbm_discount_badge {
		font-weight: 600;
		position: relative;
		top: auto;
		right: auto;
	}

	.ttbm_available_number {
		font-size: 14px;
	}

	.ttbm_available_label {
		font-size: 10px;
	}


}

/* Extra Service Availability Styling */
.ttbm_extra_service_area .ttbm_availability_container {
	padding: 5px 0;
	min-width: 150px;
	text-align: center;
}

.ttbm_extra_service_area .ttbm_stock_info {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.ttbm_extra_service_area .ttbm_availability_details {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.ttbm_extra_service_area .ttbm_remaining_count {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 12px;
	color: #333;
}

.ttbm_extra_service_area .ttbm_available_number {
	color: #333;
	font-size: 12px;
	font-weight: 700;
}

.ttbm_extra_service_area .ttbm_available_label {
	color: #333;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.ttbm_extra_service_area .ttbm_capacity_info {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	width: 100%;
}

.ttbm_extra_service_area .ttbm_capacity_text {
	font-size: 11px;
	color: #333;
	text-align: center;
}

.ttbm_extra_service_area .ttbm_progress_bar {
	width: 100%;
	height: 6px;
	background: #e9ecef;
	border-radius: 3px;
	overflow: hidden;
	border: 1px solid #dee2e6;
}



.ttbm_extra_service_area .ttbm_progress_fill {
	height: 100%;
	transition: width 0.5s ease, background-color 0.3s ease;
	border-radius: 3px;
	min-width: 2px;
}

.ttbm_extra_service_area .ttbm_progress_in_stock {
	background: linear-gradient(90deg, #28a745, #20c997);
}

.ttbm_extra_service_area .ttbm_progress_sold_out {
	background: #6c757d;
}

.ttbm_extra_service_area .ttbm_stock_status.sold_out {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #dc3545;
	font-weight: 600;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.ttbm_extra_service_area .ttbm_stock_status.sold_out i {
	color: #dc3545;
}

.ttbm_smart_theme .ttbm_popup .popupMainArea {
	max-height: 95vh;
	min-width: 850px;
	background: #fff;
	border-radius: 8px;
	position: relative;
	overflow-y: auto;
}

@media (max-width: 900px) {
	.ttbm_smart_theme .ttbm_popup .popupMainArea {
		min-width: 90%;
		max-width: 95%;
		margin: 20px auto;
	}
}

@media (max-width: 768px) {
	.ttbm_smart_theme .ttbm_popup .popupMainArea {
		min-width: 95%;
		width: 95%;
		margin: 10px auto;
		padding: 15px;
		max-height: 90vh;
	}

	.ttbm_smart_theme .ttbm_popup .popupMainArea .ttbm_booking_panel {
		padding: 0;
	}

	/* Ensure close button is visible and tappable */
	.ttbm_smart_theme .ttbm_popup .closePopup {
		top: 10px;
		right: 10px;
		z-index: 1000;
		background: #fff;
		border-radius: 50%;
		width: 30px;
		height: 30px;
		display: flex;
		align-items: center;
		justify-content: center;
		box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
	}
}


.ttbm-seasonal-price-info {
	display: flex;
	flex-direction: column;
	margin-top: 5px;
	font-size: 12px;
}

/* TTBM Filter Icon Styles */
.ttbm_filter_icon_container {
	position: relative;
	display: block;
}

.ttbm_filter_icon {
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
	pointer-events: none;
	opacity: 0.6;
}

.ttbm_filter_input_with_icon {
	padding-left: 30px !important;
}

/* ===============================
   LEFT SIDEBAR FILTER (card layout)
   =============================== */

.ttbm_filter_area .leftSidebar .filter-top-label,
.ttbm-tour-list-shortcode .filter-top-label {
	padding: 16px 16px 12px;
}

.ttbm_filter_area .leftSidebar .filter-top-label .ttbm-filter-top-title,
.ttbm-tour-list-shortcode .filter-top-label .ttbm-filter-top-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.ttbm_filter_area .leftSidebar .filter-top-label .filter-subtitle,
.ttbm-tour-list-shortcode .filter-top-label .filter-subtitle {
	margin: 6px 0 0;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.45;
	color: #6b7aa5;
}

.ttbm_filter_area .leftSidebar .ttbm-mobile-filter-toggle,
.ttbm-tour-list-shortcode .ttbm-mobile-filter-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 34px;
	padding: 7px 10px;
	border: 1px solid rgba(90, 86, 224, 0.18);
	border-radius: 8px;
	background: #fff;
	color: var(--color_theme, #5a56e0);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	white-space: nowrap;
}

.ttbm_filter_area .leftSidebar .ttbm-mobile-filter-toggle .fas,
.ttbm-tour-list-shortcode .ttbm-mobile-filter-toggle .fas {
	font-size: 12px;
	color: inherit;
	transition: transform 0.2s ease;
}

.ttbm_filter_area .leftSidebar .ttbm-mobile-filter-toggle.is-open .fas,
.ttbm-tour-list-shortcode .ttbm-mobile-filter-toggle.is-open .fas {
	transform: rotate(180deg);
}

/* Filter section cards */
.ttbm_filter_area .leftSidebar .ttbm_filter > h5,
.ttbm-tour-list-shortcode .leftSidebar .ttbm_filter > h5 {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin: 0 0 12px;
	padding: 14px 16px;
	border: 1px solid rgba(120, 140, 200, 0.14);
	border-radius: 14px;
	background: #ffffff;
	box-shadow: 0 4px 16px rgba(20, 40, 120, 0.06);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--color_theme, #5a56e0);
	cursor: pointer;
	transition: box-shadow 0.2s ease, background-color 0.2s ease;
}

.ttbm_filter_area .leftSidebar .ttbm_filter > h5:hover,
.ttbm-tour-list-shortcode .leftSidebar .ttbm_filter > h5:hover {
	box-shadow: 0 6px 20px rgba(20, 40, 120, 0.09);
}

.ttbm_filter_area .leftSidebar .ttbm_filter > h5 > span:first-child,
.ttbm-tour-list-shortcode .leftSidebar .ttbm_filter > h5 > span:first-child {
	display: inline-flex;
	margin-bottom: 0px;
	align-items: center;
	padding-bottom: 10px;
	gap: 8px;
	border-bottom: 1px dotted #e1d8d8;
}

.ttbm_filter_area .leftSidebar .ttbm_filter > h5 i,
.ttbm-tour-list-shortcode .leftSidebar .ttbm_filter > h5 i {
	font-size: 15px;
	color: var(--color_theme, #5a56e0);
}

.ttbm_filter_area .leftSidebar .ttbm_filter > h5 [data-icon],
.ttbm-tour-list-shortcode .leftSidebar .ttbm_filter > h5 [data-icon] {
	font-size: 12px;
	color: var(--color_theme, #5a56e0);
	transition: transform 0.25s ease;
}

.ttbm_filter_area .leftSidebar .ttbm_filter > h5._alignCenter [data-icon],
.ttbm-tour-list-shortcode .leftSidebar .ttbm_filter > h5._alignCenter [data-icon] {
	transform: rotate(0deg);
}

.ttbm_filter_area .leftSidebar .ttbm_filter > .divider,
.ttbm-tour-list-shortcode .leftSidebar .ttbm_filter > .divider {
	display: none;
}

.ttbm_filter_area .leftSidebar .ttbm_filter > [data-collapse],
.ttbm-tour-list-shortcode .leftSidebar .ttbm_filter > [data-collapse] {
	margin: -8px 0 12px;
	padding: 0 16px 16px;
	border: 1px solid rgba(120, 140, 200, 0.14);
	border-top: none;
	border-radius: 0 0 14px 14px;
	background: #ffffff;
	box-shadow: 0 8px 18px rgba(20, 40, 120, 0.05);
}

.ttbm_filter_area .leftSidebar .ttbm_filter > h5 + .divider + [data-collapse].mActive,
.ttbm-tour-list-shortcode .leftSidebar .ttbm_filter > h5 + .divider + [data-collapse].mActive {
	margin-top: -22px;
	padding-top: 8px;
}

.ttbm_filter_area .leftSidebar .ttbm_filter > h5:has(+ .divider + [data-collapse].mActive),
.ttbm-tour-list-shortcode .leftSidebar .ttbm_filter > h5:has(+ .divider + [data-collapse].mActive) {
	margin-bottom: 0;
	border-radius: 14px 14px 0 0;
	border-bottom: none;
	box-shadow: none;
}

/* Checkbox options */
.ttbm_filter_area .leftSidebar .ttbm_filter .groupCheckBox,
.ttbm-tour-list-shortcode .leftSidebar .ttbm_filter .groupCheckBox {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0;
	padding: 0;
}

.ttbm_filter_area .leftSidebar .customCheckboxLabel,
.ttbm-tour-list-shortcode .leftSidebar .customCheckboxLabel {
	margin-bottom: 0;
	padding: 8px 0;
	font-size: 14px;
	font-weight: 500;
	color: #2d3a5a;
}

.ttbm_filter_area .leftSidebar .customCheckbox,
.ttbm-tour-list-shortcode .leftSidebar .customCheckbox {
	padding-left: 28px;
	line-height: 20px;
	color: #2d3a5a;
}

.ttbm_filter_area .leftSidebar .customCheckbox .mR_xs,
.ttbm-tour-list-shortcode .leftSidebar .customCheckbox .mR_xs {
	display: none;
}

.ttbm_filter_area .leftSidebar .customCheckbox::before,
.ttbm-tour-list-shortcode .leftSidebar .customCheckbox::before {
	width: 18px;
	height: 18px;
	border: 1.5px solid #c5cfe0;
	border-radius: 5px;
	background-color: #fff;
	top: 1px !important;
}

.ttbm_filter_area .leftSidebar .customCheckboxLabel input:checked ~ .customCheckbox::before,
.ttbm-tour-list-shortcode .leftSidebar .customCheckboxLabel input:checked ~ .customCheckbox::before {
	background: var(--color_theme, #5a56e0);
	border-color: var(--color_theme, #5a56e0);
}

.ttbm_filter_area .leftSidebar .customCheckboxLabel input:checked ~ .customCheckbox::after,
.ttbm-tour-list-shortcode .leftSidebar .customCheckboxLabel input:checked ~ .customCheckbox::after {
	left: 4px;
	top: 6px !important;
	border-color: #fff;
}

.ttbm_filter_area .leftSidebar .ttbm_see-more-button,
.ttbm-tour-list-shortcode .leftSidebar .ttbm_see-more-button {
	margin-top: 6px;
	padding: 10px;
	border: none;
	background: transparent;
	color: var(--color_theme, #5a56e0);
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
}

.ttbm_filter_area .leftSidebar .ttbm_filter .formControl,
.ttbm-tour-list-shortcode .leftSidebar .ttbm_filter .formControl {
	margin-top: 10px;
	border: 1px solid rgba(120, 140, 200, 0.22);
	border-radius: 8px;
	background: #f8faff;
}

.ttbm_filter_area .leftSidebar div.ttbm_filter::-webkit-scrollbar,
.ttbm-tour-list-shortcode .leftSidebar div.ttbm_filter::-webkit-scrollbar {
	width: 6px;
}

.ttbm_filter_area .leftSidebar div.ttbm_filter::-webkit-scrollbar-thumb,
.ttbm-tour-list-shortcode .leftSidebar div.ttbm_filter::-webkit-scrollbar-thumb {
	background: #c9d4ff;
	border-radius: 10px;
}

@media (max-width: 767px) {
	.ttbm_filter_area .leftSidebar .filter-top-label,
	.ttbm-tour-list-shortcode .filter-top-label {
		padding: 10px 12px 8px;
	}

	.ttbm_filter_area .leftSidebar .ttbm-mobile-filter-toggle,
	.ttbm-tour-list-shortcode .ttbm-mobile-filter-toggle {
		display: inline-flex;
	}

	.ttbm_filter_area .leftSidebar .filter-top-label h4,
	.ttbm-tour-list-shortcode .leftSidebar .filter-top-label h4 {
		font-size: 18px;
	}

	.ttbm_filter_area .leftSidebar .ttbm_filter,
	.ttbm-tour-list-shortcode .leftSidebar .ttbm_filter {
		display: none;
	}
}

.ttbm_filter h5 {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 5px;
}

/* =====================================================
   TTBM Premium Grid Card  (grid_list_style.php)
   ===================================================== */

/* --- Card wrapper override ------------------------------------------------ */
div.filter_item.ttbm-grid-card,
.all_filter_item div.filter_item {
	border-radius: 16px;
	overflow: hidden;
	background: #fff;
	border: none;
	box-shadow: 0 4px 20px rgba(30, 30, 60, 0.10);
	transition: transform 0.28s ease, box-shadow 0.28s ease;
	flex-direction: column;
	justify-content: flex-start;
}

div.filter_item.ttbm-grid-card:hover,
.all_filter_item div.filter_item:hover {
	transform: translateY(-5px);
	box-shadow: 0 12px 36px rgba(30, 30, 60, 0.16);
}

/* --- Image area ----------------------------------------------------------- */
.ttbm-gc-image-wrap {
	position: relative;
	width: 100%;
	overflow: hidden;
	border-radius: 16px 16px 0 0;
	cursor: pointer;
}

.ttbm-gc-image-wrap {
	position: relative;
	width: 100%;
	overflow: hidden;
	/* clip the zoom so height stays fixed */
	border-radius: 16px 16px 0 0;
	cursor: pointer;
	height: 220px;
	/* uniform fixed height across all cards */
}

.ttbm-gc-thumb {
	width: 100%;
	height: 220px;
	/* must match .ttbm-gc-image-wrap height */
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transition: transform 0.4s ease;
	border-radius: 0;
	/* border-radius handled by the wrapper */
	display: block;
}

.ttbm-gc-image-wrap:hover .ttbm-gc-thumb {
	transform: scale(1.06);
}

/* --- Sale badge ----------------------------------------------------------- */
.ttbm-gc-badge-sale {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 20;
	background: var(--color_theme, #6c47ff);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.5px;
	padding: 5px 12px;
	border-radius: 50px;
	text-transform: uppercase;
	box-shadow: 0 2px 8px rgba(108, 71, 255, 0.35);
	pointer-events: none;
}

/* --- Wishlist button ------------------------------------------------------ */
.ttbm-gc-wishlist {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 10;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
	transition: background 0.2s ease, transform 0.2s ease;
	padding: 0;
	line-height: 1;
}

.ttbm-gc-wishlist:hover {
	background: #fff;
	transform: scale(1.12);
}

.ttbm-gc-wishlist .mi {
	font-size: 17px;
	color: #b0b0c0;
	transition: color 0.2s ease;
}

.ttbm-gc-wishlist:hover .mi,
.ttbm-gc-wishlist.active .mi {
	color: #e84c6a;
}

.ttbm-gc-wishlist.active .mi-wishlist-heart {
	color: #fff;
}

.ttbm-gc-wishlist.active {
	background: #e84c6a;
	border-color: #e84c6a;
}

/* --- Duration badge on image ---------------------------------------------- */
div.ttbm-tour-list-shortcode .ttbm-gc-duration-badge {
	display: none;
}

/* --- Card body ------------------------------------------------------------ */
.ttbm-gc-body {
	padding: 14px 16px 0;
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: 0;
}

/* --- Location ------------------------------------------------------------ */
.ttbm-gc-body .ttbm_list_info.location_name {
	display: flex;
	align-items: center;
	gap: 5px;
	margin: 0 0 6px 0;
	font-size: 16px;
	font-weight: 500;
	color: var(--color_theme, #6c47ff);
	overflow: visible;
}

.ttbm-gc-body .ttbm_list_info.location_name .mi {
	font-size: 14px;
	color: var(--color_theme, #6c47ff);
	margin: 0;
}

/* --- Title ---------------------------------------------------------------- */
.ttbm-gc-body .ttbm_list_title {
	margin: 0 0 6px 0;
	font-size: 20px;
	font-weight: 700;
	color: #1a1a2e;
	line-height: 1.3;
}

.ttbm-gc-body .ttbm_list_title a {
	color: inherit;
	text-decoration: none;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.ttbm-gc-body .ttbm_list_title a:hover {
	color: var(--color_theme, #6c47ff);
}

/* --- Short description ---------------------------------------------------- */
.ttbm-gc-body .ttbm_description {
	margin: 0 0 10px 0;
}

.ttbm-gc-body .ttbm_description>div {
	font-size: 13px;
	color: #6b7280;
	line-height: 1.6;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* --- Feature tags --------------------------------------------------------- */
.ttbm-gc-tags {
	margin: 6px 0 10px;
}

.ttbm-gc-tags ul {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.ttbm-gc-tags ul li {
	display: inline-flex;
	flex-direction: row;
	/* icon + text always horizontal */
	align-items: center;
	justify-content: flex-start;
	gap: 5px;
	border: 1px solid #e5e7eb;
	border-radius: 5px;
	padding: 5px;
	font-size: 10px;
	color: #374151;
	background: #f9fafb;
	height: auto;
	width: auto;
	line-height: 1.5;
	transition: background 0.18s ease, border-color 0.18s ease;
	white-space: nowrap;
	margin: 0;
	vertical-align: middle;
}

.ttbm-gc-tags ul li:hover {
	background: rgba(var(--color_theme_rgb, 108, 71, 255), 0.06);
	border-color: var(--color_theme, #6c47ff);
	color: var(--color_theme, #6c47ff);
}

.ttbm-gc-tags ul li .circleIcon_xs {
	font-size: 13px;
	width: 16px;
	min-width: 16px;
	height: auto;
	margin: 0;
	display: inline-flex;
	/* keeps icon vertically centred next to text */
	align-items: center;
	flex-shrink: 0;
	line-height: 1;
}

.ttbm-gc-tags ul li:hover .circleIcon_xs {
	color: var(--color_theme, #6c47ff) !important;
}

.ttbm-gc-tags ul li.ttbm-feature-view-more {
	justify-content: center;
	padding: 5px 7px;
	min-width: 28px;
	cursor: pointer;
}

/* Neutral trigger — never inherit .ttbm_style button / theme button styles */
.ttbm-view-more-features-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-width: 0;
	min-height: 0;
	padding: 0;
	margin: 0;
	border: none;
	background: transparent;
	color: inherit;
	font-family: inherit;
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	text-decoration: none;
	text-transform: none;
	letter-spacing: -0.02em;
	box-shadow: none;
	outline: none;
	opacity: 1;
	appearance: none;
	-webkit-appearance: none;
}

.ttbm_style .ttbm-view-more-features-btn:hover,
.ttbm_style .ttbm-view-more-features-btn:focus,
.ttbm_style .ttbm-view-more-features-btn:focus-visible {
	background: transparent;
	color: inherit;
	opacity: 1;
	box-shadow: none;
	outline: none;
	text-decoration: none;
}

.ttbm-gc-tags ul li.ttbm-feature-view-more:hover .ttbm-view-more-features-btn,
div.include_service ul li.ttbm-feature-view-more:hover .ttbm-view-more-features-btn,
.filter_item_footer .include_service ul li.ttbm-feature-view-more:hover .ttbm-view-more-features-btn {
	color: inherit;
}

.ttbm-feature-more-icon {
	display: block;
	line-height: 1;
	color: inherit;
}

/* Footer icon row (list_bottom.php) — keep +N inside the same 30px feature box */
div.include_service ul li.ttbm-feature-view-more,
.filter_item_footer .include_service ul li.ttbm-feature-view-more,
.lotus .filter_item_footer .include_service ul li.ttbm-feature-view-more {
	padding: 0 !important;
	line-height: 1;
	cursor: pointer;
	overflow: hidden;
}

div.include_service ul li.ttbm-feature-view-more .ttbm-view-more-features-btn,
.filter_item_footer .include_service ul li.ttbm-feature-view-more .ttbm-view-more-features-btn,
.lotus .filter_item_footer .include_service ul li.ttbm-feature-view-more .ttbm-view-more-features-btn {
	font-size: 9px;
	font-weight: 700;
}

/* --- Divider -------------------------------------------------------------- */
.ttbm-gc-divider {
	border: none;
	border-top: 1px solid #e5e7eb;
	margin: 4px 0 0 0;
}

/* --- Footer (list_bottom.php) -------------------------------------------- */
.ttbm-gc-body .filter_item_footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: nowrap;
	gap: 8px;
	padding: 10px 0 14px;
	border-top: none;
}

/* Hide the include_service icons in footer (already shown in tags) */
.ttbm-gc-body .filter_item_footer .include_service {
	display: none;
}

/* --- Price (start_price inside list_bottom or list_price) ---------------- */
.ttbm-gc-body .filter_item_footer .ttbm_list_info {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin: 0;
	overflow: visible;
	gap: 0;
}

.ttbm-gc-body .filter_item_footer .ttbm_list_info .ttbm-duration-label {
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.5px;
	color: #6b7280;
	text-transform: uppercase;
	margin-bottom: 2px;
}

.ttbm-gc-body .filter_item_footer .ttbm_list_info .ttbm-price-current {
	font-size: 22px;
	font-weight: 700;
	color: var(--color_theme, #6c47ff);
	line-height: 1.1;
}

.ttbm-gc-body .filter_item_footer .ttbm_list_info .ttbm-price-original {
	font-size: 13px;
	color: #9ca3af;
	text-decoration: line-through;
	margin-left: 4px;
}

/* --- Explore button ------------------------------------------------------- */
.ttbm-gc-body .ttbm_explore_button,
.ttbm-gc-body .filter_item_footer .ttbm_explore_button {
	flex-shrink: 0;
	background: #1a1a2e;
	color: #fff;
	border: none;
	border-radius: 10px;
	padding: 10px 20px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.15s ease;
	white-space: nowrap;
	line-height: 1;
}

.ttbm-gc-body .ttbm_explore_button:hover,
.ttbm-gc-body .filter_item_footer .ttbm_explore_button:hover {
	background: var(--color_theme, #6c47ff);
	transform: scale(1.03);
}

/* Price inside the footer – the "From $X,XXX" in list_bottom via start_price */
.ttbm-gc-body .filter_item_footer .ttbm-gc-price-block {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

/* ---- Override: hide the hover group overlay for grid cards --------------- */
div.filter_item .ttbm-gc-image-wrap .group_item {
	display: none !important;
}

/* ---- Responsive ---------------------------------------------------------- */
@media (max-width: 600px) {
	.ttbm-gc-thumb {
		height: 180px;
	}

	.ttbm-gc-body .ttbm_list_title {
		font-size: 17px;
	}
}

/* --- Price block (list_bottom.php) --------------------------------------- */
.ttbm-gc-price-block {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
}

.ttbm-gc-duration-label {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.6px;
	color: #6b7280;
	text-transform: uppercase;
	line-height: 1.4;
}

.ttbm-gc-price-row {
	display: flex;
	align-items: baseline;
	gap: 6px;
	flex-wrap: wrap;
}

.ttbm-gc-price-current {
	font-size: 22px;
	font-weight: 700;
	color: var(--color_theme, #6c47ff);
	line-height: 1.1;
}

.ttbm-gc-price-current .woocommerce-Price-amount,
.ttbm-gc-price-current bdi {
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
}

.ttbm-gc-price-original {
	font-size: 13px;
	color: #9ca3af;
	text-decoration: line-through;
}

.ttbm-gc-price-original .woocommerce-Price-amount,
.ttbm-gc-price-original bdi {
	font-size: inherit;
	color: inherit;
	text-decoration: line-through;
}

.ttbm_start_price_display {
	display: inline-flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 5px;
}

.ttbm_start_price_display .ttbm_regular_price.strikeLine .woocommerce-Price-amount {
	font-size: 0.85em;
	font-weight: 600;
	color: #9ca3af;
	text-decoration: line-through;
}

/* Explore button final override */
button.ttbm_explore_button {
	flex-shrink: 0;
	background: #1a1a2e;
	color: #fff !important;
	border: none;
	border-radius: 10px;
	padding: 10px 22px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.22s ease, transform 0.15s ease;
	white-space: nowrap;
	line-height: 1.2;
	display: inline-block;
}

button.ttbm_explore_button:hover {
	background: var(--color_theme, #6c47ff);
	transform: scale(1.04);
}

.ttbm_style button.ttbm-gc-wishlist {
	position: absolute;
}

/* =====================================================
   TTBM Search Results Page  (.ttbm-search-results)
   ===================================================== */

.ttbm_filter_area .mainSection.ttbm-search-results,
.ttbm_filter_area .mainSection {
	font-family: inherit;
	color: #334155;
}

/* Top bar: trip count + view switcher */
.ttbm_filter_area .mainSection .ttbm-search-top-bar,
.ttbm_filter_area .mainSection .filter_top_bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	margin: 0 0 20px;
	padding: 0 0 18px;
	background: transparent;
	border: none;
	border-bottom: 1px solid #e8edf5;
	border-radius: 0;
	box-shadow: none;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.5;
	color: #64748b;
}

.ttbm-search-top-bar-text {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px;
	min-width: 0;
}

.ttbm-search-top-bar-count,
.ttbm_filter_area .mainSection .filter_top_bar .total_filter_qty {
	font-size: 32px;
	font-weight: 700;
	line-height: 1.1;
	color: #0f172a;
	letter-spacing: -0.02em;
}

.ttbm-search-top-bar-label {
	font-size: 15px;
	font-weight: 500;
	line-height: 1.45;
	color: #64748b;
}

.ttbm-search-view-switcher {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px;
	background: #f0f4ff;
	border-radius: 10px;
	flex-shrink: 0;
}

.ttbm_filter_area .mainSection .filter_top_bar button,
.ttbm-search-view-switcher button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	margin: 0;
	padding: 0;
	background: transparent;
	border: none;
	border-radius: 8px;
	color: #64748b;
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
}

.ttbm_filter_area .mainSection .filter_top_bar button:hover:not(:disabled),
.ttbm-search-view-switcher button:hover:not(:disabled) {
	background: #fff;
	color: var(--color_theme, #5a56e0);
}

.ttbm_filter_area .mainSection .filter_top_bar button:disabled,
.ttbm-search-view-switcher button:disabled {
	background: #fff;
	color: var(--color_theme, #5a56e0);
	box-shadow: 0 2px 8px rgba(90, 86, 224, 0.12);
	cursor: default;
}

/* Activity pills in search results */
.ttbm-search-results .ttbm-tour-activity-pills,
.ttbm_filter_area .mainSection .ttbm-tour-activity-pills {
	margin-bottom: 20px;
}

.ttbm-search-results .ttbm_all_item_activities_wrapper,
.ttbm_filter_area .mainSection .ttbm_all_item_activities_wrapper {
	margin-bottom: 4px;
}

/* Result count footer */
.ttbm_filter_area .mainSection .ttbm-search-result-count,
.ttbm_filter_area .mainSection .filter_short_result {
	display: block;
	margin: 28px 0 0;
	padding: 0;
	background: transparent;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
	color: #64748b;
	text-align: left;
}

.ttbm-search-count-highlight {
	font-weight: 500;
	color: #64748b;
}

.ttbm-search-count-highlight .qty_count,
.ttbm-search-count-highlight .total_filter_qty,
.ttbm_filter_area .mainSection .filter_short_result strong {
	font-weight: 700;
	color: var(--color_theme, #5a56e0);
}

.ttbm_filter_area .mainSection .ttbm-search-empty,
.ttbm_filter_area .mainSection .search_result_empty {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	color: #64748b;
	border-radius: 12px;
	border: 1px dashed #cbd5e1;
	background: #f8fafc;
}

/* Modern list cards (default.php layout) */
.ttbm-search-results .flexWrap.modern,
.ttbm_filter_area .mainSection .flexWrap.modern {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0;
}

.ttbm-search-results div.modern div.filter_item,
.ttbm_filter_area .mainSection div.modern div.filter_item {
	flex-direction: row;
	align-items: stretch;
	width: 100%;
	min-height: 220px;
	margin: 0;
	padding: 0;
	border: none !important;
	border-radius: 16px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 4px 20px rgba(20, 30, 60, 0.08);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.ttbm-search-results div.modern div.filter_item:hover,
.ttbm_filter_area .mainSection div.modern div.filter_item:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 28px rgba(20, 30, 60, 0.12);
}

.ttbm-search-results div.modern div.filter_item .bg_image_area,
.ttbm_filter_area .mainSection div.modern div.filter_item .bg_image_area {
	position: relative;
	flex-shrink: 0;
	width: 280px;
	min-width: 280px;
	max-width: 280px;
	margin: 0;
	overflow: hidden;
	cursor: pointer;
}

.ttbm-search-results div.modern div.filter_item .bg_image_area > div[data-bg-image],
.ttbm_filter_area .mainSection div.modern div.filter_item .bg_image_area > div[data-bg-image] {
	width: 100%;
	min-height: 220px;
	height: 100%;
	background-size: cover !important;
	background-position: center !important;
	transition: transform 0.35s ease;
}

.ttbm-search-results div.modern div.filter_item:hover .bg_image_area > div[data-bg-image],
.ttbm_filter_area .mainSection div.modern div.filter_item:hover .bg_image_area > div[data-bg-image] {
	transform: scale(1.04);
}

.ttbm-search-results div.modern div.ttbm_list_details,
.ttbm_filter_area .mainSection div.modern div.ttbm_list_details {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	max-width: none;
	min-width: 0;
	padding: 20px 24px 18px;
}

.ttbm-search-results div.modern .ttbm_list_title,
.ttbm_filter_area .mainSection div.modern .ttbm_list_title {
	margin: 0 0 8px;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.35;
	color: #0f172a;
}

.ttbm-search-results div.modern .ttbm_list_title a,
.ttbm_filter_area .mainSection div.modern .ttbm_list_title a {
	color: inherit;
	font-weight: inherit;
	text-decoration: none;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.ttbm-search-results div.modern .ttbm_list_title a:hover,
.ttbm_filter_area .mainSection div.modern .ttbm_list_title a:hover {
	color: var(--color_theme, #5a56e0);
}

.ttbm-search-results div.modern .ttbm_list_info.location_name,
.ttbm_filter_area .mainSection div.modern .ttbm_list_info.location_name {
	margin: 0 0 12px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	color: #64748b;
	font-style: normal;
}

.ttbm-search-results div.modern .ttbm_list_info.location_name .mi,
.ttbm_filter_area .mainSection div.modern .ttbm_list_info.location_name .mi {
	color: var(--color_theme, #5a56e0);
	font-size: 13px;
	margin-right: 4px;
}

.ttbm-search-results div.modern .ttbm_list_details > .divider,
.ttbm_filter_area .mainSection div.modern .ttbm_list_details > .divider {
	border: none;
	border-top: 1px solid #eef2f7;
	margin: 0 0 12px;
}

.ttbm-search-results div.modern .ttbm_description,
.ttbm_filter_area .mainSection div.modern .ttbm_description {
	margin: 0 0 14px;
	flex: 1 1 auto;
}

.ttbm-search-results div.modern .ttbm_description > div,
.ttbm_filter_area .mainSection div.modern .ttbm_description > div {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.65;
	color: #64748b;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	max-height: none;
}

.ttbm-search-results div.modern .filter_item_footer,
.ttbm_filter_area .mainSection div.modern .filter_item_footer {
	align-items: center;
	gap: 12px;
	margin-top: auto;
	padding-top: 4px;
}

.ttbm-search-results div.modern .filter_item_footer .ttbm_explore_button,
.ttbm_filter_area .mainSection div.modern .filter_item_footer .ttbm_explore_button {
	border-radius: 10px;
	padding: 10px 22px;
	font-size: 14px;
	font-weight: 600;
}

.ttbm-search-results div.modern .bg_image_area .ttbm_list_info,
.ttbm_filter_area .mainSection div.modern .bg_image_area .ttbm_list_info {
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
}

.ttbm-search-results div.modern .absolute_item .ttbm_list_info,
.ttbm_filter_area .mainSection div.modern .absolute_item .ttbm_list_info {
	font-size: 12px;
	font-weight: 600;
}

@media only screen and (max-width: 991px) {
	.ttbm-search-results div.modern div.filter_item .bg_image_area,
	.ttbm_filter_area .mainSection div.modern div.filter_item .bg_image_area {
		width: 220px;
		min-width: 220px;
		max-width: 220px;
	}
}

@media only screen and (max-width: 767px) {
	.ttbm_filter_area .mainSection .ttbm-search-top-bar,
	.ttbm_filter_area .mainSection .filter_top_bar {
		flex-direction: column;
		align-items: flex-start;
	}

	.ttbm-search-top-bar-count,
	.ttbm_filter_area .mainSection .filter_top_bar .total_filter_qty {
		font-size: 26px;
	}

	.ttbm-search-results div.modern div.filter_item,
	.ttbm_filter_area .mainSection div.modern div.filter_item {
		flex-direction: column;
		min-height: 0;
	}

	.ttbm-search-results div.modern div.filter_item .bg_image_area,
	.ttbm_filter_area .mainSection div.modern div.filter_item .bg_image_area {
		width: 100%;
		min-width: 0;
		max-width: none;
	}

	.ttbm-search-results div.modern div.filter_item .bg_image_area > div[data-bg-image],
	.ttbm_filter_area .mainSection div.modern div.filter_item .bg_image_area > div[data-bg-image] {
		min-height: 200px;
	}

	.ttbm-search-results div.modern div.ttbm_list_details,
	.ttbm_filter_area .mainSection div.modern div.ttbm_list_details {
		padding: 16px;
	}

	.ttbm-search-results div.modern .ttbm_list_title,
	.ttbm_filter_area .mainSection div.modern .ttbm_list_title {
		font-size: 18px;
	}
}

/* =====================================================
   TTBM Premium List Card  (grid_list.php — horizontal)
   ===================================================== */

/* Override .modern filter_item to be a horizontal row */
div.modern div.filter_item {
	flex-direction: row;
	align-items: stretch;
	border-radius: 16px;
	overflow: hidden;
	background: #fff;
	border: none !important;
	box-shadow: 0 4px 20px rgba(30, 30, 60, 0.10);
	transition: transform 0.28s ease, box-shadow 0.28s ease;
	min-height: auto;
	padding: 0;
	margin-bottom: 16px;
	width: 100%;
}

div.modern div.filter_item:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 32px rgba(30, 30, 60, 0.16);
}

/* ── Left: Image column ─────────────────────────────── */
.ttbm-lv-image-col {
	position: relative;
	flex-shrink: 0;
	width: 260px;
	min-width: 200px;
	overflow: hidden;
	border-radius: 16px 0 0 16px;
	cursor: pointer;
}

.ttbm-lv-thumb {
	width: 100%;
	height: 100%;
	min-height: 200px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transition: transform 0.4s ease;
	display: block;
}

.ttbm-lv-image-col:hover .ttbm-lv-thumb {
	transform: scale(1.06);
}

/* ── Right: Content column ──────────────────────────── */
.ttbm-lv-content-col {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: 18px 20px 14px;
	min-width: 0;
}

/* Location */
.ttbm-lv-content-col .ttbm_list_info.location_name {
	display: flex;
	align-items: center;
	gap: 5px;
	margin: 0 0 5px 0;
	font-size: 16px;
	font-style: italic;
	font-weight: 500;
	color: var(--color_theme, #6c47ff);
	overflow: visible;
}

.ttbm-lv-content-col .ttbm_list_info.location_name .mi {
	font-size: 14px;
	color: var(--color_theme, #6c47ff);
	margin: 0;
}

/* Title */
.ttbm-lv-content-col .ttbm_list_title {
	margin: 0 0 6px 0;
	font-size: 22px;
	font-weight: 700;
	color: #1a1a2e;
	line-height: 1.3;
}

.ttbm-lv-content-col .ttbm_list_title a {
	color: inherit;
	text-decoration: none;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.ttbm-lv-content-col .ttbm_list_title a:hover {
	color: var(--color_theme, #6c47ff);
}

/* Description */
.ttbm-lv-content-col .ttbm_description {
	margin: 0 0 10px 0;
}

.ttbm-lv-content-col .ttbm_description>div {
	font-size: 13px;
	color: #6b7280;
	line-height: 1.6;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Feature tags — re-use .ttbm-gc-tags rules */
.ttbm-lv-content-col .ttbm-gc-tags {
	margin: 4px 0 8px;
}

/* Divider */
.ttbm-lv-content-col .ttbm-gc-divider {
	border: none;
	border-top: 1px solid #e5e7eb;
	margin: 4px 0 0;
}

/* Footer */
.ttbm-lv-content-col .ttbm-gc-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: nowrap;
	gap: 10px;
	padding-top: 12px;
	margin-top: auto;
}

/* ── Shared footer styles for both grid & list ──────── */
.ttbm-gc-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: nowrap;
	gap: 10px;
	padding: 10px 0;
	margin-top: auto;
}

/* Override bg_image_area inside list-view (not needed) */
div.modern .ttbm-lv-image-col .bg_image_area,
div.modern .ttbm-lv-image-col [data-bg-image] {
	height: 100%;
	min-height: 200px;
	border-radius: 16px 0 0 16px;
}

/* Ensure card-level grid/list overrides don't conflict */
div.modern div.filter_item .ttbm-gc-body,
div.modern div.filter_item .ttbm-lv-content-col {
	border: none;
	box-shadow: none;
}



/* Also hide old bg_image_area if card uses new template classes */
div.modern div.filter_item .ttbm-lv-image-col~.ttbm_list_details,
div.filter_item .ttbm-gc-image-wrap~div.bg_image_area {
	display: none;
}

/* ── Responsive ─────────────────────────────────────── */
@media (max-width: 767px) {
	div.modern div.filter_item {
		flex-direction: column;
	}

	.ttbm-lv-image-col {
		width: 100%;
		min-width: unset;
		border-radius: 16px 16px 0 0;
	}

	.ttbm-lv-thumb {
		min-height: 200px;
		height: 200px;
	}

	.ttbm-lv-content-col .ttbm_list_title {
		font-size: 18px;
	}

	.ttbm-lv-content-col .ttbm-gc-footer {
		flex-wrap: wrap;
	}
}

@media (max-width: 500px) {
	.ttbm-lv-content-col .ttbm-gc-footer {
		flex-direction: column;
		align-items: flex-start;
	}

	button.ttbm_explore_button {
		text-align: center;
	}
}

/* =====================================================
   TTBM Modern Filter Bar  (.ttbm-filter-bar)
   ===================================================== */

.ttbm-filter-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px 24px;
	padding: 18px 0 22px;
	width: 100%;
	background: transparent;
}

/* ── Left: tab buttons ─────────────────────────────── */
.ttbm-filter-tabs {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px 28px;
	flex: 1 1 auto;
	min-width: 0;
}

.ttbm-tab-btn {
	background: none;
	border: none;
	padding: 4px 2px 12px;
	font-size: 15px;
	font-weight: 500;
	color: #5f6b7a;
	cursor: pointer;
	border-radius: 0;
	position: relative;
	transition: color 0.2s ease;
	white-space: nowrap;
	line-height: 1.35;
	box-shadow: none;
	min-height: 0;
}

.ttbm-tab-btn::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 2px;
	height: 3px;
	background: var(--color_theme, #3f4ab1);
	border-radius: 3px;
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 0.22s ease;
}

.ttbm_style button.ttbm-tab-btn:hover,
.ttbm_style button.ttbm-tab-btn:focus {
	background: none;
	color: var(--color_theme, #3f4ab1);
	outline: 0;
	box-shadow: none;
}

.ttbm-tab-btn.ttbm-tab-active {
	color: var(--color_theme, #3f4ab1);
	font-weight: 600;
}

.ttbm-tab-btn.ttbm-tab-active::after {
	transform: scaleX(1);
}

/* Hide the old activity pills holder (still in DOM for JS) */
.ttbm-activity-pills-hidden {
	display: none !important;
}

/* ── Middle: Showing X of Y count ──────────────────── */
.ttbm-filter-bar-count {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	color: #8b95a8;
	font-weight: 500;
	white-space: nowrap;
	flex-shrink: 0;
	margin-left: auto;
	margin-right: 12px;
}

.ttbm-filter-count-highlight,
.ttbm-filter-count-highlight strong {
	color: var(--color_theme, #3f4ab1);
	font-weight: 700;
}

.ttbm-filter-count-highlight strong {
	font-weight: inherit;
}

/* ── Right: controls ───────────────────────────────── */
.ttbm-filter-controls {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: nowrap;
	flex-shrink: 0;
}

/* Sort dropdown */
.ttbm-sort-dropdown {
	position: relative;
}

.ttbm-sort-select {
	appearance: none;
	-webkit-appearance: none;
	background-color: #eef1f8 !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235f6b7a' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	border: none !important;
	border-radius: 10px !important;
	padding: 11px 40px 11px 18px !important;
	font-size: 14px !important;
	font-weight: 500;
	color: #4b5563;
	cursor: pointer;
	min-width: 210px;
	transition: background-color 0.2s ease, box-shadow 0.2s ease;
	box-shadow: none !important;
	height: auto !important;
	line-height: 1.3;
}

.ttbm-sort-select:hover {
	background-color: #e6ebf5 !important;
}

.ttbm-sort-select:focus {
	border: none !important;
	outline: none;
	box-shadow: 0 0 0 3px rgba(63, 74, 177, 0.12) !important;
}

/* View switcher group */
.ttbm-view-switcher {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	border: none;
	border-radius: 10px;
	padding: 4px;
	background: #eef1f8;
}

.ttbm-view-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border: none;
	border-radius: 8px;
	background: transparent;
	color: #5f6b7a;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
	font-size: 17px;
	padding: 0;
	line-height: 1;
	box-shadow: none;
	min-height: 0;
}

.ttbm-view-btn .mi {
	font-size: 17px;
	color: inherit;
}

.ttbm_style button.ttbm-view-btn:hover,
.ttbm_style button.ttbm-view-btn:focus {
	background: rgba(63, 74, 177, 0.08);
	color: var(--color_theme, #3f4ab1);
	outline: 0;
	box-shadow: none;
}

.ttbm-view-btn.ttbm-view-active,
.ttbm-view-btn[aria-pressed="true"] {
	background: #dce3f5;
	color: var(--color_theme, #3f4ab1);
}

.ttbm-view-btn.ttbm-view-active .mi,
.ttbm-view-btn[aria-pressed="true"] .mi {
	color: var(--color_theme, #3f4ab1);
}

/* ── Responsive ─────────────────────────────────────── */
@media (max-width: 991px) {
	.ttbm-filter-bar-count {
		margin-left: auto;
		margin-right: 0;
	}

	.ttbm-filter-tabs {
		gap: 6px 18px;
	}
}

@media (max-width: 767px) {
	.ttbm-filter-bar {
		flex-direction: column;
		align-items: stretch;
		gap: 14px;
		padding: 14px 0 16px;
	}

	.ttbm-filter-tabs {
		width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		flex-wrap: nowrap;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding-bottom: 6px;
		gap: 6px 20px;
	}

	.ttbm-filter-tabs::-webkit-scrollbar {
		display: none;
	}

	.ttbm-tab-btn {
		flex-shrink: 0;
		font-size: 14px;
	}

	.ttbm-filter-bar-count {
		order: 3;
		justify-content: center;
		width: 100%;
		margin: 0;
		font-size: 13px;
	}

	.ttbm-filter-controls {
		order: 2;
		width: 100%;
		justify-content: space-between;
		gap: 10px;
	}

	.ttbm-sort-select {
		min-width: 0;
		width: 100%;
		font-size: 13px !important;
		padding: 10px 36px 10px 14px !important;
	}

	.ttbm-sort-dropdown {
		flex: 1;
		min-width: 0;
	}

	.ttbm-view-switcher {
		flex-shrink: 0;
	}
}

@media (max-width: 480px) {
	.ttbm-tab-btn {
		padding: 4px 2px 10px;
		font-size: 13px;
	}

	.ttbm-view-btn {
		width: 34px;
		height: 34px;
		font-size: 15px;
	}

	.ttbm-view-btn .mi {
		font-size: 15px;
	}
}

/* =====================================================
   LIST MODE
   ===================================================== */

.all_filter_item .flexWrap.ttbm-list-mode {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 100%;
}

/* Main list card */
.all_filter_item .flexWrap.ttbm-list-mode .filter_item {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	width: 100% !important;
	max-width: 100%;
	border-radius: 18px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 6px 28px rgba(0, 0, 0, 0.08);
	padding: 0;
	margin: 0;
}

/* =====================================================
   IMAGE AREA (LEFT)
   Works with existing grid template
   ===================================================== */

.all_filter_item .flexWrap.ttbm-list-mode .ttbm-gc-image-wrap {
	width: 340px;
	min-width: 340px;
	max-width: 340px;
	height: auto;
	border-radius: 0;
	flex-shrink: 0;
	position: relative;
	overflow: hidden;
}

.all_filter_item .flexWrap.ttbm-list-mode .ttbm-gc-thumb {
	width: 100%;
	height: 100%;
	min-height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	border-radius: 0;
}

/* keep image full height */
.all_filter_item .flexWrap.ttbm-list-mode .ttbm-gc-image-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* =====================================================
   CONTENT AREA (RIGHT)
   ===================================================== */

.all_filter_item .flexWrap.ttbm-list-mode .ttbm-gc-body {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: 22px;
	min-width: 0;
}

/* Title */
.all_filter_item .flexWrap.ttbm-list-mode .ttbm_list_title {
	font-size: 24px;
	margin-bottom: 10px;
	line-height: 1.3;
}

/* Description */
.all_filter_item .flexWrap.ttbm-list-mode .ttbm_description>div {
	-webkit-line-clamp: 3;
	font-size: 14px;
	line-height: 1.7;
}

/* Tags */
.all_filter_item .flexWrap.ttbm-list-mode .ttbm-gc-tags {
	margin-top: 10px;
	margin-bottom: 14px;
}

/* Footer */
.all_filter_item .flexWrap.ttbm-list-mode .filter_item_footer,
.all_filter_item .flexWrap.ttbm-list-mode .ttbm-gc-footer {
	margin-top: auto;
	padding-top: 16px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}

/* Price */
.all_filter_item .flexWrap.ttbm-list-mode .ttbm-gc-price-current {
	font-size: 26px;
}

/* Button */
.all_filter_item .flexWrap.ttbm-list-mode .ttbm_explore_button {
	padding: 12px 24px;
	font-size: 15px;
}

/* =====================================================
   TABLET RESPONSIVE
   ===================================================== */

@media (max-width: 991px) {

	.all_filter_item .flexWrap.ttbm-list-mode .filter_item {
		flex-direction: column;
	}

	.all_filter_item .flexWrap.ttbm-list-mode .ttbm-gc-image-wrap {
		width: 100%;
		max-width: 100%;
		min-width: 100%;
		height: 240px;
	}

	.all_filter_item .flexWrap.ttbm-list-mode .ttbm-gc-thumb {
		height: 240px;
	}

	.all_filter_item .flexWrap.ttbm-list-mode .ttbm-gc-body {
		padding: 18px;
	}

	.all_filter_item .flexWrap.ttbm-list-mode .ttbm_list_title {
		font-size: 22px;
	}
}

/* =====================================================
   MOBILE RESPONSIVE
   ===================================================== */

@media (max-width: 767px) {

	/* Grid cards */
	.all_filter_item .flexWrap.ttbm-grid-mode .filter_item {
		width: 100% !important;
	}

	/* List mode */
	.all_filter_item .flexWrap.ttbm-list-mode .filter_item {
		border-radius: 14px;
	}

	.all_filter_item .flexWrap.ttbm-list-mode .ttbm-gc-image-wrap {
		height: 220px;
	}

	.all_filter_item .flexWrap.ttbm-list-mode .ttbm-gc-thumb {
		height: 220px;
	}

	.all_filter_item .flexWrap.ttbm-list-mode .ttbm-gc-body {
		padding: 16px;
	}

	.all_filter_item .flexWrap.ttbm-list-mode .ttbm_list_title {
		font-size: 20px;
	}

	.all_filter_item .flexWrap.ttbm-list-mode .ttbm_description>div {
		font-size: 13px;
		-webkit-line-clamp: 2;
	}

	.all_filter_item .flexWrap.ttbm-list-mode .filter_item_footer,
	.all_filter_item .flexWrap.ttbm-list-mode .ttbm-gc-footer {
		flex-direction: column;
		align-items: flex-start;
	}

	.all_filter_item .flexWrap.ttbm-list-mode .ttbm_explore_button {
		width: 100%;
		text-align: center;
	}
}

/* =====================================================
   SMALL MOBILE
   ===================================================== */

@media (max-width: 480px) {

	.all_filter_item .flexWrap {
		gap: 16px;
	}

	.all_filter_item .flexWrap.ttbm-list-mode .ttbm-gc-image-wrap {
		height: 200px;
	}

	.all_filter_item .flexWrap.ttbm-list-mode .ttbm-gc-thumb {
		height: 200px;
	}

	.all_filter_item .flexWrap.ttbm-list-mode .ttbm-gc-body {
		padding: 14px;
	}

	.all_filter_item .flexWrap.ttbm-list-mode .ttbm_list_title {
		font-size: 18px;
	}

	.all_filter_item .flexWrap.ttbm-list-mode .ttbm-gc-price-current {
		font-size: 22px;
	}
}

.ttbm-feature-hidden {
	display: none !important;
}

.ttbm_details_page .ttbm_date_time_select
 {
    margin-bottom: 20px;
 }
.ttbm_hotel_item .ttbm_booking_panel {
    margin-top: 10px;
}
.ttbm_booking_panel table.mp_tour_ticket_type .badge-gray i{padding-right:10px; }
.ttbm_hotel_item div.ttbm_booking_panel table thead th{text-align:left; }
#place_you_see .filter_item h6 {
    margin: 5px 0;
    display: block;
    text-align: left;
}
.ttbm-hotel-room-info p {
    margin-bottom: 10px !important;
}
#ttbm_content .ttbm_widget_content h2, #ttbm_content .ttbm_widget_content h3, #ttbm_content .ttbm_widget_content h4, #ttbm_content .ttbm_widget_content h5, #ttbm_content .ttbm_widget_content h6{margin-bottom:10px;}
.ttbm_wp_editor .content-title{
	text-transform: uppercase;
}

/* Custom: Reduce gap between ticket type and extra service items in booking panel */
div.ttbm_booking_panel table.mp_tour_ticket_type tbody tr.ttbm_ticket_row td,
div.ttbm_booking_panel table.mp_tour_ticket_extra tbody tr.ttbm_ticket_row td {
	padding: 10px 12px;
}

/* Related tour heading — matches .ttbm_section_title typography */
#ttbm_related_tour .content-title {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -.01em;
	color: var(--ttbm_d_heading, #1a1a2e);
	margin: 0 0 16px;
	padding: 0;
	text-transform: none;
	text-align: left;
}
