/* ============================================================
Hotel Booking Page — assets/css/hotel-booking.css
============================================================ */
.tour-card-inner{
	background:#f9f9f9;
	border-radius:16px;
	padding:15px;
	height:100%;
	display:flex;
	flex-direction:column;
}

.tour-image img{
	width:100%;
	height:200px;
	object-fit:contain;
	border-radius:12px;
	background:#fff;
}

.tour-card-body{
	
	display:flex;
	flex-direction:column;
	gap:10px;
}

.tour-desc{
	color:#505050;
	flex-grow:1;
	font-family: inherit;
}

.tour-bottom{
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin-top:auto;
	margin-bottom:10px;
	padding-right:15px;
}

.tour-price{
	font-weight:600;
	font-size:16px;
	border-radius: 20px;
}

.tour-cart-btn{
	background:#1dbb2f;
	color:#fff;
	padding:10px 22px;
	border-radius:22px;
	text-decoration:none;
	font-weight:500;
}

.tour-filter-wrapper{
	max-width:1200px;
	box-sizing:border-box;
}

.tour-filter-field-wrapper{
	margin-bottom:40px;
}

.tour-product-wrapper{
	width:100%;
}

.tour-content{
	padding:15px;
}

.input-group {
    position: relative;
}

.input-group input {
    width: 100%;
    padding-right: 45px;
}

.input-group .back-btn {
    position: absolute;
    right: 10px;
    top: 40%;
    transform: translateY(-50%);
    height: 32px;
    width: 32px;
    border-radius: 50%;
    border: none;
    background: transparent !important; /* 👈 like tour form */
    color: #000;
    font-size: 16px;
    cursor: pointer;
}
/* REMOVE NUMBER INPUT ARROWS (Chrome, Safari, Edge) */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* REMOVE ARROWS (Firefox) */
input[type="number"] {
    -moz-appearance: textfield;
}
/* FILTER SECTION */

.tour-filter-buttons{
	display:flex;
	justify-content:flex-start;
	align-items:center;
	gap:12px;
	margin-bottom:30px;
	flex-wrap:wrap;
}

.tour-filter-buttons .tour-filter-btn{
	font-size:16px;
	padding:8px 18px;
	background:#ffffff;
	color:#666666;
	border:1px solid #e5e5e5;
	cursor:pointer;
	font-family:inherit;
	border-radius:30px;
	transition:all 0.2s ease;
	white-space:nowrap;
}

/* HOVER */

.tour-filter-buttons .tour-filter-btn:hover{
	background:#20C210;
	color:#ffffff;
	border-color:#20C210;
}

/* ACTIVE BUTTON */

.tour-filter-buttons .tour-filter-btn.active{
	background:#20C210;
	color:#ffffff;
	border-color:#20C210;
}
/* GRID */

.tour-product-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:30px;
	position:relative;
}


/* CARD */

.tour-product-card{
	background: #f3f3f3 !important;
	display: flex;
	flex-direction: column;
	border-radius:15px;
	overflow:hidden;
	background:#fff;
	/* 	box-shadow:0 5px 15px rgba(0,0,0,0.08); */
	transition:0.3s;
	font-family:inherit !important;
}

/* .tour-product-card:hover{
transform:translateY(-6px);
} */
/* ===== HOTEL BOOKING DATE FIELD (SCOPED) ===== */

.hb-date-wrap {
    position: relative;
    cursor: pointer;
}

.hb-input {
    width: 100%;
    height: 52px;
    padding: 14px;
    padding-right: 40px; /* space for icon */
    background-color: #F6F6F6;
    border-radius: 8px;
    border: none;
    font-size: 16px;
    cursor: pointer;
    box-sizing: border-box;
}

.hb-date-icon {
    position: absolute;
    right: 13px;
    top: 50%;
    transform: translateY(-50%);
	pointer-events:none;
}

.hb-date-icon img {
    width: 18px;
    height: 18px;
}
.hb-date-wrap {
    cursor: pointer;
}

