/* SECTION 01 — FORMATS */
  .formats-table {
    margin-top: 2.5rem;
    border-top: 2px solid var(--vhd-texte);
  }
  .formats-header, .formats-row {
    display: grid;
    grid-template-columns: 14rem 1fr 12rem;
    gap: 2rem;
    padding: 1rem 0;
    border-bottom: 1px solid var(--vhd-filet);
    align-items: baseline;
  }
  .formats-header {
    font-size: var(--t-meta);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-weight: 500;
    color: var(--vhd-gris);
  }
  .format-nom { font-size: 1rem; font-weight: 600; }
  .format-fonction { font-size: 0.9375rem; line-height: 1.55; color: var(--vhd-texte); }
  .format-cercle {
    font-size: var(--t-meta);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--vhd-gris);
    font-weight: 500;
  }

  /* SECTIONS DE CORPUS */
  .corpus-section { background: var(--vhd-fond); }
  .corpus-section.alt { background: var(--vhd-fond-alt); }
  .corpus-table {
    margin-top: 2rem;
    background: var(--vhd-fond);
    border: 1px solid var(--vhd-filet);
  }
  .corpus-row {
    display: grid;
    grid-template-columns: 1fr 14rem 14rem 6rem;
    gap: 1.5rem;
    padding: 1.25rem 1.75rem;
    border-bottom: 1px solid var(--vhd-filet);
    align-items: baseline;
    text-decoration: none;
    color: var(--vhd-texte);
    transition: background 0.2s ease;
  }
  .corpus-row:last-child { border-bottom: none; }
  .corpus-row.is-link { cursor: pointer; }
  .corpus-row.is-link:hover { background: var(--vhd-fond-alt); }
  .corpus-row.is-unavailable { opacity: 0.55; }
  .corpus-titre { font-size: 0.9375rem; font-weight: 600; line-height: 1.4; }
  .corpus-code {
    font-size: var(--t-meta);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--vhd-cyan);
    font-weight: 500;
    font-variant-numeric: tabular-nums;
  }
  .corpus-statut { font-size: var(--t-meta); letter-spacing: 0.1em; color: var(--vhd-gris); }
  .corpus-statut.is-valide { color: var(--vhd-or); font-weight: 500; }
  .corpus-action {
    font-size: var(--t-meta);
    letter-spacing: 0.15em;
    text-transform: uppercase;
    font-weight: 500;
    text-align: right;
  }
  .corpus-action.is-available { color: var(--vhd-or); }
  .corpus-action.is-pending { color: var(--vhd-gris); }
  .corpus-header-row {
    display: grid;
    grid-template-columns: 1fr 14rem 14rem 6rem;
    gap: 1.5rem;
    padding: 1rem 1.75rem;
    border-bottom: 2px solid var(--vhd-texte);
    background: var(--vhd-fond);
    font-size: var(--t-meta);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-weight: 500;
    color: var(--vhd-gris);
  }
  .mention-section {
    margin-top: 2rem;
    font-size: var(--t-meta);
    color: var(--vhd-gris);
    font-style: italic;
    max-width: 64ch;
  }

  /* SECTION ECLAIRAGES (en construction) */
  .placeholder-section {
    background: var(--vhd-fond);
    border: 1px dashed var(--vhd-filet);
    padding: 3rem 2rem;
    text-align: center;
    margin-top: 2rem;
  }
  .placeholder-text { font-size: 0.9375rem; color: var(--vhd-gris); font-style: italic; }

  /* JOURNAL DES MODIFICATIONS */
  .journal { margin-top: 2rem; border-top: 1px solid var(--vhd-texte); }
  .journal-header {
    display: grid;
    grid-template-columns: 10rem 14rem 1fr;
    gap: 1.5rem;
    padding: 0.875rem 0;
    font-size: var(--t-meta);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-weight: 500;
    color: var(--vhd-gris);
    border-bottom: 1px solid var(--vhd-filet);
  }
  .journal-row {
    display: grid;
    grid-template-columns: 10rem 14rem 1fr;
    gap: 1.5rem;
    padding: 1rem 0;
    border-bottom: 1px solid var(--vhd-filet);
    align-items: baseline;
    font-size: 0.9375rem;
  }
  .journal-date {
    font-variant-numeric: tabular-nums;
    color: var(--vhd-gris);
    font-size: var(--t-meta);
    letter-spacing: 0.08em;
  }
  .journal-doc { font-weight: 600; font-size: 0.875rem; }
  .journal-evolution { color: var(--vhd-texte); line-height: 1.5; }

  @media (max-width: 880px) {
    .formats-header, .formats-row { grid-template-columns: 1fr; gap: 0.5rem; }
    .corpus-row, .corpus-header-row { grid-template-columns: 1fr; gap: 0.5rem; padding: 1.25rem 1.25rem; }
    .corpus-action { text-align: left; }
    .journal-header, .journal-row { grid-template-columns: 1fr; gap: 0.5rem; }
  }

  @media print {
    section.section { page-break-inside: avoid; padding: 1.5rem 0; }
  }
