/* =========================================================
   CTB ONLY — Luxury Glassmorphism + Neon Dark UI
   Scoped strictly to Custom Trip Booking system elements
   ========================================================= */

/* ---------- Tokens (scoped) ---------- */
.ctb-booking-wrapper,
.ctb-review-wrapper {
	--ctb-bg-1: rgba(7, 7, 13, 0.88);
	--ctb-bg-2: rgba(18, 12, 34, 0.78);
	--ctb-bg-3: rgba(255, 255, 255, 0.06);
	--ctb-bg-4: rgba(255, 255, 255, 0.03);
	--ctb-border: rgba(255, 255, 255, 0.12);
	--ctb-border-strong: rgba(183, 107, 255, 0.34);
	--ctb-text: rgba(255, 255, 255, 0.97);
	--ctb-text-soft: rgba(255, 255, 255, 0.74);
	--ctb-text-faint: rgba(255, 255, 255, 0.54);

	--ctb-purple: #b86cff;
	--ctb-purple-2: #8e4dff;
	--ctb-gold: #f2c66d;
	--ctb-gold-2: #ffe09a;
	--ctb-green: #45ff9a;
	--ctb-green-2: #15d676;

	--ctb-shadow-xl: 0 28px 70px rgba(0, 0, 0, 0.52);
	--ctb-shadow-lg: 0 18px 38px rgba(0, 0, 0, 0.34);
	--ctb-shadow-md: 0 10px 24px rgba(0, 0, 0, 0.26);

	--ctb-glow-purple:
		0 0 0 1px rgba(184, 108, 255, 0.18),
		0 0 22px rgba(184, 108, 255, 0.18),
		0 0 52px rgba(142, 77, 255, 0.10);

	--ctb-glow-green:
		0 0 0 1px rgba(69, 255, 154, 0.18),
		0 0 22px rgba(69, 255, 154, 0.18),
		0 0 56px rgba(21, 214, 118, 0.10);

	--ctb-glow-gold:
		0 0 0 1px rgba(242, 198, 109, 0.14),
		0 0 18px rgba(242, 198, 109, 0.14);

	--ctb-radius-xl: 30px;
	--ctb-radius-lg: 22px;
	--ctb-radius-md: 18px;
	--ctb-radius-sm: 14px;
}

/* ---------- Main wrappers ---------- */
.ctb-booking-wrapper,
.ctb-review-wrapper{
	position: relative;
	isolation: isolate;
	max-width: 1120px !important;
	margin: 36px auto !important;
	padding: 34px !important;
	border-radius: var(--ctb-radius-xl) !important;
	background:
		linear-gradient(180deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.04) 100%),
		linear-gradient(135deg, rgba(8,8,14,0.96) 0%, rgba(19,12,35,0.94) 55%, rgba(10,9,18,0.98) 100%) !important;
	border: 1px solid var(--ctb-border) !important;
	box-shadow:
		var(--ctb-shadow-xl),
		inset 0 1px 0 rgba(255,255,255,0.10),
		inset 0 -1px 0 rgba(255,255,255,0.03),
		0 0 0 1px rgba(255,255,255,0.02) !important;
	backdrop-filter: blur(22px);
	-webkit-backdrop-filter: blur(22px);
	overflow: hidden;
}

.ctb-booking-wrapper::before,
.ctb-review-wrapper::before{
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(circle at 12% 16%, rgba(184,108,255,0.20), transparent 28%),
		radial-gradient(circle at 86% 18%, rgba(242,198,109,0.10), transparent 22%),
		radial-gradient(circle at 78% 82%, rgba(69,255,154,0.08), transparent 24%);
}

.ctb-booking-wrapper::after,
.ctb-review-wrapper::after{
	content: "";
	position: absolute;
	inset: 1px;
	border-radius: inherit;
	pointer-events: none;
	border: 1px solid rgba(255,255,255,0.05);
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
}

/* ---------- Titles ---------- */
.ctb-booking-wrapper .ctb-booking-title,
.ctb-review-wrapper .ctb-title{
	margin: 0 0 10px !important;
	font-size: clamp(30px, 4vw, 42px) !important;
	line-height: 1.05 !important;
	font-weight: 800 !important;
	letter-spacing: -0.03em;
	color: var(--ctb-text) !important;
	text-shadow: 0 0 26px rgba(184,108,255,0.18);
}

