/* =====================================================
IJE OTA PRODUCT PAGE
Cleaned version: base styles + premium polish merged
===================================================== */

.ije-ota-page{
	--ije-blue:#042C91;
	--ije-blue-dark:#021d61;
	--ije-gold:#FFB400;
	--ije-gold-soft:#FFF7E3;
	--ije-text:#171717;
	--ije-muted:#6b7280;
	--ije-border:#e8e8e8;
	--ije-soft:#fafafa;
	--ije-success:#198754;
	--ije-success-soft:#edf8f1;
	--ije-shadow:0 10px 35px rgba(0,0,0,.07);
	--ije-shadow-soft:0 12px 30px rgba(4,44,145,.08);
	--ije-shadow-lift:0 18px 45px rgba(4,44,145,.14);
	--ije-card-border:rgba(4,44,145,.09);
	--ije-radius:18px;
	--ije-radius-lg:24px;

	color:var(--ije-text);
}

.ije-ota-page a{
	text-decoration:none;
}

.grecaptcha-badge,
.woocommerce-variation-availability{
	display:none;
}

body.single-product{
	background:
		radial-gradient(circle at top left, rgba(255,180,0,.08), transparent 34%),
		radial-gradient(circle at top right, rgba(4,44,145,.07), transparent 32%),
		#fbfcff;
}

/* =====================================================
TYPOGRAPHY / LINKS
===================================================== */

.ije-read-more{
	font-size:.9rem;
	font-weight:600;
	color:#042C91;
	margin-left:6px;
	cursor:pointer;
}

.ije-read-more:hover{
	text-decoration:underline;
}

.ije-description-toggle{
	margin-top:10px;
}

.ije-description-toggle a{
	font-size:.9rem;
	font-weight:600;
	color:#042C91;
	cursor:pointer;
}

.ije-description-toggle a:hover{
	text-decoration:underline;
}

/* =====================================================
HEADINGS
===================================================== */

.ije-section-title{
	position:relative;
	font-size:clamp(1.4rem,2vw,2rem);
	font-weight:900;
	letter-spacing:-.02em;
	margin-bottom:1rem;
	color:#08111f;
}

.ije-content-section .ije-section-title::after,
.ije-highlight-box .ije-section-title::after,
.ije-reviews-wrap .ije-section-title::after{
	content:"";
	display:block;
	width:52px;
	height:4px;
	margin-top:10px;
	border-radius:999px;
	background:#FFB400;
}

/* =====================================================
GENERAL CARDS
===================================================== */

.ije-card{
	background:#fff;
	border:1px solid var(--ije-border);
	border-radius:var(--ije-radius);
	box-shadow:0 4px 18px rgba(0,0,0,.03);
}

/* =====================================================
BREADCRUMB
===================================================== */

.ije-breadcrumb-wrap{
	padding-top:1.5rem;
	padding-bottom:.35rem;
	font-size:.8rem;
	color:#6b7280;
}

.ije-breadcrumb-wrap a{
	color:#042C91;
	font-weight:700;
}

/* =====================================================
SIDE ACTIONS
===================================================== */

.ije-side-actions{
	position:fixed;
	top:50%;
	right:12px;
	transform:translateY(-50%);
	display:flex;
	flex-direction:column;
	gap:.55rem;
	z-index:1030;
}

.ije-side-actions .btn{
	width:48px;
	height:48px;
	border-radius:999px;
	border:1px solid rgba(4,44,145,.12) !important;
	box-shadow:0 10px 26px rgba(4,44,145,.12) !important;
	transition:transform .2s ease, box-shadow .2s ease;
}

.ije-side-actions .btn:hover{
	transform:translateY(-2px) scale(1.04);
	box-shadow:0 16px 34px rgba(4,44,145,.18) !important;
}

/* =====================================================
HERO
===================================================== */

.ije-hero{
	padding-top:.5rem;
	padding-bottom:2rem;
}

.ije-hero-title{
	position:relative;
	max-width:900px;
	font-size:clamp(2rem,3.4vw,3rem);
	font-weight:900;
	line-height:1.05;
	letter-spacing:-.03em;
	margin-bottom:.9rem;
	color:#08111f;
	text-wrap:balance;
}

