/* ===== Stretches & Exercises — Page Styles ===== */

/* ---------- Container ---------- */
.se-content {
	font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
	color: #1a202c;
	line-height: 1.75;
	font-size: clamp(1rem, 1.1vw, 1.15rem);
	letter-spacing: -0.01em;
}

.se-container {
	width: 100%;
	max-width: 920px;
	margin: 0 auto;
	padding: clamp(15px, 4vw, 40px);
	box-sizing: border-box;
}

/* ---------- Page Title ---------- */
.se-page-title {
	margin-top: clamp(20px, 4vw, 32px);
	margin-bottom: 4px;
	font-weight: 700;
	font-size: clamp(1.5rem, 4vw, 2rem) !important;
	line-height: 1.3;
	text-align: center;
}

.se-version {
	font-size: clamp(0.9rem, 1.8vw, 1rem) !important;
	color: #2b6cb0;
	font-weight: 600;
}

.se-subtitle {
	margin-top: 4px;
	margin-bottom: 8px;
	font-weight: 600;
	font-size: clamp(0.9rem, 1.8vw, 1rem) !important;
	line-height: 1.5;
	text-align: center;
	font-style: italic;
	color: #4a5568;
}

.se-disclaimer {
	text-align: center;
	color: #c0392b;
	font-size: clamp(0.85rem, 1.6vw, 0.95rem) !important;
	font-weight: 400;
	font-style: italic;
	margin-bottom: clamp(24px, 5vw, 48px);
}

/* ---------- Section Headers ---------- */
.se-section-header {
	margin-top: clamp(36px, 6vw, 56px);
	margin-bottom: 4px;
	font-weight: 700;
	font-size: clamp(1.15rem, 2.5vw, 1.35rem) !important;
	line-height: 1.3;
	color: #1a202c;
	padding-bottom: 10px;
	border-bottom: 3px solid #2d8a70;
}

.se-section-credit {
	margin-top: 2px;
	margin-bottom: clamp(16px, 3vw, 28px);
	font-style: italic;
	color: #718096;
	font-size: clamp(0.85rem, 1.5vw, 0.95rem) !important;
	padding-left: 4px;
}

.se-section-credit a {
	color: #2b6cb0;
	text-decoration: underline;
	word-break: break-all;
	overflow-wrap: break-word;
}

.se-section-credit a:hover {
	color: #1a4a7a;
}

.se-section-warning {
	color: #c0392b;
	font-weight: 600;
}

/* ---------- Exercise Card ---------- */
.se-card {
	display: flex;
	align-items: flex-start;
	gap: clamp(14px, 2.5vw, 24px);
	background: #f7faf9;
	border: 1px solid #e2ece8;
	border-radius: 12px;
	padding: clamp(14px, 2.5vw, 22px);
	margin-bottom: clamp(14px, 2.5vw, 20px);
	transition: box-shadow 0.25s ease, transform 0.2s ease;
}

.se-card:hover {
	box-shadow: 0 4px 18px rgba(45, 138, 112, 0.10);
	transform: translateY(-2px);
}

.se-card--img-right {
	flex-direction: row-reverse;
}

.se-card__img {
	flex: 0 0 auto;
	width: clamp(160px, 22vw, 240px);
	border-radius: 8px;
	overflow: hidden;
}

.se-card__img img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 8px;
}

.se-card__body {
	flex: 1 1 0;
	min-width: 0;
}

.se-card__body p {
	margin: 0;
	text-align: justify;
	font-size: clamp(0.95rem, 1.1vw, 1.1rem);
	line-height: 1.75;
}

.se-exercise-name {
	font-weight: 700;
	color: #c0392b;
}

/* ---------- Wide Image Card (for multi-panel images) ---------- */
.se-wide-card {
	background: #f7faf9;
	border: 1px solid #e2ece8;
	border-radius: 12px;
	padding: clamp(14px, 2.5vw, 22px);
	margin-bottom: clamp(14px, 2.5vw, 20px);
	transition: box-shadow 0.25s ease;
}

.se-wide-card:hover {
	box-shadow: 0 4px 18px rgba(45, 138, 112, 0.10);
}

.se-wide-card img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 8px;
	margin-bottom: 14px;
}

.se-wide-card p {
	text-align: justify;
	font-size: clamp(0.95rem, 1.1vw, 1.1rem);
	line-height: 1.75;
	margin: 0;
}

/* ---------- Text-Only Sections ---------- */
.se-text-block {
	margin-bottom: clamp(14px, 2.5vw, 20px);
}

.se-text-block p {
	text-align: justify;
	font-size: clamp(0.95rem, 1.1vw, 1.1rem);
	line-height: 1.75;
	margin-bottom: 1em;
}

.se-text-block p:last-child {
	margin-bottom: 0;
}

/* ---------- Ordered / Unordered Lists ---------- */
.se-content ol {
	padding-left: 1.5em;
	margin-bottom: 1em;
}

.se-content ol li {
	margin-bottom: 12px;
	text-align: justify;
	font-size: clamp(0.95rem, 1.1vw, 1.1rem);
	line-height: 1.75;
}

/* ---------- Section Divider ---------- */
.se-divider {
	border: none;
	border-top: 2px solid #d6e4de;
	margin: clamp(28px, 5vw, 48px) 0;
}

/* ---------- Intro text before exercise cards ---------- */
.se-intro-text {
	text-align: justify;
	font-size: clamp(0.95rem, 1.1vw, 1.1rem);
	line-height: 1.75;
	margin-bottom: clamp(16px, 3vw, 24px);
}

/* ===== Mobile (≤ 768px) ===== */
@media (max-width: 768px) {
	.se-container {
		padding: 12px;
	}

	.se-card {
		flex-direction: column !important;
		align-items: stretch;
	}

	.se-card__img {
		width: 100%;
		max-width: 320px;
		margin: 0 auto 12px;
	}

	.se-card__body p,
	.se-text-block p,
	.se-wide-card p,
	.se-intro-text,
	.se-content ol li {
		text-align: left;
	}
}

/* ===== Print ===== */
@media print {
	body { background-color: white; color: black; }
	.no-print { display: none; }
}

/* ─── Typography Measure ─── */
/* Prose paragraphs — constrain line length for readability */
.se-card__body p,
.se-wide-card p,
.se-text-block p,
.se-intro-text {
	max-width: 68ch;
	line-height: 1.9;
	font-size: clamp(0.9375rem, 1.5vw, 1.0625rem);
}

/* Ordered list items */
.se-content ol li {
	max-width: 72ch;
	line-height: 1.85;
}
