/* Duc code css */
/* Thiết lập cho khối bao ngoài */
#checkRoomRate {
	border: 3px solid #f39c12;
}
#description-block {
    position: relative; /* Quan trọng để nút "Xem thêm" có thể nằm cuối */
}
#content-text p {
	margin-bottom: 0;
}

/* * Giới hạn chiều cao cho 3 dòng:
 * Giả sử line-height là 1.5em. Chiều cao 1 dòng là 1.5em.
 * Chiều cao 3 dòng = 3 * 1.5em = 4.5em.
 * Bạn cần tính toán thêm margin-bottom. Nếu margin-bottom của p là 8px, 
 * thì chiều cao 3 dòng với 2 khoảng margin giữa chúng sẽ là:
 * (3 * line-height * font-size) + (2 * margin-bottom)
 * * Để đơn giản và linh hoạt hơn, chúng ta sẽ chỉ giới hạn chiều cao tổng thể 
 * và ẩn overflow ban đầu.
 */
.truncated .content-wrapper {
    /* Giả định: line-height = 24px (ví dụ) -> 3 dòng = 72px */
    /* Bạn cần điều chỉnh giá trị này TÙY THEO FONT-SIZE và LINE-HEIGHT THỰC TẾ */
    max-height: 124px; /* **Thay đổi giá trị này** để phù hợp với 3 dòng của bạn */
    overflow: hidden;
    transition: max-height 0.3s ease-out; /* Thêm hiệu ứng chuyển đổi mượt mà */
}

/* Nút Xem thêm */
#toggle-btn {
    background: none;
    border: none;
    color: #555; /* Màu nổi bật cho nút */
    cursor: pointer;
    padding: 0;
    display: inline; /* Đặt nút này hiển thị inline */
	transition: .15s ease-in-out;
}
#toggle-btn:hover {
	color: #f3a327;
}

/* Khi khối được mở rộng, nút sẽ không bị ẩn */
.expanded .content-wrapper {
    max-height: none !important; /* Bỏ giới hạn chiều cao */
}
.hotelPolicy__head {
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}

.hotelPolicy__head .arrow {
	transition: transform 0.3s ease;
	color: #024363;
	font-size: 16px;
}

.hotelPolicy__content {
	display: none;
	margin-top: 1rem;
	transition: all 0.3s ease;
}

.accordion-header p {
	color: #024363;
	font-weight: 600;
	font-size: 20px;
}

.hotelPolicy__block.active .hotelPolicy__content {
	display: block;
}

.hotelPolicy__block.active .arrow {
	transform: rotate(180deg);
}

/* .hotelGallery__item:nth-child(n+6) {
  display: none !important;
} */
.hotelGallery {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	/* 4 cột đều nhau */
	grid-template-rows: repeat(2, auto);
	/* 2 hàng */
	gap: 12px;
}

.hotelGallery__item {
	aspect-ratio: 16/10;
	/* hoặc 4/3, tuỳ tỷ lệ bạn muốn */
	border-radius: 12px;
	overflow: hidden;
}

.hotelGallery__item img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	display: block;
}

.packageSchedule .accordion-button::after {
	display: block !important;
}

.packageContent .tourDetail__title {
	cursor: pointer;
}

.packageContent .tourContent__content {
	display: block;
}

.packageContent .tourDetail__title span {
	display: inline-block;
	transition: transform 0.25s ease;
}

.packageContent .tourDetail__title span.rotate {
	transform: rotate(180deg);
}

.header .header-overlay {
	background: rgba(255, 255, 255, 1) !important;
	-webkit-backdrop-filter: unset !important;
	backdrop-filter: unset !important;
}

.packageSchedule .accordion-button {
	border-bottom: 0 !important;
}

.social-footer {
	position: fixed;
	bottom: 90px;
	z-index: 999;
	right: 25px;
}

.social-footer-item {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #024363;
	border-radius: 50%;
	width: 60px;
	height: 60px;
	margin-top: 10px;
}

.social-footer-item img {
	width: 35px;
	height: 35px;
}

.currency-switcher,
.language-switcher {
	transform: unset !important;
	position: relative !important;
	flex-direction: column;
	background-color: unset !important;
	box-shadow: none !important;
	top: 0 !important;
	height: 100%;
	-webkit-backdrop-filter: unset !important;
	backdrop-filter: unset !important;
}

