/**
 * ==========================================================
 * Travel AI Platform
 * Booking
 * ==========================================================
 */

.tap-booking-page{

	max-width:1280px;

	margin:40px auto;

	padding:0 15px;

}

.tap-booking-page .tap-page-header{

	text-align:center;

	margin-bottom:35px;

}

.tap-booking-page .tap-page-header h2{

	margin:0 0 12px;

	font-size:38px;

	font-weight:700;

}

.tap-booking-page .tap-page-header p{

	margin:0;

	font-size:16px;

	opacity:.75;

}

.tap-booking-grid{

	display:grid;

	grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

	gap:25px;

}

.tap-booking-grid .tap-card{

	background:#fff;

	border:1px solid #e8e1cf;

	border-radius:18px;

	padding:28px;

	box-shadow:0 10px 30px rgba(0,0,0,.05);

	transition:.3s;

	position:relative;

	overflow:hidden;

}

.tap-booking-grid .tap-card:hover{

	transform:translateY(-6px);

	box-shadow:0 20px 45px rgba(0,0,0,.08);

}

.tap-booking-grid .tap-card h3{

	margin:0 0 18px;

	font-size:24px;

	font-weight:700;

}

.tap-booking-grid .tap-card p{

	margin:0 0 18px;

	line-height:1.7;

	color:#6b6456;

}

.tap-booking-grid ul{

	margin:0 0 25px;

	padding-left:18px;

}

.tap-booking-grid ul li{

	margin-bottom:10px;

	line-height:1.6;

}

.tap-booking-grid .tap-btn{

	width:100%;

	padding:14px;

	border-radius:10px;

	font-size:15px;

	font-weight:600;

}

.tap-booking-grid .tap-btn[disabled]{

	opacity:.6;

	cursor:not-allowed;

}

.tap-booking-grid .tap-card::before{

	content:"";

	position:absolute;

	top:0;

	left:0;

	width:100%;

	height:4px;

	background:linear-gradient(
		90deg,
		#0e2a52,
		#06b6d4
	);

}

@media(max-width:991px){

	.tap-booking-grid{

		grid-template-columns:repeat(2,1fr);

	}

}

@media(max-width:767px){

	.tap-booking-page{

		margin:20px auto;

	}

	.tap-booking-grid{

		grid-template-columns:1fr;

	}

	.tap-booking-page .tap-page-header h2{

		font-size:30px;

	}

	.tap-booking-grid .tap-card{

		padding:22px;

	}

}
/* ==========================================================
   NEW BOOKING UI (ADD BELOW EXISTING CSS)
   ========================================================== */

/* Booking Header */

.tap-booking-header{
	text-align:center;
	margin-bottom:40px;
}

.tap-booking-header h1{
	font-family:var(--tap-font-heading);
	font-size:44px;
	font-weight:700;
	margin:0 0 15px;
	line-height:1.2;
	color:#14203a;
}

.tap-booking-header p{
	max-width:760px;
	margin:auto;
	font-size:16px;
	color:#6b6456;
	line-height:1.8;
}

/* Summary */

.tap-booking-summary{

	display:grid;

	grid-template-columns:repeat(auto-fit,minmax(170px,1fr));

	gap:20px;

	margin:40px 0;

}

.tap-summary-item{

	background:#fff;

	border:1px solid #e8e1cf;

	border-radius:16px;

	padding:24px;

	text-align:center;

	box-shadow:0 8px 20px rgba(0,0,0,.05);

}

.tap-summary-item strong{

	display:block;

	font-size:34px;

	color:#0e2a52;

	font-weight:700;

}

.tap-summary-item span{

	display:block;

	margin-top:8px;

	color:#6b6456;

	font-size:14px;

}

/* Sections */

.tap-booking-section{

	margin:60px 0;

}

.tap-section-header{

	display:flex;

	align-items:center;

	justify-content:space-between;

	margin-bottom:25px;

	flex-wrap:wrap;

	gap:15px;

}

.tap-section-header h2{

	margin:0;

	font-size:28px;

	font-weight:700;

	display:flex;

	align-items:center;

	gap:10px;

}

.tap-section-count{

	background:#f7f2e3;

	color:#0e2a52;

	padding:8px 16px;

	border-radius:40px;

	font-size:13px;

	font-weight:600;

}

/* New Cards */

