/* =========================================================================
   KD THEME — RESPONSIVE OVERRIDES
   Loaded after style.css. Breakpoints: 1024px (tablet), 768px (small
   tablet / large phone), 480px (phone).
   ========================================================================= */

/* ---------- Tablet (<=1024px) ---------- */
@media (max-width: 1024px) {

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

	.kd-steps__grid { grid-template-columns: repeat(3, 1fr); gap: 22px; }

	.kd-footer__inner { grid-template-columns: 1.2fr 1fr; }
	.kd-footer__widgets { grid-column: span 2; }

	.kd-download__grid { grid-template-columns: 1fr; }
	.kd-formats-card { position: static; }

	.kd-post-list { grid-template-columns: repeat(2, 1fr); }

	.kd-result-card { grid-template-columns: 180px 1fr auto; }
}

/* ---------- Small tablet / large phone (<=768px) ---------- */
@media (max-width: 768px) {

	.kd-container { padding-inline: 20px; }

	.kd-nav-toggle { display: flex; }

	.kd-nav {
		position: fixed;
		inset: 76px 16px auto 16px;
		flex-direction: column;
		align-items: stretch;
		gap: 4px;
		background: var(--kd-surface);
		border: 1px solid var(--kd-line);
		border-radius: var(--kd-radius-md);
		box-shadow: var(--kd-shadow-md);
		padding: 14px;
		opacity: 0;
		visibility: hidden;
		transform: translateY(-8px);
		transition: opacity var(--kd-speed-mid) var(--kd-ease),
			transform var(--kd-speed-mid) var(--kd-ease),
			visibility var(--kd-speed-mid);
		z-index: 90;
	}
	.kd-nav.is-open { opacity: 1; visibility: visible; transform: translateY(0); }

	.kd-nav__list { flex-direction: column; align-items: stretch; gap: 2px; }
	.kd-nav__link { padding: 12px 10px; }
	.kd-nav__link::after { display: none; }
	.kd-nav__cta { margin: 8px 10px 2px; justify-content: center; }

	.kd-hero { padding: 64px 0 56px; }
	.kd-hero__blob--a, .kd-hero__blob--b { width: 300px; height: 300px; }

	.kd-search-form { flex-wrap: wrap; border-radius: var(--kd-radius-lg); padding: 14px; }
	.kd-search-form__icon { order: 1; }
	.kd-search-form__input { order: 2; padding: 8px 4px; }
	.kd-search-form__submit { order: 3; width: 100%; }

	.kd-features { padding: 64px 0; }
	.kd-features__grid { grid-template-columns: 1fr; }

	.kd-steps { padding: 20px 0 64px; }
	.kd-steps__grid { grid-template-columns: 1fr; gap: 26px; }

	.kd-seo { padding: 64px 0; }

	.kd-cta { padding: 64px 0 76px; }

	.kd-footer__inner { grid-template-columns: 1fr; gap: 28px; text-align: left; }
	.kd-footer__widgets { grid-column: auto; }
	.kd-footer__bottom { flex-direction: column; text-align: center; }

	.kd-post-list { grid-template-columns: 1fr; }

	.kd-result-card {
		grid-template-columns: 1fr;
		text-align: left;
	}
	.kd-result-card__cta { width: 100%; justify-content: center; }

	.kd-download__grid { gap: 28px; }
}

/* ---------- Phone (<=480px) ---------- */
@media (max-width: 480px) {

	.kd-hero__title { font-size: clamp(1.9rem, 1.5rem + 4vw, 2.4rem); }
	.kd-hero__waveform { max-width: 280px; height: 32px; }
	.kd-hero__trust { flex-direction: column; gap: 8px; }

	.kd-search-form--hero,
	.kd-search-form--compact { max-width: 100%; }

	.kd-btn--lg { padding: 15px 24px; font-size: .95rem; width: 100%; }
	.kd-hero .kd-btn--lg { width: auto; }
	.kd-cta__inner .kd-btn--lg { width: 100%; }

	.kd-section-title { font-size: 1.5rem; }

	.kd-404__code { font-size: 3.4rem; }

	.kd-formats-list__item { flex-wrap: wrap; }
	.kd-formats-list__btn { width: 100%; justify-content: center; }
}
