/*
 * Styles for CTA Block
 */

.cta-section {
	padding: 88px 57px 112px 57px;
	background-color: var(--white);
}

.cta-box {
	background-color: #001673;
	/* Premium subtle glow radial gradient */
	background: radial-gradient(100% 100% at 50% 0%, #1732A4 0%, #001673 100%);
	border-radius: 24px;
	padding: 52px 40px; /* Padding: 52px top/bottom, 40px sides */
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	box-shadow: 0 10px 30px rgba(0, 22, 115, 0.15);
}

/* Heading: Public Sans, Medium 48px, line-height 58, white color */
.cta-heading-editable,
.cta-box h2 {
	font-family: 'Public Sans', sans-serif;
	font-weight: 500;
	font-size: 48px;
	line-height: 58px;
	letter-spacing: -0.02em;
	color: #FFFFFF;
	margin-top: 0;
	margin-bottom: 20px; /* Gap between heading and description is 20px */
	/* max-width: 900px; */
}

/* Description: Nunito regular 16px, line height 25, light gray-blue color */
.cta-desc-editable,
.cta-box p {
	font-family: var(--font-nunito);
	font-weight: 400;
	font-size: 16px;
	line-height: 25px;
	letter-spacing: 0.02em;
	color: #CBD5E1;
	margin-top: 0;
	margin-bottom: 36px; /* Spacing between description and button: 36px */
	max-width: 800px;
}

/* Button: background white, text color #2342C8 */
.cta-btn {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 4px 4px 4px 20px;
	border-radius: 100px;
	font-family: var(--font-nunito);
	font-size: 16px;
	font-weight: 600;
	color: #2342C8;
	background-color: #FFFFFF;
	box-shadow: 0 4px 14px 0 rgba(0, 0, 0, 0.1);
	transition: transform var(--transition-fast), box-shadow var(--transition-fast), filter var(--transition-fast);
	cursor: pointer;
	text-decoration: none;
}

.cta-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px 0 rgba(255, 255, 255, 0.15), 0 6px 20px 0 rgba(0, 0, 0, 0.15);
	filter: brightness(1.02);
}

.cta-btn:active {
	transform: translateY(0);
}

/* Arrow circle inside button: background #2342C8, arrow color white */
.cta-btn-arrow-circle {
	width: 40px;
	height: 40px;
	background-color: #2342C8;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform var(--transition-smooth);
}

.cta-btn-arrow-circle svg {
	transform: rotate(-35deg); /* Arrow rotated 35 degrees up-right */
	transition: transform var(--transition-smooth);
}

.cta-btn-arrow-circle svg * {
	stroke: #FFFFFF !important; /* Force arrow color to white */
}

.cta-btn:hover .cta-btn-arrow-circle svg {
	transform: rotate(-35deg) translate(1px, -1px);
}

/* Block Editor specific adjustments */
.cta-block-editor-wrapper {
	padding: 20px;
	background-color: #f8fafc;
	border: 1px dashed #cbd5e1;
	border-radius: 8px;
	margin-bottom: 25px;
}

.cta-block-editor-wrapper h3 {
	margin-top: 0;
	margin-bottom: 15px;
	font-family: 'Public Sans', sans-serif;
	color: #0f172a;
}

.cta-block-editor-wrapper .editor-preview-label {
	font-weight: bold;
	color: #64748b;
	margin-top: 25px;
	margin-bottom: 10px;
	font-size: 14px;
	letter-spacing: 0.05em;
}

/* ==========================================
   Responsive Rules
   ========================================== */
@media (max-width: 1024px) {
	.cta-section {
		padding: 60px 24px 80px 24px;
	}
}

@media (max-width: 768px) {
	.cta-section {
		padding: 0px 24px 80px 24px;
	}

	.cta-heading-editable,
	.cta-box h2 {
		font-size: 36px;
		line-height: 44px;
	}
}

@media (max-width: 480px) {
	.cta-heading-editable,
	.cta-box h2 {
		font-size: 28px;
		line-height: 36px;
	}
	
	.cta-btn {
		width: 100%;
		justify-content: space-between;
	}
}