.ije-hero-title::after{
	content:"";
	display:block;
	width:88px;
	height:5px;
	margin-top:16px;
	border-radius:999px;
	background:linear-gradient(90deg, #FFB400, #ffd978);
}

.ije-rating-row{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:.75rem;
	margin-bottom:1rem;
}

.ije-ota-page .ije-pill{
	display:inline-flex;
	align-items:center;
	gap:.5rem;
	padding:.5rem .85rem;
	border-radius:999px;
	background:#fff;
	border:1px solid rgba(4,44,145,.10);
	box-shadow:0 6px 18px rgba(4,44,145,.06);
	font-size:.95rem;
	font-weight:700;
	color:#1f2937;
	transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.ije-ota-page .ije-pill:hover{
	transform:translateY(-2px);
	box-shadow:0 10px 26px rgba(4,44,145,.11);
	border-color:rgba(4,44,145,.18);
}

.ije-ota-page .ije-pill a{
	color:var(--ije-blue);
	font-weight:800;
}

.ije-ota-page .ije-pill i{
	color:#042C91;
}

/* Extra safety so header/top-bar pills are not touched by this product-page polish */
header .ije-pill,
.site-header .ije-pill,
.ije-header .ije-pill,
.ije-topbar .ije-pill{
	transform:none !important;
}

/* =====================================================
EXPERIENCE BAR
===================================================== */

.ije-experience-bar{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin:18px 0 22px;
	padding:14px;
	background:rgba(255,255,255,.68);
	border:1px solid rgba(4,44,145,.08);
	border-radius:22px;
	box-shadow:0 8px 24px rgba(4,44,145,.05);
}

.ije-experience-item{
	display:flex;
	align-items:center;
	gap:8px;
	background:#fff;
	border:1px solid rgba(4,44,145,.08);
	border-radius:999px;
	padding:8px 13px;
	box-shadow:0 6px 16px rgba(4,44,145,.06);
	font-size:.95rem;
	font-weight:600;
	transition:transform .22s ease, box-shadow .22s ease;
}

.ije-experience-item:hover{
	transform:translateY(-2px);
	box-shadow:0 12px 26px rgba(4,44,145,.11);
}

.ije-experience-item i{
	display:flex;
	align-items:center;
	justify-content:center;
	background:linear-gradient(135deg, rgba(4,44,145,.10), rgba(255,180,0,.16));
	color:#042C91;
	border-radius:50%;
	font-size:1.3rem;
	flex-shrink:0;
}

.ije-duration-note{
	font-size:.75rem;
	color:#777;
	margin-left:4px;
}

/* =====================================================
SUMMARY
===================================================== */

.ije-summary{
	position:relative;
	max-width:880px;
	margin:22px 0 28px;
	padding:22px 24px 22px 28px;
	border-radius:24px;
	background:
		linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,247,227,.72)),
		#fff;
	border:1px solid rgba(4,44,145,.08);
	box-shadow:0 12px 32px rgba(4,44,145,.07);
	font-size: clamp(1.08rem, 1.15vw, 1.25rem);
	line-height:1.75;
	font-weight:500;
	color:#172554;
}

.ije-summary::before{
	content:"";
	position:absolute;
	left:0;
	top:18px;
	bottom:18px;
	width:5px;
	border-radius:999px;
	background:linear-gradient(180deg, #042C91, #FFB400);
}

.ije-summary p{
	margin-bottom:0;
}

/* =====================================================
GALLERY
===================================================== */

.ije-gallery-shell{
	position:relative;
	background:#fff !important;
	padding:12px !important;
	border:none;
	border-radius:30px;
	box-shadow:0 20px 50px rgba(4,44,145,.12);
	overflow:hidden;
	margin-bottom:24px;
}

.ije-gallery-main{
	background:#fff;
	border-radius:24px;
	overflow:hidden;
}

.ije-gallery-mondrian{
	display:grid;
	grid-template-columns:65% 35%;
	gap:12px;
	background:#fff;
}

.ije-gallery-left{
	display:grid;
	grid-template-rows:1fr 1fr;
	gap:12px;
	height:540px;
	background:#fff;
}

.ije-gallery-right{
	display:grid;
	grid-template-rows:1fr 1fr 1fr;
	gap:12px;
	height:540px;
	background:#fff;
}

.ije-gallery-left-item,
.ije-gallery-right-item{
	position:relative;
	overflow:hidden;
	background:#fff;
	border-radius:20px;
}

.ije-gallery-mondrian img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
	border-radius:20px;
	transition:transform .45s ease, filter .45s ease;
}

