@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Space+Grotesk:wght@400;500;600;700;800&display=swap');

:root {
  --rouge: #FF0000;
  --rouge2: #CC0000;
  --rouge-glow: rgba(255,0,0,.22);
  --rouge-soft: rgba(255,0,0,.07);
  --rouge-border: rgba(255,0,0,.18);
  --blanc: #fff;
  --bg: #F7F7FC;
  --bg2: #EFEFF5;
  --glass: rgba(255,255,255,.68);
  --glass-b: rgba(0,0,0,.07);
  --txt: #0C0C18;
  --txt2: #52526E;
  --txt3: #9898B2;
  --f1: 'Space Grotesk', sans-serif;
  --f2: 'Inter', sans-serif;
  --tr: all .38s cubic-bezier(.4,0,.2,1);
}

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
html { overflow-x: clip; }
body { font-family: var(--f2); background: var(--bg); color: var(--txt); overflow-x: clip; -webkit-font-smoothing: antialiased; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }
img { max-width: 100%; display: block; }

/* GRILLE DE FOND */
body::before {
  content: ''; position: fixed; inset: 0;
  background-image: linear-gradient(rgba(0,0,0,.022) 1px, transparent 1px), linear-gradient(90deg, rgba(0,0,0,.022) 1px, transparent 1px);
  background-size: 52px 52px; pointer-events: none; z-index: 0;
}

.container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 32px; }

/* RESPONSIVE GLOBAL */
/* Les règles responsive du footer et des stats du hero sont dans footer.css / hero.css */
/* Bouton d'envoi en cours de traitement (public/js/envoi.js) */
.btn-en-cours { cursor: progress !important; opacity: .85; pointer-events: none; }
.btn-en-cours > span + span { margin-left: 10px; }
.btn-spinner {
  display: inline-block; width: 1em; height: 1em; flex: none; vertical-align: -0.125em;
  border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%;
  animation: btn-spin .7s linear infinite;
}
@keyframes btn-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .btn-spinner { animation-duration: 1.6s; } }
