/* ============================================================
   BASE — variables, reset, body, container, utilitaires (.grad, .rouge)
============================================================ */

:root {
  --bleu: #000091;
  --bleu-2: #1212ff;
  --bleu-3: #6a6afe;
  --rouge: #e1000f;
  --jaune: #ffe800;
  --orange: #ff7a3d;
  --vert: #00a96e;
  --violet: #7a5cff;

  --ink: #161616;
  --ink-2: #3a3a3a;
  --ink-3: #6a6a6a;
  --line: #e7e7e9;
  --bg: #ffffff;
  --bg-soft: #f6f6f7;
  --bg-accent: #fff8e1;
  --bg-dark: #0a0a23;

  --grad: linear-gradient(90deg, #000091 0%, #1212ff 35%, #e1000f 100%);

  --maxw: 1180px;
  --narrow: 760px;

  --r-sm: 6px;
  --r-md: 14px;
  --r-lg: 22px;
}

* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: 70px;
}
@media (max-width: 1080px) {
  html { scroll-padding-top: 112px; } /* top bar + sub-bar */
}

html, body {
  margin: 0;
  padding: 0;
}
body {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-feature-settings: "ss01", "cv11";
  color: var(--ink);
  background: var(--bg);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Permet aux sections full-bleed (.pquote) de s'étendre au-delà
     d'éventuels conteneurs contraints, sans introduire de scroll horizontal. */
  overflow-x: clip;
}

a { color: inherit; }

.container {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 32px;
}
.container--narrow {
  max-width: var(--narrow);
  margin: 0 auto;
  padding: 0 32px;
}

/* Wrapper de tout le contenu principal — réserve l'espace
   à gauche pour la sidebar sur desktop. */
.layout {
  /* aucune marge sur mobile (sub-bar en haut à la place) */
  /* PAS d'overflow-x: clip ici — sinon les sections full-bleed (.pquote)
     qui débordent via le pattern `width: 100vw; margin: calc(50% - 50vw)`
     seraient écrêtées avant d'être visibles. Le clip est posé sur <body>. */
}

.grad {
  background: var(--grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
/* On dark backgrounds, the original gradient starts too dark (#000091) and the
   first letters get lost. Same palette as --grad, just lifted slightly at the
   start so "Abondante" stays readable on #0a0a23. */
.block--dark .grad,
.summary .grad {
  background: linear-gradient(90deg, #151dc0 0%, #2e3aff 35%, #e1000f 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.rouge { color: var(--rouge); }

/* Lock body scroll when a dialog is open */
body.has-modal { overflow: hidden; }
