/**
 * Adaptations responsive — mobile-first.
 * Le design system est fluide par défaut ; ce fichier gère les
 * réorganisations structurelles par palier.
 */

/* ---------- ≤ 1024px : tablette ---------- */

/* ---------- ≤ 1200px : le nom complet du ministère + la navigation
   horizontale ne tiennent plus ensemble — menu mobile ---------- */

@media (max-width: 1200px) {
	.main-nav { display: none; }
	.nav-toggle { display: grid; }
}

@media (max-width: 1024px) {
	.grid--4 { grid-template-columns: repeat(2, 1fr); }
	.grid--3 { grid-template-columns: repeat(2, 1fr); }

	.site-footer__grid { grid-template-columns: 1fr 1fr; }
}

/* ---------- ≤ 768px : mobile large ---------- */

@media (max-width: 768px) {
	:root {
		--sp-5: 2.25rem;
		--sp-6: 3rem;
	}

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

	.featured-news { grid-template-columns: 1fr; }

	.hero__ctas { grid-template-columns: 1fr; }

	.minister { grid-template-columns: 1fr; }

	.minister__portrait { max-width: 320px; margin-inline: auto; }

	.topbar__motto,
	.topbar nav { display: none; }

	/* Le CTA header cède la place : les portes d'entrée du hero et les
	   accès rapides couvrent le besoin sur mobile. */
	.header-actions .btn--cta { display: none; }

	.site-brand__name { font-size: 0.72rem; max-width: none; }
	.site-brand__emblem { width: 40px; height: 40px; font-size: 0.62rem; }

	.section__head {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--sp-1);
	}

	.filter-bar { flex-direction: column; align-items: stretch; }

	.filter-bar__field { min-width: 0; }

	.info-sheet dl { grid-template-columns: 1fr; gap: 0.15rem; }

	.info-sheet dt { margin-top: 0.6rem; }

	.download-block { flex-direction: column; align-items: flex-start; }

	.card--horizontal .card__thumb { width: 72px; height: 56px; }

	/* Le flou coûte cher sur mobile : on le réduit */
	.glass,
	.site-header,
	.cta-card {
		-webkit-backdrop-filter: blur(6px);
		backdrop-filter: blur(6px);
	}
}

/* ---------- ≤ 480px : petit mobile ---------- */

@media (max-width: 480px) {
	.grid--4 { grid-template-columns: 1fr; }

	.site-footer__grid { grid-template-columns: 1fr; }

	.hero__inner { padding-block: var(--sp-5); }

	.entry-header h1 { font-size: 1.55rem; }

	.back-to-top { right: var(--sp-2); bottom: var(--sp-2); }
}

/* ---------- Impression : documents propres ---------- */

@media print {
	.topbar,
	.site-header,
	.alert-bar,
	.site-footer,
	.back-to-top,
	.filter-bar,
	.quick-links { display: none !important; }

	body { background: #fff; color: #000; }

	a { color: #000; text-decoration: underline; }
}
