/*    34. RESPONSIVE — MOBILE IMPROVEMENTS (768px)
   ------------------------------------------- */
@media (max-width: 768px) {
	:root {
		--text-6xl: 3rem;
		--text-5xl: 2.4rem;
		--text-4xl: 2rem;
		--text-3xl: 1.6rem;
		--space-4xl: 4rem;
		--space-3xl: 3rem;
	}

	.container {
		padding: 0 var(--space-lg);
	}

	.section {
		padding: var(--space-3xl) 0;
	}

	.section-header {
		margin-bottom: var(--space-2xl);
	}

	.section-title {
		font-size: var(--text-3xl);
	}

	.section-desc {
		font-size: var(--text-base);
	}

	/* Header mobile — content must clear the fixed header (~61-72px) */
	.site-main {
		padding-top: 96px;
	}

	.header-top {
		padding: 10px 0;
	}

	.site-title {
		font-size: var(--text-xl);
	}

	.site-logo img {
		max-height: 32px;
	}

	/* Hide desktop nav elements on mobile */
	#primary-menu,
	.btn-nav-cta,
	.header-btn {
		display: none;
	}

	.menu-toggle {
		display: flex;
	}

	/* Hero mobile */
	.hero-section {
		min-height: calc(100dvh - 56px);
		padding-top: 70px;
	}

	.hero-content {
		padding: var(--space-xl) 0;
	}

	.hero-title {
		font-size: var(--text-5xl);
		letter-spacing: -0.5px;
	}

	.hero-badge {
		font-size: 0.65rem;
		padding: 4px 12px;
	}

	.hero-desc {
		font-size: var(--text-sm);
		margin-bottom: var(--space-xl);
	}

	.hero-actions {
		flex-direction: column;
		align-items: stretch;
		gap: var(--space-sm);
	}

	.hero-actions .btn {
		text-align: center;
	}

	.hero-stats {
		gap: var(--space-xl);
		flex-wrap: wrap;
	}

	.stat-number {
		font-size: var(--text-2xl);
	}

	.hero-scroll-indicator {
		display: none;
	}

	/* Grid — single column */
	.services-grid,
	.wp-powered-grid {
		grid-template-columns: 1fr;
	}

	.prototype-grid,
	.prototype-grid-full {
		grid-template-columns: 1fr;
	}

	.about-story-grid {
		grid-template-columns: 1fr;
	}

	.tech-stack-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.values-grid {
		grid-template-columns: 1fr;
	}

	/* Plugin & VS Code sections mobile */
	.plugin-wrap,
	.vscode-wrap {
		grid-template-columns: minmax(0, 1fr);
		gap: 30px;
	}

	.plugin-visual,
	.vscode-visual {
		order: -1;
		max-width: 100%;
		margin: 0 auto;
	}

	.plugin-title,
	.vscode-title {
		font-size: var(--text-2xl);
	}

	/* Reasons mobile */
	.reason-card {
		flex-direction: column;
		gap: var(--space-md);
		padding: var(--space-lg);
	}

	.reason-num {
		font-size: 1.75rem;
		min-width: auto;
	}

	/* Pricing mobile */
	.pricing-grid,
	.pricing-grid-home {
		grid-template-columns: 1fr;
		max-width: 100%;
	}

	.pricing-grid-home .pricing-featured {
		grid-column: 1;
	}

	.pricing-card {
		padding: var(--space-xl);
	}

	.price-amount {
		font-size: var(--text-4xl);
	}

	/* Portal CTA mobile */
	.portal-cta-wrap {
		grid-template-columns: 1fr;
		gap: 30px;
		text-align: center;
	}

	.portal-cta-visual {
		order: -1;
	}

	.portal-cta-title {
		font-size: var(--text-2xl);
	}

	.portal-cta-features {
		grid-template-columns: 1fr 1fr;
		text-align: left;
		max-width: 320px;
		margin: 0 auto var(--space-xl);
	}

	.portal-cta-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.portal-cta-actions .btn {
		text-align: center;
	}

	/* Page Hero mobile */
	.page-hero {
		padding: 100px 0 var(--space-xl);
	}

	.page-hero .page-title {
		font-size: var(--text-4xl);
	}

	.page-hero .page-desc {
		font-size: var(--text-sm);
	}

	/* CTA mobile */
	.cta-title {
		font-size: var(--text-2xl);
	}

	.cta-desc {
		font-size: var(--text-base);
	}

	/* FAQ mobile */
	.faq-question {
		font-size: var(--text-sm);
		padding: var(--space-md) var(--space-lg);
	}

	/* Footer mobile */
	.footer-container {
		grid-template-columns: 1fr;
		text-align: center;
		padding: var(--space-3xl) var(--space-lg) var(--space-xl);
	}

	.footer-desc {
		max-width: none;
	}

	.footer-brand {
		grid-column: 1;
	}

	.footer-nav-area,
	.footer-contact {
		padding-top: var(--space-md);
	}

	/* 404 mobile */
	.error-404-title {
		font-size: 5rem;
	}

	.error-404-subtitle {
		font-size: var(--text-2xl);
	}

	/* Process mobile */
	.process-step {
		flex-direction: column;
		gap: var(--space-sm);
		padding: var(--space-lg);
	}

	.process-step-number {
		font-size: var(--text-2xl);
		min-width: auto;
	}

	/* Blog mobile */
	.blog-post-card {
		padding: var(--space-lg);
	}

	.blog-post-card .entry-title {
		font-size: var(--text-xl);
	}

	/* Terms mobile */
	.terms-block {
		margin-bottom: var(--space-2xl);
		padding-bottom: var(--space-2xl);
	}

	.terms-block h2.terms-heading {
		font-size: var(--text-xl);
	}

	/* Slide panel improvements */
	.slide-panel-wrapper {
		width: 85vw;
		max-width: 360px;
	}

	#slide-menu .menu-item a {
		padding: 11px var(--space-md);
		font-size: var(--text-base);
	}

	/* All inputs: prevent iOS zoom on focus (body prefix = no !important needed) */
	body input[type="text"],
	body input[type="email"],
	body input[type="tel"],
	body input[type="url"],
	body input[type="password"],
	body input[type="search"],
	body input[type="number"],
	body textarea,
	body select {
		font-size: 16px;
	}

	/* Filter scroll on mobile */
	.prototype-filters {
		flex-wrap: nowrap;
		overflow-x: auto;
		padding-bottom: var(--space-sm);
		-webkit-overflow-scrolling: touch;
	}

	.filter-btn {
		white-space: nowrap;
		flex-shrink: 0;
	}
}
