/* ============================================================
   RESPONSIVE
   ------------------------------------------------------------
   Breakpoints (alignes sur le JS de randomtheme.ts) :
     830px : le lien Contact bascule dans le menu deroulant
     674px : le bouton de theme flottant laisse place au bouton du menu
     600px / 580px / 420px : ajustements de la navbar
   Le titre et la fleche utilisent une echelle fluide (clamp) :
     identiques au rendu desktop, mais ne debordent plus sur petits ecrans.
   ============================================================ */

/* Entrees du menu deroulant affichees conditionnellement par le JS */
#menu-contact { display: none; }
#menu-about { display: none; }

/* ============================================================
   TITRE - Echelle fluide
   4rem au-dessus de 800px (identique au desktop actuel),
   puis reduction proportionnelle jusqu'a tenir sur un ecran de 320px.
   ============================================================ */
.hero-title {
  font-size: clamp(1.75rem, 8vw, 4rem);
}

/* ============================================================
   FLECHE - Echelle fluide (base 136x112)
   ============================================================ */
.scroll-arrow {
  width: clamp(96px, 17vw, 136px);
  height: clamp(82px, 14vw, 112px);
}

/* ============================================================
   NAVBAR
   ============================================================ */
@media (max-width: 900px) {
  .dropdown { margin-left: 0; }
}

@media (max-width: 600px) {
  #theme-toggle {
    width: 40px;
    height: 40px;
    top: 24px;
    right: 10px;
    font-size: 1.25rem;
  }

  #theme-toggle-hint {
    top: 24px;
    right: 62px;
    font-size: 0.58rem;
    padding: 4px 7px;
  }

  .navbar {
    width: fit-content;
    max-width: calc(100% - 20px);
    margin: 20px auto 0;
    justify-content: center;
    border-radius: 12px;
  }
}

@media (max-width: 580px) {
  .navbar {
    --navbar-gap: clamp(6px, 2.2vw, 12px);
    gap: var(--navbar-gap);
    padding: clamp(6px, 1.6vw, 10px) clamp(8px, 2.8vw, 20px);
  }

  .navbar a {
    font-size: clamp(26px, 4.9vw, 30px);
    padding: clamp(8px, 2vw, 14px) clamp(8px, 2.6vw, 16px);
  }
}

@media (max-width: 420px) {
  .navbar { padding: 8px 12px; }
}

/* ============================================================
   FOOTER
   ============================================================ */
@media (max-width: 750px) {
  footer {
    flex-direction: column;
    gap: 4px;
    white-space: normal;
    text-align: center;
    padding: 20px 30px;
  }

  .footer-separator {
    display: none;
  }
}

/* ============================================================
   ECRANS BAS (mobile en paysage)
   Sans cela, la fleche - qui invite justement a scroller -
   se retrouve elle-meme sous la ligne de flottaison.
   ============================================================ */
@media (orientation: landscape) and (max-height: 520px) {
  h1 {
    margin-top: 0.5rem;
  }

  main {
    gap: 0.25rem;
    padding: 0.5rem;
  }

  .hero-title {
    font-size: clamp(1.5rem, 5.2vh, 2.75rem);
  }

  .scroll-arrow {
    width: clamp(72px, 18vh, 100px);
    height: clamp(60px, 15vh, 84px);
    margin-top: 12px;
  }

  footer {
    padding: 12px 30px;
  }
}
