/* ============================================================
   Signal Alpha — pages annexes : CSS de production (aplati)
   Pages : /bons-plans/ · /mentions-legales/ · /cgu/
           /privacy-policy/ · /newsletter-merci/
   Choix retenus figés (maquette de référence : reference/) :
   fond « Bandes », densité « Confort », sommaire latéral,
   colonne de texte 760px, carte « L'essentiel », FAQ, suggestions.
   Dépendances : Poppins/DM Sans (déjà chargées par le site),
   affiliate-box.css sur /bons-plans/ (encadrés .sab).
   ------------------------------------------------------------
   ÉCARTS vs handoff (déploiement 2026-07-03, cf. plan) :
   1. Préfixe `.sa-annexe` sur .axp-article p / .axp-sec p / .axp-sec a :
      le CSS additionnel du Customizer (post 2125) s'imprime APRÈS ce
      fichier (wp_head prio 101) et ses règles `.sar-main p { margin:0 }`
      et `.sar-main a { text-decoration:none }` gagnaient l'égalité de
      spécificité (0-1-1) par ordre d'apparition.
   2. `scroll-behavior:smooth` sous @media (prefers-reduced-motion:
      no-preference) — WCAG AA (CLAUDE.md).
   3. Bloc « soulignés » en fin de fichier avec !important : le Customizer
      contient `.ast-single-post .entry-content .sar-main a
      { text-decoration:none }` (0-3-1, imprimé en dernier) qui écrase
      les soulignés du gabarit. Override page-scoped plutôt que d'éditer
      le CSS site-wide.
   4. Graisses réelles de la maquette auto-hébergées (Poppins 600,
      DM Sans variable 500-700) : le site ne servait que Poppins 500/700
      + DM Sans 400 (600→700 substitué, 500/700 synthétisés).
   5. `.ast-container` déplafonné (Astra le limite à ~1364px même en
      pleine largeur → barres blanches autour des bandes ≥1400px).
   6. Ancres/`.axp-sec h2` : numéros SUR LA MÊME LIGNE que le titre en
      mobile (demande Henri 2026-07-03 — le handoff les empilait ≤760px).
   Offsets sticky TOC/ancres inchangés : header vérifié non-collant en
   pratique (sticky borné par la hauteur de son parent).
   ============================================================ */

