/**
 * Tutoring Test Prep styles.
 *
 * @package NexioEducation
 */

.tutoring-test-prep {
	padding: 0 142px;
	margin-top: 215px;
	position: relative;
	min-height: 1323px;
	max-width: 1440px;
	margin-left: auto;
	margin-right: auto;
}

/* Vertical dashed lines on both sides */
.tutoring-test-prep::after {
	content: '';
	position: absolute;
	top: -26px;
	left: 142px;
	right: 142px;
	height: 1323px;
	background-image:
		url('../images/tutoring/vertical-dashed-line.svg'),
		url('../images/tutoring/vertical-dashed-line.svg');
	background-position: 0 0, 100% 0;
	background-size: 1px 1323px, 1px 1323px;
	background-repeat: no-repeat;
	pointer-events: none;
	z-index: 1;
}

/* Gradient delimiter - dashed line */
.tutoring-test-prep::before {
	content: '';
	position: absolute;
	top: -140px;
	left: 50%;
	transform: translateX(-50%);
	width: 1390px;
	height: 1px;
	background: repeating-linear-gradient(
		90deg,
		rgba(6, 77, 142, 0.5) 0px,
		rgba(6, 77, 142, 0.5) 6px,
		transparent 6px,
		transparent 12px
	);
	mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.5) 33.17%, rgba(0, 0, 0, 0.5) 66.83%, rgba(0, 0, 0, 0.25) 100%);
	-webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.5) 33.17%, rgba(0, 0, 0, 0.5) 66.83%, rgba(0, 0, 0, 0.25) 100%);
}

/* Header Row */
.test-prep-header {
	display: flex;
	align-items: flex-start;
	gap: 48px;
	padding: 24px 0;
	position: relative;
}

/* Gradient line above header */
.test-prep-header::before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 1440px;
	height: 1px;
	background: linear-gradient(90deg, rgba(6, 77, 142, 0.05) 0%, rgba(6, 77, 142, 0.50) 23.56%, rgba(6, 77, 142, 0.50) 74.52%, rgba(6, 77, 142, 0.05) 100%);
}

.test-prep-title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 48px;
	font-weight: 400;
	line-height: 58px;
	color: #064d8e;
	margin: 0 0 0 23px !important;
	flex-shrink: 0;
}

.test-prep-description {
	font-family: var(--wp--preset--font-family--body);
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
	color: rgba(6, 77, 142, 0.75);
	margin: 10px 0px 0 14px !important;
	flex: 1;
	max-width: 838px;
}

.test-prep-description strong {
	font-weight: 700;
	color: #064d8e;
}

/* AP Exams Card */
.ap-exams-card {
	background: #064d8e;
	padding: 24px 24px 62px 24px;
	margin-bottom: 0;
	position: relative;
	overflow: hidden;
}

.ap-exams-card::after {
	content: '';
	position: absolute;
	right: -190px;
	bottom: -118px;
	width: 548px;
	height: 313px;
	background-image: url('../images/tutoring/decorative-shapes.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: bottom right;
	pointer-events: none;
	z-index: 1;
}

/* Section transition with vertical dashed line */
.section-transition {
	height: 165px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}



/* Horizontal gradient lines on top and bottom */
.section-transition::after {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	width: 1440px;
	height: 100%;
	top: 0;
	background-image:
		linear-gradient(90deg, rgba(6, 77, 142, 0.05) 0%, rgba(6, 77, 142, 0.50) 23.56%, rgba(6, 77, 142, 0.50) 74.52%, rgba(6, 77, 142, 0.05) 100%),
		linear-gradient(90deg, rgba(6, 77, 142, 0.05) 0%, rgba(6, 77, 142, 0.50) 23.56%, rgba(6, 77, 142, 0.50) 74.52%, rgba(6, 77, 142, 0.05) 100%);
	background-size: 100% 1px, 100% 1px;
	background-position: top, bottom;
	background-repeat: no-repeat;
}


/* Top gradient border */
.ap-exams-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	background: linear-gradient(90deg, rgba(6, 77, 142, 0.05) 0%, rgba(6, 77, 142, 0.50) 23.56%, rgba(6, 77, 142, 0.50) 74.52%, rgba(6, 77, 142, 0.05) 100%);
	z-index: 2;
}