.ctb-booking-wrapper .ctb-booking-subtitle,
.ctb-review-wrapper .ctb-subtitle{
	margin: 0 0 28px !important;
	font-size: 15px !important;
	line-height: 1.7 !important;
	color: var(--ctb-text-soft) !important;
	max-width: 720px;
}

/* ---------- Notices ---------- */
.ctb-booking-wrapper .woocommerce-notices-wrapper,
.ctb-review-wrapper .woocommerce-notices-wrapper{
	margin-bottom: 18px;
}

.ctb-booking-wrapper .woocommerce-error,
.ctb-booking-wrapper .woocommerce-message,
.ctb-booking-wrapper .woocommerce-info,
.ctb-review-wrapper .woocommerce-error,
.ctb-review-wrapper .woocommerce-message,
.ctb-review-wrapper .woocommerce-info,
.ctb-review-wrapper .ctb-alert,
.ctb-review-wrapper .ctb-alert-error{
	margin: 0 0 18px !important;
	padding: 16px 18px !important;
	border-radius: 18px !important;
	background: linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.04)) !important;
	border: 1px solid rgba(255,255,255,0.12) !important;
	color: var(--ctb-text) !important;
	box-shadow: var(--ctb-shadow-md), inset 0 1px 0 rgba(255,255,255,0.06);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

.ctb-booking-wrapper .woocommerce-error,
.ctb-review-wrapper .woocommerce-error,
.ctb-review-wrapper .ctb-alert-error{
	border-color: rgba(255, 107, 148, 0.30) !important;
	box-shadow:
		0 0 0 1px rgba(255,107,148,0.14),
		0 0 24px rgba(255,107,148,0.10),
		var(--ctb-shadow-md) !important;
}

/* ---------- Grid ---------- */
.ctb-booking-wrapper .ctb-booking-grid,
.ctb-review-wrapper .ctb-grid{
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 18px !important;
}

.ctb-booking-wrapper .ctb-field,
.ctb-review-wrapper .ctb-card{
	min-width: 0;
}

.ctb-booking-wrapper .ctb-field-full,
.ctb-review-wrapper .ctb-card-full{
	grid-column: 1 / -1 !important;
}

/* ---------- Labels & helpers ---------- */
.ctb-booking-wrapper .ctb-field > label,
.ctb-review-wrapper .ctb-label{
	display: block;
	margin-bottom: 9px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ctb-gold-2) !important;
	opacity: 0.92;
}

.ctb-booking-wrapper .ctb-help,
.ctb-review-wrapper .ctb-help{
	margin-top: 8px !important;
	font-size: 13px !important;
	line-height: 1.6 !important;
	color: var(--ctb-text-faint) !important;
}

/* ---------- Inputs ---------- */
.ctb-booking-wrapper .ctb-field input[type="text"],
.ctb-booking-wrapper .ctb-field input[type="number"],
.ctb-booking-wrapper .ctb-field select{
	width: 100% !important;
	min-height: 58px !important;
	padding: 16px 18px !important;
	border-radius: 18px !important;
	border: 1px solid rgba(255,255,255,0.10) !important;
	background:
		linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.03)),
		linear-gradient(135deg, rgba(15,12,24,0.92), rgba(23,17,40,0.86)) !important;
	color: var(--ctb-text) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,0.05),
		inset 0 -1px 0 rgba(255,255,255,0.02),
		0 8px 18px rgba(0,0,0,0.22) !important;
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	outline: none !important;
	transition:
		border-color .22s ease,
		box-shadow .22s ease,
		transform .22s ease,
		background .22s ease !important;
}

.ctb-booking-wrapper .ctb-field input::placeholder{
	color: rgba(255,255,255,0.44) !important;
}

.ctb-booking-wrapper .ctb-field input:hover,
.ctb-booking-wrapper .ctb-field select:hover{
	border-color: rgba(184,108,255,0.34) !important;
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,0.06),
		0 0 0 1px rgba(184,108,255,0.14),
		0 0 22px rgba(184,108,255,0.12),
		0 14px 24px rgba(0,0,0,0.24) !important;
}

.ctb-booking-wrapper .ctb-field input:focus,
.ctb-booking-wrapper .ctb-field select:focus,
.ctb-booking-wrapper .ctb-inline-check:focus-within,
.ctb-booking-wrapper .ctb-service:focus-within{
	border-color: rgba(184,108,255,0.42) !important;
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,0.07),
		0 0 0 1px rgba(184,108,255,0.22),
		0 0 24px rgba(184,108,255,0.18),
		0 0 50px rgba(142,77,255,0.10),
		0 16px 28px rgba(0,0,0,0.30) !important;
	transform: translateY(-1px);
}