.currency-switcher .titleCurrency,
.language-switcher .titleLanguage {
	writing-mode: unset !important;
	height: 100%;
	font-size: 18px !important;
	font-weight: 600;
}

.currency-switcher .titleCurrency span,
.language-switcher .titleLanguage span {
	display: none;
}

.currency-switcher.show,
.language-switcher.show {
	transform: none !important;
}

.currency-switcher .innerCurrency,
.language-switcher .innerLanguage {
	position: absolute;
	top: 40px;
	display: none !important;
}

/* .currency-switcher .titleCurrency::before,
.language-switcher .titleLanguage::before {
  display: none !important;
} */
.currency-switcher:hover .innerCurrency,
.language-switcher:hover .innerLanguage {
	display: block !important;
}

/* .package-faq-list {
  max-width: 800px;
 
} */

.package_faq-item {
	background: #fff;
	border: 1px solid #d9e4ee;
	border-radius: 8px;
	margin-bottom: 12px;
	overflow: hidden;
	box-shadow: 0 2px 4px rgba(2, 67, 99, 0.08);
	transition: all 0.25s ease;
}

.package_faq-item:hover {
	box-shadow: 0 4px 10px rgba(2, 67, 99, 0.12);
	transform: translateY(-2px);
}

.package_faq-heading {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 20px;
	cursor: pointer;
	background: #fff;
	transition: background 0.25s ease;
}

.package_faq-heading h3 {
	font-size: 16px;
	margin: 0;
	color: #024363;
	font-weight: 600;
}

.package_faq-heading.active {
	background-color: #e9f2f9;
}

.faq-toggle i {
	font-size: 20px;
	color: #024363;
}

.faq-toggle {
	transition: transform 0.3s ease;
}

.package_faq-heading.active .faq-toggle {
	transform: rotate(180deg);
}

.package_faq-body {
	display: none;
	padding: 16px 20px;
	color: #333;
	line-height: 1.6;
	border-top: 1px solid #e0e8f0;
	animation: fadeIn 0.3s ease;
}

.package_faq-body p:last-child {
	margin-bottom: 0;
}

.hotelNav.fixed {
	z-index: 9 !important;
	top: 70px !important;
}

.home .hotelSearch__form .form-group.formInput .formType .postTypeDropdown {
	z-index: 99;
	top: -145px;
}

.tourPriceheading {
	padding: 24px;
	background-color: #024363;
	color: #fff;
}

.tourPriceheading-date {
	font-weight: 600;
	font-size: 20px;
	color: #fff;
}

.tourPriceheading-text {
	font-weight: 600;
	font-size: 20px;
	color: #fff;
	text-transform: uppercase;
}

.tourPriceheading {
	display: flex;
	justify-content: space-between;
}

.hotelSearch__form .form-group.formDate>* strong::before,
.hotelSearch__form .wpcf7 .wpcf7-form p.formDate>* strong::before,
.wpcf7 .wpcf7-form .hotelSearch__form p.formDate>* strong::before {
	display: none !important;
}

.hotelSearch__form .form-group .form-label,
.hotelSearch__form .wpcf7 .wpcf7-form p .form-label,
.wpcf7 .wpcf7-form .hotelSearch__form p .form-label {
	text-align: center;
}

@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(-5px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.tour-price-body {
	list-style: none;
	padding-left: 0;
}

.tour-price-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 24px;
	border: 1px solid #024363;
	border-top: 0;
}

.desktop-only {
	display: grid !important;
}

.mobile-only {
	display: none !important;
}

/* .hotelNav.fixed {
  top: 80px !important;
} */
.heroSlider .hotelSearch .container {
	max-width: 1200px !important;
}

.tour-price-val strong {
	font-weight: 700;
	font-size: 24px;
	line-height: 100%;
	text-transform: uppercase;
	color: #f3a327;
	margin-left: 10px;
}

