/* ==========================================================================
   CATÉGORIES (pages hub) · RECHERCHE · AUTEUR · 404
   ========================================================================== */

/* --------------------------------------------------------------------------
   En-tête de hub catégorie (§18)
   -------------------------------------------------------------------------- */

.sc-hub__head {
	padding-block: clamp(2rem, 1rem + 3vw, 3.5rem) clamp(2.5rem, 1.5rem + 3vw, 4rem);
	border-bottom: var(--sc-border-w) solid var(--sc-border);
}
.sc-hub__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
}
.sc-hub__kicker-row {
	display: flex;
	align-items: center;
	gap: var(--sc-s2);
	margin-bottom: var(--sc-s3);
}
.sc-hub__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px; height: 46px;
	border: var(--sc-border-w) solid var(--sc-border);
	border-radius: 50%;
	color: var(--sc-accent, var(--sc-green));
	flex: none;
}
.sc-hub__title {
	font-family: var(--sc-serif);
	font-size: var(--sc-fs-h1);
	line-height: 1.1;
	letter-spacing: -0.015em;
	margin-bottom: var(--sc-s3);
	text-wrap: balance;
}
.sc-hub__intro {
	font-size: var(--sc-fs-lede);
	line-height: 1.62;
	color: var(--sc-text-soft);
	max-width: 54ch;
}
.sc-hub__count { margin-top: var(--sc-s3); font-size: var(--sc-fs-sm); color: var(--sc-muted); }

.sc-hub__media {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: var(--sc-radius-md);
	border: var(--sc-border-w) solid var(--sc-border-light);
}
.sc-hub__media img { width: 100%; height: 100%; object-fit: cover; }

/* Micro-accent par univers — la structure ne change jamais (§19) */
body.sc-univers-memoire              { --sc-accent: var(--sc-u-memoire); }
body.sc-univers-concentration        { --sc-accent: var(--sc-u-concentration); }
body.sc-univers-performance-mentale  { --sc-accent: var(--sc-u-performance); }
body.sc-univers-nutrition-cognition  { --sc-accent: var(--sc-u-nutrition); }
body.sc-univers-longevite-cognitive  { --sc-accent: var(--sc-u-longevite); }

/* --------------------------------------------------------------------------
   Article principal mis en avant
   -------------------------------------------------------------------------- */

.sc-lead {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 3.5vw, 3.5rem);
	align-items: center;
	padding-block: var(--sc-section);
}
.sc-lead__media {
	overflow: hidden;
	border-radius: var(--sc-radius-md);
	border: var(--sc-border-w) solid var(--sc-border-light);
	aspect-ratio: 16 / 11;
	background: var(--sc-bg-warm);
}
.sc-lead__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--sc-ease); }
.sc-lead:hover .sc-lead__media img { transform: scale(1.03); }
.sc-lead__title {
	font-family: var(--sc-serif);
	font-size: clamp(1.7rem, 1.2rem + 1.6vw, 2.5rem);
	line-height: 1.16;
	letter-spacing: -0.012em;
	margin: var(--sc-s2) 0 var(--sc-s3);
}
.sc-lead__title a { text-decoration: none; }
.sc-lead__title a:hover { color: var(--sc-green); }
.sc-lead__excerpt {
	font-size: var(--sc-fs-lede);
	line-height: 1.6;
	color: var(--sc-muted);
	margin-bottom: var(--sc-s3);
	max-width: 52ch;
}

/* --------------------------------------------------------------------------
   Grille d'articles
   -------------------------------------------------------------------------- */

.sc-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.75rem, 3vw, 3rem) clamp(1.25rem, 2.5vw, 2.25rem);
}
.sc-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* Liste éditoriale horizontale — utilisée pour recherche et auteur */
.sc-list { display: grid; gap: 0; }
.sc-list__item {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: clamp(1.25rem, 3vw, 2.5rem);
	align-items: center;
	padding-block: var(--sc-s4);
	border-bottom: var(--sc-border-w) solid var(--sc-border-light);
}
.sc-list__item:first-child { padding-top: 0; }
.sc-list__media {
	overflow: hidden;
	border-radius: var(--sc-radius);
	aspect-ratio: 4 / 3;
	background: var(--sc-bg-warm);
	border: var(--sc-border-w) solid var(--sc-border-light);
}
.sc-list__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--sc-ease); }
.sc-list__item:hover .sc-list__media img { transform: scale(1.04); }
.sc-list__title {
	font-family: var(--sc-serif);
	font-size: clamp(1.25rem, 1rem + .7vw, 1.6rem);
	line-height: 1.2;
	margin: .45rem 0 .55rem;
}
.sc-list__title a { text-decoration: none; }
.sc-list__title a:hover { color: var(--sc-green); }
.sc-list__excerpt { font-size: var(--sc-fs-ui); line-height: 1.6; color: var(--sc-muted); margin-bottom: .7rem; max-width: 62ch; }