/* ---------- Checkbox glass blocks ---------- */
.ctb-booking-wrapper .ctb-inline-check,
.ctb-booking-wrapper .ctb-service{
	position: relative;
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	min-height: 58px !important;
	padding: 14px 18px !important;
	border-radius: 18px !important;
	border: 1px solid rgba(255,255,255,0.10) !important;
	background:
		linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.03)),
		linear-gradient(135deg, rgba(15,12,24,0.92), rgba(23,17,40,0.86)) !important;
	color: var(--ctb-text) !important;
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,0.05),
		0 8px 18px rgba(0,0,0,0.22) !important;
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	cursor: pointer;
	transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease !important;
}

.ctb-booking-wrapper .ctb-inline-check:hover,
.ctb-booking-wrapper .ctb-service:hover{
	border-color: rgba(184,108,255,0.34) !important;
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,0.06),
		0 0 0 1px rgba(184,108,255,0.14),
		0 0 20px rgba(184,108,255,0.12),
		0 14px 24px rgba(0,0,0,0.24) !important;
	transform: translateY(-1px);
}

.ctb-booking-wrapper .ctb-inline-check span,
.ctb-booking-wrapper .ctb-service span{
	color: var(--ctb-text) !important;
	line-height: 1.5;
}

.ctb-booking-wrapper .ctb-inline-check input[type="checkbox"],
.ctb-booking-wrapper .ctb-service input[type="checkbox"]{
	appearance: none;
	-webkit-appearance: none;
	width: 22px !important;
	height: 22px !important;
	margin: 0 !important;
	border-radius: 8px !important;
	border: 1px solid rgba(255,255,255,0.24) !important;
	background: rgba(255,255,255,0.05) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.05);
	position: relative;
	flex: 0 0 22px;
	cursor: pointer;
	transition: all .22s ease !important;
}

.ctb-booking-wrapper .ctb-inline-check input[type="checkbox"]:checked,
.ctb-booking-wrapper .ctb-service input[type="checkbox"]:checked{
	background: linear-gradient(135deg, var(--ctb-green), var(--ctb-green-2)) !important;
	border-color: transparent !important;
	box-shadow:
		0 0 0 1px rgba(69,255,154,0.18),
		0 0 16px rgba(69,255,154,0.22),
		0 0 32px rgba(21,214,118,0.12) !important;
}

.ctb-booking-wrapper .ctb-inline-check input[type="checkbox"]:checked::after,
.ctb-booking-wrapper .ctb-service input[type="checkbox"]:checked::after{
	content: "";
	position: absolute;
	left: 7px;
	top: 3px;
	width: 5px;
	height: 10px;
	border: solid #08110b;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

/* ---------- Buttons ---------- */
.ctb-booking-wrapper .ctb-submit-wrap,
.ctb-review-wrapper .ctb-actions{
	margin-top: 24px !important;
}

.ctb-booking-wrapper .ctb-submit-btn,
.ctb-review-wrapper .ctb-checkout-btn{
	position: relative;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 60px !important;
	padding: 16px 24px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background:
		linear-gradient(135deg, #5dffb2 0%, #21e37f 45%, #0dc767 100%) !important;
	color: #051109 !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	box-shadow:
		0 12px 26px rgba(10, 40, 22, 0.38),
		0 0 0 1px rgba(255,255,255,0.14),
		0 0 22px rgba(69,255,154,0.24),
		0 0 54px rgba(21,214,118,0.14) !important;
	cursor: pointer;
	transition:
		transform .22s ease,
		box-shadow .22s ease,
		filter .22s ease !important;
}

.ctb-booking-wrapper .ctb-submit-btn::before,
.ctb-review-wrapper .ctb-checkout-btn::before{
	content: "";
	position: absolute;
	inset: 1px;
	border-radius: inherit;
	background: linear-gradient(180deg, rgba(255,255,255,0.34), rgba(255,255,255,0.06));
	opacity: 0.55;
	pointer-events: none;
	mix-blend-mode: screen;
}

.ctb-booking-wrapper .ctb-submit-btn:hover,
.ctb-review-wrapper .ctb-checkout-btn:hover{
	transform: translateY(-2px);
	filter: brightness(1.03);
	box-shadow:
		0 16px 34px rgba(10, 40, 22, 0.44),
		0 0 0 1px rgba(255,255,255,0.16),
		0 0 28px rgba(69,255,154,0.28),
		0 0 64px rgba(21,214,118,0.18) !important;
}

.ctb-booking-wrapper .ctb-submit-btn:active,
.ctb-review-wrapper .ctb-checkout-btn:active{
	transform: translateY(0);
}

/* ---------- Notes ---------- */
.ctb-booking-wrapper .ctb-note,
.ctb-review-wrapper .ctb-note{
	margin-top: 18px !important;
	padding: 18px 20px !important;
	border-radius: 20px !important;
	background:
		linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.035)),
		linear-gradient(135deg, rgba(20,15,30,0.88), rgba(19,15,28,0.76)) !important;
	border: 1px solid rgba(242,198,109,0.16) !important;
	color: var(--ctb-text-soft) !important;
	box-shadow:
		var(--ctb-shadow-md),
		inset 0 1px 0 rgba(255,255,255,0.05),
		0 0 24px rgba(242,198,109,0.08) !important;
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
}

