.row.flex-col-together {
	display: flex;
	justify-content: left;
	gap: 30px;
}
.row.flex-col-together form {
	background: beige;
	padding: 10px;
	border-radius: 8px;
	width: 30%;
}
.row.flex-col-list {
	width: 80%;
	background: cadetblue;
	padding: 10px;
	border-radius: 8px;
}
.row.flex-col-list h2 {
	text-align: center;
	text-transform: capitalize;
	font-size: 20px;
	color: white;
}
.btn-hotels {
	text-decoration: none;
	background: #8b0204;
	padding: 5px 30px;
	color: white;
	border-radius: 8px;
	font-size: 15px;
}
.btn-hotels:hover {
	transform: scale(1.1);
	transition: all 0.3s ease-in-out;
}
.form-loai-phong input {
	width: 50%;
}
.form-loai-phong .submit input {
	width: max-content;
}
.form-loai-phong {
	background: antiquewhite;
	padding: 10px 20px;
	border-radius: 8px;
}
.desc-type-room {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	height: 30px;
}
/* .table-danh-sach-loai-phong tbody tr:nth-child(odd) {
background: beige;
} */
.table-danh-sach-loai-phong a {
	text-decoration: none;
	color: red;
	text-transform: capitalize;
}
.room-desc {
	background: aliceblue;
	padding: 10px;
	border-radius: 10px;
}
.room-desc h3 {
	color: black;
}
.room-desc p {
	margin: 0;
	margin-bottom: 5px;
	color: black;
}
.price-details {
	padding: 0;
	margin: 0;
	color: black;
	font-size: 16px;
}
.price-detail-number {
	color: #8b0204;
	font-weight: bold;
	font-size: 18px;
}
.label-border {
	width: max-content;
	background: beige;
	padding: 10px;
	border-radius: 10px;
	color: black;
}
/* shortcode CSS */

.room-list-container {
	margin: 20px 0;
}

.room-card {
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	margin-bottom: 30px;
	height: 100%;
	display: flex;
	flex-direction: column;
	padding: 20px;
	align-items: center;
}

.room-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.room-card-image {
	position: relative;
	height: 300px;
	overflow: hidden;
}

.room-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.room-card:hover .room-card-image img {
	transform: scale(1.05);
}

.room-card-content {
	    padding: 30px 10px 0 10px;
	display: flex;
	flex-direction: row;
}

.room-card-title {
	font-size: 18px;
	font-weight: bold;
	color: BLACK;
	margin-bottom: 8px;
	line-height: 1.3;
	text-align: CENTER;
	font-size: 22px;
	font-weight: bold;
	text-transform: capitalize;
}

.room-card-hotel {
	color: #666;
	font-size: 14px;
	margin-bottom: 12px;
	display: flex;
	align-items: center;
}

.room-card-hotel:before {
	content: '🏨';
	margin-right: 5px;
}

.room-card-desc {
	color: #777;
	font-size: 14px;
	line-height: 1.5;
	margin-bottom: 15px;
	flex-grow: 1;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.room-card-price {
	font-size: 20px;
	font-weight: bold;
	color: #e74c3c;
	margin-bottom: 15px;
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
}
.room-card-actions {
	display: flex;
	gap: 10px;
}

.btn-detail,
.btn-book {
	flex: 1;
	padding: 12px;
	text-align: center;
	border-radius: 6px;
	text-decoration: none;
	font-weight: 500;
	transition: all 0.3s ease;
	border: none;
	cursor: pointer;
}

.btn-detail {
	background: #3498db;
	color: white;
}

.btn-detail:hover {
	background: #2980b9;
	color: white;
}

.btn-book {
	background: #27ae60;
	color: white;
}

.btn-book:hover {
	background: #229954;
	color: white;
}

.room-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
	gap: 20px;
	margin-top: 20px;
	border: 2px solid #e74c3c;
	padding: 10px;
	border-radius: 12px;
}
.room-card-hotel-flex {
	display: flex;
	gap: 50px;
	margin: 20px 0;
}
.room-card-hotel-flex .room-desc {
	background: aliceblue;
	padding: 10px;
	border-radius: 10px;
	width: 60%;
}
.room-count {
    font-size: 12px;
    color: black;
    margin-top: 3px;
    font-weight: 500;
    background: antiquewhite;
    padding: 0 5px;
    border-radius: 5px;
}
span.price-list-sale {
    color: red;
    font-weight: bold;
}
@media (max-width: 768px) {
	.room-card-content {
		display: flex;
		flex-direction: row;
		padding:0 !important;
	}
	.room-grid {
		grid-template-columns: 1fr;
	}

	.room-card-actions {
		flex-direction: column;
	}

	.btn-detail,
	.btn-book {
		flex: none;
	}
}
/* SHORTCODE -FILTER */