.hb-input {
    cursor: pointer;
}
.hb-date-wrap input[type="date"]::-webkit-calendar-picker-indicator {
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 45px;   /* 👈 ONLY ICON AREA */
    height: 100%;
    cursor: pointer;
    z-index: 2;
}
/* IMAGE */

.tour-image img{
	width:100%;
	height:240px;
	object-fit:cover;
}


/* CARD BODY */

.tour-card-body{
	padding:20px;
}


/* TITLE */

.tour-title{
	font-size:20px !important;
	font-weight:600 !important;
	margin-bottom:10px;
	color: #1e1e1e;
}


/* RATING */

.tour-rating{
	color:#f5b301;
	font-size:18px;
	margin-bottom:12px;
}


/* DURATION */

.tour-duration{
	color:#666;
	font-size:16px;
	display:flex;
	align-items:center;
	gap:6px;
}


/* PRICE BAR */

.tour-price{
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding:16px 20px;
	font-weight:600;
}

.tour-from{
	font-size:16px;
	color: #141414;
}

.tour-amount{
	font-size:16px;
	color: #141414;
}
/* .hotel-additional-description{
margin-top:40px;
} */

.hotel-description-block{
	border-bottom:1px solid #ddd;
	padding:30px 0;
}

.hotel-description-block:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.hotel-desc-title{
	font-weight:500 !important;
	margin-bottom:16px;
	display:inline-block;
}

/* .hotel-desc-content{
margin-top:12px;
} */

.hotel-desc-content ul {
	display: flex;
	flex-direction: column;
	gap: 8px;
	list-style: none;
}

.hotel-desc-content ul li {
	position: relative;
	padding-left: 16px;
}

.hotel-desc-content ul li::before {
	content: "";
	position: absolute;
	left: 0px;
	top: 6px;
	width: 6px;
	height: 6px;
	background-image: url('/wp-content/uploads/2026/03/Ellipse-7.svg');
	background-size: contain;
	background-repeat: no-repeat;
}

/* WRAPPER */

.hotel-pricing-wrapper {
	/*	padding-top:20px;
	padding-bottom:40px;
	border-bottom:1px solid #ddd; /* bottom line like screenshot */
	font-family: inherit;
}


/* TITLE */

.hotel-pricing-title{
	font-size:25px !important;
	font-weight:600 !important;
	text-transform:uppercase;
	margin-bottom:30px; /* increase gap between title and table */
	position:relative;
	display:inline-block;
}

.hotel-pricing-title:after{
	content:'';
	width:100%;
	height:2px;
	background:#00a9c7;
	position:absolute;
	bottom:-5px;
	left:0;
}


/* TABLE */

.hotel-pricing-table{
	width:100%;
	border-collapse:collapse;
	border-radius: 10px;
}


/* TABLE HEAD */

.hotel-pricing-table th{
	background:#E8F8E6;
	font-weight:600;
	border:1px solid #ddd;
	padding:20px;
	text-align:center;
	font-size:20px;
}


/* TABLE BODY */

.hotel-pricing-table td{
	border:1px solid #ddd;
	font-weight: 400;
	padding:22px;
	vertical-align:middle; /* center text vertically */
	text-align:center;
}


/* ROOM NAME */

.room-category{
	font-size:18px;
	font-weight:600;
}


/* PRICE */

.room-price{
	text-align:center;
	font-size:18px;
	font-weight:600;
}
/* BOOKING FORM WRAPPER */

.hotel-booking-form{
	padding: 14px;
	background-color: #FEFEFE;
	box-shadow: 0 5px 15px rgba(0,0,0,0.07);
	border-radius: 10px;
	font-family: inherit;
}


/* TOP PRICE BAR */

.hotel-price-top {
	padding: 14px;
	background-color: #F2F2F7;
	border-radius: 8px;
	font-size: 16px;
	color: #8E8E93;
	margin-bottom: 20px;
}

.hotel-price-top strong {
	font-weight: 700;
	color: #0F71DD;
	font-size: 24px;
	margin: 0 4px;
}


/* FORM */

#hotel-booking{
	display:flex;
	flex-direction:column;
	gap:10px;
}


/* LABEL */