.ctb-booking-wrapper .ctb-note strong,
.ctb-review-wrapper .ctb-note strong{
	color: var(--ctb-gold-2) !important;
}

/* ---------- Review cards ---------- */
.ctb-review-wrapper .ctb-card{
	position: relative;
	padding: 20px !important;
	border-radius: 22px !important;
	border: 1px solid rgba(255,255,255,0.10) !important;
	background:
		linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.035)),
		linear-gradient(135deg, rgba(15,12,24,0.92), rgba(23,17,40,0.86)) !important;
	box-shadow:
		var(--ctb-shadow-lg),
		inset 0 1px 0 rgba(255,255,255,0.06),
		inset 0 -1px 0 rgba(255,255,255,0.02) !important;
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	overflow: hidden;
}

.ctb-review-wrapper .ctb-card::before{
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(135deg, rgba(255,255,255,0.07), transparent 42%);
}

.ctb-review-wrapper .ctb-card:hover{
	border-color: rgba(184,108,255,0.22) !important;
	box-shadow:
		0 0 0 1px rgba(184,108,255,0.12),
		0 0 26px rgba(184,108,255,0.10),
		var(--ctb-shadow-lg),
		inset 0 1px 0 rgba(255,255,255,0.07) !important;
}

.ctb-review-wrapper .ctb-value{
	font-size: 17px !important;
	line-height: 1.55 !important;
	font-weight: 700 !important;
	color: var(--ctb-text) !important;
	word-break: break-word;
}

.ctb-review-wrapper .ctb-route{
	font-size: clamp(22px, 3.2vw, 30px) !important;
	line-height: 1.3 !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em;
	color: var(--ctb-text) !important;
	text-shadow: 0 0 18px rgba(184,108,255,0.10);
}

/* ---------- Links ---------- */
.ctb-review-wrapper .ctb-edit-link{
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	margin-top: 14px !important;
	color: var(--ctb-gold-2) !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	transition: color .2s ease, text-shadow .2s ease !important;
}

.ctb-review-wrapper .ctb-edit-link:hover{
	color: #fff1c3 !important;
	text-shadow: 0 0 16px rgba(242,198,109,0.18);
}

/* ---------- Price box ---------- */
.ctb-review-wrapper .ctb-price-box{
	margin-top: 10px !important;
	border-radius: 24px !important;
	overflow: hidden !important;
	border: 1px solid rgba(255,255,255,0.10) !important;
	background:
		linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.03)),
		linear-gradient(135deg, rgba(14,12,22,0.96), rgba(20,17,34,0.88)) !important;
	box-shadow:
		var(--ctb-shadow-lg),
		inset 0 1px 0 rgba(255,255,255,0.06),
		0 0 24px rgba(184,108,255,0.08) !important;
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

.ctb-review-wrapper .ctb-row{
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 14px !important;
	padding: 18px 20px !important;
	border-bottom: 1px solid rgba(255,255,255,0.08) !important;
	background: transparent !important;
	color: var(--ctb-text-soft) !important;
	font-size: 15px !important;
}

.ctb-review-wrapper .ctb-row:last-child{
	border-bottom: 0 !important;
}

.ctb-review-wrapper .ctb-row > div:last-child{
	color: var(--ctb-text) !important;
	font-weight: 700 !important;
}