.ije-gallery-left-item:hover img,
.ije-gallery-right-item:hover img{
	transform:scale(1.035);
	filter:saturate(1.08) contrast(1.03);
}

.ije-gallery-overlay i{
	font-size:.9rem;
}

.ije-gallery-more::after{
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	height:40%;
}

/* =====================================================
BOOKING TRUST
===================================================== */

.ije-booking-trust{
	margin-top:16px;
	padding-top:14px;
	padding-bottom:4px;
	border-top:1px solid rgba(4,44,145,.10);
	display:flex;
	flex-direction:column;
	gap:10px;
	overflow:visible;
}

.ije-trust-item{
	display:flex;
	align-items:flex-start;
	gap:10px;
	padding:10px;
	border-radius:16px;
	background:rgba(248,250,252,.85);
	border:1px solid rgba(4,44,145,.06);
	font-size:.9rem;
}

.ije-trust-item i{
	width:30px;
	height:30px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:50%;
	background:#edf8f1;
	color:#16a34a;
	font-size:1.1rem;
	margin-top:2px;
	flex-shrink:0;
}

.ije-trust-item strong{
	display:block;
	font-weight:700;
	color:#111;
}

.ije-trust-item span{
	display:block;
	font-size:.85rem;
	color:#6b7280;
}

.ije-help-link{
	display:block;
	margin-top:12px;
	padding:4px 2px 2px;
	font-size:.85rem;
	line-height:1.4;
	overflow:visible;
}

.ije-help-link a{
	display:inline-flex;
	align-items:center;
	gap:6px;
	color:#042C91;
	font-weight:600;
	line-height:1.4;
	white-space:normal;
	text-decoration:none;
}

.ije-help-link a::before{
	content:"?";
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:22px;
	height:22px;
	border-radius:50%;
	background:rgba(4,44,145,.08);
	color:#042C91;
	font-size:.8rem;
	font-weight:900;
	flex-shrink:0;
}

.ije-help-link a:hover{
	text-decoration:underline;
}

/* =====================================================
PRICE
===================================================== */

.ije-price-line{
	display:flex;
	align-items:baseline;
	gap:6px;
	flex-wrap:wrap;
	font-size:1rem;
	font-weight:600;
}

.ije-from{
	color:#666;
	font-size:.9rem;
}

.ije-price-line .currency{
	font-size:1.8rem;
	text-transform:uppercase;
}

.ije-price-value{
	font-size:1.8rem;
	font-weight:800;
	line-height:1;
	color:#111;
}

.ije-price-unit{
	font-size:.95rem;
	color:#042C91;
	margin-left:4px;
}

.ije-price-note{
	font-size:.85rem;
	margin-top:4px;
	color:#5a6470;
}

.ije-price-note i{
	margin-right:4px;
}

#ijePriceNotice a{
	font-size:.75rem;
}

#dws-live-total{
	margin-top:16px;
	margin-bottom:12px;
	padding:16px;
	border:2px solid #1e3a8a;
	border-radius:12px;
	background:#f8faff;
}

#dws-live-total .dws-total{
	font-size:1.4rem;
	color:var(--ije-blue);
	font-weight:800;
}

#dws-live-total .dws-deposit{
	color:var(--ije-gold);
	font-weight:700;
}

/* =====================================================
BUTTONS
===================================================== */

.ije-ota-page .single_add_to_cart_button{
	position:relative;
	width:100%;
	min-height:56px;
	font-size:1.1rem !important;
	font-weight:800 !important;
	border-radius:999px !important;
	padding:14px 18px !important;
	background:#042C91 !important;
	box-shadow:0 12px 28px rgba(4,44,145,.25);
	transition:all .25s ease;
	letter-spacing:.5px;
	border:none;
	color:#fff;
	overflow:hidden;
}

.ije-ota-page .single_add_to_cart_button::after{
	content:"";
	position:absolute;
	top:0;
	left:-130%;
	width:70%;
	height:100%;
	background:linear-gradient(90deg, transparent, rgba(255,255,255,.34), transparent);
	transform:skewX(-20deg);
	transition:left .65s ease;
}

.ije-ota-page .single_add_to_cart_button:hover::after{
	left:130%;
}

