/* =========================================================================
   Адаптив — mobile-first уточнения (базовые стили в style.css уже гибкие
   благодаря clamp()/grid auto-fit, здесь — точечные правки под брейкпоинты).
   ========================================================================= */

/* Планшет и меньше */
@media (max-width: 900px) {
	.focus__inner { grid-template-columns: 1fr; gap: 32px; }
	.focus__cover { max-width: 320px; margin: 0 auto; }
	.single-material__layout { grid-template-columns: 1fr; }
	.single-material__sidebar { max-width: 320px; }
	.page-author__content { grid-template-columns: 1fr; }
}

/* Мобильные */
@media (max-width: 720px) {
	.site-header__inner { height: 68px; }
	.nav-toggle { display: flex; }

	.main-nav {
		position: fixed; inset: 68px 0 0 0; z-index: 90;
		background: var(--color-bg); padding: 32px 24px;
		transform: translateX(100%); transition: transform 0.25s ease;
		overflow-y: auto;
	}
	.main-nav.is-open { transform: translateX(0); }
	.main-nav__list { flex-direction: column; gap: 24px; }
	.main-nav__list a { font-size: 20px; }

	.hero { min-height: 92vh; }
	.hero__content { gap: 20px; padding: 0 12px; }

	.section-heading { flex-direction: column; align-items: flex-start; }

	.book-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 20px; }

	.site-footer__inner { flex-direction: column; align-items: flex-start; }

	.countdown__digits { flex-wrap: wrap; }
}

/* Совсем маленькие экраны */
@media (max-width: 420px) {
	.container { padding: 0 16px; }
	.btn--lg { padding: 14px 28px; font-size: 15px; }
	.quote-block__text { font-size: 26px; }
}
