* {
  margin: 0;
  padding: 0;
  box-sizing: inherit;
}

/* Définition de la police variable Victor Mono */
@font-face {
  font-family: 'Victor Mono';
  src: url('../font/VictorMono-VariableFont_wght.ttf') format('truetype-variations');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Victor Mono';
  src: url('../font/VictorMono-Italic-VariableFont_wght.ttf') format('truetype-variations');
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

:root {
  --padding: 0rem;
  --color-black: #000;
  --color-white: #FCFCFC;
  --color-grey: #777;
  --color-light: #efefef;
  --color-text: var(--color-black);
  --color-text-grey: var(--color-grey);
  --color-background: var(--color-white);
  --font-family-sans: "Victor Mono", monospace;
  --font-family-mono: "Victor Mono", monospace;
}

html {
  font-family: var(--font-family-sans);
  color: var(--color-text);
  background: var(--color-background);
  overflow-y: scroll;
  overflow-x: hidden;
  box-sizing: border-box;
  scrollbar-width: none; /* Cacher la barre de défilement standard */
  margin: 0;
  padding: 0;
  width: 100%;
  letter-spacing: -0.03em; /* Resserrer légèrement tous les textes */
}

/* Style pour le lien actif dans la navigation */
.nav-link {
  position: relative;
  text-decoration: none;
  display: inline-block;
}

.nav-text {
  position: relative;
  display: inline-block;
}

.nav-text.active {
  position: relative;
}

.nav-text.active::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: -4px;
  left: 0;
  background-color: currentColor;
}

body {
  padding: 0;
  max-width: 100%;
  margin: 0;
  -ms-overflow-style: none; /* Cacher la barre de défilement */
  width: 100%;
}

/* Permettre une largeur complète pour les pages de projet */
[data-barba-namespace="project"] body {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

body::-webkit-scrollbar {
  width: 0 !important; /* Masquer la largeur */
  height: 0 !important; /* Masquer la hauteur (pour les barres horizontales) */
}

body::-webkit-scrollbar-track {
  background: transparent; /* Rendre le fond transparent */
}

body::-webkit-scrollbar-thumb {
  background: transparent; /* Rendre le curseur transparent */
}

img {
  width: 100%;
  display: block; /* Évite les espaces indésirables sous l'image */
}

/* Style pour les images responsives qui doivent remplir leur conteneur */
.cover-image-wrapper picture,
.cover-image-wrapper img,
.secondary-image picture,
.secondary-image img,
.reference-item picture,
.reference-item img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Empêche la déformation de l'image */
}

li {
  list-style: none;
}

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

a:focus {
  outline: none;
  box-shadow: none;
}

/* Style de sélection de texte */
::selection {
  background-color: black;
  color: white;
}

/* Pour les navigateurs basés sur WebKit/Blink */
::-moz-selection {
  background-color: black;
  color: white;
}

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

strong, b {
  font-weight: 500;
}

.header {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-right: -1rem;
  margin-left: -1rem;
  margin-bottom: 15rem;
}

.logo {
  padding: 1rem;
  display: flex;
  align-items: center;
  font-weight: 600;
  cursor: pointer;
}

h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}

/* Animation de fondu � l'entr�e pour les pages */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.page-fade-in {
  animation: fadeIn 1s ease-in-out forwards;
}

