/* ==========================================================================
   RESPONSIVE (§48) — 1440 · 1200 · 1024 · 768 · 430 · 390 · 360
   Aucun débordement horizontal, aucune carte écrasée.
   ========================================================================== */

/* --------------------------------------------------------------------------
   ≤ 1200px
   -------------------------------------------------------------------------- */
@media (max-width: 1200px) {
	:root { --sc-header-h: 76px; }

	.sc-nav__list { gap: clamp(.9rem, 1.8vw, 1.6rem); }
	.sc-nav__list > li > a { font-size: .875rem; }

	.sc-editorial__grid { grid-template-columns: minmax(0, 1.85fr) minmax(0, 1fr); }
	.sc-feat { grid-template-columns: 74px minmax(0, 1fr); }
	.sc-others__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* --------------------------------------------------------------------------
   ≤ 1024px — bascule tablette
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {

	/* Navigation desktop remplacée par le hamburger */
	.sc-nav { display: none; }
	.sc-burger { display: inline-flex; }
	.sc-header__inner { justify-content: space-between; }

	/* Hero : texte puis image (§49) */
	.sc-hero__grid {
		grid-template-columns: 1fr;
		min-height: 0;
		gap: var(--sc-s4);
	}
	.sc-hero__body { max-width: none; }
	.sc-hero__media {
		margin-right: 0;
		order: 2;
		border-radius: var(--sc-radius-md);
		overflow: hidden;
	}
	.sc-hero__media img {
		max-height: 380px;
		aspect-ratio: 16 / 9;
		object-position: 60% 50%;
		-webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 88%, transparent 100%);
		mask-image: linear-gradient(to bottom, #000 0%, #000 88%, transparent 100%);
	}

	/* 5 univers : 3 puis 2, jamais écrasés */
	.sc-universes__grid { grid-template-columns: repeat(3, 1fr); }
	.sc-uni { aspect-ratio: 4 / 5; }

	/* À la une passe au-dessus de Notre approche */
	.sc-editorial__grid { grid-template-columns: 1fr; }
	.sc-editorial__aside {
		border-left: 0;
		border-top: var(--sc-border-w) solid var(--sc-border);
		padding-left: 0;
		padding-top: var(--sc-s5);
	}
	.sc-approach__list { grid-template-columns: repeat(3, 1fr); display: grid; gap: var(--sc-s4); }

	.sc-hub__grid { grid-template-columns: 1fr; gap: var(--sc-s4); }
	.sc-hub__media { order: -1; aspect-ratio: 21 / 9; }

	.sc-lead { grid-template-columns: 1fr; gap: var(--sc-s4); }
	.sc-lead__media { order: -1; }

	.sc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	.sc-contact__grid { grid-template-columns: 1fr; }

	.sc-newsletter__inner { grid-template-columns: 44px minmax(0, 1fr); }
	.sc-newsletter__form { grid-column: 1 / -1; }
	.sc-newsletter__note { grid-column: 1 / -1; text-align: left; }

	.sc-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sc-footer__brand { grid-column: 1 / -1; }
}

/* --------------------------------------------------------------------------
   ≤ 768px
   -------------------------------------------------------------------------- */
@media (max-width: 768px) {
	:root {
		--sc-header-h: 68px;
		--sc-fs-body: 1.0625rem;
	}

	.admin-bar .sc-header { top: 46px; }

	.sc-universes__grid { grid-template-columns: repeat(2, 1fr); }
	.sc-uni { aspect-ratio: 1 / 1; padding: var(--sc-s3) var(--sc-s2); }
	.sc-uni__icon { margin-top: 12%; }
	.sc-uni__tagline { font-size: .8125rem; }

	.sc-featured__list { grid-template-columns: 1fr; }
	.sc-feat { grid-template-columns: 92px minmax(0, 1fr); }

	.sc-approach__list { grid-template-columns: 1fr; }

	.sc-list__item { grid-template-columns: 132px minmax(0, 1fr); gap: var(--sc-s3); }

	.sc-form__grid { grid-template-columns: 1fr; }

	.sc-author { grid-template-columns: 1fr; gap: var(--sc-s3); }
	.sc-author__avatar { display: flex; }

	.sc-authorhead__inner { grid-template-columns: 1fr; text-align: left; }
	.sc-authorhead__avatar img { width: 96px; height: 96px; }

	.sc-consent__inner { grid-template-columns: 1fr; }
	.sc-consent__actions { justify-content: stretch; }
	.sc-consent__actions .sc-btn { flex: 1 1 auto; justify-content: center; }

	.sc-newsletter__inner { grid-template-columns: 1fr; }
	.sc-newsletter__icon { display: none; }

	.sc-footer__bottom-inner { flex-direction: column; align-items: flex-start; }
}

/* --------------------------------------------------------------------------
   ≤ 560px — téléphones
   -------------------------------------------------------------------------- */
@media (max-width: 560px) {

	.sc-hero { padding-top: var(--sc-s3); }
	.sc-hero__media img { max-height: 280px; aspect-ratio: 3 / 2; }

	/* Une seule colonne : les cartes restent lisibles (§49) */
	.sc-universes__grid { grid-template-columns: 1fr; gap: var(--sc-s2); }
	.sc-uni { aspect-ratio: 16 / 9; padding: var(--sc-s3); justify-content: flex-end; }
	.sc-uni__icon { margin-top: 0; margin-bottom: auto; }
	.sc-uni__name { font-size: 1.3rem; }
	.sc-uni__tagline { max-width: 30ch; }

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

	/* Liste : vignette au-dessus du texte */
	.sc-list__item { grid-template-columns: 1fr; }
	.sc-list__media { aspect-ratio: 16 / 9; }

	.sc-feat { grid-template-columns: 1fr; }
	.sc-feat__media { aspect-ratio: 16 / 9; }

	.sc-others__grid { grid-template-columns: 1fr; }

	/* Article : pleine largeur avec marges (§50) */
	.sc-prose blockquote { padding-left: 1.1rem; font-size: 1.2rem; }
	.sc-toc { padding: var(--sc-s3); }
	.sc-note { padding: var(--sc-s3); }
	.sc-faq__q { font-size: 1.08rem; }

	.sc-newsletter__form { flex-direction: column; }
	.sc-newsletter__form .sc-btn { justify-content: center; }

	.sc-footer__grid { grid-template-columns: 1fr; gap: var(--sc-s4); }

	.sc-404__actions { flex-direction: column; align-items: stretch; }
	.sc-404__actions .sc-btn { justify-content: center; }

	.sc-consent__panel-actions { flex-direction: column-reverse; }
	.sc-consent__panel-actions .sc-btn { justify-content: center; }

	/* Boutons confortables au toucher */
	.sc-btn { padding: 1rem 1.4rem; }
}

/* --------------------------------------------------------------------------
   ≤ 380px — iPhone SE / petits Android
   -------------------------------------------------------------------------- */
@media (max-width: 380px) {
	.sc-logo__l1, .sc-logo__l2 { font-size: 1.14rem; }
	.sc-container { padding-inline: 1.1rem; }
	.sc-mobilenav__list a { font-size: 1.35rem; }
}

/* --------------------------------------------------------------------------
   Impression — lecture d'article
   -------------------------------------------------------------------------- */
@media print {
	.sc-header, .sc-footer, .sc-consent, .sc-related, .sc-toc,
	.sc-searchpanel, .sc-mobilenav, .sc-breadcrumb { display: none !important; }
	body.sc { background: #fff; color: #000; font-size: 11pt; }
	.sc-prose { max-width: none; }
	.sc-prose a::after { content: ' (' attr(href) ')'; font-size: .8em; color: #555; }
}
