/*
 * **********************************************************************
 * Lesson Pages — Shared Styles
 *
 * Styles for .mah-lesson wp:html blocks (page IDs 188, 190, 192, 194).
 * Loaded on all four lesson pages via functions.php.
 *
 * @version  1.1.3
 * @updated  2026-06-06
 * **********************************************************************
 */

/* =============================================================================
   Lesson header
   ============================================================================= */

.mah-lesson .ls-header {
	background-color: #1a3a2a;
	padding: 56px 40px 48px;
}

.mah-lesson .ls-header__inner {
	max-width: 900px;
	margin: 0 auto;
}

.mah-lesson .ls-back {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	margin-bottom: 28px;
	transition: color 0.15s ease;
}

.mah-lesson .ls-back:hover {
	color: #ffff00;
}

.mah-lesson .ls-back__arrow {
	font-style: normal;
}

.mah-lesson .ls-lesson-num {
	display: inline-block;
	background: #2b7f4b;
	color: #ffffff;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 5px 14px;
	border-radius: 3px;
	margin-bottom: 16px;
}

.mah-lesson .ls-header__title {
	color: #ffffff;
	font-size: clamp(1.8rem, 4vw, 2.8rem);
	font-weight: 700;
	line-height: 1.2;
	margin: 0 0 16px;
}

.mah-lesson .ls-header__lead {
	color: rgba(255, 255, 255, 0.75);
	font-size: 1.05rem;
	line-height: 1.7;
	margin: 0;
	max-width: 680px;
}

/* =============================================================================
   Tip sections
   ============================================================================= */

.mah-lesson .ls-tips {
	background-color: #f8f4ee;
	padding: 64px 40px;
}

.mah-lesson .ls-tips__inner {
	max-width: 900px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 28px;
}

/* ── Individual tip card ──────────────────────────────────────────────────── */

.mah-lesson .ls-tip {
	background: #ffffff;
	border-left: 5px solid #2b7f4b;
	border-radius: 0 6px 6px 0;
	padding: 32px 36px;
	display: flex;
	gap: 28px;
	align-items: flex-start;
}

.mah-lesson .ls-tip__number {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	background: #2b7f4b;
	color: #ffffff;
	font-size: 1rem;
	font-weight: 700;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 2px;
}

.mah-lesson .ls-tip__body {
	flex: 1;
}

.mah-lesson .ls-tip__title {
	color: #1a3a2a;
	font-size: 1.15rem;
	font-weight: 700;
	margin: 0 0 10px;
}

.mah-lesson .ls-tip__text {
	color: #444;
	font-size: 0.97rem;
	line-height: 1.75;
	margin: 0 0 12px;
}

.mah-lesson .ls-tip__text:last-child {
	margin-bottom: 0;
}

/* ── In-tip highlight box ─────────────────────────────────────────────────── */

.mah-lesson .ls-tip__highlight {
	background: #f8f4ee;
	border-left: 3px solid #2b7f4b;
	padding: 14px 18px;
	margin-top: 14px;
	font-size: 0.92rem;
	line-height: 1.65;
	color: #333;
}

.mah-lesson .ls-tip__highlight strong {
	color: #1a3a2a;
}

/* ── In-tip list ──────────────────────────────────────────────────────────── */

.mah-lesson .ls-tip__list {
	color: #444;
	font-size: 0.95rem;
	line-height: 1.8;
	margin: 10px 0 0;
	padding-left: 1.4em;
}

/* =============================================================================
   Key takeaways
   ============================================================================= */

.mah-lesson .ls-takeaways {
	background-color: #2b7f4b;
	padding: 56px 40px;
}

.mah-lesson .ls-takeaways__inner {
	max-width: 900px;
	margin: 0 auto;
}

.mah-lesson .ls-takeaways__title {
	color: #ffffff;
	font-size: 1.4rem;
	font-weight: 700;
	margin: 0 0 24px;
}

.mah-lesson .ls-takeaways__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px 40px;
}

.mah-lesson .ls-takeaways__list li {
	color: rgba(255, 255, 255, 0.9);
	font-size: 0.97rem;
	line-height: 1.6;
	padding-left: 1.4em;
	position: relative;
}

.mah-lesson .ls-takeaways__list li::before {
	content: "✓";
	position: absolute;
	left: 0;
	color: #7ecf9b;
	font-weight: 700;
}

/* =============================================================================
   Lesson navigation footer
   ============================================================================= */

.mah-lesson .ls-nav-footer {
	background-color: #ffffff;
	padding: 40px;
	border-top: 1px solid #e0dbd2;
}

.mah-lesson .ls-nav-footer__inner {
	max-width: 900px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

.mah-lesson .ls-nav-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	font-size: 0.92rem;
	font-weight: 600;
	padding: 11px 24px;
	border-radius: 4px;
	transition: background 0.15s ease, color 0.15s ease;
}

.mah-lesson .ls-nav-btn--back {
	background: #f8f4ee;
	color: #1a3a2a;
	border: 1px solid #e0dbd2;
}

.mah-lesson .ls-nav-btn--back:hover {
	background: #e8e2d8;
	color: #1a3a2a;
}

.mah-lesson .ls-nav-btn--next {
	background: #2b7f4b;
	color: #ffffff;
}

.mah-lesson .ls-nav-btn--next:hover {
	background: #1a3a2a;
	color: #ffffff;
}

