/* dossiers.cieajm.org : feuille de l'index, écrite par projects/cieajm/dossiers/build.py.
   Charte des dossiers de la compagnie : EB Garamond, papier chaud, nuit de la couverture. */
:root {
  --paper: #FBF9F5; --ink: #1F1C1A; --ink-soft: #5E5650; --accent: #7E4A3A; --rule: #D9CFC6;
  --night: #0E1314; --night-ink: #F2EDE4; --night-soft: #ADA69D; --night-accent: #BC8E7F;
  --serif: "EB Garamond", Garamond, Georgia, serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { background: var(--paper); }
body {
  margin: 0; background: var(--paper); color: var(--ink);
  font-family: var(--serif); font-size: 18px; line-height: 1.45;
  font-kerning: normal; font-variant-ligatures: common-ligatures;
}
a { color: inherit; }
img { display: block; max-width: 100%; height: auto; }

.site-header { max-width: 960px; margin: 0 auto; padding: 48px 16px 8px; text-align: center; }
.site-header__logo { display: inline-block; }
.site-header__logo img { width: 112px; mix-blend-mode: multiply; }
.site-header__label {
  margin: 18px 0 0; font-size: 15px; font-variant-caps: all-small-caps; letter-spacing: 0.32em; color: var(--accent);
}
.site-header__label::after { content: ""; display: block; width: 52px; margin: 8px auto 0; border-top: 1px solid var(--accent); }
.site-header__title { margin: 14px 0 0; font-size: 44px; font-weight: 400; line-height: 1.1; }

main { max-width: 960px; margin: 0 auto; padding: 32px 16px 24px; display: grid; gap: 28px; }

.card {
  display: grid; grid-template-columns: 220px 1fr; gap: 32px; align-items: center;
  padding: 28px; background: #fff; border: 1px solid var(--rule);
}
.card__visual { display: block; background: var(--night); padding: 14px; }
.card__visual img { width: 100%; outline: 1px solid #2C3335; }
.card__visual--blank {
  aspect-ratio: 1131 / 1600; display: flex; align-items: center; justify-content: center;
  color: var(--night-soft); font-size: 28px; font-style: italic; letter-spacing: 0.06em;
}
.card__title { margin: 0; font-size: 34px; font-weight: 400; line-height: 1.12; }
.card__title a { text-decoration: none; }
.card__title a:hover, .card__title a:focus-visible { color: var(--accent); }
.card__subtitle { display: block; margin-top: 4px; font-size: 24px; font-style: italic; letter-spacing: 0.06em; }
.card__author { margin: 12px 0 10px; font-size: 20px; }
.card__line { margin: 0; color: var(--ink-soft); }
.card__actions { margin: 22px 0 0; display: flex; flex-wrap: wrap; gap: 12px; }
.card__status {
  margin: 22px 0 0; font-size: 16px; font-variant-caps: all-small-caps; letter-spacing: 0.16em; color: var(--accent);
}
.card--soon { background: transparent; }
.card--soon .card__visual--blank { background: transparent; border: 1px dashed var(--rule); color: var(--ink-soft); }
.card--soon .card__title, .card--soon .card__author { color: var(--ink-soft); }

.button {
  display: inline-block; padding: 9px 20px 11px; border: 1px solid var(--night);
  background: var(--night); color: var(--night-ink); text-decoration: none;
  font-size: 17px; font-variant-caps: all-small-caps; letter-spacing: 0.14em;
}
.button:hover, .button:focus-visible { background: var(--accent); border-color: var(--accent); outline: none; }
.button--ghost { background: transparent; color: var(--ink); }
.button--ghost:hover, .button--ghost:focus-visible { color: var(--night-ink); }

.site-footer {
  max-width: 960px; margin: 0 auto; padding: 28px 16px 56px; text-align: center;
  font-size: 15px; font-variant-caps: all-small-caps; letter-spacing: 0.12em; color: var(--ink-soft);
}
.site-footer a { text-decoration: none; border-bottom: 1px solid var(--rule); }
.site-footer a:hover { color: var(--accent); }

.lost { text-align: center; }
.lost p { margin: 0 0 18px; }

@media (max-width: 640px) {
  .site-header { padding-top: 32px; }
  .site-header__title { font-size: 36px; }
  .card { grid-template-columns: 1fr; gap: 20px; padding: 20px; }
  .card__visual { max-width: 240px; margin: 0 auto; }
  .card__title { font-size: 30px; }
}
