/* Pages et articles WordPress (gabarits génériques) — reprend les jetons du design system */
@layer sections {
  .fd-page { padding: clamp(32px, 6vw, 80px) 0 0; }
  .fd-page .wrap { max-width: 860px; }
  .fd-page-head { margin-bottom: clamp(24px, 4vw, 48px); }
  .fd-page-head h1 { font-size: clamp(2rem, 1.3rem + 3vw, 3.75rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.05; margin-top: 12px; }
  .fd-page-head .fd-meta { margin-top: 14px; color: var(--ink-2); font-size: .875rem; }
  .fd-cover { margin: 0 0 clamp(24px, 4vw, 48px); border-radius: var(--r-frame); overflow: hidden; }
  .fd-cover img { width: 100%; height: auto; display: block; }

  .entry { font-size: 1.0625rem; line-height: 1.75; color: var(--ink); }
  .entry > * + * { margin-top: 1.1em; }
  .entry h2 { font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem); font-weight: 500; letter-spacing: -.03em; line-height: 1.15; margin-top: 2em; }
  .entry h3 { font-size: clamp(1.25rem, 1.1rem + .6vw, 1.5rem); font-weight: 500; letter-spacing: -.02em; margin-top: 1.6em; }
  .entry a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
  .entry ul, .entry ol { padding-left: 1.3em; }
  .entry li + li { margin-top: .4em; }
  .entry img { max-width: 100%; height: auto; border-radius: 18px; }
  .entry blockquote { margin: 1.6em 0; padding: 18px 22px; border-radius: 18px; background: var(--mist); }
  .entry table { width: 100%; border-collapse: collapse; font-size: .9375rem; }
  .entry th, .entry td { padding: 10px 12px; border-bottom: 1px solid var(--line); text-align: left; }
  .entry .wp-block-button__link { display: inline-flex; align-items: center; min-height: 48px; padding: 0 22px; border-radius: var(--r-pill); background: var(--ink); color: #fff; text-decoration: none; }

  .fd-list { display: grid; gap: 14px; }
  .fd-card { display: grid; gap: 8px; padding: 22px 24px; border-radius: 22px; background: var(--mist); transition: background-color var(--t-micro); }
  .fd-card:hover { background: var(--mist-2); }
  .fd-card h2 { font-size: 1.375rem; font-weight: 500; letter-spacing: -.02em; }
  .fd-card p { color: var(--ink-2); font-size: .9375rem; }
  .fd-pager { display: flex; justify-content: space-between; gap: 12px; margin-top: 32px; }
  .fd-pager a { color: var(--blue); font-weight: 500; }

  .fd-404 { text-align: center; padding: clamp(64px, 12vw, 160px) 0 0; }
  .fd-404 p { color: var(--ink-2); margin: 14px auto 28px; max-width: 46ch; }
}
