/* ========================================================= */
/* 🧱 BASE.CSS — GLOBAL STRUCTURE + CURSORS + PRINT         */
/* (Fondations communes à tout le site)                     */
/* ========================================================= */


/* ----------------------------- */
/* 1) GLOBAL BODY RESET          */
/* ----------------------------- */

body {
  position: relative;
  min-height: 100vh;
  margin: 0;
  overflow-x: hidden; /* Empêche le scroll horizontal */
  color: #000; /* Couleur texte par défaut */
  transition:
    color 0.5s ease,
    font-size 0.3s ease,
    font-weight 0.3s ease,
    letter-spacing 0.3s ease;
}


/* ----------------------------- */
/* 2) BACKGROUND LAYERS          */
/* ----------------------------- */

body::before,
body::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  transition:
    opacity 0.5s ease,
    color 0.3s ease,
    font-size 0.3s ease,
    font-weight 0.3s ease,
    letter-spacing 0.3s ease;
}


/* ----------------------------- */
/* 3) GLOBAL CURSORS             */
/* ----------------------------- */

/* Curseur par défaut */
html,
body {
  cursor: url('../assets/CURSOR_default.webp') 8 8, auto !important;
}

/* Liens & boutons */
a,
button,
.link-cursor {
  cursor: url('../assets/CURSOR_link.webp') 8 8, pointer !important;
}

/* Champs texte */
input[type="text"],
textarea,
input[type="password"],
input[type="email"],
input[type="number"],
select {
  cursor: url('../assets/CURSOR_input.webp') 8 8, auto;
}

/* Radios & checkboxes */
input[type="radio"],
input[type="checkbox"] {
  cursor: url('../assets/CURSOR_link.webp') 8 8, auto !important;
}


/* ----------------------------- */
/* 4) TEXT SAFETY                */
/* ----------------------------- */

p {
  word-break: break-word;
}


/* ----------------------------- */
/* 5) PRINT MODE                 */
/* ----------------------------- */

@media print {

  body {
    font-size: 12pt;
  }

  a {
    color: black;
    text-decoration: underline;
  }

  .no-print,
  .hide-on-print {
    display: none !important;
  }

}