/* Écart n°4 — graisses de la maquette (chargées uniquement sur ces 5 pages) */
@font-face { font-family: 'Poppins'; src: url('/wp-content/uploads/fonts/poppins-600.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'DM Sans'; src: url('/wp-content/uploads/fonts/dmsans-500-700.woff2') format('woff2'); font-weight: 500 700; font-style: normal; font-display: swap; }

/* Écart n°5 — bandes pleine largeur (CSS conditionnel : n'affecte que les 5 pages annexes) */
.ast-page-builder-template .ast-container { max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }

@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}

/* ---------- Rappels socle (identiques au handoff homepage ; inoffensifs en doublon) ---------- */
:root {
  --sar-terra: #B85832;
  --sar-terra-2: #D36D4C;
  --sar-amber: #D17F26;
  --sar-ink: #42413E;
  --sar-ink-soft: #6E665B;
  --sar-card: #FFFFFF;
  --sar-radius: 16px;
}
.sar-main { font-family: 'DM Sans', sans-serif; color: var(--sar-ink); font-size: 17px; line-height: 1.6; background: #fff; }
.sar-main h1, .sar-main h2, .sar-main h3 { font-family: 'Poppins', sans-serif; clear: none; }
.sar-main p { margin: 0; }
.sar-main a { text-decoration: none; }
.sar-wrap { max-width: 1200px; margin: 0 auto; padding: 0 32px; }
.sar-overline { display: block; font-family: 'Poppins', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--sar-amber); margin-bottom: 10px; }
.sar-h2 { font-size: 32px; font-weight: 700; line-height: 1.25; margin: 0 0 14px; background-image: linear-gradient(90deg, rgb(211, 109, 76) 0%, rgb(58, 121, 143) 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; width: fit-content; }

/* ---------- Bons plans : gabarit article ---------- */
.axp-article { padding: 48px 0 64px; }
.axp-article-wrap { max-width: 824px; margin: 0 auto; padding: 0 32px; }
.axp-article-title { font-size: 38px; font-weight: 700; line-height: 1.2; margin: 0 0 12px; padding-bottom: .08em; background-image: linear-gradient(90deg, rgb(211, 109, 76) 0%, rgb(58, 121, 143) 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; width: fit-content; text-wrap: balance; }
.sar-main .axp-article-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0 0 30px; font-family: 'Poppins', sans-serif; font-size: 12.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--sar-amber); }
.axp-article-meta .axp-dot { color: #E0C9A0; }
.sa-annexe .axp-article p { font-size: 16.5px; line-height: 1.7; color: #57534C; margin: 0 0 16px; text-wrap: pretty; }
.axp-article p strong { color: var(--sar-ink); font-weight: 600; }
.sa-annexe .axp-article p a, .sa-annexe .axp-article h2 a { color: var(--sar-terra); -webkit-text-fill-color: currentColor; text-decoration: underline; text-decoration-color: rgba(184, 88, 50, .35); text-underline-offset: 3px; transition: color .15s; }
.sa-annexe .axp-article p a:hover, .sa-annexe .axp-article h2 a:hover { color: var(--sar-terra-2); }
.axp-article h2 { font-size: 26px; font-weight: 700; line-height: 1.3; margin: 44px 0 12px; padding-bottom: .08em; background-image: linear-gradient(90deg, rgb(211, 109, 76) 0%, rgb(58, 121, 143) 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; width: fit-content; text-wrap: balance; }
.sa-annexe .axp-article h3 { font-size: 17.5px; font-weight: 600; color: var(--sar-ink); line-height: 1.4; margin: 26px 0 8px; }
.axp-article .sab { margin: 24px 0 34px; }
.axp-article .sab-logo img { background: #fff; border-radius: 8px; padding: 5px 9px; }

/* ---------- En-tête des pages légales (sans bandeau, sans icône) ---------- */
.axp-hero { padding: 46px 0 0; }
/* padding-left 3px : alignement optique sur l'encre du H1 — Henri 2026-07-03.
   font-weight 700 : seules les graisses Poppins 500/700 sont chargées ; 600
   rendait la 500, plus fine que le fil d'Ariane des pages catégories. */
.axp-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding-left: 3px; }
.axp-crumb a, .axp-crumb [aria-current] { font-family: 'Poppins', sans-serif; font-size: 13.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #3A798F; transition: color .15s; }
.axp-crumb a:hover { color: var(--sar-terra-2); }
.axp-crumb .axp-crumb-sep { color: #3A798F; font-weight: 700; }
.axp-hero-main { padding-top: 24px; }
.axp-title { font-size: 42px; font-weight: 700; line-height: 1.18; margin: 0 0 10px; padding-bottom: .08em; background-image: linear-gradient(90deg, rgb(211, 109, 76) 0%, rgb(58, 121, 143) 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; width: fit-content; text-wrap: balance; }
.axp-lead { font-size: 17.5px; color: var(--sar-ink-soft); line-height: 1.6; max-width: 680px; text-wrap: pretty; }
.axp-meta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 16px; font-family: 'Poppins', sans-serif; font-size: 12.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--sar-amber); }
.axp-meta-row .axp-dot { color: #E0C9A0; }

/* ---------- Pages légales : gabarit commun ---------- */
.axp-legal-wrap { padding: 40px 0 64px; --axp-doc-w: 760px; }
.axp-legal-grid { display: grid; grid-template-columns: 224px minmax(0, var(--axp-doc-w)); gap: 60px; justify-content: start; }

/* Sommaire latéral collant */
.axp-toc { position: sticky; top: 28px; align-self: start; }
.axp-toc-k { display: block; font-family: 'Poppins', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--sar-amber); margin-bottom: 12px; }
.axp-toc ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.axp-toc a { display: flex; align-items: baseline; gap: 9px; padding: 6px 0; font-family: 'Poppins', sans-serif; font-size: 13.5px; font-weight: 500; line-height: 1.35; color: var(--sar-ink-soft); transition: color .15s; }
.axp-toc a:hover { color: var(--sar-terra-2); }
.axp-toc .axp-toc-n { font-size: 11.5px; font-weight: 600; color: #B49B72; font-variant-numeric: tabular-nums; flex-shrink: 0; }

/* Carte « L'essentiel » */
.axp-essentiel { background: #FCF9F2; border-radius: var(--sar-radius); padding: 24px 26px 22px; margin-bottom: 40px; }
.axp-essentiel-k { display: block; font-family: 'Poppins', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--sar-amber); margin-bottom: 16px; }
.axp-essentiel dl { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px 28px; margin: 0; }
.axp-essentiel dt { font-family: 'Poppins', sans-serif; font-size: 11.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #B49B72; margin-bottom: 3px; }
.axp-essentiel dd { margin: 0; font-size: 15px; line-height: 1.5; color: var(--sar-ink); }

/* Corps du document */
.axp-doc { min-width: 0; }
.sar-main .axp-doc-intro { font-size: 17px; line-height: 1.7; color: var(--sar-ink); margin: 0 0 46px; text-wrap: pretty; }
.axp-sec { scroll-margin-top: 26px; padding-bottom: 34px; }
.sa-annexe .axp-sec h2 { display: flex; align-items: baseline; gap: 14px; font-size: 21px; font-weight: 600; color: var(--sar-ink); line-height: 1.35; margin: 0 0 14px; }
.axp-n { font-family: 'Poppins', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: .12em; color: var(--sar-amber); font-variant-numeric: tabular-nums; flex-shrink: 0; }
.sa-annexe .axp-sec p { font-size: 16px; line-height: 1.7; color: #57534C; margin: 0 0 13px; text-wrap: pretty; }
.sa-annexe .axp-sec p:last-child { margin-bottom: 0; }
.axp-sec strong { color: var(--sar-ink); font-weight: 600; }
.sa-annexe .axp-sec a { color: var(--sar-terra); text-decoration: underline; text-decoration-color: rgba(184, 88, 50, .35); text-underline-offset: 3px; transition: color .15s; }
.sa-annexe .axp-sec a:hover { color: var(--sar-terra-2); }
.axp-sec ul { list-style: none; margin: 0 0 13px; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.axp-sec ul li { position: relative; padding-left: 24px; font-size: 16px; line-height: 1.6; color: #57534C; }
.axp-sec ul li::before { content: "–"; position: absolute; left: 2px; top: 0; font-family: 'Poppins', sans-serif; font-weight: 600; color: var(--sar-terra-2); }
.sar-main .axp-addr { background: #FCF9F2; border-radius: 12px; padding: 16px 20px; font-size: 15.5px; line-height: 1.65; color: var(--sar-ink); margin: 0 0 13px; }
.axp-addr strong { display: block; font-family: 'Poppins', sans-serif; font-weight: 600; }

/* Documents liés */
.axp-related { margin-top: 14px; padding-top: 30px; border-top: 1px solid #EFE3CC; }
.axp-related-k { display: block; font-family: 'Poppins', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--sar-amber); margin-bottom: 14px; }
.axp-related-row { display: flex; flex-wrap: wrap; gap: 10px; }
.axp-related-row a { display: inline-flex; align-items: center; gap: 8px; font-family: 'Poppins', sans-serif; font-size: 13.5px; font-weight: 500; color: var(--sar-ink); background: #fff; border: 1px solid #EADCC6; border-radius: 999px; padding: 10px 18px; transition: color .15s, border-color .15s, transform .2s; }
.axp-related-row a:hover { color: var(--sar-terra); border-color: rgba(184, 88, 50, .4); transform: translateY(-2px); }

/* ---------- Merci newsletter ---------- */
.axp-merci-main { background: #FCF9F2; padding: 58px 0 64px; }
.axp-merci-hero { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px; }
.axp-merci-icon { width: 108px; height: 108px; display: grid; place-items: center; background: rgba(255, 255, 255, .75); border: 1px solid rgba(184, 88, 50, .1); border-radius: 50%; box-shadow: 0 10px 30px rgba(178, 88, 18, .1); margin-bottom: 6px; }
.axp-merci-icon img { width: 68px; height: 68px; }
.axp-merci-hero .sar-overline { margin-bottom: 0; }
.axp-merci-title { font-size: 44px; font-weight: 700; line-height: 1.18; margin: 0; padding-bottom: .08em; background-image: linear-gradient(90deg, rgb(211, 109, 76) 0%, rgb(58, 121, 143) 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; width: fit-content; }
.axp-merci-lead { font-size: 18px; color: var(--sar-ink-soft); line-height: 1.6; max-width: 620px; text-wrap: pretty; }
.sar-main .axp-merci-note { max-width: 560px; margin: 36px auto 0; text-align: center; font-size: 14.5px; line-height: 1.6; color: var(--sar-ink-soft); text-wrap: pretty; }
.axp-merci-note strong { color: var(--sar-ink); font-weight: 600; }

/* Le bandeau newsletter du footer est redondant sur cette page
   (classe body ajoutée par functions-pages-annexes.php) */
.sa-merci-page .sar-nl { display: none; }

/* Suggestions de lecture */
.axp-sugg-sec { padding: 54px 0 64px; background: #fff; }
.axp-sugg-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 30px; }
.axp-sugg-card { display: flex; align-items: center; gap: 16px; background: var(--sar-card); border-radius: 14px; padding: 20px 22px; box-shadow: 0 4px 18px rgba(178, 88, 18, .07); transition: transform .2s, box-shadow .2s; }
.axp-sugg-card:hover { transform: translateY(-3px); box-shadow: 0 12px 26px rgba(178, 88, 18, .12); }
.axp-sugg-card img { width: 46px; height: 46px; flex-shrink: 0; }
.axp-sugg-card span { font-size: 15.5px; font-weight: 500; color: var(--sar-ink); line-height: 1.35; }
.axp-sugg-card .axp-go { margin-left: auto; color: var(--sar-terra-2); font-weight: 700; }

/* ---------- Soulignés (écart n°3 : contre `.ast-single-post .entry-content
   .sar-main a { text-decoration:none }` du Customizer, 0-3-1) ---------- */
.sa-annexe .axp-article p a,
.sa-annexe .axp-article h2 a,
.sa-annexe .axp-sec a {
  text-decoration-line: underline !important;
  text-decoration-color: rgba(184, 88, 50, .35) !important;
}
.sa-annexe .sab a.sab-review {
  text-decoration-line: underline !important;
  text-decoration-color: rgba(110, 102, 91, .4) !important;
}

/* Rétablit la hiérarchie interne face aux préfixes `.sa-annexe` (écart n°1) :
   les règles composées du gabarit (0-2-0) perdaient contre les règles p
   préfixées (0-2-1). Ré-assertion des propriétés contestées uniquement. */
.sa-annexe .sab p, .sa-annexe .sab ul { margin: 0; padding: 0; }
.sa-annexe .sab .sab-fit { margin: auto 0 0; font-size: 14.5px; line-height: 1.5; color: #6E665B; }
.sar-main.sa-annexe .axp-article-meta { font-size: 12.5px; color: var(--sar-amber); margin: 0 0 30px; }
.sar-main.sa-annexe .axp-addr { font-size: 15.5px; line-height: 1.65; color: var(--sar-ink); margin: 0 0 13px; }
/* Couleur des liens du sommaire (le thème Astra l'écrasait en brun #8A6F45) */
.sa-annexe .axp-toc a { color: var(--sar-ink-soft); }
.sa-annexe .axp-toc a:hover { color: var(--sar-terra-2); }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
  .axp-legal-grid { grid-template-columns: 200px minmax(0, 1fr); gap: 40px; }
}
@media (max-width: 940px) {
  .axp-legal-grid { display: block; }
  .axp-toc { position: static; margin-bottom: 34px; }
  .axp-toc ol { flex-direction: row; flex-wrap: wrap; gap: 8px; }
  .axp-toc a { background: #FCF9F2; border-radius: 999px; padding: 8px 15px; font-size: 12.5px; }
  .axp-sugg-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .axp-article { padding: 34px 0 46px; }
  .axp-article-wrap { padding: 0 24px; }
  .axp-article-title { font-size: 29px; }
  .axp-article h2 { font-size: 22px; }
  .axp-title { font-size: 31px; }
  .axp-hero { padding-top: 32px; }
  .axp-essentiel dl { grid-template-columns: 1fr; }
  .axp-merci-title { font-size: 32px; }
  /* Écart n°6 : numéros de section inline avec le titre (handoff : column) */
}

/* ==========================================================================
   Bons plans (page 7550) : colonne élargie à 1200px, même largeur que les
   pages catégories (.sar-wrap) — demande Henri 2026-07-04. Les autres pages
   annexes gardent leur colonne de lecture 824px.
   ========================================================================== */
body.page-id-7550 .axp-article-wrap { max-width: 1200px; }
