/* Trip detail booking sidebar — single coherent layer */

.pack-details .trip-sidebar-column{
	padding-left:12px;
}
.pack-details .trip-sidebar-column .side-section-main{
	position:sticky;
	top:88px;
	margin:0 0 28px;
	z-index:30;
}
.trip-detail-booking.sidebar-price-widget{
	position:static;
}

.trip-detail-booking .trip-package-sidebar{
	display:flex;
	flex-direction:column;
	gap:12px;
	color:#173342;
}
.trip-detail-booking .trip-package-sidebar__card{
	overflow:hidden;
	border:1px solid #d5e6ef;
	border-radius:18px;
	background:#fff;
	box-shadow:0 16px 40px rgba(7,72,118,.12);
}
.trip-detail-booking .trip-package-sidebar__body{
	display:flex;
	flex-direction:column;
	gap:16px;
	padding:18px;
}
.trip-detail-booking .trip-package-sidebar__intro{
	position:relative;
	padding:12px 16px;
	background:linear-gradient(135deg,#064b7d 0%,#0879b9 100%);
	color:#fff;
	overflow:hidden;
}
.trip-detail-booking .trip-package-sidebar__intro:after{
	content:"";
	position:absolute;
	width:96px;
	height:96px;
	right:-42px;
	top:-52px;
	border:18px solid rgba(255,255,255,.1);
	border-radius:50%;
	pointer-events:none;
}
.trip-detail-booking .trip-package-sidebar__eyebrow{
	display:none;
}
.trip-detail-booking .trip-package-sidebar__intro-row{
	position:relative;
	z-index:1;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
}
.trip-detail-booking .trip-package-sidebar__intro h3{
	margin:0;
	min-width:0;
	color:#fff;
	font-size:16px;
	font-weight:800;
	letter-spacing:-.02em;
	line-height:1.25;
	text-transform:none;
}
.trip-detail-booking .trip-package-sidebar__intro p{
	display:none;
}
.trip-detail-booking .trip-package-sidebar__from{
	flex:0 0 auto;
	text-align:right;
}
.trip-detail-booking .trip-package-sidebar__from span,
.trip-detail-booking .trip-package-sidebar__from small{
	display:block;
	color:rgba(255,255,255,.75);
	font-size:11px;
	font-weight:700;
}
.trip-detail-booking .trip-package-sidebar__from strong{
	display:block;
	color:#fff;
	font-size:26px;
	font-weight:800;
	letter-spacing:-.03em;
	line-height:1.1;
}
.trip-detail-booking .trip-package-sidebar__chips{
	position:relative;
	z-index:1;
	display:flex;
	flex:0 0 auto;
	flex-wrap:wrap;
	justify-content:flex-end;
	gap:6px;
	margin-top:0;
}
.trip-detail-booking .trip-package-sidebar__chips span,
.trip-detail-booking .trip-package-sidebar__chips a{
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:5px 10px;
	border-radius:999px;
	background:rgba(255,255,255,.14);
	color:#fff !important;
	font-size:12px;
	font-weight:700;
	text-decoration:none !important;
}
.trip-detail-booking .trip-package-sidebar__chips a:hover{
	background:rgba(255,255,255,.22);
}
.trip-detail-booking .trip-package-sidebar__chips .fa-star{
	color:#f5a623;
}

.trip-detail-booking .trip-package-sidebar__title{
	display:block;
	margin:0;
	padding:14px 18px 8px;
	color:#6b7c89;
	font-size:11px;
	font-weight:800;
	letter-spacing:.12em;
	text-transform:uppercase;
}
.trip-detail-booking .trip-package-sidebar--single .trip-package-sidebar__title{
	display:none;
}
.trip-detail-booking .trip-package-sidebar__select-wrap{
	padding:0;
}
.trip-detail-booking .trip-package-sidebar__select-wrap label{
	display:block;
	margin:0 0 8px;
	color:#5f7382;
	font-size:11px;
	font-weight:800;
	letter-spacing:.08em;
	text-transform:uppercase;
}
.trip-detail-booking .trip-package-select{
	appearance:none;
	width:100%;
	min-height:48px;
	padding:11px 42px 11px 14px;
	border:1px solid #c9ddec;
	border-radius:12px;
	background:#f7fbfe url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23074572' d='M4.4 6.2 8 9.8l3.6-3.6 1.1 1.1L8 12 3.3 7.3z'/%3E%3C/svg%3E") no-repeat right 14px center;
	background-size:16px;
	color:#074572;
	font-size:15px;
	font-weight:800;
	line-height:1.3;
	cursor:pointer;
}
.trip-detail-booking .trip-package-select:hover{
	border-color:#9bc4df;
	background-color:#fff;
}
.trip-detail-booking .trip-package-select:focus{
	border-color:#075989;
	box-shadow:0 0 0 3px rgba(7,89,137,.15);
	outline:0;
}
.trip-detail-booking .trip-package-sidebar__options{
	display:flex;
	flex-direction:column;
	gap:8px;
	padding:0;
}
.trip-detail-booking .trip-package-option{
	display:flex;
	align-items:center;
	gap:12px;
	width:100%;
	min-height:72px;
	margin:0;
	padding:12px 13px;
	border:1px solid #d7e4ec;
	border-radius:12px;
	background:#fff;
	text-align:left;
	cursor:pointer;
	transition:border-color .2s, background .2s, box-shadow .2s;
}
.trip-detail-booking .trip-package-option:hover{
	background:#f7fbfe;
	border-color:#9fc7de;
}
.trip-detail-booking .trip-package-option.is-selected{
	background:linear-gradient(135deg,#f0f8fd,#e6f4fc);
	border-color:#46a8d8;
	box-shadow:0 8px 18px rgba(7,89,137,.1);
}
.trip-detail-booking .trip-package-option__radio{
	display:inline-flex;
	flex:0 0 22px;
	align-items:center;
	justify-content:center;
	width:22px;
	height:22px;
	border:2px solid #b9cbd5;
	border-radius:50%;
}
.trip-detail-booking .trip-package-option__radio:after{
	content:"";
	display:block;
	width:8px;
	height:8px;
	border-radius:50%;
	background:transparent;
}
.trip-detail-booking .trip-package-option.is-selected .trip-package-option__radio{
	background:#0879b9;
	border-color:#0879b9;
	box-shadow:none;
}
.trip-detail-booking .trip-package-option.is-selected .trip-package-option__radio:after{
	background:#fff;
}
.trip-detail-booking .trip-package-option__body{
	display:flex;
	flex:1;
	min-width:0;
	flex-direction:column;
	gap:4px;
}
.trip-detail-booking .trip-package-option__head{
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	align-items:center;
	gap:8px;
	width:100%;
}
.trip-detail-booking .trip-package-option__head strong{
	display:flex;
	align-items:center;
	gap:7px;
	min-width:0;
	color:#173342;
	font-size:15px;
	font-weight:800;
	line-height:1.3;
}
.trip-detail-booking .trip-package-option__head strong em{
	padding:3px 7px;
	border-radius:999px;
	background:#f4a62a;
	color:#273848;
	font-size:9px;
	font-style:normal;
	font-weight:800;
	letter-spacing:.04em;
	text-transform:uppercase;
	white-space:nowrap;
}
.trip-detail-booking .trip-package-option__price{
	color:#075989;
	font-size:18px;
	font-weight:800;
	line-height:1;
	white-space:nowrap;
}
.trip-detail-booking .trip-package-option__price small{
	display:block;
	margin-bottom:2px;
	color:#6c8290;
	font-size:9px;
	font-weight:800;
	letter-spacing:.04em;
	text-transform:uppercase;
}
.trip-detail-booking .trip-package-option__tagline{
	display:block;
	color:#66737f;
	font-size:12px;
	font-weight:500;
	line-height:1.35;
}

.trip-detail-booking .trip-package-sidebar__price-only{
	padding:0;
}
.trip-detail-booking .trip-package-sidebar__price-only-card{
	display:flex;
	align-items:baseline;
	gap:8px;
	padding:14px 15px;
	border:1px solid #9ccde4;
	border-left:4px solid #f4a62a;
	border-radius:12px;
	background:linear-gradient(135deg,#f1f9fd 0%,#e7f5fc 100%);
	color:#536d7c;
}
.trip-detail-booking .trip-package-sidebar__price-only-card>span{
	font-size:13px;
	font-weight:700;
}
.trip-detail-booking .trip-package-sidebar__price-only-card>strong{
	margin-left:auto;
	color:#075989;
	font-size:24px;
	font-weight:800;
	line-height:1;
}
.trip-detail-booking .trip-package-sidebar__price-only-card>small{
	color:#687f8d;
	font-size:11px;
	font-weight:600;
}

.trip-detail-booking .trip-package-detail-link{
	padding:0;
}
.trip-detail-booking .trip-package-detail-link a{
	display:inline-flex;
	align-items:center;
	gap:7px;
	border-bottom:0;
	color:#075989 !important;
	font-size:13px;
	font-weight:700;
	text-decoration:none !important;
}
.trip-detail-booking .trip-package-detail-link a:hover{
	color:#0368cd !important;
}

.trip-detail-booking .trip-package-sidebar__group-pricing{
	margin:0;
	overflow:hidden;
	border:1px solid #dce8ee;
	border-radius:10px;
}
.trip-detail-booking .trip-package-sidebar__group-panel{display:none;}
.trip-detail-booking .trip-package-sidebar__group-panel.is-active{display:block;}
.trip-detail-booking .trip-package-sidebar__group-toggle{
	display:flex;
	align-items:center;
	justify-content:space-between;
	width:100%;
	min-height:42px;
	padding:10px 12px;
	border:0;
	background:#f7fafc;
	color:#26485c;
	font-size:13px;
	font-weight:800;
	text-align:left;
}
.trip-detail-booking .trip-package-sidebar__group-toggle span{
	display:flex;
	align-items:center;
	gap:8px;
}
.trip-detail-booking .trip-package-sidebar__group-list{
	margin:0;
	padding:0;
	list-style:none;
	background:#fff;
	border-top:1px solid #e3edf3;
}
.trip-detail-booking .trip-package-sidebar__group-list li{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:9px 12px;
	border-bottom:1px solid #edf2f5;
	color:#526574;
	font-size:13px;
}
.trip-detail-booking .trip-package-sidebar__group-list li:last-child{border-bottom:0;}
.trip-detail-booking .trip-package-sidebar__group-list li span:last-child{
	color:#172836;
	font-weight:800;
}

.trip-detail-booking .trip-package-sidebar__dates{
	margin:0;
	padding:12px 14px;
	border:1px solid #e3edf3;
	border-radius:10px;
	background:#f7fbfd;
}
.trip-detail-booking .trip-package-sidebar__dates[hidden]{display:none !important;}
.trip-detail-booking .trip-package-sidebar__date-row{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-bottom:4px;
	font-size:13px;
}
.trip-detail-booking .trip-package-sidebar__date-row:last-child{margin-bottom:0;}
.trip-detail-booking .trip-package-sidebar__date-row span{color:#647887;font-weight:700;}
.trip-detail-booking .trip-package-sidebar__date-row strong{color:#172836;font-weight:800;}

.trip-detail-booking .trip-package-sidebar__summary{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(0,1fr);
	align-items:stretch;
	overflow:hidden;
	border:1px solid #d4e6f0;
	border-radius:12px;
	background:#f7fbfe;
}
.trip-detail-booking .trip-package-sidebar__qty{
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	gap:8px;
	margin:0;
	padding:12px 12px 12px 14px;
	border:0;
	border-right:1px solid #d4e6f0;
	background:transparent;
}
.trip-detail-booking .trip-package-sidebar__qty label{
	display:flex;
	flex-direction:column;
	gap:2px;
	margin:0;
	color:#173342;
	font-size:12px;
	font-weight:800;
	letter-spacing:.04em;
	text-transform:uppercase;
}
.trip-detail-booking .trip-package-sidebar__qty label span{
	display:flex;
	align-items:center;
	gap:6px;
}
.trip-detail-booking .trip-package-sidebar__qty label small{
	display:block;
	color:#7b8d98;
	font-size:10px;
	font-weight:600;
	letter-spacing:0;
	text-transform:none;
}
.trip-detail-booking .trip-package-qty{
	display:flex;
	align-items:stretch;
	width:100%;
	max-width:132px;
	height:38px;
	overflow:hidden;
	border:1px solid #bfd5e1;
	border-radius:9px;
	background:#fff;
}
.trip-detail-booking .trip-package-qty__btn{
	flex:0 0 34px;
	border:0;
	background:#eef7fb;
	color:#075989;
	font-size:16px;
	font-weight:800;
	transition:background .2s, color .2s;
}
.trip-detail-booking .trip-package-qty__btn:hover{
	background:#075989;
	color:#fff;
}
.trip-detail-booking .trip-package-qty__input{
	flex:1;
	min-width:0;
	border:0;
	border-left:1px solid #dfeaf1;
	border-right:1px solid #dfeaf1;
	background:#fff;
	color:#173342;
	font-size:15px;
	font-weight:800;
	text-align:center;
	-moz-appearance:textfield;
	appearance:textfield;
}
.trip-detail-booking .trip-package-qty__input::-webkit-outer-spin-button,
.trip-detail-booking .trip-package-qty__input::-webkit-inner-spin-button{
	-webkit-appearance:none;
	margin:0;
}

.trip-detail-booking .trip-package-sidebar__total{
	display:flex;
	flex-direction:column;
	align-items:flex-end;
	justify-content:space-between;
	gap:6px;
	padding:12px 14px 12px 12px;
	border:0;
	border-radius:0;
	background:linear-gradient(180deg,#eef8fd 0%,#e4f3fb 100%);
	color:#172836;
	text-align:right;
}
.trip-detail-booking .trip-package-sidebar__total>span{
	display:flex;
	flex-direction:column;
	align-items:flex-end;
	gap:2px;
	color:#5c7382;
	font-size:11px;
	font-weight:800;
	letter-spacing:.06em;
	text-transform:uppercase;
}
.trip-detail-booking .trip-package-sidebar__total span small{
	color:#7b8d98;
	font-size:10px;
	font-weight:600;
	letter-spacing:0;
	text-transform:none;
}
.trip-detail-booking .trip-package-sidebar__total strong{
	color:#075989;
	font-size:22px;
	font-weight:800;
	letter-spacing:-.03em;
	line-height:1;
}

.trip-detail-booking .trip-package-sidebar__actions{
	display:flex;
	flex-direction:column;
	gap:8px;
	padding:0;
	position:relative;
	z-index:2;
}
.trip-detail-booking .trip-package-sidebar__actions-row{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:8px;
}
.trip-detail-booking .trip-package-sidebar__actions > a,
.trip-detail-booking .trip-package-sidebar__actions > .booking-wetravel-embed,
.trip-detail-booking .trip-package-sidebar__actions-row > a{
	box-sizing:border-box;
	width:100%;
	min-width:0;
}
.trip-detail-booking .trip-package-cta{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	width:100%;
	min-height:46px;
	padding:11px 14px;
	border-radius:10px;
	color:#fff !important;
	font-size:14px;
	font-weight:800;
	letter-spacing:.01em;
	text-decoration:none !important;
	text-transform:none;
	transition:transform .15s, box-shadow .15s, background .15s;
}
.trip-detail-booking .trip-package-cta:hover{transform:translateY(-1px);}
.trip-detail-booking .trip-package-cta--book{
	background:linear-gradient(135deg,#075989,#069ed7);
	box-shadow:0 10px 20px rgba(7,89,137,.22);
}
.trip-detail-booking .trip-package-cta--book:hover{color:#fff !important;}
.trip-detail-booking .trip-package-cta--inquire,
.trip-detail-booking .trip-package-cta--customize{
	min-height:44px;
	padding:10px 8px;
	border:1px solid #b9d5e2;
	background:#fff;
	color:#075989 !important;
	font-size:13px;
	line-height:1.2;
	white-space:normal;
	text-align:center;
	box-shadow:none;
}
.trip-detail-booking .trip-package-cta--inquire:hover{
	background:#edf8fc;
	color:#075989 !important;
}
.trip-detail-booking .trip-package-cta--customize{
	border-color:#d5e3ea;
	background:#f7fbfe;
}
.trip-detail-booking .trip-package-cta--customize:hover{
	background:#eef6fb;
	color:#064b7d !important;
}
.trip-detail-booking .trip-package-sidebar__customize{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	min-height:46px;
	padding:11px 14px;
	border:1px solid #d5e3ea;
	border-radius:10px;
	background:#f7fbfe;
	color:#075989 !important;
	font-size:14px;
	font-weight:800;
	text-align:center;
	text-decoration:none !important;
}
.trip-detail-booking .trip-package-sidebar__customize:hover{
	background:#eef6fb;
	color:#064b7d !important;
}

.trip-detail-booking .trip-package-assurance{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:6px;
	padding:4px 0 0;
	text-align:center;
}
.trip-detail-booking .trip-package-assurance span{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:6px;
	color:#5f7381;
	font-size:11px;
	font-weight:700;
	line-height:1.25;
}
.trip-detail-booking .trip-package-assurance i{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:28px;
	height:28px;
	border-radius:50%;
	background:#edf8f4;
	color:#159667;
	font-family:"Font Awesome 6 Free" !important;
	font-size:13px;
	font-style:normal;
	font-weight:900 !important;
	line-height:1;
	-webkit-font-smoothing:antialiased;
}
.trip-detail-booking .trip-package-assurance i::before{
	font-family:inherit;
	font-weight:inherit;
}

.trip-detail-booking .trip-package-help{
	display:flex;
	align-items:center;
	gap:12px;
	padding:14px;
	border:1px solid #d8e7ef;
	border-radius:14px;
	background:#fff;
	box-shadow:0 8px 20px rgba(9,51,79,.07);
}
.trip-detail-booking .trip-package-help__avatar img{
	width:54px;
	height:54px;
	border:3px solid #e5f3f9;
	border-radius:50%;
	object-fit:cover;
}
.trip-detail-booking .trip-package-help__text>span{
	display:block;
	margin-bottom:2px;
	color:#7a8d99;
	font-size:10px;
	font-weight:800;
	letter-spacing:.08em;
	text-transform:uppercase;
}
.trip-detail-booking .trip-package-help__text strong{
	display:block;
	margin-bottom:6px;
	color:#172836;
	font-size:14px;
	font-weight:800;
}
.trip-detail-booking .trip-package-help__links{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}
.trip-detail-booking .trip-package-help__text a{
	display:inline-flex;
	align-items:center;
	gap:6px;
	color:#128c7e !important;
	font-size:13px;
	font-weight:700;
	text-decoration:none !important;
}
.trip-detail-booking .trip-package-help__text a[href^="tel"]{color:#075989 !important;}

.trip-detail-booking .trip-package-utilities{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:8px;
}
.trip-detail-booking .trip-package-util{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:6px;
	width:auto;
	height:40px;
	border:1px solid #d7e5ee;
	border-radius:10px;
	background:#fff;
	color:#075989 !important;
	font-size:12px;
	font-weight:800;
	text-decoration:none !important;
}
.trip-detail-booking .trip-package-util:hover{
	background:#075989;
	color:#fff !important;
}

.trip-sidebar-dock{display:none;}

@media(max-width:991.98px){
	.pack-details .trip-sidebar-column{
		padding-left:12px;
		padding-right:12px;
	}
	.pack-details .trip-sidebar-column .side-section-main{
		position:static;
		top:auto;
	}
	.trip-detail-booking .trip-package-sidebar__intro-row{
		align-items:center;
		flex-direction:row;
	}
	.trip-detail-booking .trip-package-sidebar__from{text-align:left;}
}

@media(max-width:767.98px){
	.pack-details{
		padding-bottom:76px;
	}
	.trip-detail-booking .trip-package-sidebar__intro h3{font-size:16px;}
	.trip-detail-booking .trip-package-sidebar__summary{
		grid-template-columns:1fr 1fr;
	}
	.trip-detail-booking .trip-package-qty{max-width:100%;}
	.trip-sidebar-dock{
		display:flex;
		align-items:center;
		gap:8px;
		position:fixed;
		right:0;
		bottom:0;
		left:0;
		z-index:1040;
		padding:10px 12px calc(10px + env(safe-area-inset-bottom));
		border-top:1px solid #d7e5ee;
		background:rgba(255,255,255,.96);
		box-shadow:0 -10px 24px rgba(7,59,89,.12);
		backdrop-filter:blur(8px);
	}
	.trip-sidebar-dock__price{
		flex:1;
		min-width:0;
	}
	.trip-sidebar-dock__price span{
		display:block;
		color:#6b7c89;
		font-size:11px;
		font-weight:700;
	}
	.trip-sidebar-dock__price strong{
		color:#075989;
		font-size:20px;
		font-weight:800;
		line-height:1.1;
	}
	.trip-sidebar-dock .trip-package-cta{
		flex:0 0 auto;
		min-width:76px;
		min-height:42px;
		padding:8px 14px;
		font-size:13px;
	}
}

.trip-booking-widget.sidebar-price-card{
	overflow:hidden;
	border:1px solid #d5e6ef;
	border-radius:18px;
	background:#fff;
	box-shadow:0 16px 40px rgba(7,72,118,.12);
}
.trip-booking-widget .booking-widget-body{padding:16px;}
.trip-booking-widget .booking-price-value{
	color:#075989;
	font-size:28px;
	font-weight:800;
}
.trip-booking-widget .btn-booking{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	min-height:44px;
	margin:8px 0 0;
	border-radius:10px;
	font-weight:800;
	text-decoration:none !important;
}
.trip-booking-widget .btn-booking-primary{
	background:linear-gradient(135deg,#075989,#069ed7);
	color:#fff !important;
}
.trip-booking-widget .btn-booking-secondary{
	border:1px solid #b9d5e2;
	background:#fff;
	color:#075989 !important;
}