#hotel-booking label {
	display: block;
	color: #878787;
	font-size: 14px;
}

#hotel-booking label:before{
	content:"* ";
}


/* INPUT + SELECT */

#hotel-booking input,
#hotel-booking select {
	width: 100%;
	height: 52px;
	padding: 14px;
	background-color: #F6F6F6;
	border-radius: 8px;
	border: none;
	font-size: 15px;
	color: #141414;
	outline: none;
	box-sizing: border-box;
}

.adult-child-row {
	display: flex;
	gap: 4%;
}

.adult-child-row select {
	width: 48%;
}

#adult-count {
	margin-right: 4%;
}


/* DATE INPUT ICON SPACE */

/* #hotel-booking input[type="date"]{
padding-right:30px;
} */


/* SELECT DROPDOWN */

#hotel-booking select{
	cursor:pointer;
}


/* BUTTON */

#calculate-price {
	width: 100%;
	padding: 12px 24px;
	background-color: #00B531;
	color: #fff;
	border: none;
	border-radius: 70px;
	font-size: 14px;
	cursor: pointer;
	font-weight: 400;
}

#calculate-price:hover {
	background-color: #009e2a;
}


#calculate-price .btn-title{
	font-size:15px;
	font-weight: 500;
}


#calculate-price .btn-title .btn-price{
	font-size:20px;
	font-weight:500;
}

.tbf-date-wrap {
	position: relative;
}

.tbf-input {
	width: 100%;
	height: 52px;
	padding: 14px;
	padding-right: 40px; /* IMPORTANT for icon space */
	background-color: #F6F6F6;
	border-radius: 8px;
	border: none;
	font-size: 16px;
}

.tbf-date-icon {
	position: absolute;
	right: 13px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
}

.tbf-date-icon img {
	width: 18px;
	height: 18px;
}
/* TOTAL PRICE */

.total-price{
	margin-top:10px;
	font-size:16px;
	font-weight:600;
	text-align:center;
}
.field-error{
	color:red;
	font-size:12px;
	display:block;
}

/* .input-error{
border-bottom:2px solid red !important;
} */

.hotel-itinerary-wrapper{
	display:flex;
	flex-direction:column;
	gap:14px;
}
.itinerary-heading{
	padding-top:20px;
}
.download-itinerary-btn{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	border:1px solid #169b9b;
	color:#169b9b;
	padding:12px 24px; 
	border-radius:70px;
	text-decoration:none;
	font-weight:600;
	position:relative;
	transition:0.3s;
}

.download-itinerary-btn:hover{
	background:#00B531;
	color:#fff;
}


/* TOOLTIP */

.download-itinerary-btn::after{
	content:attr(data-tooltip);
	position:absolute;
	top:-40px;
	left:50%;
	transform:translateX(-50%);
	background:#222;
	color:#fff;
	padding:8px 12px;
	font-size:13px;
	border-radius:4px;
	opacity:0;
	visibility:hidden;
	white-space:nowrap;
	transition:0.3s;
}


.download-itinerary-btn::before{
	content:'';
	position:absolute;
	top:-12px;
	left:50%;
	transform:translateX(-50%);
	border:6px solid transparent;
	opacity:0;
	visibility:hidden;
}

.download-itinerary-btn:hover::after,
.download-itinerary-btn:hover::before{
	opacity:1;
	visibility:visible;
}
#book-hotel{
	width: 100%;
	padding: 12px 24px;
	background-color: #00B531;
	color: #fff;
	border: none;
	border-radius: 70px;
	font-size: 16px;
	cursor: pointer;
	font-weight: 400;
}
/* =========================
HOTEL PAGINATION DESIGN
========================= */

.tour-pagination {
    display: none;
}

.tour-pagination:has(a, span.current) {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin-top: 40px;
}

/* PAGE NUMBER */

.tour-pagination a,
.tour-pagination span{
	display:flex;
	align-items:center;
	justify-content:center;
	padding: 10px 16px;
	border-radius:20px;
	border:1px solid #D9D9D9;
	text-decoration:none;
	color:#121212;
	font-size:14px !important;
	background-color:transparent;
	transition:all 0.25s ease;
	line-height:130% !important;
}