/* --------------------------------------------------------------------------
   Autres univers, en fin de hub (§18)
   -------------------------------------------------------------------------- */

.sc-others { border-top: var(--sc-border-w) solid var(--sc-border); }
.sc-others__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(.75rem, 1.5vw, 1.25rem);
}
.sc-others__item {
	display: flex;
	align-items: center;
	gap: var(--sc-s2);
	padding: var(--sc-s3);
	border: var(--sc-border-w) solid var(--sc-border);
	border-radius: var(--sc-radius);
	text-decoration: none;
	background: var(--sc-surface);
	transition: border-color .25s var(--sc-ease), transform .25s var(--sc-ease);
}
.sc-others__item:hover { border-color: var(--sc-green); transform: translateY(-2px); }
.sc-others__item .sc-icon { color: var(--sc-gold); flex: none; }
.sc-others__name { font-family: var(--sc-serif); font-size: 1.08rem; line-height: 1.2; }

/* --------------------------------------------------------------------------
   Recherche (§40)
   -------------------------------------------------------------------------- */

.sc-searchhead {
	padding-block: clamp(2rem, 1rem + 3vw, 3.5rem);
	border-bottom: var(--sc-border-w) solid var(--sc-border);
}
.sc-searchhead__title {
	font-family: var(--sc-serif);
	font-size: var(--sc-fs-h1);
	line-height: 1.14;
	margin-bottom: var(--sc-s3);
}
.sc-searchhead__title em { font-style: italic; color: var(--sc-green); }
.sc-searchhead__count { font-size: var(--sc-fs-ui); color: var(--sc-muted); margin-bottom: var(--sc-s4); }
.sc-searchhead .sc-search { max-width: 560px; }

/* --------------------------------------------------------------------------
   Page auteur (§30)
   -------------------------------------------------------------------------- */

.sc-authorhead {
	padding-block: clamp(2rem, 1rem + 3vw, 3.5rem);
	border-bottom: var(--sc-border-w) solid var(--sc-border);
}
.sc-authorhead__inner {
	display: grid;
	grid-template-columns: 132px minmax(0, 1fr);
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: center;
}
.sc-authorhead__avatar img {
	width: 132px; height: 132px;
	border-radius: 50%;
	border: var(--sc-border-w) solid var(--sc-border);
}
.sc-authorhead__name {
	font-family: var(--sc-serif);
	font-size: var(--sc-fs-h1);
	line-height: 1.12;
	margin: .35rem 0 .5rem;
}
.sc-authorhead__role { font-size: var(--sc-fs-ui); color: var(--sc-gold); font-weight: 500; margin-bottom: var(--sc-s2); }
.sc-authorhead__bio { color: var(--sc-text-soft); max-width: 62ch; font-size: var(--sc-fs-ui); line-height: 1.65; }

/* --------------------------------------------------------------------------
   404 (§41)
   -------------------------------------------------------------------------- */

.sc-404 { padding-block: clamp(3rem, 2rem + 4vw, 6rem); text-align: center; }
.sc-404__code {
	font-family: var(--sc-serif);
	font-size: clamp(4rem, 2rem + 9vw, 8rem);
	line-height: 1;
	color: var(--sc-border-dark);
	margin-bottom: var(--sc-s3);
}
.sc-404__title {
	font-family: var(--sc-serif);
	font-size: var(--sc-fs-h1);
	line-height: 1.15;
	margin-bottom: var(--sc-s3);
}
.sc-404__text { color: var(--sc-muted); max-width: 52ch; margin: 0 auto var(--sc-s4); }
.sc-404__search { max-width: 480px; margin: 0 auto var(--sc-s5); }
.sc-404__actions { display: flex; justify-content: center; gap: var(--sc-s2); flex-wrap: wrap; margin-bottom: var(--sc-s6); }
.sc-404__universes { border-top: var(--sc-border-w) solid var(--sc-border); padding-top: var(--sc-s5); }
