/* ==================================================
   EASYMATHS BOOK ASSESSMENT PAGE - PREMIUM
================================================== */

.em-book-assessment-shell{
	max-width:1240px;
	margin:0 auto;
	padding:56px 22px 80px;
	border-radius:0;

	background:
		radial-gradient(circle at top left,rgba(250,204,21,.10),transparent 30%),
		radial-gradient(circle at top right,rgba(59,130,246,.22),transparent 34%),
		linear-gradient(135deg,#071226 0%,#10234a 55%,#1d4ed8 100%);
}

.em-book-assessment-grid{
	display:grid;
	grid-template-columns:1.02fr .98fr;
	gap:40px;
	align-items:start;
}

.em-book-assessment-left{
	padding:24px 6px;
}

.em-book-kicker{
	display:inline-block;
	margin-bottom:16px;
	font-size:12px;
	font-weight:900;
	letter-spacing:.09em;
	text-transform:uppercase;
	color:#facc15;
}

.em-book-assessment-left h1{
	margin:0 0 20px;
	max-width:560px;
    font-size:clamp(42px,4.5vw,60px);
	line-height:.98;
	font-weight:950;
	letter-spacing:-.045em;
	color:#ffffff;
}

.em-book-lead{
	max-width:650px;
	margin:0 0 28px;
	font-size:18px;
	line-height:1.75;
	font-weight:500;
	color:rgba(219,234,254,.88);
}

.em-book-points{
	margin:0 0 30px;
	padding:0;
	list-style:none;
	display:grid;
	gap:13px;
}

.em-book-points li{
	position:relative;
	padding-left:28px;
	font-size:15px;
	line-height:1.65;
	color:rgba(255,255,255,.92);
}

.em-book-points li::before{
	content:"✓";
	position:absolute;
	left:0;
	top:1px;
	width:18px;
	height:18px;
	border-radius:999px;
	display:flex;
	align-items:center;
	justify-content:center;
	background:#facc15;
	color:#071226;
	font-size:11px;
	font-weight:900;
}

.em-book-card{
	margin-top:20px;
	padding:26px 28px;
	border-radius:26px;
	background:
		linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.04));
	border:1px solid rgba(255,255,255,.10);
	box-shadow:
		0 20px 50px rgba(2,6,23,.18),
		inset 0 1px 0 rgba(255,255,255,.08);
	backdrop-filter:blur(10px);
}

.em-book-card h3{
	margin:0 0 18px;
	font-size:22px;
	font-weight:900;
	letter-spacing:-.02em;
	color:#ffffff;
}

.em-book-card ol{
	margin:0;
	padding-left:20px;
}

.em-book-card li,
.em-book-card p{
	font-size:15px;
	line-height:1.75;
	color:rgba(219,234,254,.86);
}

.em-book-card p{
	margin:0 0 16px;
}

.em-book-card p:last-child{
	margin-bottom:0;
}

/* ==================================================
   FORM CARD
================================================== */

.em-book-assessment-right{
	position:relative;
}

