/* ============================================================
   TrouvePro — header.css
   Styles de la barre SOS + navigation
   ============================================================ */

/* ── BARRE SOS ───────────────────────────────────────────── */
.sos-bar {
  background: var(--orange);
  color: #fff;
  text-align: center;
  padding: 9px 20px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .01em;
}
.sos-bar span { opacity: .85; }

/* ── NAV ─────────────────────────────────────────────────── */
.nav {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(254,254,254,.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
}
.nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 64px;
}

/* Logo */
.logo {
  font-family: var(--font-titre);
  font-weight: 800;
  font-size: 22px;
  color: var(--noir);
  display: flex;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
}
.logo-point { color: var(--orange); }

/* Liens desktop */
.nav-links {
  display: flex;
  align-items: center;
  gap: 32px;
}
.nav-links a {
  font-size: 14px;
  color: var(--gris-mid);
  font-weight: 400;
  transition: color .15s;
}
.nav-links a:hover { color: var(--noir); }

/* Actions droite */
.nav-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.nav-login {
  font-size: 14px;
  font-weight: 500;
  color: var(--gris-mid);
  padding: 8px 16px;
  border-radius: 50px;
  transition: background .15s, color .15s;
}
.nav-login:hover {
  background: var(--gris-clair);
  color: var(--noir);
}
.nav-bonjour {
  font-size: 13px;
  color: var(--gris-mid);
  padding: 0 8px;
}
.btn-sm {
  font-size: 14px !important;
  padding: 9px 20px !important;
}

/* Burger — toujours dans le DOM, caché en desktop */
.nav-burger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  margin-left: 8px;
  border-radius: 8px;
  flex-shrink: 0;
  transition: background .15s;
  /* IMPORTANT : z-index pour rester cliquable sur le header injecté */
  position: relative;
  z-index: 110;
}
.nav-burger:hover { background: var(--gris-clair); }
.nav-burger span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--noir);
  border-radius: 2px;
  transition: transform .25s, opacity .2s;
  pointer-events: none;
}
.nav-burger.ouvert span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-burger.ouvert span:nth-child(2) { opacity: 0; }
.nav-burger.ouvert span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Menu mobile — utilise max-height pour une animation fluide */
.nav-mobile {
  /* Caché par défaut avec max-height:0 plutôt que display:none
     → évite le flash lors de l'injection fetch */
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 0 16px;
  border-top: 0px solid var(--border);
  background: var(--blanc);
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease, padding .3s ease, border-top-width .3s;
}
.nav-mobile.ouvert {
  max-height: 500px;
  padding: 12px 16px 16px;
  border-top-width: 1px;
}
.nav-mobile a {
  font-size: 15px;
  color: var(--gris-mid);
  padding: 11px 12px;
  border-radius: var(--r-sm);
  transition: background .15s, color .15s;
  display: block;
}
.nav-mobile a:hover {
  background: var(--gris-clair);
  color: var(--noir);
}
.nav-mobile hr {
  border: none;
  border-top: 1px solid var(--border);
  margin: 6px 0;
}
/* Boutons dans le menu mobile */
.nav-mobile .btn-primary {
  margin-top: 4px;
  justify-content: center;
  border-radius: var(--r-sm);
}

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media (max-width: 900px) {
  .nav-links               { display: none !important; }
  .nav-burger              { display: flex !important; }
  /* Cacher le bouton CTA desktop dans la barre,
     il reste visible dans le menu mobile */
  .nav-guest .btn-primary  { display: none !important; }
  .nav-user  .btn-outline  { display: none !important; }
  /* "Se connecter" reste visible en texte seul */
  /* .nav-login               { font-size: 13px; padding: 6px 10px; }  */
  .nav-login { display: none !important;}
}

@media (max-width: 480px) {
  .nav-inner { height: 60px; }
  .logo      { font-size: 19px; }
}
