/* Rôles partagés de la vitrine. Les compositions propres aux pages restent
   dans leurs feuilles dédiées. Aucun changement de la racine rem. */
.legal-page { width: 100%; max-width: 78ch; margin-inline: auto; overflow-wrap: anywhere; }
.vitrine-error { padding: 3rem var(--vitrine-gutter); max-width: 78ch; margin-inline: auto; overflow-wrap: anywhere; }

@media (min-width: 1600px) {
  .vitrine-site main .text-xs { font-size: var(--fs-label); }
  .vitrine-site main .text-sm { font-size: var(--fs-small); }
  .vitrine-site main .text-base { font-size: var(--fs-body); }
  .vitrine-site main figcaption { font-size: var(--fs-small); }
  .vitrine-site main dt { font-size: var(--fs-label); }
  .vitrine-site [data-react-component="ContactBesoinStack"] span.font-mono.uppercase { font-size: var(--fs-label); }
  .vitrine-site main :is(.type-lead, .type-body) { max-width: 65ch; }
  .vitrine-site main :is(.mob-part, .desk-part, .svc-fit__body, .svc-why__col-body) p { max-width: 68ch; }
  .vitrine-site main :is(a.inline-flex, button.inline-flex, .vitrine-cta, .svc-hero__cta, .mw-button,
    .mob-btn, .desk-btn, .blog-btn, .blog-cta-card__btn, .rx-cta, .rx-reset-btn,
    .cf-submit, .sci-hero-btn, .sci-contact__btn, .ap-cta__btn) {
    font-size: var(--fs-button);
    min-height: 3.1em;
    height: auto;
    line-height: 1.45;
    white-space: normal;
  }
  .vitrine-site main :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    min-height: 2.9em;
    line-height: 1.6;
  }
  .vitrine-site main :is(.grid.gap-8, .grid.gap-12, .grid.gap-20) { gap: var(--vitrine-gap); }
  .vitrine-site[data-page="DeveloppementWebSurMesure"] main p,
  .vitrine-site[data-page="RefonteModernisationLogiciel"] main p,
  .vitrine-site[data-page="ApiIntegration"] main p { max-width: 68ch; }
  /* Ces trois héros partagent la composition texte / démonstration. Une
     fenêtre très haute ne doit pas créer un écran de vide autour d'elle. */
  .vitrine-site:is([data-page="DeveloppementWebSurMesure"], [data-page="RefonteModernisationLogiciel"], [data-page="ApiIntegration"]) main > section.min-h-screen {
    min-height: min(100svh, 80rem);
  }
  .vitrine-site[data-page="Contact"] main > section > .max-w-8xl,
  .vitrine-site[data-page="Contact"] main .cc-fiches > .max-w-8xl,
  .vitrine-site[data-page="Contact"] main [data-react-component="ContactBesoinStack"] .max-w-8xl {
    max-width: var(--vitrine-wide-max);
  }
  .legal-page, .vitrine-error {
    --fs-hero: clamp(2.4rem, calc(1.5rem + 1vw), 4.5rem);
    --fs-title: clamp(2rem, calc(1.2rem + .7vw), 3.5rem);
    max-width: 78ch;
    font-size: var(--fs-body);
  }
}