.ctb-review-wrapper .ctb-row-total{
	background:
		linear-gradient(90deg, rgba(69,255,154,0.11), rgba(184,108,255,0.08), rgba(242,198,109,0.08)) !important;
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,0.08),
		0 0 24px rgba(69,255,154,0.08) !important;
	font-weight: 800 !important;
}

.ctb-review-wrapper .ctb-row-total > div{
	font-size: 18px !important;
	color: var(--ctb-text) !important;
}

.ctb-review-wrapper .ctb-row-total > div:last-child{
	color: var(--ctb-green) !important;
	text-shadow: 0 0 18px rgba(69,255,154,0.16);
}

/* ---------- Hidden ---------- */
.ctb-hidden{
	display: none !important;
}
/* ---------- Responsive ---------- */
@media (max-width: 900px){
	.ctb-booking-wrapper,
	.ctb-review-wrapper{
		padding: 24px !important;
		border-radius: 24px !important;
	}

	.ctb-booking-wrapper .ctb-booking-grid,
	.ctb-review-wrapper .ctb-grid{
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 640px){
	.ctb-booking-wrapper,
	.ctb-review-wrapper{
		margin: 20px auto !important;
		padding: 18px !important;
		border-radius: 22px !important;
	}

	.ctb-booking-wrapper .ctb-booking-title,
	.ctb-review-wrapper .ctb-title{
		font-size: 28px !important;
	}

	.ctb-booking-wrapper .ctb-field input[type="text"],
	.ctb-booking-wrapper .ctb-field input[type="number"],
	.ctb-booking-wrapper .ctb-field select,
	.ctb-booking-wrapper .ctb-inline-check,
	.ctb-booking-wrapper .ctb-service,
	.ctb-booking-wrapper .ctb-submit-btn,
	.ctb-review-wrapper .ctb-checkout-btn{
		min-height: 54px !important;
	}

	.ctb-review-wrapper .ctb-route{
		font-size: 20px !important;
	}

	.ctb-review-wrapper .ctb-row{
		padding: 15px 16px !important;
		font-size: 14px !important;
	}
}

/* =========================================================
   CTB ONLY — Datepicker
   Requires JS class .ctb-datepicker-scope on #ui-datepicker-div
   ========================================================= */
/* =========================================================
   CTB ONLY — Datepicker (clean grid)
   ========================================================= */
#ui-datepicker-div.ctb-datepicker-scope{
	z-index: 999999 !important;
	width: 340px !important;
	padding: 12px !important;
	border-radius: 20px !important;
	border: 1px solid rgba(255,255,255,0.10) !important;
	background:
		linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02)),
		linear-gradient(135deg, rgba(10,10,18,0.98), rgba(22,16,40,0.94)) !important;
	box-shadow:
		0 24px 50px rgba(0,0,0,0.45),
		0 0 24px rgba(184,108,255,0.10),
		inset 0 1px 0 rgba(255,255,255,0.05) !important;
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	overflow: hidden;
}

#ui-datepicker-div.ctb-datepicker-scope .ui-datepicker-header{
	padding: 4px 2px 10px !important;
	background: transparent !important;
	border: 0 !important;
}

#ui-datepicker-div.ctb-datepicker-scope .ui-datepicker-title{
	font-size: 16px !important;
	font-weight: 800 !important;
	color: rgba(255,255,255,0.96) !important;
}

#ui-datepicker-div.ctb-datepicker-scope .ui-datepicker-prev,
#ui-datepicker-div.ctb-datepicker-scope .ui-datepicker-next{
	top: 2px !important;
	width: 30px !important;
	height: 30px !important;
	border-radius: 10px !important;
	border: 0 !important;
	background: rgba(255,255,255,0.04) !important;
	box-shadow: none !important;
}

#ui-datepicker-div.ctb-datepicker-scope .ui-datepicker-prev span,
#ui-datepicker-div.ctb-datepicker-scope .ui-datepicker-next span{
	filter: invert(1) opacity(.85);
}

#ui-datepicker-div.ctb-datepicker-scope table{
	margin: 0 !important;
	border-collapse: collapse !important;
}

#ui-datepicker-div.ctb-datepicker-scope th{
	padding: 4px 0 8px !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.46) !important;
}

#ui-datepicker-div.ctb-datepicker-scope td{
	padding: 2px !important;
	vertical-align: top;
}