.em-book-form-card{
	border-radius:30px;
	padding:28px 28px 30px;
	background:
		radial-gradient(circle at top right,rgba(59,130,246,.35),transparent 32%),
		linear-gradient(180deg,#071226 0%,#10234a 48%,#1d4ed8 100%);
	border:1px solid rgba(255,255,255,.14);
	box-shadow:
		0 30px 80px rgba(2,6,23,.34),
		inset 0 1px 0 rgba(255,255,255,.10);
	color:#ffffff;
	backdrop-filter:blur(8px);
}

.em-book-form-card form{
	margin:0;
}

.em-book-form-card .em-crm-vf-kicker{
	display:inline-block;
	margin-bottom:14px;
	padding:7px 12px;
	border-radius:999px;
	background:rgba(250,204,21,.12);
	border:1px solid rgba(250,204,21,.18);
	color:#facc15;
	font-size:11px;
	font-weight:900;
	letter-spacing:.07em;
	text-transform:uppercase;
}

.em-book-form-card .em-crm-vf-form-title{
	margin:0 0 8px;
	font-size:clamp(28px,3vw,38px);
	line-height:1.08;
	font-weight:900;
	letter-spacing:-.035em;
	color:#ffffff;
}

.em-book-form-card .em-crm-vf-form-intro{
	margin:0 0 16px;
	color:rgba(219,234,254,.9);
	font-size:15px;
	line-height:1.65;
}

/* Tutor trust strip above form fields */
.em-book-tutor-strip{
	margin:0 0 20px;
	padding:14px 16px;
	border-radius:18px;
	background:rgba(255,255,255,.08);
	border:1px solid rgba(255,255,255,.10);
	display:flex;
	align-items:center;
	gap:14px;
}

.em-book-tutor-avatar{
	width:46px;
	height:46px;
	border-radius:999px;
	background:#facc15;
	color:#071226;
	display:flex;
	align-items:center;
	justify-content:center;
	font-weight:900;
	font-size:18px;
	flex:0 0 auto;
}

.em-book-tutor-strip strong{
	display:block;
	color:#ffffff;
	font-size:14px;
	font-weight:900;
	line-height:1.25;
}

.em-book-tutor-strip span{
	display:block;
	margin-top:3px;
	color:rgba(219,234,254,.78);
	font-size:12px;
	line-height:1.4;
}

/* ==================================================
   FORM FIELDS
================================================== */

.em-book-form-card .em-crm-vf-grid-fields{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:14px;
}

.em-book-form-card .em-crm-vf-field{
	margin:0 0 14px;
}

.em-book-form-card .em-crm-vf-field-full{
	grid-column:1 / -1;
}

.em-book-form-card .em-crm-vf-label{
	display:block;
	margin:0 0 7px;
	font-size:13px;
	font-weight:850;
	color:#ffffff;
}

.em-book-form-card .em-crm-vf-input,
.em-book-form-card .em-crm-vf-select,
.em-book-form-card .em-crm-vf-textarea{
	width:100%;
	padding:14px;
	border-radius:14px;
	border:1px solid rgba(255,255,255,.12);
	background:#ffffff;
	color:#0f172a;
	font-size:15px;
	box-sizing:border-box;
	box-shadow:0 6px 18px rgba(2,6,23,.10);
	transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.em-book-form-card .em-crm-vf-textarea{
	min-height:110px;
	resize:vertical;
}

.em-book-form-card .em-crm-vf-input:focus,
.em-book-form-card .em-crm-vf-select:focus,
.em-book-form-card .em-crm-vf-textarea:focus{
	outline:none;
	border-color:#facc15;
	box-shadow:0 0 0 4px rgba(250,204,21,.18);
	transform:translateY(-1px);
}

.em-book-form-card .em-crm-vf-input::placeholder,
.em-book-form-card .em-crm-vf-textarea::placeholder{
	color:#64748b;
}

/* ==================================================
   BUTTON + REASSURANCE
================================================== */

.em-book-form-card .em-crm-vf-actions{
	margin-top:8px;
}

.em-book-form-card .em-crm-vf-button{
	width:100%;
	min-height:54px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border:none;
	border-radius:999px;
	background:linear-gradient(135deg,#facc15,#f59e0b);
	color:#071226;
	font-size:15px;
	font-weight:900;
	cursor:pointer;
	box-shadow:
		0 16px 34px rgba(250,204,21,.25),
		0 0 45px rgba(250,204,21,.14);
	transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.em-book-form-card .em-crm-vf-button:hover{
	transform:translateY(-2px);
	filter:brightness(1.03);
	box-shadow:
		0 20px 42px rgba(250,204,21,.30),
		0 0 58px rgba(250,204,21,.18);
}

.em-book-response-time{
	margin:14px 0 0;
	text-align:center;
	font-size:13px;
	font-weight:800;
	color:#fef9c3;
}

.em-book-form-card .em-crm-vf-reassure{
	margin:12px 0 8px;
	text-align:center;
	font-size:13px;
	font-weight:700;
	line-height:1.55;
	color:rgba(219,234,254,.9);
}

.em-book-form-card .em-crm-vf-note{
	margin:10px 0 0;
	text-align:center;
	font-size:12px;
	line-height:1.55;
	color:rgba(219,234,254,.68);
}

/* ==================================================
   NEXT STEPS
================================================== */

.em-book-form-card .em-crm-vf-nextsteps{
	margin-top:18px;
	padding:18px 20px;
	border-radius:18px;
	background:rgba(255,255,255,.05);
	border:1px solid rgba(255,255,255,.10);
}

.em-book-form-card .em-crm-vf-nextsteps h3{
	margin:0 0 10px;
	font-size:16px;
	font-weight:900;
	color:#ffffff;
}

.em-book-form-card .em-crm-vf-nextsteps ul{
	margin:0;
	padding-left:18px;
	color:rgba(255,255,255,.86);
}

.em-book-form-card .em-crm-vf-nextsteps li{
	margin:0 0 7px;
	font-size:13px;
	line-height:1.55;
}

/* ==================================================
   ALERTS
================================================== */

.em-book-assessment-right .em-crm-vf-alert{
	margin:0 0 18px;
	padding:15px 18px;
	border-radius:16px;
	font-size:14px;
	font-weight:800;
	line-height:1.55;
}

.em-book-assessment-right .em-crm-vf-alert-success{
	background:#ecfdf3;
	border:1px solid #16a34a;
	color:#166534;
}

.em-book-assessment-right .em-crm-vf-alert-error{
	background:#fef2f2;
	border:1px solid #dc2626;
	color:#991b1b;
}

/* ==================================================
   MOBILE
================================================== */

@media (max-width:980px){

	.em-book-assessment-shell{
		padding:34px 16px 60px;
	}

	.em-book-assessment-grid{
		grid-template-columns:1fr;
		gap:28px;
	}

	.em-book-assessment-left{
		padding:10px 0;
	}

	.em-book-assessment-left h1{
		font-size:42px;
	}

	.em-book-form-card{
		padding:24px;
	}
}

@media (max-width:680px){

	.em-book-form-card .em-crm-vf-grid-fields{
		grid-template-columns:1fr;
		gap:0;
	}

	.em-book-form-card .em-crm-vf-field-full{
		grid-column:auto;
	}

	.em-book-assessment-left h1{
		font-size:38px;
	}

	.em-book-lead{
		font-size:16px;
		line-height:1.65;
	}

	.em-book-card{
		padding:22px;
		border-radius:22px;
	}

	.em-book-tutor-strip{
		align-items:flex-start;
	}
}

.em-book-assessment-left{
	padding-top:1px;
}

.em-book-card{
	transition:
		transform .22s ease,
		box-shadow .22s ease,
		border-color .22s ease;
}

.em-book-card:hover{
	transform:translateY(-3px);
	box-shadow:0 26px 60px rgba(2,6,23,.24);
	border-color:rgba(250,204,21,.18);
}

.em-crm-vf-response-time{
	margin:14px 0 0;
	text-align:center;
	font-size:13px;
	font-weight:800;
	line-height:1.45;
	color:#fef3c7;
}

/***********************************/
.em-book-calendly-card{
	margin-top:32px;
	padding:28px;
	border-radius:28px;
	background:#ffffff;
	color:#0f172a;
	box-shadow:0 24px 70px rgba(2,6,23,.22);
	border:1px solid rgba(255,255,255,.14);
}

.em-book-calendly-card h2{
	margin:0 0 10px;
	font-size:28px;
	line-height:1.15;
	font-weight:900;
	letter-spacing:-.03em;
	color:#0f172a;
}

.em-book-calendly-card p{
	margin:0 0 20px;
	font-size:15px;
	line-height:1.65;
	color:#475569;
}