/* ── Locked (non-member) next button state ───────────────────────────────── */

.mah-lesson .ls-nav-btn--locked {
	background: #999;
	cursor: not-allowed;
	opacity: 0.75;
	pointer-events: none;
}

/* =============================================================================
   Practice hand exercise
   ============================================================================= */

.mah-lesson .ls-practice {
	background-color: #ffffff;
	border-top: 3px solid #2b7f4b;
	padding: 56px 40px;
}

.mah-lesson .ls-practice__inner {
	max-width: 900px;
	margin: 0 auto;
}

.mah-lesson .ls-practice__eyebrow {
	display: inline-block;
	background: #2b7f4b;
	color: #ffffff;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 4px 12px;
	border-radius: 3px;
	margin-bottom: 14px;
}

.mah-lesson .ls-practice__title {
	color: #1a3a2a;
	font-size: 1.4rem;
	font-weight: 700;
	margin: 0 0 10px;
}

.mah-lesson .ls-practice__intro {
	color: #555;
	font-size: 0.97rem;
	line-height: 1.7;
	max-width: 680px;
	margin: 0 0 28px;
}

/* ── Tile rack ────────────────────────────────────────────────────────────── */

.ph-rack {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	background: #1a3a2a;
	padding: 14px 16px;
	border-radius: 8px;
	margin-bottom: 28px;
}

.ph-tile {
	line-height: 0;
	border-radius: 5px;
	transition: transform 0.15s ease, opacity 0.15s ease;
}

.ph-tile svg {
	display: block;
	filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
}

.ph-tile--target {
	cursor: pointer;
}

.ph-tile--target:hover {
	transform: translateY(-5px);
}

.ph-tile--dim {
	opacity: 0.35;
	cursor: default;
}

/* ── Question area ────────────────────────────────────────────────────────── */

.ph-step-num {
	font-family: Helvetica, Arial, sans-serif;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #2b7f4b;
	margin-bottom: 8px;
}

.ph-question {
	color: #1a3a2a;
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.55;
	margin: 0 0 20px;
}

/* ── Options ──────────────────────────────────────────────────────────────── */

.ph-options {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 4px;
}

.ph-option {
	background: #f8f4ee;
	border: 2px solid #e0dbd2;
	border-radius: 6px;
	padding: 12px 18px;
	text-align: left;
	font-size: 0.95rem;
	font-weight: 500;
	color: #1a3a2a;
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease;
}

.ph-option:hover:not(:disabled) {
	border-color: #1a3a2a;
	background: #1a3a2a;
	color: #ffff00;
}

.ph-option:disabled {
	cursor: default;
}

.ph-option--correct {
	border-color: #2b7f4b !important;
	background: #eef6f1 !important;
	color: #000 !important;
}

.ph-option--correct::before {
	content: "✓  ";
	color: #2b7f4b;
	font-weight: 700;
}

.ph-option--wrong {
	border-color: #b83030 !important;
	background: #fdf0f0 !important;
	color: #000 !important;
}

.ph-option--wrong::before {
	content: "✗  ";
	color: #b83030;
	font-weight: 700;
}

/* ── Feedback box ─────────────────────────────────────────────────────────── */

.ph-feedback {
	margin-top: 16px;
}

.ph-feedback__inner {
	padding: 14px 18px;
	border-radius: 6px;
	font-size: 0.95rem;
	line-height: 1.65;
	margin-bottom: 12px;
}

.ph-feedback__inner--correct {
	background: #eef6f1;
	border-left: 4px solid #2b7f4b;
	color: #1a3a2a;
}

.ph-feedback__inner--wrong {
	background: #fdf0f0;
	border-left: 4px solid #b83030;
	color: #6b1010;
}

.ph-next-btn {
	display: inline-flex;
	align-items: center;
	background: #2b7f4b;
	color: #ffffff;
	border: none;
	border-radius: 4px;
	padding: 10px 22px;
	font-size: 0.9rem;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.15s ease;
}

.ph-next-btn:hover {
	background: #1a3a2a;
}

/* ── Completion state ─────────────────────────────────────────────────────── */

.ph-complete {
	text-align: center;
	padding: 28px 20px;
}

.ph-complete__icon {
	width: 52px;
	height: 52px;
	background: #2b7f4b;
	color: #ffffff;
	font-size: 1.5rem;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 16px;
}

.ph-complete__title {
	color: #1a3a2a;
	font-size: 1.2rem;
	font-weight: 700;
	margin: 0 0 10px;
}

.ph-complete__text {
	color: #555;
	font-size: 0.97rem;
	line-height: 1.7;
	max-width: 560px;
	margin: 0 auto;
}

/* =============================================================================
   Responsive
   ============================================================================= */

@media (max-width: 640px) {
	.mah-lesson .ls-tip {
		flex-direction: column;
		gap: 16px;
	}

	.mah-lesson .ls-takeaways__list {
		grid-template-columns: 1fr;
	}

	.mah-lesson .ls-nav-footer__inner {
		flex-direction: column;
		align-items: stretch;
		text-align: center;
	}

	.mah-lesson .ls-practice {
		padding: 40px 20px;
	}

	.ph-tile svg {
		width: 40px;
		height: 55px;
	}

	.ph-rack {
		gap: 4px;
		padding: 10px 12px;
	}
}
