/* ---------- Mobile bottom registration bar (hidden above 767px) ---------- */
.bss-regbar{display:none;}

/* Keep the home slider's wave-line canvas running on every loop
   (RevSlider otherwise fades this static layer out after the first slide) */
#slider-4-slide-4-layer-52{opacity:1 !important;visibility:visible !important;}

/* ---------- Desktop / tablet: tidy header button rail ---------- */
@media (min-width: 768px) {
	.header-button-cover > .elementor-widget-wrap{
		display:flex !important;
		flex-direction:column;
		align-items:flex-end;
		justify-content:flex-start;
		gap:10px;
		padding-top:14px !important;
	}
	.header-button-cover .btn-header-ellips{display:none !important;}
	.header-button-cover .elementor-widget-button{
		width:100% !important;
		max-width:300px;
		margin:0 !important;
	}
	.header-button-cover .elementor-widget-button .elementor-button-wrapper{width:100%;}
	.header-button-cover .elementor-widget-button .elementor-button{
		display:flex;
		align-items:center;
		justify-content:center;
		width:100%;
		min-height:48px;
		padding:10px 18px !important;
		border-radius:10px !important;
		background:linear-gradient(120deg,#822ea8 0%,#d90e90 100%) !important;
		border:1px solid rgba(255,255,255,.22) !important;
		box-shadow:0 6px 18px rgba(130,46,168,.45);
		color:#fff !important;
		font-size:13px !important;
		font-weight:700 !important;
		line-height:1.25 !important;
		letter-spacing:.05em !important;
		text-transform:uppercase !important;
		text-align:center;
		transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
	}
	.header-button-cover .elementor-widget-button .elementor-button:hover,
	.header-button-cover .elementor-widget-button .elementor-button:focus-visible{
		transform:translateY(-2px);
		filter:brightness(1.12);
		box-shadow:0 10px 26px rgba(217,14,144,.55);
	}
	.header-button-cover .elementor-widget-button .elementor-button:focus-visible{
		outline:2px solid #fff;
		outline-offset:2px;
	}
	.header-button-cover .elementor-widget-button .elementor-button-text{
		white-space:normal;
	}
}
/* Five boxes now share the rail, so tighten it up a little */
@media (min-width: 768px) and (max-width: 1440px) {
	.header-button-cover > .elementor-widget-wrap{gap:8px;}
	.header-button-cover .elementor-widget-button .elementor-button{
		min-height:44px;
		padding:8px 14px !important;
		font-size:12px !important;
	}
}
/* Narrow tablet column: slightly smaller type so labels wrap cleanly */
@media (min-width: 768px) and (max-width: 1024px) {
	.header-button-cover .elementor-widget-button .elementor-button{
		font-size:11px !important;
		min-height:42px;
		padding:8px 10px !important;
	}
}

/* ---------- Mobile (<=767px): fixed bottom bar with all 5 buttons ---------- */
@media (max-width: 767px) {
	.header-button-cover .elementor-widget-button,
	.header-button-cover .btn-header-ellips{display:none !important;}

	/* Compact one-row header: hide the empty buttons column, let the logo
	   column span full width (logo centered), shrink the logo, and center
	   the hamburger toggle vertically on the row. */
	.header-button-cover{display:none !important;}
	.header-logo-cover{width:100% !important;}
	.elementor-5339 .elementor-element.elementor-element-9cc5063,
	.elementor-5339 .elementor-element.elementor-element-9cc5063 > .elementor-element-populated{padding:0 !important;}
	.elementor-5339 .elementor-element.elementor-element-774deca .rx-logo img{
		max-height:90px !important;
		width:auto !important;
	}
	.elementor-5339 .elementor-element.elementor-element-90940cf{
		top:50%;
		transform:translateY(-50%);
		left:10px;
	}

	/* three rows of buttons now, so keep the page clear of the bar */
	body{padding-bottom:calc(206px + env(safe-area-inset-bottom)) !important;}

	.bss-regbar{
		display:grid;
		grid-template-columns:1fr 1fr;
		gap:8px;
		position:fixed;
		left:0;
		right:0;
		bottom:0;
		z-index:99999;
		padding:10px 10px calc(10px + env(safe-area-inset-bottom));
		background:rgba(22,9,38,.96);
		-webkit-backdrop-filter:blur(12px);
		backdrop-filter:blur(12px);
		border-top:1px solid rgba(255,255,255,.14);
		box-shadow:0 -8px 24px rgba(0,0,0,.45);
	}
	/* odd one out: the fifth box spans the full width */
	.bss-regbar a:nth-child(5){grid-column:1 / -1;}
	.bss-regbar a{
		display:flex;
		flex-direction:column;
		align-items:center;
		justify-content:center;
		gap:2px;
		min-height:52px;
		padding:8px 6px;
		border-radius:10px;
		background:linear-gradient(120deg,#822ea8 0%,#d90e90 100%);
		border:1px solid rgba(255,255,255,.2);
		box-shadow:0 4px 12px rgba(130,46,168,.4);
		color:#fff;
		text-align:center;
		text-decoration:none;
		transition:transform .15s ease, filter .15s ease;
	}
	.bss-regbar a:active{transform:scale(.97);filter:brightness(1.1);}
	.bss-regbar .bss-l1{
		font-size:12px;
		font-weight:800;
		line-height:1.15;
		letter-spacing:.03em;
		text-transform:uppercase;
	}
	.bss-regbar .bss-l2{
		font-size:9px;
		font-weight:600;
		line-height:1.1;
		letter-spacing:.14em;
		text-transform:uppercase;
		opacity:.85;
	}
}

/* no mid-word hyphen breaks in the bottom bar */
.bss-regbar a{-webkit-hyphens:none;-ms-hyphens:none;hyphens:none;word-break:normal;overflow-wrap:normal;}

/* ---------- "Registration Closed" popup (bss-registration-ui.js) ---------- */
html.bss-closed-noscroll,html.bss-closed-noscroll body{overflow:hidden !important;}
.bss-closed{
	position:fixed;
	inset:0;
	z-index:1000000;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:16px;
	background:rgba(12,4,24,.72);
	-webkit-backdrop-filter:blur(6px);
	backdrop-filter:blur(6px);
	opacity:0;
	visibility:hidden;
	transition:opacity .25s ease, visibility .25s ease;
}
.bss-closed.is-open{opacity:1;visibility:visible;}
.bss-closed-box{
	position:relative;
	width:100%;
	max-width:420px;
	padding:36px 28px 28px;
	border-radius:18px;
	background:#fff;
	box-shadow:0 24px 60px rgba(0,0,0,.45);
	text-align:center;
	transform:translateY(16px) scale(.97);
	transition:transform .25s ease;
}
.bss-closed.is-open .bss-closed-box{transform:none;}
.bss-closed-x{
	position:absolute;
	top:10px;
	right:12px;
	width:36px;
	height:36px;
	padding:0;
	border:0;
	border-radius:50%;
	background:transparent;
	color:#6b5a7d;
	font-size:26px;
	line-height:36px;
	cursor:pointer;
}
.bss-closed-x:hover{background:#f3e9f8;color:#822ea8;}
.bss-closed.is-locked .bss-closed-x,
.bss-closed.is-locked .bss-closed-ok{display:none;}
.bss-closed-icon{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:64px;
	height:64px;
	margin-bottom:14px;
	border-radius:50%;
	background:linear-gradient(120deg,#822ea8 0%,#d90e90 100%);
	color:#fff;
	box-shadow:0 8px 20px rgba(217,14,144,.35);
}
.bss-closed-kicker{
	margin:0 0 4px;
	color:#d90e90;
	font-size:12px;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
}
.bss-closed-box h3{
	margin:0 0 10px;
	color:#22102f;
	font-size:26px;
	font-weight:800;
	line-height:1.2;
}
.bss-closed-msg{
	margin:0 0 22px;
	color:#5a4b68;
	font-size:15px;
	line-height:1.55;
}
.bss-closed-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.bss-closed-actions a,
.bss-closed-actions button{
	flex:1 1 140px;
	min-height:46px;
	padding:10px 18px;
	border-radius:10px;
	font-size:13px;
	font-weight:700;
	letter-spacing:.05em;
	text-transform:uppercase;
	text-decoration:none;
	cursor:pointer;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	transition:filter .2s ease, transform .2s ease;
}
.bss-closed-home{
	background:linear-gradient(120deg,#822ea8 0%,#d90e90 100%);
	border:0;
	color:#fff !important;
}
.bss-closed-ok{
	background:#fff;
	border:2px solid #822ea8;
	color:#822ea8;
}
.bss-closed-actions a:hover,
.bss-closed-actions button:hover{filter:brightness(1.1);transform:translateY(-1px);}
.bss-closed-actions a:focus-visible,
.bss-closed-actions button:focus-visible,
.bss-closed-x:focus-visible{outline:2px solid #d90e90;outline-offset:2px;}
@media (prefers-reduced-motion: reduce){
	.bss-closed,.bss-closed-box{transition:none;}
}
