/*
Theme Name: Teacher Mike UK - Kadence Child
Theme URI: https://teachermike.uk
Description: Brand child theme for teachermike.uk - palette, hero, cards, lesson grid and Payhip button styling. Requires the Kadence parent theme.
Author: Teacher Mike
Template: kadence
Version: 1.0.0
Text Domain: teacher-mike-uk
*/

/* ---------- Brand tokens ---------- */
:root {
	--tm-raspberry: #ed3f61;
	--tm-pink: #f08599;
	--tm-sky: #49bcf8;
	--tm-amber: #f7b944;
	--tm-royal: #3067f6;
	--tm-navy: #273559;
	--tm-body: #46536e;
	--tm-muted: #7c87a0;
	--tm-border: #dfe3ec;
	--tm-bg-alt: #f0f3f9;
	--tm-bg: #f9f9fb;
	--tm-radius: 14px;
	--tm-radius-sm: 8px;
	--tm-shadow: 0 6px 20px rgba(39, 53, 89, 0.1);
	--tm-shadow-lift: 0 10px 28px rgba(39, 53, 89, 0.16);
}

/* ---------- Hero (core/group with class tm-hero) ---------- */
.tm-hero {
	background: linear-gradient(135deg, var(--tm-navy) 0%, #33477c 55%, var(--tm-royal) 100%);
	color: #ffffff;
	border-radius: var(--tm-radius);
	padding: clamp(2.5rem, 6vw, 4.5rem) clamp(1.25rem, 5vw, 3.5rem);
	text-align: center;
}

.tm-hero h1 {
	color: #ffffff;
	margin-bottom: 0.5em;
}

.tm-hero p {
	color: #e6ebf7;
	font-size: 1.15rem;
	max-width: 46rem;
	margin-left: auto;
	margin-right: auto;
}

/* ---------- Section rhythm ---------- */
.tm-section {
	padding-top: clamp(2rem, 5vw, 3.5rem);
	padding-bottom: clamp(2rem, 5vw, 3.5rem);
}

.tm-section-alt {
	background: var(--tm-bg-alt);
	border-radius: var(--tm-radius);
}

/* ---------- Generic card (pillars, features) ---------- */
.tm-card {
	background: #ffffff;
	border: 1px solid var(--tm-border);
	border-radius: var(--tm-radius);
	box-shadow: var(--tm-shadow);
	padding: 1.75rem 1.5rem;
	height: 100%;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.tm-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--tm-shadow-lift);
}

.tm-card h3 {
	color: var(--tm-navy);
	margin-top: 0;
}

/* Card top accent variants */
.tm-card-raspberry { border-top: 5px solid var(--tm-raspberry); }
.tm-card-royal { border-top: 5px solid var(--tm-royal); }
.tm-card-amber { border-top: 5px solid var(--tm-amber); }
.tm-card-sky { border-top: 5px solid var(--tm-sky); }

/* ---------- Lesson shop grid ---------- */
.tm-lesson-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 1.5rem;
	align-items: stretch;
}

.tm-lesson-card {
	background: #ffffff;
	border: 1px solid var(--tm-border);
	border-radius: var(--tm-radius);
	box-shadow: var(--tm-shadow);
	padding: 1.5rem 1.4rem 1.4rem;
	display: flex;
	flex-direction: column;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.tm-lesson-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--tm-shadow-lift);
}

.tm-lesson-card h3 {
	color: var(--tm-navy);
	font-size: 1.15rem;
	margin: 0.35rem 0 0.4rem;
}

.tm-lesson-meta {
	color: var(--tm-muted);
	font-size: 0.85rem;
	margin: 0 0 0.5rem;
}

.tm-lesson-topic {
	color: var(--tm-body);
	font-size: 0.95rem;
	flex-grow: 1;
	margin: 0 0 1rem;
}

/* ---------- Level badges ---------- */
.tm-level-badge {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--tm-navy);
	background: var(--tm-bg-alt);
	border-radius: 999px;
	padding: 0.25em 0.9em;
	margin: 0;
}

.tm-level-a1, .tm-level-a2 { background: var(--tm-amber); color: #5c430e; }
.tm-level-b1 { background: var(--tm-sky); color: #0d3a5c; }
.tm-level-b2 { background: var(--tm-royal); color: #ffffff; }
.tm-level-c1, .tm-level-c2 { background: var(--tm-navy); color: #ffffff; }
.tm-level-ielts { background: var(--tm-navy); color: #ffffff; }
.tm-level-igcse { background: var(--tm-raspberry); color: #ffffff; }

/* ---------- Payhip buy button ---------- */
.payhip-buy-button.tm-buy {
	display: inline-block;
	background: var(--tm-raspberry);
	color: #ffffff;
	font-weight: 600;
	text-decoration: none;
	border-radius: 999px;
	padding: 0.6em 1.6em;
	text-align: center;
	transition: background 0.15s ease, transform 0.15s ease;
}

.payhip-buy-button.tm-buy:hover {
	background: #d92f52;
	color: #ffffff;
	transform: translateY(-1px);
}

.tm-coming-soon {
	display: inline-block;
	color: var(--tm-muted);
	font-size: 0.9rem;
	font-style: italic;
	margin: 0;
}

/* ---------- CTA band ---------- */
.tm-cta-band {
	background: linear-gradient(120deg, var(--tm-raspberry), var(--tm-pink));
	color: #ffffff;
	border-radius: var(--tm-radius);
	padding: clamp(1.75rem, 4vw, 2.75rem);
	text-align: center;
}

.tm-cta-band h2, .tm-cta-band p {
	color: #ffffff;
}

/* Outline button variant used on dark/coloured backgrounds */
.tm-btn-outline .wp-block-button__link {
	background: transparent;
	border: 2px solid #ffffff;
	color: #ffffff;
}

.tm-btn-outline .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.15);
	color: #ffffff;
}

/* ---------- App screenshots row ---------- */
.tm-screens img {
	border-radius: var(--tm-radius-sm);
	box-shadow: var(--tm-shadow);
}

/* ---------- Small screens ---------- */
@media (max-width: 600px) {
	.tm-hero p { font-size: 1.02rem; }
	.tm-lesson-grid { grid-template-columns: 1fr; }
}