.ije-ota-page .single_add_to_cart_button:hover{
	background:linear-gradient(135deg, #FFB400, #f59e0b) !important;
	color:#111 !important;
	transform:translateY(-2px);
	box-shadow:0 10px 20px rgba(248,172,24,.3);
}

.ije-booking-help{
	margin-top:.85rem;
}

.ije-booking-help .btn{
	width:100%;
	border-radius:999px;
	font-weight:800;
	padding:.85rem 1rem;
}

.ije-btn-primary{
	background:var(--ije-blue);
	border-color:var(--ije-blue);
	color:#fff;
	font-weight:800;
	border-radius:999px;
	padding:.9rem 1.35rem;
}

.ije-btn-primary:hover{
	background:var(--ije-blue-dark);
	border-color:var(--ije-blue-dark);
	color:#fff;
}

/* =====================================================
HIGHLIGHTS
===================================================== */

.ije-highlight-box{
	border:1px solid var(--ije-card-border);
	border-radius:24px;
	padding:18px 22px;
	background:#fff;
	box-shadow:var(--ije-shadow-soft);
	transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.ije-highlight-list{
	list-style:none;
	padding:0;
	margin:10px 0 0;
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:8px 22px;
}

.ije-highlight-list li{
	display:flex;
	align-items:flex-start;
	gap:8px;
	padding:8px 0;
	font-weight:600;
	line-height:1.45;
	color:#333;
}

.ije-highlight-list i{
	width:24px;
	height:24px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:50%;
	background:rgba(4,44,145,.08);
	color:#042C91;
	font-size:.8rem;
	margin-top:3px;
	flex-shrink:0;
}

.ije-highlight-toggle{
	margin-top:10px;
	font-size:.9rem;
}

.ije-highlight-toggle a{
	color:#042C91;
	font-weight:600;
}

.ije-highlight-toggle a:hover{
	text-decoration:underline;
}

/* =====================================================
CONTENT BLOCKS
===================================================== */

.ije-content-section{
	padding:1.35rem;
	border:1px solid var(--ije-card-border);
	border-radius:24px;
	background:#fff;
	margin-bottom:6px;
	box-shadow:var(--ije-shadow-soft);
	transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.ije-content-section:hover,
.ije-highlight-box:hover,
.ije-review-card:hover{
	transform:translateY(-2px);
	box-shadow:var(--ije-shadow-lift);
	border-color:rgba(4,44,145,.16);
}

.ije-content-section h2,
.ije-content-section h3,
.ije-content-section h4{
	font-weight:900;
	margin-bottom:.85rem;
}

/* =====================================================
REVIEWS
===================================================== */

.ije-reviews-wrap{
	padding:1.5rem;
	border:1px solid var(--ije-card-border);
	border-radius:24px;
	background:#fff;
	box-shadow:var(--ije-shadow-soft);
	transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.ije-review-card{
	height:100%;
	padding:1.2rem;
	border:1px solid var(--ije-border);
	border-radius:18px;
	background:#fff;
	box-shadow:0 8px 22px rgba(4,44,145,.06);
	transition:transform .22s ease, box-shadow .22s ease;
}

.ije-review-avatar{
	width:44px;
	height:44px;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	background:linear-gradient(135deg, #042C91, #021d61);
	box-shadow:0 8px 18px rgba(4,44,145,.20);
	color:#fff;
	font-weight:900;
}

.ije-verified{
	display:inline-flex;
	align-items:center;
	gap:.4rem;
	padding:.38rem .75rem;
	border-radius:999px;
	background:var(--ije-success-soft);
	color:var(--ije-success);
	font-weight:800;
	font-size:.85rem;
	border:1px solid rgba(25,135,84,.12);
}

/* =====================================================
FAQ
===================================================== */

.ije-faq .accordion-item{
	border:none;
	border-bottom:1px solid #f0f0f0;
	border-radius:0 !important;
	margin-bottom:0;
}

.ije-faq .accordion-item:last-child{
	border-bottom:none;
}

.ije-faq .accordion-button{
	font-size:1rem;
	font-weight:800;
	padding:1rem;
	border-radius:14px !important;
	box-shadow:none !important;
}

.ije-faq .accordion-button:hover{
	background:rgba(4,44,145,.04);
	color:var(--ije-blue);
}

.ije-faq .accordion-button:not(.collapsed){
	background:rgba(4,44,145,.06);
	color:var(--ije-blue);
}

.ije-faq .accordion-button::after{
	transition:transform .3s ease;
}

.ije-faq .accordion-button:not(.collapsed)::after{
	transform:rotate(180deg);
}

.ije-faq .accordion-body{
	color:#4b5563;
	line-height:1.7;
	padding:1rem;
}

/* =====================================================
CTA
===================================================== */

.ije-custom-cta{
	border-radius:30px;
	overflow:hidden;
	box-shadow:0 22px 55px rgba(4,44,145,.14);
	background:#fff;
}

.ije-custom-cta img{
	width:100%;
	height:100%;
	min-height:280px;
	max-height:320px;
	object-fit:cover;
}

.ije-custom-cta .col-lg-6.d-flex{
	background:linear-gradient(135deg, #ffe082, #FFB400) !important;
}

.ije-custom-cta h2{
	letter-spacing:-.02em;
}

.ije-custom-cta .btn{
	box-shadow:0 12px 28px rgba(0,0,0,.18);
	transition:transform .22s ease, box-shadow .22s ease;
}

.ije-custom-cta .btn:hover{
	transform:translateY(-2px);
	box-shadow:0 16px 34px rgba(0,0,0,.24);
}

/* =====================================================
STICKY FOOTER CTA
===================================================== */

.ije-footer-bar{
	position:fixed;
	left:0;
	right:0;
	bottom:0;
	z-index:1050;
	background:rgba(255,255,255,.94);
	backdrop-filter:blur(14px);
	border-top:1px solid var(--ije-border);
	box-shadow:0 -8px 28px rgba(0,0,0,.08);
	padding:.85rem 0;
}

.ije-footer-inner{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:1rem;
}

.ije-footer-title{
	font-weight:900;
	line-height:1.2;
}

.ije-footer-price{
	font-size:1.05rem;
	font-weight:900;
}

.ije-footer-inner .ije-btn-primary{
	box-shadow:0 10px 24px rgba(4,44,145,.24);
}

/* =====================================================
LAYOUT FIXES
===================================================== */

.ije-ota-page .row{
	align-items:flex-start;
}

.ije-ota-page,
.ije-ota-page .container,
.ije-ota-page .row{
	overflow:visible;
}

.ije-main-content {
	padding-right: 20px;
}

@media (max-width: 575.98px) {
	.ije-main-content {
		padding-inline: 20px;
	}
}

/* =====================================================
BOOKING FORM
===================================================== */

#bookingBox{
	position:relative;
	z-index:1003;
	transition:transform .5s ease, box-shadow .5s ease;
}

#bookingBox:hover,
#bookingBox:focus-within{
	transform:scale(1.01);
	box-shadow:0 10px 40px rgba(0,0,0,.25);
}

#bookingBox.ije-booking-box{
	border-radius:28px;
	background:#fff;
	border:1px solid rgba(4,44,145,.10);
	border-top:0;
	box-shadow:0 22px 55px rgba(4,44,145,.16);
	overflow:hidden;
}

#bookingBox.ije-booking-box::before{
	display:none !important;
	content:none !important;
}

.ije-booking-body{
	padding:22px;
	border-radius:0 0 28px 28px;
	background:
		linear-gradient(180deg, rgba(255,247,227,.72), rgba(255,255,255,0) 36%),
		#fff;
}




/* =====================================================
MOBILE
===================================================== */

@media (max-width:768px){

	.ije-hero{
		padding-top:.25rem;
	}

	.ije-hero-title{
		font-size:clamp(1.8rem,9vw,2.45rem);
	}

	.ije-experience-bar{
		border-radius:20px;
		padding:12px;
	}

	.ije-experience-item{
		width:100%;
		border-radius:16px;
	}

	.ije-summary{
		padding:18px 18px 18px 22px;
		border-radius:20px;
		font-size:1.02rem;
	}

	.ije-gallery-shell{
		padding:8px !important;
		border-radius:24px;
	}

	.ije-gallery-main,
	.ije-gallery-left-item,
	.ije-gallery-right-item,
	.ije-gallery-mondrian img{
		border-radius:18px;
	}

	.ije-gallery-mondrian{
		display:block;
	}

	.ije-gallery-left,
	.ije-gallery-right{
		display:block;
		height:auto;
	}

	.ije-gallery-left-item,
	.ije-gallery-right-item{
		margin-bottom:10px;
	}

	.ije-gallery-left-item img,
	.ije-gallery-right-item img{
		width:100%;
		height:220px;
		object-fit:cover;
		display:block;
	}

	.ije-gallery-right-item:last-child,
	.ije-gallery-left-item:last-child{
		margin-bottom:0;
	}

	.ije-highlight-list{
		grid-template-columns:1fr;
	}

	.ije-content-section,
	.ije-highlight-box,
	.ije-reviews-wrap{
		border-radius:20px;
		padding:1.1rem;
	}

	.ije-booking-body{
		padding:18px;
	}

	.ije-help-link{
		padding-bottom:8px;
	}
}





/* Mobile product action bar */
#footerBar.ije-footer-bar {
	position: fixed !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	top: auto !important;
	z-index: 999999 !important;

	visibility: visible !important;
	opacity: 1 !important;

	padding: .7rem 0 !important;

	background: rgba(7, 24, 39, .96) !important;
	border-top: 1px solid rgba(255, 255, 255, .14) !important;
	box-shadow: 0 -12px 32px rgba(7, 24, 39, .24) !important;

	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);

	overflow: visible !important;
}

