/* ==========================================================================
   Pages de texte (mentions légales, confidentialité…) : pages WordPress
   classiques, non construites avec Elementor. Largeur de lecture, espace
   sous l'en-tête fixe, titres à l'échelle de la charte.
   ========================================================================== */

body:not(.elementor-page) .site-main {
  max-width: calc(760px + 2 * var(--ag-marge, 24px));
  margin: 0 auto;
  padding: 140px var(--ag-marge, 24px) clamp(64px, 9vw, 112px);
  font-family: var(--ag-police-texte, "Manrope", system-ui, sans-serif);
  font-size: 17px;
  line-height: 1.7;
  color: var(--ag-doux, #9DB0CF);
}
body:not(.elementor-page) .site-main .page-header { margin: 0 0 32px; padding: 0; }
body:not(.elementor-page) .site-main h1 {
  margin: 0;
  font-family: var(--ag-police-titre, "Unbounded", system-ui, sans-serif);
  font-size: clamp(32px, 5vw, 56px);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.05;
  color: var(--ag-texte, #EAF1FF);
}
body:not(.elementor-page) .site-main h2 {
  margin: 48px 0 14px;
  font-family: var(--ag-police-titre, "Unbounded", system-ui, sans-serif);
  font-size: clamp(19px, 2vw, 24px);
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.2;
  color: var(--ag-texte, #EAF1FF);
}
body:not(.elementor-page) .site-main p { margin: 0 0 14px; }
body:not(.elementor-page) .site-main ul { margin: 0 0 14px; padding-left: 1.2em; }
body:not(.elementor-page) .site-main li { margin-bottom: 6px; }
body:not(.elementor-page) .site-main strong { color: var(--ag-texte, #EAF1FF); }
body:not(.elementor-page) .site-main a { color: var(--ag-accent, #8EC1FF); text-decoration: underline; text-underline-offset: 3px; }
body:not(.elementor-page) .site-main a:hover { color: var(--ag-texte, #EAF1FF); }

@media (max-width: 767px) {
  body:not(.elementor-page) .site-main { padding-top: 112px; font-size: 16px; }
}

/* --- Page 404 ----------------------------------------------------------------- */

body:not(.elementor-page) .site-main.ag-erreur {
  min-height: 72svh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 160px;
}
.ag-erreur__code {
  margin: 0 0 8px !important;
  font-family: var(--ag-police-titre, "Unbounded", system-ui, sans-serif);
  font-size: clamp(96px, 18vw, 200px);
  font-weight: 800;
  line-height: 0.9;
  letter-spacing: -0.05em;
  color: transparent;
  -webkit-text-stroke: 2px rgba(61, 139, 255, 0.55);
}
.ag-erreur__texte { max-width: 46ch; margin-top: 18px !important; font-size: 18px; color: var(--ag-texte, #EAF1FF); }
.ag-erreur__actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0 32px; }
/* Les boutons gardent leurs couleurs (sinon la couleur des liens du texte l'emporte : contraste 2,5:1) */
body:not(.elementor-page) .site-main .ag-erreur__actions a { text-decoration: none; }
body:not(.elementor-page) .site-main .ag-erreur__actions a.ag-bouton--action,
body:not(.elementor-page) .site-main .ag-erreur__actions a.ag-bouton--action:hover { color: #fff; }
body:not(.elementor-page) .site-main .ag-erreur__actions a.ag-bouton--fantome { color: var(--ag-texte, #EAF1FF); }
body:not(.elementor-page) .site-main .ag-erreur__actions a.ag-bouton--fantome:hover { color: var(--ag-bleu-pale, #A9CBFF); }
.ag-erreur__aide { font-size: 15px; }

@media (max-width: 767px) {
  body:not(.elementor-page) .site-main.ag-erreur { padding-top: 128px; }
  .ag-erreur__actions .ag-bouton { flex: 1 1 100%; }
}
