/* 01-base.css — fondations globales */

:root{
  --content-w:1080px; --page-gutter:16px;
  --violet:#2E2C62; --ink:#0E1030; --muted:#243056; --paper:#F2F3FF;
  --title:var(--paper);
  --g1:#BFC3F3; --g2:#8E94D8; --g3:#595EA8; --g4:var(--violet);
  --maxw:1080px; --radius-sm:8px; --radius:12px; --radius-lg:20px;
  --shadow-1:0 6px 18px rgba(14,16,48,.12);
  --shadow-2:0 10px 24px rgba(14,16,48,.16);
  --top-h:290px; --logo-h:300px;
  --bar-py:32px; --shrink:0;
  --title-large:2.8rem; --title-small:1.8rem;
  --ff-sans:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  --ff-serif:'Bodoni Moda',Georgia,serif;
  --ff-accent:'Merriweather',Georgia,serif;
  --t-fast:.18s; --t-base:.36s;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,
*::before,
*::after{ box-sizing:border-box; }

html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
}

body{
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font-family:var(--ff-sans);
  font-size:16px;
  line-height:1.55;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-synthesis-weight:none;
}

img,video{ display:block; max-width:100%; height:auto; }
svg{ display:inline-block; vertical-align:middle; }

a{
  color:inherit;
  text-decoration:none;
}

a:focus-visible{
  outline:2px solid rgba(46,44,98,.5);
  outline-offset:3px;
}

button,input,select,textarea{
  font:inherit;
  color:inherit;
}

h1,h2,h3,h4,h5,h6{ margin:0 0 .4em; }
p{ margin:.6em 0; }

.after-bar{
  background:var(--paper);
  padding:24px 0;
}

main{
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 16px;
}

.section{ padding:32px 0; }

.sr-only{
  position:absolute!important;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
  border:0;
}

.container{
  max-width:var(--maxw);
  margin-inline:auto;
  padding-inline:16px;
}

::selection{
  background:rgba(46,44,98,.12);
}

@media (prefers-reduced-motion:reduce){
  :root{ --t-fast:0s; --t-base:0s; }
  *{
    animation-duration:0s!important;
    transition-duration:0s!important;
    scroll-behavior:auto!important;
  }
}

/* ===== Bouton principal "En savoir plus" (style allégé) ===== */

.btn-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 26px;
  border-radius:9999px;
  border:none;
  font-family:var(--ff-accent);
  font-weight:900;
  font-size:.95rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#0E1030;
  background:
    radial-gradient(160% 200% at 50% 40%,
      var(--g1) 0%,
      var(--g2) 38%,
      var(--g3) 68%,
      var(--g4) 100%);
  box-shadow:
    0 0 0 1px rgba(230,231,255,.28),
    0 10px 22px rgba(198,201,255,.40),
    0 2px 6px rgba(0,0,0,.12),
    0 0 0 2px rgba(198,201,255,.95),
    0 18px 40px rgba(158,168,255,.55);
  text-decoration:none;
  cursor:pointer;
  transform:translateY(0) scale(1);
  transition:
    transform .32s cubic-bezier(.2,.7,.3,1),
    box-shadow .32s ease;
}

.btn-primary:hover{
  transform:translateY(-1px) scale(1.04);
  box-shadow:
    0 0 0 1px rgba(230,231,255,.36),
    0 16px 36px rgba(198,201,255,.55),
    0 4px 10px rgba(0,0,0,.16),
    0 0 0 3px rgba(198,201,255,1),
    0 26px 60px rgba(158,168,255,.68);
}

.btn-primary:focus-visible{
  outline:2px solid #ffffff;
  outline-offset:3px;
  box-shadow:
    0 0 0 2px rgba(255,255,255,1),
    0 0 0 6px rgba(158,168,255,.85),
    0 20px 46px rgba(158,168,255,.75);
}

/* Empêche le centrage de bouger quand la scrollbar apparaît/disparaît */
html{
  scrollbar-gutter: stable;
}

/* Fallback si scrollbar-gutter n'est pas supporté */
@supports not (scrollbar-gutter: stable){
  html{ overflow-y: scroll; }
}