#ui-datepicker-div.ctb-datepicker-scope td a,
#ui-datepicker-div.ctb-datepicker-scope td span{
	display: flex !important;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	min-height: auto !important;
	height: 48px !important;
	padding: 6px 2px 4px !important;
	border-radius: 12px !important;
	border: 0 !important;
	background: transparent !important;
	color: rgba(255,255,255,0.94) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	text-align: center !important;
	box-shadow: none !important;
	line-height: 1.1 !important;
	transition: background .18s ease, transform .18s ease, box-shadow .18s ease !important;
}

#ui-datepicker-div.ctb-datepicker-scope td a:hover{
	background: rgba(184,108,255,0.12) !important;
	box-shadow: 0 0 14px rgba(184,108,255,0.14) !important;
	transform: translateY(-1px);
}

#ui-datepicker-div.ctb-datepicker-scope td .ctb-price-tag{
	display: block;
	margin-top: 3px !important;
	font-size: 10px !important;
	line-height: 1 !important;
	font-weight: 800 !important;
	color: #45ff9a !important;
	text-shadow: 0 0 8px rgba(69,255,154,0.14);
}

#ui-datepicker-div.ctb-datepicker-scope td.ctb-low-price a,
#ui-datepicker-div.ctb-datepicker-scope td.ctb-high-price a{
	background: transparent !important;
}

#ui-datepicker-div.ctb-datepicker-scope td.ui-datepicker-current-day a{
	background: linear-gradient(135deg, #67ffb9, #17dc7a) !important;
	color: #07110b !important;
	box-shadow:
		0 0 18px rgba(69,255,154,0.22),
		0 8px 18px rgba(0,0,0,0.20) !important;
}

#ui-datepicker-div.ctb-datepicker-scope td.ui-datepicker-current-day .ctb-price-tag{
	color: #0b4426 !important;
	text-shadow: none !important;
}

#ui-datepicker-div.ctb-datepicker-scope .ui-state-disabled span{
	opacity: .28 !important;
	background: transparent !important;
}

#ui-datepicker-div.ctb-datepicker-scope .ctb-calendar-legend{
	margin-top: 8px !important;
	padding-top: 8px !important;
	border-top: 1px solid rgba(255,255,255,0.06) !important;
	font-size: 11px !important;
	color: rgba(255,255,255,0.58) !important;
}

#ui-datepicker-div.ctb-datepicker-scope .ctb-calendar-legend span{
	display: inline-block;
	margin-right: 10px !important;
}

#ui-datepicker-div.ctb-datepicker-scope .ctb-calendar-legend strong{
	color: rgba(255,255,255,0.90) !important;
}

@media (max-width: 480px){
	#ui-datepicker-div.ctb-datepicker-scope{
		width: min(92vw, 340px) !important;
	}

	#ui-datepicker-div.ctb-datepicker-scope td a,
	#ui-datepicker-div.ctb-datepicker-scope td span{
		height: 44px !important;
		font-size: 12px !important;
	}
}

/* =========================================================
   CTB ONLY — Google Places dropdown
   Requires JS class .ctb-pac-scope on .pac-container
   ========================================================= */
.pac-container.ctb-pac-scope{
	margin-top: 10px !important;
	border-radius: 20px !important;
	border: 1px solid rgba(255,255,255,0.12) !important;
	background:
		linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.03)),
		linear-gradient(135deg, rgba(10,10,18,0.98), rgba(22,16,40,0.94)) !important;
	box-shadow:
		0 26px 52px rgba(0,0,0,0.48),
		0 0 0 1px rgba(255,255,255,0.03),
		0 0 28px rgba(184,108,255,0.12),
		inset 0 1px 0 rgba(255,255,255,0.05) !important;
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	overflow: hidden !important;
	z-index: 999999 !important;
}

.pac-container.ctb-pac-scope::after{
	display: none !important;
}

.pac-container.ctb-pac-scope .pac-item{
	padding: 12px 14px !important;
	border-top: 1px solid rgba(255,255,255,0.06) !important;
	background: transparent !important;
	color: rgba(255,255,255,0.92) !important;
	font-size: 14px !important;
	line-height: 1.45 !important;
	cursor: pointer;
	transition: background .18s ease, box-shadow .18s ease !important;
}

.pac-container.ctb-pac-scope .pac-item:first-child{
	border-top: 0 !important;
}

