
/* ✧ ✧ ✧ ✧ BACKGROUND GÉNÉRAL (avec propriétés formelles pour attracteur de Clifford + gradient animé) ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ */

html {
  scroll-behavior: smooth;
  background-color: black; /* gris très foncé, moins dur que noir */
}

body {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  width: 100%;
  overflow-x: hidden;
}

.background-gradient {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
}

#clifford-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: -1;
  pointer-events: none;
}

#controls {
  margin-top: 20px;
  display: flex;
  justify-content: center;
  gap: 20px;
}


#controls button {
  background: none;          
  border: none;
  padding: 10px;
  cursor: pointer;
  transition: transform 0.3s;
}

#controls button:hover {
  transform: scale(1.2);
}


/* ✧ ✧ ✧ ✧    ●    ●    ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ */

.main-nav {
  height: 150vh;
  display: flex;
  flex-direction: column;
  gap: 40px;
  justify-content: center;
  align-items: center;
  margin: 200px 0; /* espace avant et après tes cercles */
}

.dot-link {
  display: inline-block;
  cursor: pointer;
}

.dot-svg {
  width: 80px;
  height: 80px;
}

.dot {
  fill: #000;
  stroke: #000;
  stroke-width: 2;
  transition: all 0.3s ease;
}

.dot-link:hover .dot {
  fill: none;
  stroke: #fff;
  stroke-width: 5;
}



/* ✧ ✧ ✧ ✧  INITIATE : Zone de dessin de Clifford  ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ */

  
#initiate-section {
  padding-top: 0;
  display: flex;
  justify-content: center;
  align-items: flex-start;   /* ← bouton en haut ! */
  height: 100vh;
  padding-top: 50px;         /* mini espace depuis le haut */
}


#initiate-section button {
  background: none;
  border: none;
  color: black;
  cursor: pointer;
  transition: transform 0.3s;
}

#initiate-section button:hover {
  transform: scale(1.2);
}



/* ✧ ✧ ✧ ✧  OBLIVIATE : Zone de textes  ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ */


/* Obliviate : padding modéré et centrage */
#obliviate-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 5vh 5vw; /* padding réduit pour éviter décalage scroll */
  box-sizing: border-box;
}

/* Obliviate : titres */
#obliviate-section h2 {
  font-family: 'Actor', sans-serif;
  font-size: 3.5rem;
  margin-bottom: 20px;
  color: #ffffff;
  text-align: center;
  margin-top: 0; /* important pour coller le titre en haut au scroll */
  padding-top: 0;
  scroll-margin-top: 0; /* titre bien aligné en haut */
}

/* Obliviate : paragraphes dans  */
#obliviate-section p {
  font-family: 'Urbanist', sans-serif;
  font-size: 1.1rem;
  max-width: 800px;
  margin: 0 auto 1.5em auto;
  padding-inline: 1rem;
  line-height: 1.6;
  color: #ffffff;
  text-align: justify;
  text-align-last: left;
}

@media (max-width: 600px) {
  #obliviate-section p {
    text-align: left;
  }
}

/* Obliviate : liens */
#obliviate-section a {
  color: #000000;
  text-decoration: none;
  transition: color 0.3s ease;
}

#obliviate-section a:hover {
  color: #ffffff;
}

/* Obliviate : Bouton mail to → ✉︎ = social-link  */
.social-links {
  display: flex;
  justify-content: center;
  gap: 2rem;
  margin-top: 20px;
}

.social-link {
  color: black;
  transition: color 0.3s;
}

.social-link svg {
  display: block;
}

/* Espacement + hauteur minimale des sections : bio | shows |contact */
.heading-bio,
.heading-shows,
.heading-contact {
  min-height: 100vh; /* assure une hauteur d’écran minimum */
  box-sizing: border-box;
  padding-bottom: 2rem;
  margin-top: 20vh; /* espace vertical entre sections */
}

/* Titres dans ces blocs */
.heading-bio h2,
.heading-shows h2,
.heading-contact h2 {
  margin-top: 0;
  padding-top: 0;
  scroll-margin-top: 0;
}




/* ✧ ✧ ✧ ✧  MEDIA QUERIES  ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ */


@media (pointer: coarse) {
  html, body {
    scroll-behavior: auto;
    overscroll-behavior: contain;
    /* retire le background-color transparent → laisse vide */
  }

  .background-gradient {
    background-color: black;
  }

  /* Obliviate en responsive */
  #obliviate-section {
    transition: none;
    padding: 10vh 10vw;
  }

  /* Titres en responsive */
  #obliviate-section h2 {
    font-size: 2.5rem;
    margin-bottom: 1.2em;
  }

  /* Paragraphes en responsive */
  #obliviate-section p {
    font-size: 1rem;
    max-width: 90%;
    margin: 0 auto 1.5em auto;
    text-align: justify;
  }
}

/* ===============================
   Message mobile caché par défaut
   =============================== */
.mobile-warning {
  display: none; /* caché par défaut */
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 9999;
  justify-content: center;
  align-items: center;
}

/* ===============================
   Message mobile visible uniquement petits écrans <= 768px
   =============================== */
@media (max-width: 768px) {
  .mobile-warning {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .mobile-warning-content {
    background: rgba(0, 0, 0, 0.6);
    color: white;
    padding: 1em 1.5em;
    border-radius: 30px;
    border: 0.5px dashed white;
    max-width: 75vw;
    max-height: 75vh;
    overflow-y: auto;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
    font-family: 'Urbanist', sans-serif;
    font-size: 1rem;
    text-align: left;
    position: relative;
  }

  .close-btn {
    position: absolute;
    top: 0.5em;
    right: 0.5em;
    background: transparent;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    color: white;
  }
}

