/* =============================================================
   KAMPAS ACADEMY — RESPONSIVE STYLESHEET
   ============================================================= */

/* ---- Tablet Landscape: 1200px ---- */
@media (max-width: 1200px) {
	:root { --container: 100%; }

	.kampas-course-grid.columns-3 { grid-template-columns: repeat(2, 1fr); }
	.footer-columns-4 { grid-template-columns: 1fr 1fr; }
	.coaches-carousel { grid-template-columns: repeat(3, 1fr); }
	.pricing-card.featured { transform: scale(1.02); }
}

/* ---- Tablet Portrait: 992px ---- */
@media (max-width: 992px) {
	:root { --section-py: 64px; }

	/* Header */
	.main-navigation { display: none; }
	.mobile-menu-toggle { display: flex; }
	.main-navigation.is-open {
		display: block;
		position: fixed;
		inset: 72px 0 0;
		background: var(--white);
		z-index: 999;
		overflow-y: auto;
		padding: 24px;
	}
	.main-navigation.is-open .nav-menu {
		flex-direction: column;
		align-items: stretch;
		gap: 4px;
	}
	.main-navigation.is-open .nav-menu > li > a {
		padding: 14px 16px;
		font-size: 1.0625rem;
		border-radius: var(--radius);
		background: transparent;
	}
	.main-navigation.is-open .sub-menu {
		position: static;
		opacity: 1;
		pointer-events: auto;
		transform: none;
		box-shadow: none;
		background: var(--gray-100);
		border-radius: var(--radius);
		padding: 8px;
		margin: 4px 0;
		display: none;
	}
	.main-navigation.is-open .sub-menu.is-open { display: block; }

	/* Hero */
	.hero-section { padding: 72px 0 100px; }
	.hero-title { font-size: clamp(1.75rem, 5vw, 2.75rem); }
	.hero-stats { gap: 16px; }

	/* Layouts */
	.coach-feature-inner { grid-template-columns: 1fr; gap: 40px; }
	.coach-feature-image { order: -1; max-width: 400px; }
	.steps-grid { grid-template-columns: 1fr; gap: 24px; }
	.steps-grid::before { display: none; }
	.coaches-carousel { grid-template-columns: repeat(2, 1fr); }
	.testimonials-carousel, .kampas-testimonials-grid { grid-template-columns: repeat(2, 1fr); }
	.pricing-grid { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }
	.pricing-card.featured { transform: none; }
	.content-area-with-sidebar { grid-template-columns: 1fr; }

	/* Footer */
	.footer-columns-4 { grid-template-columns: 1fr 1fr; gap: 32px; }
	.footer-brand { grid-column: 1/-1; }
}

/* ---- Mobile Landscape: 768px ---- */
@media (max-width: 768px) {
	:root { --section-py: 52px; }

	.header-inner { height: 64px; }
	.header-actions .btn { display: none; }

	.kampas-course-grid.columns-3,
	.kampas-course-grid.columns-2 { grid-template-columns: 1fr; }

	.coaches-carousel { grid-template-columns: repeat(2, 1fr); }

	.testimonials-carousel, .kampas-testimonials-grid { grid-template-columns: 1fr; }

	.footer-columns-4 { grid-template-columns: 1fr; }
	.footer-bottom-inner { flex-direction: column; text-align: center; }

	.hero-actions { flex-direction: column; align-items: flex-start; }
	.hero-stats { gap: 20px; }
	.hero-stat-divider { height: 32px; }

	.section-header { margin-bottom: 36px; }

	/* Pricing */
	.pricing-toggle { gap: 12px; }
}

/* ---- Mobile Portrait: 576px ---- */
@media (max-width: 576px) {
	:root { --section-py: 44px; }

	body { font-size: 0.9375rem; }

	.container { padding: 0 16px; }

	.hero-section { padding: 56px 0 80px; }
	.hero-title { font-size: 1.75rem; }
	.hero-subtitle { font-size: 1rem; }
	.hero-badge { font-size: 0.8rem; }
	.hero-stats { flex-wrap: wrap; gap: 20px; }
	.hero-stat-divider { display: none; }

	.coaches-carousel { grid-template-columns: 1fr; }

	.steps-grid { gap: 20px; }
	.step-card { padding: 24px 20px; }

	.section-title { font-size: 1.625rem; }

	.cta-inner h2 { font-size: 1.625rem; }

	.footer-newsletter-form .newsletter-input-wrap { flex-direction: column; }

	.pricing-card { padding: 28px 20px; }

	.site-main { padding: 40px 0; }
	.page-header { padding: 32px 0; }

	.error-404-number { font-size: 5rem; }
}

/* ---- Small Mobile: 380px ---- */
@media (max-width: 380px) {
	.hero-title { font-size: 1.5rem; }
	.btn-xl { padding: 14px 28px; font-size: 1rem; }
}

/* ---- Print Styles ---- */
@media print {
	.site-header,
	.site-footer,
	.mobile-menu-toggle,
	.hero-section,
	.cta-section,
	.pricing-section { display: none; }

	body { color: #000; background: #fff; }
	a[href]::after { content: " (" attr(href) ")"; font-size: 0.8em; }
}
