/* ============================================================
   BASE MINIMALE
   Volontairement légère : on pose le fond, la police et les
   variables globales, puis on laisse Blocksy (Customizer +
   blocs) gérer le détail des composants. On n'écrase PAS
   tous les éléments, pour ne pas se battre avec le builder.
   ============================================================ */

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

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

body {
  background-color: var(--st-bg);
  color: var(--st-text);
  font-family: var(--st-font-sans);
  font-weight: var(--st-fw-regular);
  font-size: var(--st-text-base);
  line-height: var(--st-leading-normal);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Titres : Poppins, resserrés, premium. Les tailles précises
   restent pilotées par Blocksy ; on fixe juste la famille + poids. */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--st-font-sans);
  font-weight: var(--st-fw-semibold);
  line-height: var(--st-leading-tight);
  letter-spacing: var(--st-tracking-tight);
}

/* Liens = accent, avec transition douce. */
a {
  color: var(--st-accent);
  text-decoration: none;
  transition: color var(--st-dur-fast) var(--st-ease);
}
a:hover {
  color: var(--st-accent-hover);
}

/* Sélection de texte aux couleurs de marque. */
::selection {
  background: var(--st-accent);
  color: var(--st-on-accent);
}

/* Accessibilité : focus visible clair (clavier), sans casser la souris. */
:focus-visible {
  outline: 2px solid var(--st-accent);
  outline-offset: 2px;
  border-radius: var(--st-radius-sm);
}

/* Images fluides par défaut. */
img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Respect des préférences de mouvement réduit (accessibilité). */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
