/* site.css — couche d'intégration : centrage, responsive (maquettes desktop -> mobile)
   Charte : voir HANDOFF.md. Les styles de composition restent inline (fidélité maquette) ;
   cette feuille ne fait que centrer la page et produire la déclinaison mobile exigée. */

html { background: #F5F3EF; }
body { max-width: 1280px; margin: 0 auto; }

img { max-width: 100%; height: auto; }

/* zone tactile minimale sur les CTA (README §Responsive) */
a[style*="background:#C8372A"], button[style*="background:#C8372A"] { min-height: 44px; }

@media (max-width: 900px) {
  /* toutes les grilles multi-colonnes passent en une colonne */
  [style*="grid-template-columns"] { grid-template-columns: 1fr !important; }

  /* échelle typographique mobile */
  [style*="font-size:72px"] { font-size: 42px !important; line-height: 1.02 !important; }
  [style*="font-size:64px"] { font-size: 38px !important; line-height: 1.04 !important; }
  [style*="font-size:56px"] { font-size: 34px !important; }
  [style*="font-size:52px"] { font-size: 31px !important; line-height: 1.08 !important; }
  [style*="font-size:50px"] { font-size: 30px !important; }
  [style*="font-size:46px"] { font-size: 29px !important; line-height: 1.1 !important; }
  [style*="font-size:44px"] { font-size: 28px !important; line-height: 1.1 !important; }
  [style*="font-size:40px"] { font-size: 26px !important; line-height: 1.12 !important; }

  /* paddings de section resserrés, gouttière conservée à 30px pour garder
     l'alignement du débord négatif du bloc immersion */
  [style*="padding:64px 40px"] { padding: 40px 30px 36px !important; }
  [style*="padding:80px"] { padding-top: 48px !important; padding-bottom: 40px !important; }

  /* navigation : empilement, CTA pleine largeur */
  body > div:first-of-type { flex-wrap: wrap; row-gap: 0; }
  body > div:first-of-type > a { padding-top: 12px; padding-bottom: 12px; }
  body > div:first-of-type > a[style*="background:#C8372A"] { width: 100%; justify-content: center; margin-left: 0 !important; }
  body > div:first-of-type > a[style*="margin-left:auto"] { margin-left: 0 !important; }

  /* pied de page : colonnes empilées (couvert par la règle grid globale) */

  /* champs : zone tactile */
  input, select, textarea, summary { min-height: 44px; }
}

@media (max-width: 520px) {
  [style*="font-size:72px"] { font-size: 36px !important; }
  [style*="font-size:64px"] { font-size: 33px !important; }
}

/* impression sobre */
@media print {
  a[style*="background:#C8372A"] { color: #fff !important; }
}
