/* ============================================================
   NAVIBLOG — COMPONENT : NAVBAR
   Navigation principale (sticky)
   ============================================================ */

.main-nav {
  background: #fff;
  border-bottom: 1px solid rgba(0,0,0,.1);
  min-height: 76px;
  height: auto;
  padding: 0;
}

/* Branding */
.navbar-brand {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.45rem;
  font-weight: 600;
  color: var(--slate) !important;
  letter-spacing: .03em;
  line-height: 1.1;
}

.navbar-brand small {
  display: block;
  font-family: 'Jost', sans-serif;
  font-size: .7rem;
  font-weight: 400;
  letter-spacing: .22em;
  color: var(--gold);
  text-transform: uppercase;
}

/* Liens de navigation */
.nav-link {
  font-size: .8rem;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--slate) !important;
  padding: .4rem 0;
  margin: 0 .9rem;
  position: relative;
}

/* Soulignement animé */
.nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background: var(--gold);
  transition: width .25s;
}

.nav-link:hover {
  color: var(--gold) !important;
}
.nav-link:hover::after,
.nav-link.active::after {
  width: 100%;
}

.nav-link.active {
  color: var(--gold) !important;
}

/* Dropdown */
.dropdown-item {
  font-size: .82rem;
  letter-spacing: .06em;
  color: var(--slate) !important;
  padding: .6rem 1.4rem;
}

.dropdown-item:hover {
  background: var(--ivory);
  color: var(--gold) !important;
}

/* Bouton RDV dans la navbar */
.navbar .btn-rdv-nav {
  background: var(--gold) !important;
  color: #fff !important;
  padding: .55rem 1.4rem; 
  font-size: .78rem;      
  font-weight: 500;       
  letter-spacing: .14em;  
  text-transform: uppercase;
  border-radius: 0;       
  transition: background .2s;
  margin-left: var(--space-1);
}

.navbar .btn-rdv-nav:hover {
  background: var(--slate) !important;
}

.navbar-collapse {
    flex-grow: 1;
    min-width: 0;
}

.navbar-nav {
    flex-wrap: wrap;
    justify-content: flex-end;
}

/* ============================
   NAVBAR — MODE INTERMEDIAIRE
   (entre desktop et mobile)
   ============================ */
@media (max-width: 1200px) and (min-width: 992px) {

  /* La navbar peut grandir en hauteur */
  .main-nav {
    height: auto;
    padding: .4rem 0 .6rem;
  }

  /* Le conteneur des liens peut wrap */
  .navbar-nav {
    flex-wrap: wrap;
    justify-content: flex-end;
    row-gap: .3rem; /* espace vertical entre les lignes */
  }

  /* Les liens ont des marges plus petites */
  .nav-link {
    margin: .3rem .6rem;
  }

  /* Le bouton RDV reste propre */
  .btn-rdv-nav {
    margin-left: .6rem !important;
    padding: .45rem 1.2rem;
  }
}



/* ============================
   NAVBAR — MODE MOBILE
   ============================ */
@media (max-width: 991px) {

  .main-nav {
    height: auto;
    padding: .6rem 0; 
  }
  /* Fond du menu déroulé */
  .navbar-collapse {
    background: #fff;
    padding: 1rem 0;
  }

  /* Liste verticale propre */
  .navbar-nav {
    flex-direction: column;
    align-items: flex-start !important;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  /* Liens en mode mobile */
  .nav-link {
    margin: .4rem 0;
    padding: .4rem 0;
  }

  /* Bouton RDV en mobile */
  .btn-rdv-nav {
    margin: 1rem 0 0 0 !important;
    width: 100%;
    text-align: center;
  }

  /* Dropdown en mobile */
  .dropdown-menu {
    background: #fff;
    border: none;
    box-shadow: none;
    padding-left: .5rem;
  }
}

@media (max-width: 420px) {
  .navbar-brand {
    font-size: 1.2rem; 
    text-align: center; 
    white-space: normal; 
    max-width: 100%; 
    overflow-wrap: break-word;
    padding-bottom: 12px;
  }

  .navbar-brand small {
    font-size: .65rem; /* réduit légèrement */
    letter-spacing: .18em; /* évite l'étirement excessif */
    margin-top: 6px;
  }
}