.pac-container.ctb-pac-scope .pac-item:hover,
.pac-container.ctb-pac-scope .pac-item-selected{
	background:
		linear-gradient(90deg, rgba(184,108,255,0.14), rgba(184,108,255,0.05)) !important;
	box-shadow: inset 0 0 0 1px rgba(184,108,255,0.08);
}

.pac-container.ctb-pac-scope .pac-item-query{
	color: rgba(255,255,255,0.98) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
}

.pac-container.ctb-pac-scope .pac-matched{
	color: #fff !important;
	font-weight: 800 !important;
}

.pac-container.ctb-pac-scope .pac-icon{
	filter: brightness(1.2) invert(1) opacity(.72);
}

/* =========================================================
   CTB ONLY — hidden inputs remain untouched visually
   ========================================================= */
.ctb-booking-wrapper input[type="hidden"]{
	display: none !important;
}





/* =========================================================
   CTB ONLY — Datepicker HARD RESET
   يمنع أي تقويم/ستايل خارجي من التأثير
   ========================================================= */

#ui-datepicker-div.ctb-datepicker-scope,
#ui-datepicker-div.ctb-datepicker-scope *{
	box-sizing: border-box !important;
	font-family: inherit !important;
}

#ui-datepicker-div.ctb-datepicker-scope{
	z-index: 999999 !important;
	width: 340px !important;
	padding: 12px !important;
	border-radius: 20px !important;
	border: 1px solid rgba(255,255,255,0.10) !important;
	background:
		linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02)),
		linear-gradient(135deg, rgba(10,10,18,0.98), rgba(22,16,40,0.94)) !important;
	box-shadow:
		0 24px 50px rgba(0,0,0,0.45),
		0 0 24px rgba(184,108,255,0.10),
		inset 0 1px 0 rgba(255,255,255,0.05) !important;
	backdrop-filter: blur(18px) !important;
	-webkit-backdrop-filter: blur(18px) !important;
	overflow: hidden !important;
	color: #fff !important;
}

/* reset ui-widget layers */
#ui-datepicker-div.ctb-datepicker-scope.ui-datepicker,
#ui-datepicker-div.ctb-datepicker-scope .ui-widget,
#ui-datepicker-div.ctb-datepicker-scope .ui-widget-content,
#ui-datepicker-div.ctb-datepicker-scope .ui-widget-header{
	background: transparent !important;
	border: 0 !important;
	color: #fff !important;
}

/* header */
#ui-datepicker-div.ctb-datepicker-scope .ui-datepicker-header{
	position: relative !important;
	padding: 4px 2px 10px !important;
	margin: 0 !important;
	background: transparent !important;
	border: 0 !important;
}

#ui-datepicker-div.ctb-datepicker-scope .ui-datepicker-title{
	margin: 0 34px !important;
	text-align: center !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	line-height: 30px !important;
	color: rgba(255,255,255,0.96) !important;
}

#ui-datepicker-div.ctb-datepicker-scope .ui-datepicker-prev,
#ui-datepicker-div.ctb-datepicker-scope .ui-datepicker-next{
	position: absolute !important;
	top: 2px !important;
	width: 30px !important;
	height: 30px !important;
	border-radius: 10px !important;
	border: 0 !important;
	background: rgba(255,255,255,0.04) !important;
	box-shadow: none !important;
	cursor: pointer !important;
}

#ui-datepicker-div.ctb-datepicker-scope .ui-datepicker-prev{
	left: 0 !important;
}

#ui-datepicker-div.ctb-datepicker-scope .ui-datepicker-next{
	right: 0 !important;
}

#ui-datepicker-div.ctb-datepicker-scope .ui-datepicker-prev span,
#ui-datepicker-div.ctb-datepicker-scope .ui-datepicker-next span{
	filter: invert(1) opacity(.85) !important;
}

/* table reset */
#ui-datepicker-div.ctb-datepicker-scope table{
	width: 100% !important;
	margin: 0 !important;
	border-collapse: collapse !important;
	border-spacing: 0 !important;
	table-layout: fixed !important;
	background: transparent !important;
	border: 0 !important;
}

#ui-datepicker-div.ctb-datepicker-scope thead,
#ui-datepicker-div.ctb-datepicker-scope tbody,
#ui-datepicker-div.ctb-datepicker-scope tr,
#ui-datepicker-div.ctb-datepicker-scope th,
#ui-datepicker-div.ctb-datepicker-scope td{
	background: transparent !important;
	border: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
}

