/* -----------------------------------------------------------
   FILE: menu-transition.css
   ROLE: Gestion exclusive de la navbar (scroll, resize, padding body)
   VERSION: 2026 - Nettoyée & Optimisée
   ----------------------------------------------------------- */

/* ========== 1. CONFIGURATION & TRANSITIONS GLOBALES ========== */
.navbar,
.navbar-brand,
.navbar-brand img,
.navbar-brand .site-name,
.nav-link,
.navbar-toggler,
.navbar-collapse,
body {
  transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1); /* Transition "luxury" fluide */
}

body {
  /* Valeur par défaut sécurisée, sera surchargée par les media queries */
  padding-top: 190px; 
}

/* ========== 2. ÉTAT INITIAL (MENU GRAND - "Hero Navbar") ========== */
.navbar {
  border-bottom: 1px solid rgba(14, 57, 56, 0.1);
  padding: 1rem 2rem;
  z-index: 1030;
  background-color: rgba(255, 255, 255, 0.98);
}

/* Logo Grand (Desktop) */
.navbar-brand img {
  height: 120px;
  width: auto;
  display: block;
  transition: height 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}

.navbar-brand {
  font-weight: 700;
  font-size: 2rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  color: var(--ecdc-color-primary);
}

/* Liens (Grand Menu) */
.nav-link {
  font-weight: 500;
  margin: 0 10px;
  padding: 8px 16px;
  border-radius: 30px;
  font-size: 1.05rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.navbar-toggler {
  border: none;
  padding: 10px;
}

/* ========== 3. ÉTAT "SCROLLED" (MENU RÉDUIT - "Sticky") ========== */
.navbar.scrolled {
  padding-top: 0.8rem;
  padding-bottom: 0.8rem;
  /* Glassmorphism 2026 */
  background-color: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 4px 20px rgba(14, 57, 56, 0.1);
  border-bottom: 1px solid rgba(14, 57, 56, 0.2);
}

.navbar.scrolled .navbar-brand img {
  height: 60px;
}

.navbar.scrolled .navbar-brand {
  font-size: 1.4rem;
  letter-spacing: 1px;
}

.navbar.scrolled .nav-link {
  padding: 6px 12px;
  font-size: 0.9rem;
}

/* ========== 4. GESTION DU PADDING DU BODY & RESPONSIVE ========== */

/* --- DESKTOP (> 992px) --- */
@media (min-width: 993px) {
  body:not(.user-logged-in) {
    padding-top: 200px !important; /* Logo 120 + padding navbar */
  }
  body.user-logged-in {
    padding-top: 280px !important; /* + Admin bar */
  }
  
  body.navbar-is-scrolled:not(.user-logged-in) {
    padding-top: 220px !important; /* Logo 60 + padding réduit */
  }
  body.navbar-is-scrolled.user-logged-in {
    padding-top: 300px !important;
  }
}

/* --- TABLETTE (768px - 992px) --- */
@media (min-width: 768px) and (max-width: 992px) {
  .navbar-brand img {
    height: 90px; /* Logo intermédiaire */
  }
  .navbar.scrolled .navbar-brand img {
    height: 60px;
  }
  .navbar-brand {
    font-size: 1.6rem;
  }
  
  body:not(.user-logged-in) {
    padding-top: 170px !important;
  }
  body.navbar-is-scrolled:not(.user-logged-in) {
    padding-top: 220px !important;
  }
  
  .navbar {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    padding: 1.5rem;
  }
  .navbar.scrolled {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding: 0.5rem;
  }
}

/* --- MOBILE (< 768px) --- */
/* Fusion des anciens blocs mobiles pour éviter les conflits */
@media (max-width: 767px) {
  /* Padding Body Mobile */
  body:not(.user-logged-in) {
    padding-top: 100px !important;
  }
  body.user-logged-in {
    padding-top: 140px !important;
  }
  body.navbar-is-scrolled:not(.user-logged-in) {
    padding-top: 80px !important;
  }
  body.navbar-is-scrolled.user-logged-in {
    padding-top: 80px !important; /* Ajusté pour cohérence */
  }

  /* Navbar Mobile */
  .navbar {
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
    padding: 0.8rem;
  }
  .navbar.scrolled {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding: 0.5rem;
  }

  /* Logo & Texte Mobile */
  .navbar-brand img {
    height: 50px; /* Taille de base mobile */
  }
  .navbar.scrolled .navbar-brand img {
    height: 40px; /* Réduction au scroll */
  }
  
  .navbar-brand {
    font-size: 1.1rem;
    gap: 8px;
    line-height: 1.2;
  }

  /* Ajustement pour noms très longs ou écrans très petits */
  .navbar-brand .site-name, 
  .navbar-brand span {
    font-size: 0.9rem;
    line-height: 1.1;
  }

  /* Très petits écrans (< 380px) */
  @media (max-width: 379px) {
    .navbar-brand img {
      height: 40px;
    }
    .navbar.scrolled .navbar-brand img {
      height: 35px;
    }
    .navbar-brand {
      font-size: 0.85rem;
    }
    .navbar-brand .site-name, 
    .navbar-brand span {
      font-size: 0.8rem;
    }
  }

  /* Correction Toolbar Drupal */
  body.toolbar-vertical #navbar-main.fixed-top {
    top: 40px;
  }
}

/* ========== 5. HOVERS & INTERACTIONS ========== */
/* Les couleurs sont dans colors.css, ici on gère le mouvement */
.navbar-brand:hover {
  text-decoration: none;
  transform: scale(1.02); /* Très léger zoom */
}

.nav-link:hover, 
.nav-link.active {
  text-decoration: none;
  /* L'effet de fond (background-color) est géré dans colors.css */
}