@media (min-width: 992px) {
	#footerBar.ije-footer-bar {
		display: none !important;
	}
}

@media (max-width: 991.98px) {
	#footerBar.ije-footer-bar {
		display: block !important;
	}
}

#footerBar .ije-mobile-action-grid {
	width: 100% !important;

	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	gap: .65rem !important;

	align-items: stretch !important;
	justify-content: stretch !important;

	overflow: visible !important;
}

#footerBar .ije-mobile-action-btn {
	position: static !important;

	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;

	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	min-height: 50px !important;

	align-items: center !important;
	justify-content: center !important;
	gap: .4rem !important;

	margin: 0 !important;
	padding: .7rem .8rem !important;

	border-radius: 999px !important;

	font-family: 'Poppins', system-ui, sans-serif;
	font-size: .9rem !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	text-align: center !important;
	text-decoration: none !important;
	white-space: nowrap !important;

	transform: none;
}

#footerBar .ije-mobile-book-btn {
	border: 0 !important;

	background:
		linear-gradient(
			135deg,
			var(--ije-yellow),
			var(--ije-orange)
		) !important;

	color: var(--ije-dark) !important;

	box-shadow:
		0 10px 24px rgba(255, 201, 40, .22) !important;
}

#footerBar .ije-mobile-custom-btn {
	border: 1px solid rgba(255, 255, 255, .36) !important;

	background: rgba(255, 255, 255, .1) !important;

	color: #fff !important;

	box-shadow: none !important;
}

