@font-face {
  font-family: "ABCMonumentGrotesk";
  src: url('/assets/fonts/AGBookStd-Regular.woff2') format('woff2');
  font-style: normal;
  font-display: swap;
}

:root {
  /* Couleurs */
  --text-color: rgb(151, 151, 151);
  --bg-color: rgb(0, 0, 0);
  --muted-color: color-mix(in srgb, var(--text-color) 30%, transparent);
  
  /* Typographie */
  --font-family: "ABCMonumentGrotesk", "Helvetica Neue", Arial, sans-serif;
  --font-size: 0.85rem;
  --font-size-mobile: 0.95em;
  --font-size-display: 1.1em;
  --font-weight: normal;
  --line-height: 1.4;
  --letter-spacing: 0.02em;
  
  /* Espacements */
  --padding-base: 10px;
  --spacing-xs: 5px;
  --spacing-sm: 10px;
  --spacing-md: 0.9rem;
  --spacing-lg: 20px;
  --spacing-xl: 60px;
  
  /* Grilles */
  --grid-gap-row: 0.9rem;
  --grid-gap-col: 2rem;
  --grid-col-label-desktop: 120px;
  --grid-col-label-tablet: 100px;
  --grid-col-label-mobile: 65px;
}

html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
  box-sizing: border-box;
  font-family: var(--font-family);
  font-size: var(--font-size);
  line-height: var(--line-height);
  letter-spacing: var(--letter-spacing);
  font-weight: var(--font-weight);
  color: var(--text-color);
  background: var(--bg-color);
  text-transform: uppercase;
}

/* DESKTOP: Scroll smooth programmatique, mais bloqué manuellement */
@media (min-width: 769px) {
  html {
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    scroll-behavior: smooth;
  }
  
  body {
    min-height: 100%;
  }
  
  /* Bloquer le scroll molette/trackpad via JS - classe ajoutée par défaut */
  html.no-scroll {
    overflow: hidden;
  }
}

/* MOBILE: Scroll natif */
@media (max-width: 768px) {
  html,
  body {
    height: auto;
    min-height: 100dvh;
    overflow: visible;
    overflow-x: hidden;
    background: white;
  }
}

*,
*::before,
*::after {
  box-sizing: inherit;
  -webkit-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

img,
video {
  display: block;
  max-width: 100%;
  height: auto;
  -webkit-user-drag: none;
  pointer-events: auto;
}

h1, h2, h3, h4, h5, h6,
p, a, li, span,
button, input, textarea, label, small {
  margin: 0;
  padding: 0;
  font: inherit;
  color: inherit;
}

a {
  text-decoration: none;
}

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

.selectable {
  user-select: text !important;
}