/* HOVER */

.tour-pagination a:hover{
	background-color:#20C210;
	border-color:#20C210;
	color:#fff;
}

/* CURRENT PAGE */

.tour-pagination .current{
	background-color:#20C210;
	color:#fff;
	border-color:#20C210;
}

/* DOTS (...) */

.tour-pagination .dots{
	border:none;
	background:transparent;
}

/* PREV / NEXT */

/* .tour-pagination .prev,
.tour-pagination .next{
	font-weight:600;
} */

.hotel-share{
	margin-top: 20px;	
}

.hotel-share-icons{
	margin-top: 10px;	
}
#book-hotel{
	display:none;
}
/* ===== FIX CARD LAYOUT ===== */

.tour-product-card{
	display: flex;
	flex-direction: column;
	height: 100%;
}

.hotel-info{
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}

.hotel-info a{
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none;
	color: inherit;
}

.tour-card-body{
	flex-grow: 1;
}

.tour-bottom{
	margin-top: auto;
}

/* ============================================================
RESPONSIVE
============================================================ */


/* Laptop (1366px) */

@media screen and (max-width:1366px){

	.tour-product-grid{
		grid-template-columns:repeat(3,1fr);
		gap:25px;
	}


}


/* Tablet */

@media screen and (max-width:1024px){

	.tour-product-grid{
		grid-template-columns:repeat(2,1fr);
		gap:20px;
	}

	.tour-image img{
		height:220px;
	}
	.hotel-booking-form{
		padding:25px;
	}

	.hotel-pricing-table th,
	.hotel-pricing-table td{
		padding:16px;
		font-size:16px;
	}

	.hotel-desc-title{
		font-size:22px !important;
	}



}


/* Mobile */

@media screen and (max-width:768px){

	.tour-filter-buttons{
		justify-content:center;
	}

	.tour-filter-btn{
		padding:8px 18px;
		font-size:14px;
	}

	.tour-product-grid{
		grid-template-columns:1fr;
		gap:20px;
	}

	.tour-card-body{
		padding:15px;
	}

	.tour-title{
		font-size:18px !important;
	}

	.tour-image img{
		height:200px;
	}

	.tour-price{
		padding:14px 15px;
	}

	.tour-from{
		font-size:16px;
	}

	.tour-amount{
		font-size:20px;
	}

	.hotel-booking-form{
		padding:20px;
	}

	.hotel-price-top{
		font-size:16px;
	}

	.hotel-price-top strong{
		font-size:22px;
	}

	/* stack buttons nicely */
	#calculate-price,
	#book-hotel{
		padding:14px;
		font-size:15px;
	}

	/* itinerary button */
	.download-itinerary-btn{
		padding:16px;
		font-size:14px;
	}

	/* pricing table responsive */
	.hotel-pricing-table th,
	.hotel-pricing-table td{
		padding:14px;
		font-size:15px;
	}

	.hotel-desc-title{
		font-size:20px !important;
	}

}


/* Small Mobile */

@media screen and (max-width:480px){

	.tour-filter-wrapper{
		margin:20px auto;
	}

	.tour-filter-btn{
		padding:7px 14px;
		font-size:13px;
	}

	.tour-image img{
		height:180px;
	}

	.tour-title{
		font-size:16px !important;
	}

	.tour-duration{
		font-size:14px;
	}

	/* table scroll */
	.hotel-pricing-wrapper{
		overflow-x:auto;
	}

	.hotel-pricing-table{
		max-width:500px;
	}

	/* booking form */
	.hotel-booking-form{
		padding:18px;
	}

	/* labels smaller */
	#hotel-booking label{
		font-size:13px;
	}

	/* inputs smaller */
	#hotel-booking input,
	#hotel-booking select{
		font-size:13px;
	}

	/* itinerary button */
	.download-itinerary-btn{
		padding:14px;
		font-size:13px;
	}

	/* description spacing */
	.hotel-description-block{
		padding:20px 0;
	}

}
.elementor-slideshow__title{
	display: none;
}