/* ======================================================================================
   RESET.CSS – Réinitialisation des styles de navigateur par défaut
   Auteur                : Renaud
   Création              : 21 oct. 2025
   Dernière modification : 30 oct. 2025
   Description :
      • Ce fichier annule les styles par défaut des navigateurs pour garantir une base cohérente.
      • Il facilite la stylisation en évitant les conflits et les comportements imprévus.
   ======================================================================================= */


/* ======================================================================================
   RÈGLES DE BOX-MODEL
   Description :
      • Applique le modèle de boîte 'border-box' globalement.
   ======================================================================================= */

/* Applique 'border-box' à tous les éléments, y compris les pseudo-éléments. */
/* Cela inclut le padding et la bordure dans la largeur/hauteur totale d'un élément, */
/* simplifiant grandement les calculs de layout et la réactivité. */
*,
*::before,
*::after {
  box-sizing: border-box;
}


/* ======================================================================================
   RÈGLES DE RÉINITIALISATION MARGIN & PADDING
   Description :
      • Supprime les marges et paddings par défaut des principaux éléments HTML.
   ======================================================================================= */

/* Réinitialise les marges et paddings par défaut de la plupart des éléments de bloc. */
/* Ceci élimine les espaces blancs indésirables ajoutés par les navigateurs, */
/* permettant un contrôle total du layout via CSS. */
body,
h1, h2, h3, h4, h5, h6,
p, blockquote, pre,
dl, dd, ol, ul, menu,
figure, figcaption,
table, th, td,
fieldset, legend,
hr {
  margin: 0;
  padding: 0;
}


/* ======================================================================================
   RÈGLES DE RÉINITIALISATION DES LISTES
   Description :
      • Supprime les puces/numérotations et marges par défaut des listes.
   ======================================================================================= */

/* Réinitialise les styles de liste par défaut (puces, numérotation). */
/* La propriété 'list-style: none;' supprime les marqueurs de liste visuels. */
/* Les marges et paddings sont déjà gérés par le bloc précédent. */
ol, ul {
  list-style: none;
}


/* ======================================================================================
   RÈGLES DE RÉINITIALISATION DES IMAGES ET MÉDIAS
   Description :
      • Assure la responsivité et le comportement cohérent des médias intégrés.
   ======================================================================================= */

/* Force les images et autres médias à ne pas dépasser la largeur de leur conteneur. */
/* 'max-width: 100%' assure la responsivité de base. */
/* 'display: block' élimine l'espace blanc indésirable sous les images (comportement 'inline-block'). */
img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}


/* ======================================================================================
   RÈGLES DE RÉINITIALISATION DES FORMULAIRES ET BOUTONS
   Description :
      • Normalise l'héritage de la police pour les éléments de formulaire.
   ======================================================================================= */

/* Rend les éléments de formulaire et les boutons héritiers de la police de leur parent. */
/* Les navigateurs ont souvent des polices spécifiques pour ces éléments, 'font: inherit;' */
/* assure la cohérence avec la typographie globale du site. */
input,
button,
textarea,
select {
  font: inherit;
}


/* ======================================================================================
   RÈGLES DE RÉINITIALISATION DES LIENS
   Description :
      • Supprime la décoration de texte par défaut et assure l'héritage de couleur.
   ======================================================================================= */

/* Supprime le soulignement par défaut des liens et assure qu'ils héritent la couleur du texte. */
/* Cela donne un contrôle total sur le style des liens dans les feuilles de style ultérieures. */
a {
  text-decoration: none;
  color: inherit;
}


/* ======================================================================================
   RÈGLES DE RÉINITIALISATION DES PRÉ-FORMATÉS
   Description :
      • Gère le débordement de texte pour les éléments <pre>.
   ======================================================================================= */

/* Empêche le texte long dans les blocs préformatés de déborder horizontalement. */
/* 'white-space: pre-wrap;' permet les retours à la ligne à l'intérieur du bloc. */
/* 'overflow-wrap: break-word;' permet de couper les mots très longs si nécessaire. */
pre {
  white-space: pre-wrap;
  overflow-wrap: break-word;
}