/*
 * **********************************************************************
 * Kadence Child Theme — Mah Jongg Spelling Page Styles
 *
 * Styles for the [spelling_page] shortcode.
 * Loaded only on the page with slug "mah-jongg-spelling".
 *
 * @package  KadenceChild
 * @version  1.1.1
 * @updated  2026-06-19
 * **********************************************************************
 */

/* =============================================================================
   Page chrome
   ============================================================================= */

/* ── Hide default page title and hero bar ────────────────────────────────────── */

.mah-spelling-page .entry-title,
.mah-spelling-page .entry-hero-container-inner {
	display: none;
}

/* ── Content container ───────────────────────────────────────────────────────── */

.mah-spelling-page .content-bg {
	border-radius: 20px;
	overflow: hidden;
}

/* =============================================================================
   Wrapper
   ============================================================================= */

.mah-spl {
	font-family: inherit;
	color: inherit;
}

/* =============================================================================
   Hero
   ============================================================================= */

.spl-hero {
	background: linear-gradient(135deg, var(--mah-header-bg) 0%, #1d5c34 100%);
	padding: 80px 24px;
	text-align: center;
}

.spl-hero__inner {
	max-width: 760px;
	margin: 0 auto;
}

.spl-hero__title {
	color: #ffffff;
	font-size: clamp(1.9rem, 4.5vw, 2.8rem);
	font-weight: 800;
	line-height: 1.2;
	margin: 0 0 20px;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.spl-hero__lead {
	color: rgba(255, 255, 255, 0.88);
	font-size: 1.1rem;
	line-height: 1.75;
	margin: 0;
}

/* =============================================================================
   Sections
   ============================================================================= */

.spl-section {
	padding: 60px 24px;
}

.spl-section--cream  { background: rgba(255, 253, 245, 0.96); }
.spl-section--white  { background: rgba(255, 255, 255, 0.96); }
.spl-section--green  { background: var(--mah-header-bg); }

.spl-inner {
	max-width: 800px;
	margin: 0 auto;
}

.spl-inner p {
	color: #1a1a1a;
	font-size: 1.05rem;
	line-height: 1.75;
	margin: 0 0 18px;
}

.spl-inner p:last-child {
	margin-bottom: 0;
}

/* =============================================================================
   Section hero image
   ============================================================================= */

/* Full-bleed image at the top of a section; negative margins cancel the section padding */

.spl-section__hero-img {
	display: block;
	max-width: 800px;
	width: 100%;
	margin: 0 auto 48px;
	max-height: 400px;
	object-fit: cover;
	object-position: center;
	border-radius: 12px;
}

.spl-section__hero-img--bordered {
	border: 2px solid rgba(43, 127, 75, 0.3);
}

/* =============================================================================
   Headings
   ============================================================================= */

.spl-heading {
	color: var(--mah-header-bg);
	font-size: clamp(1.35rem, 3vw, 1.8rem);
	font-weight: 700;
	margin: 0 0 28px;
	text-align: center;
}

.spl-heading--white {
	color: #ffffff;
}

/* =============================================================================
   Spelling variant cards
   ============================================================================= */

.spl-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 24px;
	margin-top: 8px;
}

.spl-card {
	background: #ffffff;
	border-radius: 14px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
	padding: 32px 28px;
}

.spl-card__word {
	color: var(--mah-header-bg);
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	line-height: 1.1;
	margin-bottom: 6px;
}

.spl-card__tag {
	background: #e8f5ee;
	border-radius: 4px;
	color: #1d5c34;
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	margin-bottom: 18px;
	padding: 4px 10px;
	text-transform: uppercase;
}

.spl-card p {
	color: #333333;
	font-size: 0.98rem;
	line-height: 1.7;
	margin: 0;
}

/* =============================================================================
   List (why it matters)
   ============================================================================= */

.spl-list {
	list-style: none;
	margin: 0 0 18px;
	padding: 0;
}

.spl-list li {
	align-items: start;
	border-bottom: 1px solid rgba(43, 127, 75, 0.15);
	color: #1a1a1a;
	column-gap: 16px;
	display: grid;
	font-size: 1.05rem;
	grid-template-columns: 1.2em 13em 1fr;
	line-height: 1.6;
	padding: 14px 0;
}

.spl-list li:last-child {
	border-bottom: none;
}

.spl-list li::before {
	color: var(--mah-header-bg);
	content: '✦';
	font-size: 0.8rem;
	grid-column: 1;
	grid-row: 1;
	padding-top: 2px;
}

.spl-list li strong {
	grid-column: 2;
	grid-row: 1;
	hyphens: none;
	overflow-wrap: normal;
	word-break: normal;
}

.spl-list li span {
	grid-column: 3;
	grid-row: 1;
	text-align: left !important;
}

/* =============================================================================
   Mobile
   ============================================================================= */

@media (max-width: 700px) {
	.spl-hero {
		padding: 60px 20px;
	}

	.spl-section {
		padding: 48px 20px;
	}

	.spl-section__hero-img {
		max-height: 260px;
		margin-bottom: 36px;
	}

	.spl-cards {
		grid-template-columns: 1fr;
	}

	.spl-card {
		padding: 24px 20px;
	}

	/* ── List: stack label above description ─────────────────────────────── */

	.spl-list li {
		display: block;
		padding: 16px 0;
	}

	.spl-list li::before {
		display: inline;
		margin-right: 6px;
	}

	.spl-list li strong {
		display: inline;
		margin-bottom: 8px;
	}

	.spl-list li span {
		display: block;
		margin-top: 8px;
	}
}
