/* Override pour contraindre la largeur et fixer la lisibilité des anciennes pages
   Garde les backgrounds (parchemin, papier) mais reset les float/largeurs cassés. */
body {
  max-width: 820px !important;
  margin: 0 auto !important;
  padding: 60px 20px 40px !important;
  font-family: Georgia, 'Cormorant Garamond', serif !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
  background-attachment: scroll !important;
  text-align: left !important;
}
@media (max-width: 768px) {
  body { padding: 50px 16px 30px !important; font-size: 16px !important; }
}

/* Reset largeur/float des containers avec IDs (gardent leurs backgrounds) */
#TitreG, #Titre, #Cadre, #FdCadre, #Page, #SsTitreG,
#Titre0, #Titre1, #Titre2, #Titre3, #Titre4, #PtCadre {
  width: auto !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  float: none !important;
  box-sizing: border-box !important;
}

#Cadre, #Titre, #TitreG, #SsTitreG {
  margin: 14px 0 !important;
  padding: 18px 22px !important;
  border-radius: 10px !important;
  display: block !important;
}

#TitreG {
  text-align: center !important;
}

/* Footer navigation : flèches précédent/haut/suivant en ligne */
#FdCadre {
  margin: 28px 0 !important;
  display: flex !important;
  gap: 10px !important;
  justify-content: center !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
}

#PtCadre {
  width: 72px !important;
  height: auto !important;
  padding: 6px !important;
  border-radius: 8px !important;
  display: inline-block !important;
}
#PtCadre img { width: 100% !important; display: block !important; }

img { max-width: 100% !important; height: auto !important; }
p, h1, h2, h3, h4 { max-width: 100% !important; word-wrap: break-word !important; }
h1, h2, h3 { font-family: 'Cormorant Garamond', Georgia, serif !important; font-weight: 500 !important; }
a { color: #ad2d2d !important; }

/* Tables/cellules - pas de débordement */
table { width: 100% !important; max-width: 100% !important; border-collapse: collapse !important; }
td, th { word-wrap: break-word !important; padding: 6px 10px !important; vertical-align: top !important; }

/* Colonnes LT/FR en mobile */
@media (max-width: 600px) {
  .TNormColL, .TNormColR, .TNormColC, .TNormColJ {
    width: 100% !important;
    float: none !important;
    display: block !important;
  }
}

body { font-feature-settings: "liga" 1, "kern" 1 !important; }
