/* Airtrack France — référence commune pour la future intégration PrestaShop.
   Une seule famille, disponible localement : aucun chargement distant.
   Tailles indiquées en rem, avec une base navigateur de 16 px. */
:root {
  --color-navy: #101d32;
  --color-lime: #bef531;
  --color-white: #ffffff;
  --color-surface: #f2f4f7;
  --color-text: #101d32;
  --color-muted: #536173;
  --color-border: #d8dfe7;
  --font-family: Arial, Helvetica, sans-serif;
  --weight-regular: 400;
  --weight-bold: 700;
  --text-hero: 4.5rem;
  --text-section: 3rem;
  --text-subsection: 2rem;
  --text-card: 1.375rem;
  --text-footer-title: 1rem;
  --text-body: 1.125rem;
  --text-small: .875rem;
  --text-label: .75rem;
  --space-1: .5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2rem;
  --space-5: 3rem;
  --space-6: 5rem;
  --page-gutter: 2rem;
  --content-width: 75rem;
}
*, *::before, *::after { box-sizing: border-box; }
html { font-size: 100%; }
body { margin: 0; font-family: var(--font-family); font-weight: var(--weight-regular); font-size: var(--text-body); line-height: 1.6; color: var(--color-text); background: var(--color-white); }
h1,h2,h3,h4,p { margin: 0; }
h1,h2,h3,h4,.title-hero,.title-section,.title-subsection,.title-card,.title-footer { font-family: var(--font-family); font-weight: var(--weight-bold); text-wrap: balance; }
h1,.title-hero { font-size: var(--text-hero); line-height: 1.05; letter-spacing: -.04em; }
h2,.title-section { font-size: var(--text-section); line-height: 1.1; letter-spacing: -.035em; }
h3,.title-subsection { font-size: var(--text-subsection); line-height: 1.2; letter-spacing: -.025em; }
h4,.title-card { font-size: var(--text-card); line-height: 1.25; letter-spacing: -.015em; }
.title-footer { font-size: var(--text-footer-title); line-height: 1.4; letter-spacing: 0; }
.body-copy { font-size: var(--text-body); line-height: 1.6; max-width: 65ch; }
.small-copy { font-size: var(--text-small); line-height: 1.6; }
.eyebrow { font-size: var(--text-label); line-height: 1.5; font-weight: var(--weight-bold); letter-spacing: .18em; text-transform: uppercase; }
.text-muted { color: var(--color-muted); }
.text-accent { color: var(--color-lime); }
/* Le vert sert d'accent, de préférence sur bleu nuit.
   Sur fond blanc, les petits textes restent bleu nuit pour être lisibles. */
.container { width: min(100% - 2 * var(--page-gutter), var(--content-width)); margin-inline: auto; }
.section { padding-block: var(--space-6); }
.stack > * + * { margin-top: var(--space-3); }
.theme-dark { background: var(--color-navy); color: var(--color-white); }
.theme-dark .text-muted { color: #cbd3df; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: var(--space-2); min-height: 3rem; padding: .875rem 1.5rem; border: 1px solid transparent; border-radius: 999px; font: var(--weight-bold) 1rem/1.2 var(--font-family); text-decoration: none; cursor: pointer; }
.button-primary { background: var(--color-lime); color: var(--color-navy); }
.button { transition: transform 240ms cubic-bezier(.2,.7,.2,1), background-color 240ms ease, color 240ms ease, border-color 240ms ease, box-shadow 240ms ease; }
@media (hover: hover) {
  .button:hover { transform: translateY(-3px); box-shadow: 0 8px 24px #101d3224; }
  .button-primary:hover { background: #cff96b; }
  .button-secondary:hover { background: var(--color-navy); color: var(--color-white); border-color: var(--color-navy); }
  .theme-dark .button-secondary:hover { background: var(--color-white); color: var(--color-navy); border-color: var(--color-white); }
}
.button:active { transform: translateY(0); box-shadow: none; }
@media (prefers-reduced-motion: reduce) { .button { transition: none; } .button:hover { transform: none; } }
.button-secondary { background: transparent; color: inherit; border-color: currentColor; }
.button:focus-visible,a:focus-visible,summary:focus-visible { outline: 3px solid currentColor; outline-offset: 4px; }
.navigation { font-size: var(--text-small); line-height: 1.4; font-weight: var(--weight-regular); }
.faq-question { font: var(--weight-bold) var(--text-body)/1.4 var(--font-family); }
.footer-copy { font-size: var(--text-small); line-height: 1.6; }
@media (max-width: 47.99rem) {
  :root { --text-hero: 2.75rem; --text-section: 2rem; --text-subsection: 1.5rem; --text-card: 1.25rem; --text-body: 1rem; --space-6: 3rem; --page-gutter: 1.25rem; }
}