/* Decorative shapes */
.ap-exams-card::after {
	content: '';
	position: absolute;
	right: -83px;
	bottom: -100px;
	width: 536px;
	height: 279px;
	background-image: url('../images/tutoring/decorative-shapes.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: bottom right;
	pointer-events: none;
	z-index: 1;
}

.ap-exams-header {
	display: flex;
	align-items: flex-start;
	gap: 407px;
	margin-bottom: 24px;
	position: relative;
	z-index: 2;
}

.ap-exams-title {
	font-family: var(--wp--preset--font-family--heading, 'Apris Trial', serif);
	font-size: 32px;
	font-weight: 300;
	line-height: 38px;
	color: #fffefa;
	margin: 0;
	flex-shrink: 0;
}

.ap-exams-description {
	font-family: var(--wp--preset--font-family--body, 'Manrope', sans-serif);
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
	color: #fffefa;
	margin: 0;
	flex: 1;
}

.ap-exams-description strong {
	font-weight: 700;
	color: #fffefa;
}

.ap-exams-divider {
	border: none;
	border-top: 1px solid rgba(255, 254, 250, 0.25);
	margin: 0 0 32px;
	position: relative;
	z-index: 2;
	overflow: visible;
}

/* AP Subjects Grid */
.ap-subjects-grid {
	display: flex;
	gap: 16px;
	position: relative;
	z-index: 2;
	width: 60%;
	align-items: flex-start;
}

/* Bottom gradient border for AP Exams Card */
/* .ap-subjects-grid::after {
	content: '';
	position: absolute;
	bottom: -24px;
	left: -24px;
	right: -24px;
	height: 1px;
	background: linear-gradient(90deg, rgba(6, 77, 142, 0.05) 0%, rgba(6, 77, 142, 0.50) 23.56%, rgba(6, 77, 142, 0.50) 74.52%, rgba(6, 77, 142, 0.05) 100%);
} */

.ap-subject-column {
	flex: 1;
	position: relative;
	z-index: 2;
}

.ap-subject-title {
	font-family: var(--wp--preset--font-family--heading, 'Apris Trial', serif);
	font-size: 24px;
	font-weight: 300;
	line-height: 28px;
	color: #fffefa;
	margin: 0 0 8px;
}

.ap-subject-list {
	margin: 0;
	padding: 0;
	list-style: disc;
	padding-left: 20px;
}

.ap-subject-list li {
	font-family: var(--wp--preset--font-family--body, 'Manrope', sans-serif);
	font-size: 14px;
	font-weight: 400;
	line-height: 24px;
	color: #fffefa;
	padding-left: 0;
}

.ap-subject-list li::marker {
	color: #fffefa;
}

/* SAT Section */
.sat-section {
	display: grid;
	grid-template-columns: 450px 1fr;
	grid-template-rows: auto auto;
	gap: 0;
	position: relative;
	min-height: 649px;
	background: #064d8e;
	overflow: hidden;
}

/* Right decorative shapes (top) */
.sat-section::before {
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	width: 480px;
	height: 269px;
	background-image: url('../images/tutoring/sat-shapes-right.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: top right;
	z-index: 1;
	pointer-events: none;
}

/* Left decorative shapes (bottom) */
.sat-section::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 448px;
	height: 314px;
	background-image: url('../images/tutoring/sat-shapes-left.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: bottom left;
	z-index: 1;
	pointer-events: none;
}

/* Main SAT card - left, spans 2 rows */
.sat-card-main {
	grid-column: 1;
	grid-row: 1 / 3;
	background: transparent;
	padding: 24px;
	display: flex;
	flex-direction: column;
	position: relative;
	z-index: 2;
}

/* Dashed zigzag lines connecting cards */
.sat-card-main::after {
	content: '';
	position: absolute;
	top: 0;
	right: -500px;
	width: 532px;
	height: 677px;
	background-image: url('../images/tutoring/sat-dashed-lines.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: top left;
	z-index: 2;
	pointer-events: none;
}

.sat-card-title {
	font-family: var(--wp--preset--font-family--heading, 'Apris Trial', serif);
	font-size: 32px;
	font-weight: 300;
	line-height: 38px;
	color: #fffefa;
	margin: 0 0 24px;
}

.sat-card-divider {
	border: none;
	border-top: 1px solid rgba(255, 254, 250, 0.5);
	margin: 0 0 32px;
	margin: 0 0 32px;
	width: 280px;
	max-width: 280px;
}

.sat-card-text {
	font-family: var(--wp--preset--font-family--body, 'Manrope', sans-serif);
	font-size: 14px;
	font-weight: 400;
	line-height: 18px;
	color: rgba(255, 254, 250, 0.75);
	margin: 0 0 20px;
	max-width: 306px;
}

.sat-card-text strong {
	font-weight: 700;
	color: #fffefa;
}

.sat-card-cta {
	margin-top: 5px;
}

.sat-card-cta .wp-block-button__link {
	border: 1px solid rgb(251 251 251 / 25%);
	color: #fffefa;
	padding: 10px 32px;
	border-radius: 30px;
	font-family: var(--wp--preset--font-family--body, 'Manrope', sans-serif);
	font-size: 16px;
	font-weight: 700;
	line-height: 19.2px;
	text-align: center;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.sat-card-cta .wp-block-button__link::after {
	content: '';
	display: inline-block;
	width: 24px;
	height: 24px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12.3464 7.50716C12.6186 7.19494 13.0924 7.16249 13.4046 7.43468L17.9929 11.4347C18.1562 11.5771 18.25 11.7833 18.25 12C18.25 12.2168 18.1562 12.4229 17.9929 12.5653L13.4046 16.5653C13.0924 16.8375 12.6186 16.8051 12.3464 16.4929C12.0742 16.1806 12.1067 15.7069 12.4189 15.4347L15.4984 12.75H6.5C6.08579 12.75 5.75 12.4142 5.75 12C5.75 11.5858 6.08579 11.25 6.5 11.25H15.4984L12.4189 8.56534C12.1067 8.29315 12.0742 7.81938 12.3464 7.50716Z' fill='%23FFFEFA'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.sat-card-cta .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.1);
	color: #fffefa;
}

/* Method card - positioned in right area, overlaps curriculum card */
.sat-card-method {
	grid-column: 2;
	grid-row: 1 / 3;
	background: #fffefa;
	border: 1px dashed rgba(6, 77, 142, 0.5);
	padding: 48px 24px;
	margin-left: 117px;
	margin-top: 109px;
	position: relative;
	z-index: 4;
	width: 260px;
	align-self: start;
	box-shadow: 6px 6px 10px 0 rgba(1, 13, 24, 0.50);
}

.sat-card-method .sat-method-title {
	font-family: var(--wp--preset--font-family--body, 'Manrope', sans-serif);
	font-size: 24px;
	font-weight: 300;
	line-height: 32px;
	color: #064d8e;
	margin: 0 0 8px;
	flex-shrink: 0;
}

.sat-method-text {
	font-family: var(--wp--preset--font-family--body, 'Manrope', sans-serif);
	font-size: 14px;
	font-weight: 400;
	line-height: 18px;
	color: rgba(6, 77, 142, 0.75);
	margin: 0 0 16px;
}

.sat-method-text:last-child {
	margin-bottom: 0;
}

.sat-method-text strong {
	font-weight: 700;
	color: #064d8e;
}

/* Curriculum card - bottom right, overlapped by method card */
.sat-card-curriculum {
	grid-column: 2;
	grid-row: 1 / 3;
	background: #fffefa;
	border: 1px dashed rgba(6, 77, 142, 0.5);
	padding: 48px 32px;
	margin-left: 340px;
	margin-top: 360px;
	margin-bottom: 48px;
	position: relative;
	z-index: 3;
	width: 309px;
	box-shadow: 6px 6px 10px 0px rgba(1, 13, 24, 0.25);
	align-self: start;
}

.sat-curriculum-text {
	font-family: var(--wp--preset--font-family--body, 'Manrope', sans-serif);
	font-size: 14px;
	font-weight: 400;
	line-height: 18px;
	color: rgba(6, 77, 142, 0.75);
	margin: 0;
}

.sat-curriculum-text strong {
	font-weight: 700;
	color: #064d8e;
}

/* Responsive - Narrow Desktop */
@media (max-width: 1350px) {
	/* Scale down AP Exams decorative shapes */
	.ap-exams-card::after {
		width: 450px;
		height: 234px;
		right: -119px;
		bottom: -70px;
	}

	.sat-section {
		grid-template-columns: 380px 1fr;
	}

	/* Scale down decorative shapes */
	.sat-section::before {
		width: 380px;
		height: 213px;
	}

	.sat-section::after {
		width: 360px;
		height: 252px;
	}

	/* Smaller button */
	.sat-card-cta .wp-block-button__link {
		padding: 8px 24px;
		font-size: 14px;
	}

	/* Adjust margins - keep cards closer to right side */
	.sat-card-method {
		margin-left: 80px;
	}

	.sat-card-curriculum {
		margin-left: 260px;
	}
}

/* Responsive - Tablet */
@media (max-width: 1200px) {
	.tutoring-test-prep {
		padding: 0 60px;
	}

	.tutoring-test-prep::after {
		left: 60px;
		right: 60px;
	}

	.test-prep-header {
		gap: 24px;
	}

	.ap-exams-header {
		gap: 24px;
	}

	.ap-subjects-grid {
		gap: 24px;
	}

	/* Scale down AP Exams decorative shapes */
	.ap-exams-card::after {
		width: 463px;
		height: 260px;
		right: -80px;
		bottom: -100px;
	}

	.sat-section {
		grid-template-columns: 320px 1fr;
	}

	/* Scale down decorative shapes more */
	.sat-section::before {
		width: 300px;
		height: 168px;
	}

	.sat-section::after {
		width: 280px;
		height: 196px;
	}

	/* Adjust margins - keep cards closer to right side */
	.sat-card-method {
		margin-left: 60px;
		margin-top: 80px;
	}

	.sat-card-curriculum {
		margin-left: 220px;
		margin-top: 320px;
	}
}

/* Responsive - 1100px */
@media (max-width: 1100px) {
	/* Scale down AP Exams decorative shapes */
	.ap-exams-card::after {
		width: 356px;
		height: 187px;
		right: -68px;
		bottom: -67px;
	}

	.sat-section {
		grid-template-columns: 300px 1fr;
	}

	.sat-section::before {
		width: 260px;
		height: 146px;
	}

	.sat-section::after {
		width: 240px;
		height: 168px;
	}

	/* Adjust margins - keep cards closer to right side */
	.sat-card-method {
		margin-left: 45px;
		margin-top: 100px;
	}

	.sat-card-curriculum {
		margin-left: 180px;
		margin-top: 340px;
	}
}

/* Responsive - 1000px */
@media (max-width: 1000px) {
	/* Scale down AP Exams decorative shapes */
	.ap-exams-card::after {
		width: 337px;
		height: 222px;
		right: -57px;
		bottom: -79px;
	}

	.sat-section {
		grid-template-columns: 260px 1fr;
	}

	.sat-section::before {
		width: 220px;
		height: 123px;
	}

	.sat-section::after {
		width: 200px;
		height: 140px;
	}

	/* Adjust margins - keep cards closer to right side */
	.sat-card-method {
		margin-left: 30px;
		margin-top: 80px;
	}

	.sat-card-curriculum {
		margin-left: 150px;
		margin-top: 300px;
	}
}

@media (max-width: 900px) {
	.section-transition {
		height: 100px;
	}

	.tutoring-test-prep {
		padding: 0 24px;
		margin-top: 50px;
	}

	/* Hide vertical dashed lines on mobile */
	.tutoring-test-prep::after {
		display: none;
	}

	.test-prep-header {
		flex-direction: column;
		gap: 16px;
	}

	.test-prep-title {
		font-size: 36px;
		line-height: 44px;
	}

	.ap-exams-header {
		flex-direction: column;
		gap: 16px;
	}

	.ap-exams-title {
		font-size: 28px;
		line-height: 34px;
	}

	.ap-subjects-grid {
		flex-direction: column;
		gap: 24px;
	}

	.ap-subject-title {
		font-size: 20px;
		line-height: 24px;
	}

	.sat-section {
		display: flex;
		flex-direction: column;
		min-height: auto;
	}

	.sat-section::before {
		display: none;
	}

	.sat-card-main {
		order: 1;
		padding: 24px;
	}

	.sat-card-main::after {
		display: none;
	}

	.sat-card-title {
		font-size: 28px;
		line-height: 34px;
	}

	.sat-card-text {
		max-width: 100%;
	}

	.sat-card-method {
		order: 2;
		margin: 0;
		width: 100%;
		max-height: none;
	}

	.sat-card-curriculum {
		order: 3;
		margin: 0;
		margin-top: 16px;
		width: 100%;
		box-shadow: none;
	}
}

@media (max-width: 480px) {
	.test-prep-title {
		font-size: 28px;
		line-height: 34px;
	}

	.ap-exams-title {
		font-size: 24px;
		line-height: 30px;
	}

	.sat-card-title {
		font-size: 24px;
		line-height: 30px;
	}

	.sat-card-method .sat-method-title {
		font-size: 20px;
		line-height: 24px;
	}
}

@media (max-width: 580px) {
	.section-transition {
		height: 50px;
	}

	.ap-exams-card::after {
		display: none;
	}
}