#ui-datepicker-div.ctb-datepicker-scope th{
	padding: 4px 0 8px !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	text-align: center !important;
	color: rgba(255,255,255,0.46) !important;
}

#ui-datepicker-div.ctb-datepicker-scope td{
	padding: 2px !important;
	vertical-align: top !important;
	text-align: center !important;
}

/* kill outside theme rules */
#ui-datepicker-div.ctb-datepicker-scope td a,
#ui-datepicker-div.ctb-datepicker-scope td span,
#ui-datepicker-div.ctb-datepicker-scope .ui-state-default,
#ui-datepicker-div.ctb-datepicker-scope .ui-state-hover,
#ui-datepicker-div.ctb-datepicker-scope .ui-state-active{
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: flex-start !important;
	width: 100% !important;
	height: 48px !important;
	padding: 6px 2px 4px !important;
	margin: 0 !important;
	border-radius: 12px !important;
	border: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	background-image: none !important;
	color: rgba(255,255,255,0.94) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.1 !important;
	text-align: center !important;
	text-decoration: none !important;
	box-shadow: none !important;
	transform: none !important;
}

#ui-datepicker-div.ctb-datepicker-scope td a:hover,
#ui-datepicker-div.ctb-datepicker-scope .ui-state-hover{
	background: rgba(184,108,255,0.12) !important;
	background-image: none !important;
	color: #fff !important;
	box-shadow: 0 0 14px rgba(184,108,255,0.14) !important;
	transform: translateY(-1px) !important;
}

#ui-datepicker-div.ctb-datepicker-scope td .ctb-price-tag{
	display: block !important;
	width: auto !important;
	height: auto !important;
	margin-top: 3px !important;
	padding: 0 !important;
	background: transparent !important;
	color: #45ff9a !important;
	font-size: 10px !important;
	line-height: 1 !important;
	font-weight: 800 !important;
	text-shadow: 0 0 8px rgba(69,255,154,0.14) !important;
	box-shadow: none !important;
	border: 0 !important;
}

/* selected day */
#ui-datepicker-div.ctb-datepicker-scope td.ui-datepicker-current-day a,
#ui-datepicker-div.ctb-datepicker-scope td .ui-state-active{
	background: linear-gradient(135deg, #67ffb9, #17dc7a) !important;
	background-image: none !important;
	color: #07110b !important;
	box-shadow:
		0 0 18px rgba(69,255,154,0.22),
		0 8px 18px rgba(0,0,0,0.20) !important;
}

#ui-datepicker-div.ctb-datepicker-scope td.ui-datepicker-current-day .ctb-price-tag{
	color: #0b4426 !important;
	text-shadow: none !important;
}

/* disabled */
#ui-datepicker-div.ctb-datepicker-scope .ui-state-disabled,
#ui-datepicker-div.ctb-datepicker-scope .ui-datepicker-unselectable{
	opacity: 1 !important;
}

#ui-datepicker-div.ctb-datepicker-scope .ui-state-disabled span{
	opacity: .28 !important;
	background: transparent !important;
	color: rgba(255,255,255,0.5) !important;
}

/* legend */
#ui-datepicker-div.ctb-datepicker-scope .ctb-calendar-legend{
	margin-top: 8px !important;
	padding-top: 8px !important;
	border-top: 1px solid rgba(255,255,255,0.06) !important;
	font-size: 11px !important;
	line-height: 1.5 !important;
	color: rgba(255,255,255,0.58) !important;
	background: transparent !important;
}

#ui-datepicker-div.ctb-datepicker-scope .ctb-calendar-legend span{
	display: inline-block !important;
	margin-right: 10px !important;
}

#ui-datepicker-div.ctb-datepicker-scope .ctb-calendar-legend strong{
	color: rgba(255,255,255,0.90) !important;
}

@media (max-width: 480px){
	#ui-datepicker-div.ctb-datepicker-scope{
		width: min(92vw, 340px) !important;
	}

	#ui-datepicker-div.ctb-datepicker-scope td a,
	#ui-datepicker-div.ctb-datepicker-scope td span,
	#ui-datepicker-div.ctb-datepicker-scope .ui-state-default{
		height: 44px !important;
		font-size: 12px !important;
	}
}
#ui-datepicker-div.ctb-datepicker-scope .ui-datepicker-calendar,
#ui-datepicker-div.ctb-datepicker-scope .ui-datepicker-calendar *{
	border-color: transparent !important;
	background-image: none !important;
}