.booking-filter-container {
	background: #fff;
	border: 2px solid #e74c3c;
	border-radius: 12px;
	padding: 15px;
	box-shadow: 0 4px 15px rgba(231, 76, 60, 0.1);
}

.filter-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
}

.filter-title {
	color: #e74c3c;
	font-size: 20px;
	font-weight: bold;
	margin: 0;
}

.location-info {
	color: #666;
	font-size: 14px;
}

.booking-tabs {
	display: flex;
	background: #f8f9fa;
	border-radius: 8px;
	margin-bottom: 5px;
	padding: 4px;
}

.tab-button {
	flex: 1;
	padding: 5px;
	border: none;
	background: transparent;
	cursor: pointer;
	border-radius: 99px;
	font-weight: 500;
	color: #666;
	transition: all 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.tab-button.active {
	background: #8b0000;
	color: white;
	box-shadow: 0 2px 8px rgba(139, 0, 0, 0.3);
}

.tab-button:hover:not(.active) {
	background: rgba(139, 0, 0, 0.1);
	color: #8b0000;
}

.booking-form {
	display: grid;
	grid-template-columns: 2fr 1fr auto;
	gap: 15px;
	margin: 0 !important;
}

.form-group {
	display: flex;
	flex-direction: column;
}

.form-group label {
	font-weight: 500;
	margin-bottom: 5px;
	color: #333;
	font-size: 14px;
}

.form-group input,
.form-group select {
	padding: 12px;
	border: 1px solid #ddd;
	border-radius: 6px;
	font-size: 14px;
	transition: border-color 0.3s ease;
	height: 50px;
}

.form-group input:focus,
.form-group select:focus {
	outline: none;
	border-color: #8b0000;
	box-shadow: 0 0 0 2px rgba(139, 0, 0, 0.1);
}

.search-btn {
	background: #8b0000;
	color: white;
	border: none;
	padding: 5px 25px;
	border-radius: 6px;
	font-weight: bold;
	cursor: pointer;
	height: fit-content;
	transition: all 0.3s ease;
	margin: 10px;
	margin-top: 26px;
}
.search-btn.new{
	margin:0 !important;
}
small.text-info {
	font-size: 11px;
	font-style: italic;
	text-transform: capitalize;
}
.search-btn:hover {
	background: #660000;
	transform: translateY(-1px);
}

.return-time {
	font-size: 12px;
	color: white;
	margin-top: 10px;
	background: black;
	width: max-content;
	padding: 0 10px;
	border-radius: 10px;
}

.loading {
	display: none;
	text-align: center;
	padding: 40px;
	color: #666;
}

.spinner {
	border: 4px solid #f3f3f3;
	border-top: 4px solid #8b0000;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	animation: spin 1s linear infinite;
	margin: 0 auto 10px;
}

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

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

/* Room Results Styles */
.room-results {
	margin-top: 30px;
}

.room-card {
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
	overflow: hidden;
	transition: transform 0.3s ease;
}

.room-card:hover {
	transform: translateY(-2px);
}

.room-card-title {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 8px;
	color: black;
	text-align: left;
}

.room-features {
	width: 60%;
	text-align: left;
}

.room-features ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.room-features li {
	color: black;
	font-size: 14px;
	margin-bottom: 3px;
	padding-left: 15px;
	position: relative;
	padding: 0;
	margin: 0 !important;
}

.room-features li:before {
	content: '-';
	position: absolute;
	left: 0;
	color: #8b0000;
}
.room-card-content .room-desc p {
	margin: 0;
	margin-bottom: 5px;
	font-size: 14px;
	color: black;
}
.room-card-content .room-desc {
	background: unset;
	padding: 0px;
	border-radius: 10px;
}
.price-section {
	width: 40%;
	display: flex;
	flex-direction: column-reverse;
	align-items: center;
	justify-content: center;
}
.price-section .btn-book {
	height: 20px !important;
	max-height: max-content;
	max-width: 100% !important;
	margin-top: 10px;
	background-color: #8B0204 !important;
}
.btn-unavailable.disabled {
	pointer-events: none;
	opacity: 0.6;
	cursor: not-allowed;
	margin:0 !important;
}
.room-price {
	text-align: right;
}

.original-price {
	text-decoration: line-through;
	color: #999;
	font-size: 12px;
}

.current-price {
	font-size: 18px;
	font-weight: bold;
	color: #333;
}

.room-count {
	font-size: 12px;
	color: #666;
	margin-top: 3px;
}

.btn-book {
	background: #8b0000;
	color: white;
	padding: 8px 16px;
	border: none;
	border-radius: 4px;
	text-decoration: none;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	transition: background 0.3s ease;
	max-width: 50% !important;
}

.btn-book:hover {
	background: #660000;
	color: white;
}

.btn-unavailable {
	background: #ccc;
	color: #666;
	padding: 8px 16px;
	border: none;
	border-radius: 4px;
	font-size: 14px;
	cursor: not-allowed;
}

@media (max-width: 768px) {
	.room-card-content .room-desc p {
		margin: 0;
		margin-bottom: 5px;
		font-size: 14px;
		color: black;
		text-align: justify;
		width: 90%;
	}
	.price-section .btn-book {
		height: 50px !important;
		max-height: max-content;
		max-width: 100% !important;
		margin-top: 10px;
	}
	.booking-form {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.booking-tabs {
		flex-direction: column;
	}

	.tab-button {
		margin-bottom: 2px;
	}

	.room-grid {
		grid-template-columns: 1fr;
	}
}
/* SWIPER */
.gallery-swiper {
	max-width: 500px;
	margin: 20px 0;
}

.gallery-main {
	margin-bottom: 10px;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.gallery-main .swiper-slide {
	text-align: center;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100% !important;
	max-width: 100% !important;
}

.gallery-main .swiper-slide img {
	display: block;
	width: 100%;
	height: 350px;
	object-fit: cover;
}

.gallery-thumbs {
	height: 80px;
	box-sizing: border-box;
	padding: 10px 0;
}

.gallery-thumbs .swiper-slide {
	width: 25%;
	height: 100%;
	opacity: 0.4;
	cursor: pointer;
	border-radius: 4px;
	overflow: hidden;
}

.gallery-thumbs .swiper-slide-thumb-active {
	opacity: 1;
	border: 2px solid #007aff;
}

.gallery-thumbs .swiper-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Custom navigation buttons */
.swiper-button-next,
.swiper-button-prev {
	color: #007aff;
	width: 20px !important;
	height: 20px !important;
	border-radius: 50%;
	margin-top: -20px;
}

.swiper-button-next:after,
.swiper-button-prev:after {
	font-size: 20px !important;
	font-weight: bold;
}

/* Pagination */
.swiper-pagination-bullet {
	background: #007aff;
	opacity: 0.5;
}

.swiper-pagination-bullet-active {
	opacity: 1;
}

/* Responsive */
@media (max-width: 768px) {
	.gallery-swiper {
		max-width: 100%;
	}

	.gallery-main .swiper-slide img {
		height: 250px;
	}

	.gallery-thumbs {
		height: 60px;
	}
}
.checkout-modal-content {
	background: white;
	border-radius: 8px;
	width: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	overflow-y: auto;
}
/* DETAIL ROOM PAYMENT */

.booking-summary {
	background: #f8f9fa;
	border: 1px solid #e9ecef;
	border-radius: 8px;
	padding: 20px;
	margin: 20px 0;
}

.booking-summary h3 {
	margin-top: 0;
	color: black;
	border-bottom: 1px solid #ddd;
	padding-bottom: 10px;
	text-align: center;
	text-transform: capitalize;
}

.booking-details p {
	margin: 8px 0;
	display: flex;
	justify-content: space-between;
}
.booking-details p b,
.booking-details p strong {
	font-weight: inherit;
	font-weight: bolder;
	color: black;
	text-transform: capitalize;
}
.price-summary {
	border-top: 1px solid #ddd;
	padding-top: 15px;
	margin-top: 15px;
}
.color-price {
	color: #8b0204;
}
.price-row {
	display: flex;
	justify-content: space-between;
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 5px;
}

.price-note {
	font-size: 12px;
	color: #666;
	text-align: right;
}

.payment-options {
	margin-top: 20px;
}

.payment-options h4 {
	color: black;
	margin-bottom: 15px;
	font-size: 16px;
}

.payment-methods {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 20px;
}

.payment-method {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px;
	border: 1px solid #ddd;
	border-radius: 6px;
	cursor: pointer;
	transition: all 0.3s ease;
}

.payment-method:hover {
	border-color: #8B0204;
	background: #f8f9ff;
}

.payment-method input[type='radio']:checked + .method-icon {
	color: #8B0204;
}

.method-icon {
	font-size: 20px;
}

.btn-confirm {
	width: 100%;
	background: #8b0204 !important; 
	color: white;
	padding: 5px;
	border: none;
	border-radius: 6px;
	font-size: 16px;
	font-weight: bold;
	cursor: pointer;
	transition: background 0.3s ease;
}

.btn-confirm:hover {
	background: #c82333;
}

.modal {
	display: none;
	position: fixed;
	z-index: 9999;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
}

.modal-content.success {
	text-align: center;
	padding: 30px;
}
.modal-content {
	background: #f3e6e6;
	padding: 10px;
	border-radius: 8px;
}
.modal-header h3 {
	text-align: center;
	text-transform: capitalize;
	margin: 0;
	padding: 0;
	border: none;
}

.close {
	font-size: 24px;
	cursor: pointer;
	color: #999;
}

.close:hover {
	color: #333;
}
.form-group input {
	border-radius: 10px !important;
}
.form-group {
	margin-bottom: 0px;
}

.form-group label {
	display: block;
	margin-bottom: 5px;
	font-weight: bold;
}

.form-group input {
	width: 100%;
	padding: 10px;
	border: 1px solid #ddd;
	border-radius: 4px;
}

.btn-submit,
.btn-after-payment,
.btn-close {
	width: 100%;
	background: #28a745;
	color: white;
	padding: 12px;
	border: none;
	border-radius: 6px;
	font-size: 16px;
	cursor: pointer;
	margin: 20px;
	width: calc(100% - 40px);
}

.qr-container {
	padding: 20px;
	text-align: center;
}

.qr-code img {
	border: 1px solid #ddd;
	border-radius: 8px;
	margin-bottom: 15px;
}

.qr-info {
	margin-bottom: 20px;
}

.qr-info .note {
	font-size: 12px;
	color: #666;
	font-style: italic;
}

.success-icon {
	font-size: 48px;
	margin-bottom: 20px;
}

@keyframes slideIn {
	from {
		transform: translateY(-50px);
		opacity: 0;
	}
	to {
		transform: translateY(0);
		opacity: 1;
	}
}

@media (max-width: 768px) {
	.booking-details p {
		flex-direction: column;
		gap: 5px;
	}

	.price-row {
		flex-direction: column;
		gap: 5px;
	}
}
/* BOOKING */
.table-booking tbody tr td {
	text-transform: capitalize;
}

.booking-status {
	padding: 4px 8px;
	border-radius: 4px;
	font-weight: bold;
	color: #fff;
	display: inline-block;
}

.status-pending {
	background-color: #f1c40f; /* vàng */
	color: #000;
}
.status-paid {
	background-color: #7f8c8d; /* xám */
}
.status-cancelled {
	background-color: #e74c3c; /* đỏ */
}
.status-completed {
	background-color: #27ae60; /* xanh lá */
}
/* CSS cho mobile - Ẩn thumbnail gallery và chỉ hiển thị main gallery */
@media (max-width: 768px) {
	.gallery-thumbs {
		display: none !important;
	}

	.gallery-main {
		width: 100% !important;
	}

	/* Optional: Tăng kích thước navigation buttons trên mobile cho dễ bấm */
	.gallery-swiper .swiper-button-next,
	.gallery-swiper .swiper-button-prev {
		width: 44px !important;
		height: 44px !important;
	}

	/* Optional: Tăng kích thước pagination dots trên mobile */
	.gallery-swiper .swiper-pagination-bullet {
		width: 12px !important;
		height: 12px !important;
	}
}
.time-picker-container{
	display: flex;
	gap: 5px;
}
.time-picker-container  input,
.time-picker-container  select ,
.booking-form.new select{
	padding: 0 20px !important;
	border: 1px solid #ddd;
	border-radius: 12px !important;
	font-size: 14px;
	transition: border-color 0.3s ease;
	height: 40px !important;
	margin: 0 !important;
}
/* CSS cho form thêm loại phòng */
.col-inner-form {
	display: flex;
	flex-direction: column;

}

/* Hàng đầu tiên: Khách sạn, Tên loại phòng, Số lượng phòng */
.basic-info-row {
	display: flex;
	gap: 20px;
	margin-bottom: 25px;
	align-items: end;
}

.basic-info-item {
	flex: 1;
}

.basic-info-item label {
	display: block;
	font-weight: bold;
	margin-bottom: 5px;
	color: #333;
}

.basic-info-item select,
.basic-info-item input {
	width: 100%;
	padding: 8px 12px;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 14px;
	box-sizing: border-box;
}
.pricing-section{
	background: #f5f5dc8f;
	padding: 10px;
	border-radius: 12px;
}
/* Bảng giá chi tiết theo giờ */
.pricing-section h3 {
	margin: 25px 0 15px 0;
	color: #333;
	font-size: 18px;
	border-bottom: 2px solid #007cba;
	padding-bottom: 8px;
}

.pricing-table {
	display: flex;
	gap: 15px;
	background: #f9f9f9;
	padding: 20px;
	border-radius: 6px;
	border: 1px solid #e1e1e1;
	margin-bottom: 25px;
	
}

.pricing-item {
	flex: 1;
	min-width: 100px;
}

.pricing-item label {
	display: block;
	font-weight: bold;
	margin-bottom: 5px;
	color: #555;
	font-size: 14px;
}

.pricing-item input {
	width: 100%;
	padding: 8px;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 14px;
	box-sizing: border-box;
}

/* Hàng giá cơ bản: Giá cơ bản theo giờ, Giá theo ngày, Giá theo đêm */
.price-basic-row {
	display: flex;
	gap: 20px;
	align-items: start;
	flex-wrap: wrap;
	background: #f5f5dc8f;
	padding: 10px;
	border-radius: 12px;
	margin-top: 2rem;
	margin-bottom: 2rem;
}

.price-basic-item {
	flex: 1;
	min-width: 180px;
}

.price-basic-item label {
	display: block;
	font-weight: bold;
	margin-bottom: 5px;
	color: #333;
}

.price-basic-item input {
	width: 100%;
	padding: 8px 12px;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 14px;
	box-sizing: border-box;
	margin-bottom: 10px;
}

.auto-calculate-btn {
	background: #007cba;
	color: white;
	padding: 8px 12px;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	font-size: 14px;
	width: 100%;
}

.auto-calculate-btn:hover {
	background: #005a87;
}
.current-price.have-price-sale {
    color: red !important;
    font-weight: bold;
}
.price-sale{
	text-decoration: line-through;
    color: rgba(0, 0, 0, 0.5);
    font-style: italic;
    font-size: 16px;
}
.room-price{
	    DISPLAY: FLEX;
    flex-direction: column;
    align-items: end;
   
    padding: 10px;
}
/* Responsive */
@media (max-width: 768px) {
	.basic-info-row,
	.price-basic-row {
		flex-direction: column;
	}

	.pricing-table {
		flex-direction: column;
	}
}
/* Nếu bạn muốn ẩn luôn cho tablet */
@media (max-width: 1024px) {
	.gallery-thumbs {
		display: none !important;
	}

	.gallery-main {
		width: 100% !important;
	}
}