.tour-price-val del {
	font-weight: 600;
	font-size: 20px;
	text-transform: uppercase;
	color: var(--M1, #024363);
}

.tourPrice-bottom li {
	font-size: 16px;
	font-weight: 400;
	color: #000;
	padding: 16px 0;
	position: relative;

	border-bottom: 1px solid var(--stocke-1, #e4e6e8);
}

.tourPrice-bottom ul {
	list-style: none;
	/* ẩn bullet mặc định */
	margin: 0;
}

.tourPrice-bottom li::before {
	content: "";
	position: absolute;
	left: -30px;
	top: 22px;
	width: 14px;
	height: 14px;
	border: 2px solid #f39c12;
	border-radius: 50%;
}

.hotelSearch__form .form-group.formInput .dropResult.show {
	z-index: 999;
}

@media (max-width: 600px) {
	.desktop-only {
		display: none !important;
	}

	.mobile-only {
		display: block !important;
	}

	.tourPriceheading-date,
	.tourPriceheading-text {
		font-size: 16px;
	}
}

/*  */
@media only screen and (max-width: 850px) {
	.header__mobi {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: var(--vh);
		background: #fff;
		z-index: 1001;
		padding: 60px 20px 30px;
		display: flex;
		flex-direction: column;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
	}

	/* Menu items */
	.header__menu {
		list-style: none;
		padding: 0;
		margin: 0;
		display: flex;
		flex-direction: column;
		gap: 5px;
		transform: translateY(10px);
		opacity: 0;
		flex-grow: 1;
	}

	.header__menu li a {
		color: #024363;
		font-size: 18px;
		font-weight: 500;
		text-decoration: none;
		transition: color 0.3s ease;
	}

	.header__menu li a:hover {
		color: #009eff;
	}

	/* Nút mở menu */
	.openMenu {
		background: unset !important;
		box-shadow: none !important;
		border: none !important;
		cursor: pointer;
	}

	.openMenu i {
		font-size: 24px;
		color: #024363;
	}

	/* Nút đóng menu */
	.closeMenu {
		position: absolute;
		top: 18px;
		right: 18px;
		width: 32px;
		height: 32px;
		background: transparent;
		border: none;
		cursor: pointer;
		z-index: 1002;
		transform: translateX(-10px);
		opacity: 0;
		flex-shrink: 0;
		margin-left: auto;
	}

	/* 2 gạch tạo thành dấu X */
	.closeMenu::before,
	.closeMenu::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		width: 22px;
		height: 2px;
		background-color: #024363;
		transition: 0.3s;
		transform-origin: center;
	}

	.closeMenu::before {
		transform: translate(-50%, -50%) rotate(45deg);
	}

	.closeMenu::after {
		transform: translate(-50%, -50%) rotate(-45deg);
	}

	.activeMenu .header__mobi {
		transition: 0.15s ease-in-out;
		opacity: 1;
		visibility: visible;
		pointer-events: all;
	}

	.activeMenu .header__menu {
		transition: 0.15s ease-in-out;
		transition-delay: 0.2s;
		opacity: 1;
		transform: translateY(0);
	}

	.activeMenu .closeMenu {
		transition: 0.15s ease-in-out;
		transition-delay: 0.2s;
		transform: translateX(0);
		opacity: 1;
	}
}

@media only screen and (max-width: 576px) {
	.hide-on-mobile {
		display: none;
	}

	.heroSlider__item img,
	.heroSlider__item {
		height: 600px !important;
	}

	/* .hotelSearch {
    display: none;
  } */
	.hotelSearch__form {
		flex-direction: column;
		gap: 18px;
	}

	.hotelSearch__form .form-group.formDate {
		justify-content: center;
	}

	.hotelSearch__submit {
		width: 100%;
	}

	.hotel__title {
		font-size: 18px;
		height: 45px;
	}

	.hotelGallery {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 2px;
	}

	.hotelNav.fixed {
		top: 80px;
	}

	.summaryHead_price {
		flex-direction: row !important;
		align-items: end !important;
		margin: 10px 0;
	}

	.resultItem__img {
		max-width: unset;
	}

	.resultItem {
		flex-direction: column;
	}

	.summaryHead_price .btnCustom {
		height: -moz-fit-content;
		height: fit-content;
	}

	.hotelGallery__item {
		grid-column: auto !important;
		grid-row: auto !important;
	}

	.hotelSearch__form .form-group.formInput .formType .selectPostType {
		padding: 8px 16px !important;
		width: 100% !important;
		border-radius: 8px;
		margin-bottom: 6px;
	}

	.homeAbout__subtitle {
		font-size: 18px;
	}

	.hotelSearch__form .form-group.formInput {
		padding-right: 0 !important;
		margin-right: 0 !important;
		position: relative;
		z-index: 10;
		flex-direction: column;
		border-right: 0;
	}
	.hotelSearch__form .form-group.formInput .form-control {
		border-radius: 8px !important;
	}

	.homeAbout__title {
		font-size: 24px;
		font-weight: 700;
		line-height: 35px;
		max-width: unset;
	}

	.homeAbout__text {
		color: #000;
		text-align: justify;
		font-size: 16px;
		font-weight: 400;
		line-height: 28px;
		max-width: unset;
	}

	.homeAbout .row-gap-3 {
		row-gap: 10px !important;
	}

	.secTitle {
		font-size: 24px;
	}

	.secTitle.mb-3 {
		margin-bottom: 8px !important;
	}

	.secText {
		font-size: 18px;
	}

	.homeHotel__grid,
	.homePackage__grid,
	.homeNews__grid {
		grid-template-columns: repeat(1, 1fr);
		gap: 20px;
	}

	.homePackage .secHead,
	.hotelLocation .secHead {
		align-items: flex-start !important;
	}

	.homePackage .secViewmore,
	.homeNews .secViewmore,
	.hotelLocation .secViewmore {
		margin-left: auto;
		margin-top: 20px;
	}

	.homeCta__title {
		font-size: 24px;
	}

	.homeCta__link {
		padding: 12px 35px;
	}

	.tourAbout__content .h2,
	.tourAbout__content h2,
	.packageAbout__content .h2,
	.packageAbout__content h2 {
		font-size: 24px;
		margin-bottom: 10px;
	}

	.tourSummary .summaryHead__title {
		color: #024363;
		font-size: 24px;
	}

	.tourSummary .summaryHead__price strong {
		font-size: 28px;
	}

	.tourContent__itinerary.accordion .accordion-item .accordion-button {
		padding-left: 0;
	}

	.tourContent__itinerary.accordion .accordion-item .accordion-button::before {
		display: none;
	}

	.tourContent__itinerary.accordion .accordion-item .accordion-collapse,
	.packageSchedule .accordion-collapse {
		padding-left: 0;
	}

	.tourRelated .secHead {
		flex-direction: row !important;
		align-items: center !important;
	}

	.modalBookingTour .modal-dialog {
		height: 100%;
		display: flex;
		align-items: center;
	}

	.bnTop img {
		height: 300px !important;
		-o-object-fit: cover;
		object-fit: cover;
	}

	/* .resultItem__action a {
    width: 100%;
  }
  .resultItem__action .hotel__rate {
    width: 100%;
  } */
	.resultItem__action {
		width: 100% !important;
	}

	.packageSchedule .accordion-item:first-child .accordion-button::before {
		width: 30px;
		height: 30px;
	}

	.packageSchedule .accordion-header {
		padding-left: 45px !important;
	}

	.cmtHead__hl {
		width: 130px;
		height: 130px;
		margin-left: auto;
		margin-right: auto;
	}

	.cmtHead__hl .number {
		font-size: 40px;
	}

	.cmtHead__hl .text {
		font-size: 16px;
	}

	.cmtHead .divider {
		height: 0;
		width: 150px;
		border-bottom: 1px solid var(--bs-border-color);
	}

	.cmtHead__process {
		align-items: unset !important;
	}

	.full-breadcrumbs {
		padding-bottom: 0px !important;
	}

	.breadcrumbs {
		font-size: 14px;
		margin-bottom: 10px;
		line-height: 24px;
	}

	.aboutContent__text h2 {
		font-size: 28px;
		line-height: normal;
		margin-bottom: 16px;
	}

	.aboutAchie__item .title {
		font-size: 40px;
	}

	.aboutAchie__item .text {
		font-size: 16px;
	}

	.secAboutAchie__bn {
		margin-left: auto;
		max-width: 540px;
		height: 400px !important;
		-o-object-fit: contain;
		object-fit: contain;
	}

	.aboutAchie__item {
		text-align: center;
	}

	.secAboutAchie::before {
		height: 100%;
	}

	.newsList__navs {
		justify-content: flex-start !important;
	}

	.secSinglePost__title {
		font-size: 28px;
		line-height: 36px;
	}

	.currency-switcher:hover .innerCurrency,
	.language-switcher:hover .innerLanguage {
		display: flex !important;
		flex-direction: row;
		right: -115px;
		top: 0 !important;
	}
    #filter-form{
        display: none !important ;
    }
}
/*# sourceMappingURL=responsive.css.map */