.tap-booking-card{

	background:#fff;

	border:1px solid #e8e1cf;

	border-radius:18px;

	overflow:hidden;

	box-shadow:0 10px 30px rgba(0,0,0,.05);

	display:flex;

	flex-direction:column;

	transition:.3s;

}

.tap-booking-card:hover{

	transform:translateY(-6px);

	box-shadow:0 18px 45px rgba(0,0,0,.10);

}

.tap-booking-image{

	height:220px;

	background:#f5efe2;

	overflow:hidden;

}

.tap-booking-image img{

	width:100%;

	height:100%;

	object-fit:cover;

	display:block;

}

.tap-booking-placeholder{

	width:100%;

	height:100%;

	display:flex;

	align-items:center;

	justify-content:center;

	font-size:64px;

	background:#faf6ee;

}

.tap-booking-content{

	padding:22px;

	display:flex;

	flex-direction:column;

	flex:1;

}

.tap-booking-content h3{

	margin:0 0 12px;

	font-size:22px;

	line-height:1.3;

}

/* Meta */

.tap-booking-location,
.tap-booking-provider,
.tap-booking-company,
.tap-booking-category,
.tap-booking-duration,
.tap-flight-route,
.tap-flight-time,
.tap-flight-duration,
.tap-flight-stops,
.tap-booking-feature{

	margin:8px 0;

	font-size:14px;

	color:#6b6456;

	line-height:1.6;

}

.tap-booking-rating{

	margin:10px 0;

	font-weight:600;

	color:#f59e0b;

}

.tap-booking-price{

	margin-top:auto;

	padding-top:18px;

	font-family:var(--tap-font-heading);

	font-size:28px;

	font-weight:700;

	color:#1f7a5c;

}

/* Buttons */

.tap-book-btn{

	width:100%;

	margin-top:18px;

	padding:14px;

	border-radius:10px;

	background:linear-gradient(135deg,#16305a,#0e2a52);

	border:1px solid rgba(201,162,39,.5);

	color:#fff;

	text-align:center;

	text-decoration:none;

	font-weight:700;

	transition:.25s;

	display:block;

}

.tap-book-btn:hover{

	background:linear-gradient(135deg,#e8c766,#c9a227);

	color:#14203a;

}

/* Footer */

.tap-booking-footer{

	margin-top:70px;

	padding-top:35px;

	border-top:1px solid #e8e1cf;

}

.tap-booking-footer-inner{

	text-align:center;

}

.tap-booking-footer p{

	max-width:700px;

	margin:auto auto 30px;

	color:#6b6456;

	line-height:1.8;

}

.tap-booking-stats{

	display:flex;

	justify-content:center;

	flex-wrap:wrap;

	gap:30px;

}

.tap-booking-stats div{

	min-width:120px;

}

.tap-booking-stats strong{

	display:block;

	font-size:28px;

	color:#0e2a52;

}

.tap-booking-stats span{

	color:#6b6456;

	font-size:14px;

}

/* Empty */

.tap-booking-empty{

	background:#fff;

	border:1px dashed #dcdcdc;

	border-radius:18px;

	padding:50px 25px;

	text-align:center;

}

.tap-empty-icon{

	font-size:70px;

	margin-bottom:20px;

}

.tap-empty-actions{

	display:flex;

	justify-content:center;

	flex-wrap:wrap;

	gap:15px;

	margin:25px 0;

}

/* Loading */

.tap-skeleton-card{

	overflow:hidden;

	position:relative;

}

.tap-skeleton-card::after{

	content:"";

	position:absolute;

	top:0;

	left:-180px;

	width:180px;

	height:100%;

	background:linear-gradient(

		90deg,

		transparent,

		rgba(255,255,255,.7),

		transparent

	);

	animation:tapLoading 1.2s infinite;

}

@keyframes tapLoading{

	from{

		left:-180px;

	}

	to{

		left:100%;

	}

}

/* Responsive */

@media(max-width:991px){

	.tap-booking-summary{

		grid-template-columns:repeat(2,1fr);

	}

}

@media(max-width:767px){

	.tap-booking-header h1{

		font-size:30px;

	}

	.tap-section-header{

		flex-direction:column;

		align-items:flex-start;

	}

	.tap-booking-summary{

		grid-template-columns:1fr;

	}

	.tap-booking-stats{

		flex-direction:column;

		gap:20px;

	}

}