/* ===== Fix: Elementor "stretched" sections stuck at old inline width =====
   The static export saved a hardcoded style="width:1519px" on stretched
   sections (Elementor normally recalculates this via JS on resize/load).
   Force them to span the full viewport width regardless of that inline value. */
.elementor-section.elementor-section-stretched{
	width:100vw !important;
	left:50% !important;
	right:auto !important;
	margin-left:-50vw !important;
	margin-right:0 !important;
	max-width:100vw !important;
}
/* Guard against horizontal scrollbar from the 100vw trick */
html,body{overflow-x:hidden;}

/* ===== CryptoWinter registration modal ===== */
:root{
	--cw-blue:#3E71D9;
	--cw-blue-dark:#2f59b0;
	--cw-bg:#0c1526;
	--cw-panel:#12203a;
	--cw-border:rgba(255,255,255,.12);
	--cw-text:#eef2f9;
	--cw-muted:#9fb0cc;
}

.cw-modal-overlay{
	position:fixed;
	inset:0;
	background:rgba(4,9,18,.78);
	backdrop-filter:blur(4px);
	display:none;
	align-items:flex-start;
	justify-content:center;
	z-index:100000;
	padding:40px 16px;
	overflow-y:auto;
}
.cw-modal-overlay.is-open{display:flex;}

.cw-modal{
	position:relative;
	width:100%;
	max-width:680px;
	background:var(--cw-bg);
	color:var(--cw-text);
	border:1px solid var(--cw-border);
	border-radius:16px;
	box-shadow:0 30px 80px rgba(0,0,0,.55);
	padding:40px 40px 32px;
	font-family:"DM Sans","Roboto",Arial,sans-serif;
	animation:cw-pop .28s ease;
}
@keyframes cw-pop{from{opacity:0;transform:translateY(18px) scale(.98);}to{opacity:1;transform:none;}}

.cw-modal-close{
	position:absolute;
	top:14px;
	right:14px;
	width:38px;height:38px;
	padding:0;
	margin:0;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:0;
	color:var(--cw-muted);
	background:transparent !important;
	border:none !important;
	box-shadow:none !important;
	outline:none;
	-webkit-appearance:none;
	appearance:none;
	cursor:pointer;
	border-radius:8px;
	transition:background .15s,color .15s;
}
/* Draw the X with two lines so it does not depend on the font glyph/baseline */
.cw-modal-close::before,
.cw-modal-close::after{
	content:"";
	position:absolute;
	width:18px;
	height:2px;
	border-radius:2px;
	background:currentColor;
}
.cw-modal-close::before{transform:rotate(45deg);}
.cw-modal-close::after{transform:rotate(-45deg);}
.cw-modal-close:hover{color:#fff;background:rgba(255,255,255,.10) !important;}
/* The success-screen "Close" button is a real text button, not the X */
.cw-success .cw-modal-close{
	position:static;
	width:auto;height:auto;
	display:inline-block;
	font-size:16px;
}
.cw-success .cw-modal-close::before,
.cw-success .cw-modal-close::after{display:none;}

.cw-modal-header{margin-bottom:26px;padding-right:30px;}
.cw-modal-header h2{
	margin:0 0 6px;
	font-family:"Space Grotesk","DM Sans",Arial,sans-serif;
	font-size:30px;
	font-weight:700;
	line-height:1.1;
	color:#fff;
}
.cw-modal-header p{margin:0;color:var(--cw-muted);font-size:15px;letter-spacing:.02em;}

.cw-field{margin-bottom:22px;}
.cw-field > label,
.cw-question{
	display:block;
	margin-bottom:9px;
	font-size:14px;
	font-weight:600;
	color:var(--cw-text);
	line-height:1.4;
}
.cw-req{color:var(--cw-blue);}

.cw-field input[type=text],
.cw-field input[type=tel],
.cw-field input[type=email]{
	width:100%;
	box-sizing:border-box;
	padding:13px 15px;
	background:var(--cw-panel);
	border:1px solid var(--cw-border);
	border-radius:10px;
	color:var(--cw-text);
	font-size:15px;
	font-family:inherit;
	transition:border-color .15s,box-shadow .15s;
}
.cw-field input:focus{
	outline:none;
	border-color:var(--cw-blue);
	box-shadow:0 0 0 3px rgba(62,113,217,.25);
}
.cw-field input.cw-invalid{border-color:#e5484d;box-shadow:0 0 0 3px rgba(229,72,77,.2);}

.cw-options{display:flex;flex-direction:column;gap:2px;}
.cw-options-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:4px 18px;
}
.cw-check,.cw-radio{
	display:flex;
	align-items:center;
	gap:10px;
	padding:8px 4px;
	font-size:14px;
	color:var(--cw-text);
	cursor:pointer;
	border-radius:8px;
	transition:background .12s;
}
.cw-check:hover,.cw-radio:hover{background:rgba(255,255,255,.04);}
.cw-check input,.cw-radio input{
	width:18px;height:18px;
	accent-color:var(--cw-blue);
	cursor:pointer;
	flex:0 0 auto;
}

.cw-error{
	display:block;
	margin-top:6px;
	color:#ff7a7d;
	font-size:12.5px;
	min-height:0;
}

.cw-form-footer{margin-top:8px;}
.cw-submit{
	display:inline-block;
	width:100%;
	padding:15px 24px;
	background:var(--cw-blue);
	color:#fff;
	border:none;
	border-radius:10px;
	font-size:16px;
	font-weight:700;
	font-family:inherit;
	letter-spacing:.02em;
	cursor:pointer;
	transition:background .15s,transform .05s;
}
.cw-submit:hover{background:var(--cw-blue-dark);}
.cw-submit:active{transform:translateY(1px);}
.cw-submit:disabled{opacity:.6;cursor:not-allowed;}

.cw-form-status{
	margin:14px 0 0;
	text-align:center;
	font-size:14px;
	color:var(--cw-muted);
	min-height:1em;
}
.cw-form-status.is-error{color:#ff7a7d;}

.cw-success{text-align:center;padding:30px 10px 10px;}
.cw-success-icon{
	width:64px;height:64px;
	margin:0 auto 18px;
	border-radius:50%;
	background:var(--cw-blue);
	color:#fff;
	font-size:34px;
	line-height:64px;
	font-weight:700;
}
.cw-success h3{margin:0 0 8px;font-size:24px;color:#fff;font-family:"Space Grotesk","DM Sans",Arial,sans-serif;}
.cw-success p{margin:0 0 24px;color:var(--cw-muted);font-size:15px;}
.cw-success .cw-submit{max-width:200px;}

body.cw-modal-open{overflow:hidden;}

@media (max-width:600px){
	.cw-modal{padding:32px 20px 24px;border-radius:12px;}
	.cw-modal-header h2{font-size:24px;}
	.cw-options-grid{grid-template-columns:1fr;}
}
