/* Pages hors maquette — actualités, article, page éditoriale, recherche,
   erreur — habillées avec les mêmes jetons pour rester dans l'identité. */

/* ── Actualités ───────────────────────────────────────────────────────── */

.categories { display: flex; flex-wrap: wrap; gap: 8px; }
.news-list { padding-top: clamp(48px, 8vh, 90px); }

/* ── Article ──────────────────────────────────────────────────────────── */

.article-head { display: flex; flex-direction: column; gap: 24px; padding-top: clamp(48px, 9vh, 110px); max-width: 820px; }
.article-head .display { font-size: clamp(36px, 6vw, 84px); line-height: 0.96; }
.article-figure { margin: 0; display: flex; flex-direction: column; gap: 8px; }
.article-figure figcaption { font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-primary); }
.article-block { display: grid; gap: 32px; grid-template-columns: minmax(0, 120px) minmax(0, 1fr); padding-top: clamp(40px, 6vh, 64px); max-width: 1000px; }
.article-block__mark { font-family: var(--font-display); font-size: 18px; color: var(--color-primary); }
.article-block--split { grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 48px; }
.article-block .prose { max-width: 65ch; }
@media (max-width: 600px) { .article-block { grid-template-columns: minmax(0, 1fr); } }
.share { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; padding-top: 24px; border-top: 1px solid var(--line); }
.share button { background: none; border: 0; padding: 0; cursor: pointer; color: var(--color-primary); font: inherit; }

/* ── Page éditoriale et recherche ─────────────────────────────────────── */

.page-simple { padding-top: clamp(48px, 9vh, 110px); max-width: 820px; display: flex; flex-direction: column; gap: 32px; }
.search-form { display: flex; gap: 16px; align-items: end; flex-wrap: wrap; }
.search-form .field-line { flex: 1 1 260px; }
.search-results { display: flex; flex-direction: column; }
.search-result { display: flex; flex-direction: column; gap: 6px; padding: 20px 0; border-top: 1px solid var(--line-soft); color: var(--color-text); }
.search-result__title { font-family: var(--font-display); font-size: 22px; }

/* ── Erreur ───────────────────────────────────────────────────────────── */

.error-page { display: flex; flex-direction: column; gap: 32px; padding: clamp(80px, 14vh, 160px) var(--gutter) 0; }
.error-page__code { font-family: var(--font-display); font-size: clamp(96px, 18vw, 240px); line-height: 0.9; color: var(--color-primary); }
.error-page__text { font-size: 18px; font-weight: 300; max-width: 40ch; }