#footerBar .ije-mobile-custom-btn span,
#footerBar .ije-mobile-custom-btn i {
	color: #fff !important;
}

@media (max-width: 991.98px) {
	body.single-product {
		padding-bottom: 84px !important;
	}
}

@media (max-width: 380px) {
	#footerBar .ije-mobile-action-btn {
		font-size: .8rem !important;
		padding-left: .5rem !important;
		padding-right: .5rem !important;
	}

	#footerBar .ije-mobile-action-btn i {
		display: none !important;
	}
}

#footerBar.ije-footer-bar {
	transition:
		transform .22s ease,
		opacity .22s ease !important;
}

#footerBar.ije-mobile-action-hidden {
	transform: translateY(110%) !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.ije-scroll-cta{
	display:none
}


/* =====================================================
DESKTOP BOOKING RETURN CARD
Real booking form stays in normal page flow.
Compact CTA appears after booking form is passed.
===================================================== */

#bookingBox{
	scroll-margin-top:110px;
}

.ije-booking-return-card{
	display:none;
}


/* =====================================================
DESKTOP
===================================================== */

@media (min-width:992px){

	/* Stretch sidebar to height of the hero row.
	   This gives the sticky return card room to travel. */
	.ije-ota-page .ije-booking-sidebar{
		align-self:stretch !important;
		position:relative !important;
	}


	/* Actual booking form is NOT sticky */
	.ije-ota-page #bookingBox{
		position:relative !important;
		top:auto !important;
	}


	/* Compact sticky booking return card */
	.ije-booking-return-card{
		position:sticky;
		top:calc(var(--wp-admin--admin-bar--height, 0px) + 90px);

		display:block;

		margin-top:24px;
		padding:24px;

		border-radius:28px;

		background:
			radial-gradient(
				circle at top right,
				rgba(255,180,0,.18),
				transparent 38%
			),
			linear-gradient(
				180deg,
				rgba(255,255,255,.98),
				rgba(248,250,255,.98)
			);

		border:1px solid rgba(4,44,145,.10);

		box-shadow:
			0 22px 55px rgba(4,44,145,.16);

		opacity:0;
		visibility:hidden;

		transform:
			translateY(18px)
			scale(.97);

		pointer-events:none;

		transition:
			opacity .28s ease,
			transform .32s ease,
			visibility .28s ease;

		overflow:hidden;

		z-index:30;
	}


	/* IJE accent */
	.ije-booking-return-card::before{
		content:"";

		position:absolute;

		top:0;
		left:0;

		width:46%;
		height:6px;

		border-radius:
			28px
			999px
			999px
			0;

		background:
			linear-gradient(
				90deg,
				#042C91,
				#FFB400
			);
	}


	/* Visible state */
	.ije-booking-return-card.is-visible{
		opacity:1;
		visibility:visible;

		transform:
			translateY(0)
			scale(1);

		pointer-events:auto;
	}


	/* Kicker */
	.ije-booking-return-kicker{
		display:flex;
		align-items:center;
		gap:8px;

		margin-bottom:12px;

		color:#042C91;

		font-size:.72rem;
		font-weight:900;

		letter-spacing:.14em;
		text-transform:uppercase;
	}

	.ije-booking-return-kicker i{
		display:flex;

		align-items:center;
		justify-content:center;

		width:30px;
		height:30px;

		border-radius:50%;

		background:
			linear-gradient(
				135deg,
				rgba(4,44,145,.10),
				rgba(255,180,0,.18)
			);

		font-size:1rem;
	}


	/* Heading */
	.ije-booking-return-card h3{
		margin:0 0 8px;

		font-size:1.5rem;
		font-weight:900;

		line-height:1.1;
		letter-spacing:-.03em;

		color:#08111f;
	}


	/* Intro */
	.ije-booking-return-intro{
		margin:0 0 18px;

		color:#64748b;

		font-size:.88rem;
		line-height:1.55;
	}


	/* Details */
	.ije-booking-return-details{
		display:grid;

		gap:0;

		margin-bottom:18px;

		border-top:
			1px solid rgba(4,44,145,.08);

		border-bottom:
			1px solid rgba(4,44,145,.08);
	}

	.ije-booking-return-details > div{
		display:flex;

		align-items:flex-start;
		justify-content:space-between;

		gap:16px;

		padding:11px 0;

		border-bottom:
			1px solid rgba(4,44,145,.06);
	}

	.ije-booking-return-details > div:last-child{
		border-bottom:0;
	}


	.ije-booking-return-details span{
		color:#64748b;

		font-size:.8rem;
		font-weight:700;
	}


	.ije-booking-return-details strong{
		max-width:62%;

		color:#172554;

		font-size:.82rem;
		font-weight:900;

		line-height:1.35;

		text-align:right;
	}


	/* Live total */
	.ije-booking-return-total strong{
		color:#042C91;

		font-size:1rem;
	}


	/* CTA */
	.ije-booking-return-btn{
		position:relative;

		display:flex;

		align-items:center;
		justify-content:center;

		gap:9px;

		width:100%;
		min-height:54px;

		padding:13px 18px;

		border:0;
		border-radius:999px;

		background:#042C91;

		color:#fff;

		font-size:.95rem;
		font-weight:900;

		letter-spacing:.01em;

		box-shadow:
			0 14px 28px rgba(4,44,145,.24);

		cursor:pointer;

		transition:
			transform .2s ease,
			background .2s ease,
			box-shadow .2s ease;
	}


	.ije-booking-return-btn:hover{
		transform:translateY(-2px);

		background:
			linear-gradient(
				135deg,
				#FFB400,
				#f59e0b
			);

		color:#111;

		box-shadow:
			0 16px 32px rgba(248,172,24,.30);
	}


	.ije-booking-return-btn i{
		transition:transform .2s ease;
	}

	.ije-booking-return-btn:hover i{
		transform:
			translateX(2px)
			translateY(-2px);
	}


	/* Security note */
	.ije-booking-return-note{
		display:flex;

		align-items:center;
		justify-content:center;

		gap:7px;

		margin-top:14px;

		color:#64748b;

		font-size:.76rem;
		font-weight:700;
	}

	.ije-booking-return-note i{
		color:#198754;
		font-size:1rem;
	}

}


/* =====================================================
TABLET / MOBILE
Mobile footer CTA already handles this job
===================================================== */

@media (max-width:991.98px){

	.ije-booking-return-card{
		display:none !important;
	}

}