/* Référence commune validée sur Histoire : marges proportionnelles et zoom natif. */
body[data-page] .shell,
body[data-page] .home-museum,
body[data-page] .header.proposal-header {
  width: 85%;
  max-width: none;
  margin-inline: auto;
  box-sizing: border-box;
}
body[data-page] main { font-size: 1rem; }
body[data-page] main p { max-width: 65ch; }
body[data-page] main h1,
body[data-page] .page-heading h1,
body[data-page] .article-heading h1 { font-size: 3.5rem; }
body[data-page] #titre-accueil { font-size: 5rem; }
body[data-page] main h2,
body[data-page] .section-heading h2,
body[data-page] .proposal-history h2,
body[data-page] .museum-pullquote h2,
body[data-page] .rochling-copy h2 { font-size: 2.5rem; }
body[data-page] .page-heading > p:not(.eyebrow),
body[data-page] main .lead { font-size: 1.125rem; max-width: 65ch; }
/* Garder la hiérarchie des composants pratiques et des cartes. */
body[data-page] .visit-feature-copy h2 { font-size: 2.125rem; }
body[data-page] .booking-summary h2 { font-size: 2.375rem; }
body[data-page] .contact-help h2 { font-size: 2.625rem; }
body[data-page] .proposal-monthly h3 { font-size: 2.5rem; }
body[data-page] .proposal-date-heading h3 { font-size: 1.75rem; }
body[data-page] .proposal-day { font-size: 5.5rem; }
@media (max-width: 700px) {
  body[data-page] .shell,
  body[data-page] .home-museum,
  body[data-page] .header.proposal-header { width: calc(100% - 32px); }
  body[data-page] #titre-accueil { font-size: 3.5rem; }
}

/* Espacement des actions et couverture de livre, composants d’actualité. */
body[data-page="visiter"] .section > .field-help + .proposal-secondary { margin-top: 1.5rem; }
body[data-page] .restored-article section > .proposal-book { margin-top: 1.5rem; }
body[data-page] .restored-article .book-cover { width: 100%; max-width: 24rem; margin: 0; }
body[data-page] .restored-article .book-cover img { height: auto; aspect-ratio: auto; object-fit: contain; }
body[data-page] .restored-article .book-socials { margin-top: 1rem; }

body[data-page] .news-card > .news-meta { margin-top: 1rem; }
body[data-page] .news-card > .news-meta + h3 { margin-top: .5rem; }

/* Actualités : sections éditoriales lisibles sur la carte pierre commune. */
body[data-page] .restored-article > section {
  padding: 2rem 2.5rem;
  margin-block: 2rem;
  background: var(--card, #d8d5ce);
  color: var(--card-ink, #304431);
  border: 1px solid #b8c0aa;
  border-radius: 23px;
}
body[data-page] .restored-article > section :is(h2,h3,p,figcaption) { color: var(--card-ink, #304431); }
body[data-page] .restored-article > section.article-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(14rem, 24rem);
  gap: 2.5rem;
  align-items: center;
}
body[data-page] .article-split-copy { min-width: 0; }
body[data-page] .restored-article .article-split > .article-photo-pair { width: 100%; max-width: 24rem; margin: 0; }
body[data-page] .restored-article .article-split .article-photo-pair img { height: auto; aspect-ratio: auto; object-fit: contain; }
/* Prochaine visite : donner au texte un poids comparable au média. */
body[data-page="visiter"] .visit-overview .visit-feature-copy h2 { font-size: 2.5rem; }
body[data-page="visiter"] .visit-overview .visit-feature-copy p:not(.eyebrow) { font-size: 1.25rem; line-height: 1.65; }
body[data-page="visiter"] .visit-overview .visit-feature-copy p.visit-start { font-size: 1.375rem; }
body[data-page="visiter"] .visit-overview .visit-feature-copy p.field-help { font-size: 1.125rem; }
body[data-page="visiter"] .visit-overview .visit-feature-copy .proposal-book { font-size: 1rem; }
@media(max-width: 800px) {
  body[data-page] .restored-article > section { padding: 1.5rem; }
  body[data-page] .restored-article > section.article-split { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
}

/* Bénévolat : le texte fixe la hauteur, pas le carré de la photo. */
body[data-page="soutenir"] #benevoles .support-story { align-items: stretch; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); }
body[data-page="soutenir"] #benevoles .support-story > div:first-child { position: relative; min-width: 0; min-height: 0; }
body[data-page="soutenir"] #benevoles .support-story img { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; aspect-ratio: auto; box-sizing: border-box; }
body[data-page="contact"] .site-form > .field-help + button[type="submit"] { margin-top: 1.5rem; }
@media(max-width: 760px) {
  body[data-page="soutenir"] #benevoles .support-story { grid-template-columns: minmax(0,1fr); }
  body[data-page="soutenir"] #benevoles .support-story > div:first-child { aspect-ratio: 3 / 2; }
}