/**
 * Case Study Content Sections - Base Styles
 *
 * Shared styles for content-heavy sections:
 * - Section 3: Challenge Section
 * - Section 5: Solution Section
 * - Section 7: Impact Section
 *
 * Each section uses a 920px centered container with rich WYSIWYG content.
 * Responsive across 5 breakpoints: 1400px, 1024px, 768px, 600px, 400px
 */

.case-study-content-section {
	background-color: #ffffff;
	/* Padding is section-specific, defined in individual CSS files */
}

.case-study-content-section__container {
	max-width: 920px;
	margin: 0 auto;
}

.case-study-content-section__content {
	display: flex;
	flex-direction: column;
	/* Gap is section-specific */
	gap: 39px;
}

/* Main Heading (H1) */
.case-study-content-section__heading {
	font-family: 'Avenir Next', sans-serif;
	font-weight: 700; /* Bold */
	font-size: 48px;
	line-height: normal;
	color: #121c66;
	margin: 0;
}

/* Body Content */
.case-study-content-section__body {
	font-family: 'Avenir Next', sans-serif;
	font-weight: 400; /* Regular */
	font-size: 16px;
	line-height: normal;
	color: #121c66;
}

/* Paragraphs */
.case-study-content-section__body p {
	margin-bottom: 27px;
	line-height: normal;
}

.case-study-content-section__body p:last-child {
	margin-bottom: 0;
}

/* H2 Subheadings (used in Solution and Impact) */
.case-study-content-section__body h2 {
	font-family: 'Avenir Next', sans-serif;
	font-weight: 700; /* Bold */
	font-size: 24px;
	line-height: normal;
	color: #121c66;
	margin-top: 27px;
	margin-bottom: 12px;
}

.case-study-content-section__body h2:first-child {
	margin-top: 0;
}

/* H3 Subheadings (if needed) */
.case-study-content-section__body h3 {
	font-family: 'Avenir Next', sans-serif;
	font-weight: 600; /* Demi Bold */
	font-size: 20px;
	line-height: normal;
	color: #121c66;
	margin-top: 24px;
	margin-bottom: 10px;
}

.case-study-content-section__body h3:first-child {
	margin-top: 0;
}

/* Lists */
.case-study-content-section__body ul {
	list-style-type: disc;
	margin-left: 24px;
	margin-bottom: 27px;
	padding-left: 6px;
}

.case-study-content-section__body ul li {
	margin-bottom: 0;
	line-height: normal;
}

/* Blockquotes (used in Challenge section only) */
.case-study-content-section__body blockquote {
	border-left: 4px solid #FFCC00;
	padding-left: 12px;
	margin: 27px 0;
	font-family: 'Avenir Next', sans-serif;
	font-weight: 400; /* Regular - quote text */
	font-size: 16px;
	line-height: 1.375;
	color: #121c66;
	font-style: italic;
}

/* Blockquote attribution (always bold) */
.case-study-content-section__body blockquote strong {
	font-weight: 700; /* Bold - for attribution */
	display: block;
	font-style: normal;
}

/* Bold/Strong Text */
.case-study-content-section__body strong {
	font-weight: 500; /* Medium */
}

/* Italic/Em Text */
.case-study-content-section__body em {
	font-style: italic;
}

/* ========================================
   RESPONSIVE BREAKPOINTS
   ======================================== */

/* 1400px - Large Desktop */
@media (max-width: 1400px) {
	.case-study-content-section__heading {
		font-size: 44px;
	}
}

/* 1024px - Tablet Landscape */
@media (max-width: 1024px) {
	.case-study-content-section__heading {
		font-size: 40px;
	}

	.case-study-content-section__body {
		font-size: 15px;
	}

	.case-study-content-section__body h2 {
		font-size: 22px;
	}

	.case-study-content-section__body h3 {
		font-size: 18px;
	}
}

/* 768px - Tablet Portrait */
@media (max-width: 768px) {
	.case-study-content-section__heading {
		font-size: 36px;
	}

	.case-study-content-section__content {
		gap: 24px;
	}

	.case-study-content-section__body p {
		margin-bottom: 24px;
	}

	.case-study-content-section__body h2 {
		font-size: 20px;
		margin-top: 24px;
	}

	.case-study-content-section__body h3 {
		font-size: 17px;
		margin-top: 20px;
	}

	.case-study-content-section__body ul {
		margin-bottom: 24px;
	}

	.case-study-content-section__body blockquote {
		margin: 24px 0;
	}
}

/* 600px - Mobile */
@media (max-width: 600px) {
	.case-study-content-section__heading {
		font-size: 32px;
	}

	.case-study-content-section__body {
		font-size: 15px;
	}

	.case-study-content-section__content {
		gap: 20px;
	}

	.case-study-content-section__body p {
		margin-bottom: 20px;
	}

	.case-study-content-section__body h2 {
		font-size: 18px;
		margin-top: 20px;
	}

	.case-study-content-section__body h3 {
		font-size: 16px;
		margin-top: 18px;
	}

	.case-study-content-section__body ul {
		margin-left: 20px;
		margin-bottom: 20px;
	}

	.case-study-content-section__body blockquote {
		margin: 20px 0;
		padding-left: 10px;
	}
}

/* 400px - Small Mobile */
@media (max-width: 400px) {
	.case-study-content-section__heading {
		font-size: 28px;
	}

	.case-study-content-section__body {
		font-size: 14px;
	}

	.case-study-content-section__content {
		gap: 16px;
	}

	.case-study-content-section__body p {
		margin-bottom: 16px;
	}

	.case-study-content-section__body h2 {
		font-size: 17px;
		margin-top: 16px;
	}

	.case-study-content-section__body h3 {
		font-size: 15px;
		margin-top: 16px;
	}

	.case-study-content-section__body ul {
		margin-left: 18px;
		margin-bottom: 16px;
	}

	.case-study-content-section__body blockquote {
		margin: 16px 0;
		padding-left: 8px;
		border-left-width: 3px;
	}
}

/* ========================================
   SIDEBAR CLEARANCE (Above 1200px)
   ======================================== */

/* Push content right to clear sidebar when it's visible */
@media (min-width: 1201px) {
	.case-study-content-section__container {
		margin-left: max(
			calc((100vw - 920px) / 2),
			218px
		);
		margin-right: auto;
	}

	/* Impact and conclusion appear after sidebar fades - restore centering */
	.case-study-impact .case-study-content-section__container,
	.case-study-conclusion .case-study-content-section__container {
		margin-left: auto;
		margin-right: auto;
	}
}

/* Restore centered layout when sidebar is hidden */
@media (max-width: 1200px) {
	.case-study-content-section__container {
		margin-left: auto;
		margin-right: auto;
	}
}
