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

html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body {
  margin: 0;
  background: var(--c-white);
  color: var(--c-black);
  font-family: var(--f-body);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  letter-spacing: var(--ls-body);
}

img, video, svg { display: block; max-width: 100%; }

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

h1, h2, h3, h4, p, ul { margin: 0; padding: 0; }
ul { list-style: none; }

button {
  font: inherit;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}

.container {
  width: min(var(--container), 100%);
  margin-inline: auto;
  padding-inline: var(--container-pad);
}

/* Variante sans padding interne (ex. bannières CTA pleine largeur 1400) */
.container--flush { padding-inline: 0; }

/* Retour à la ligne visible uniquement ≥ 810px (les textes se
   réenroulent naturellement sur mobile, comme sur le site) */
@media (max-width: 809px) {
  .br-d { display: none; }
  .container { padding-inline: 16px; }
}
