/* ===================================================================
   NAVIGATION MOBILE — VERSION SITE (ULTRA ROBUSTE)
   Excellence Tertiaire
   Objectif :
   - Même comportement sur toutes les pages en SMARTPHONE
   - Aucun impact desktop
   - Icône toujours visible (Unicode, pas de SVG/data-uri)
   =================================================================== */

/* Desktop / défaut : on cache le bouton mobile */
.mobile-menu-toggle {
  display: none;
}

/* ===================================================================
   MOBILE (max-width: 768px)
   =================================================================== */
@media (max-width: 768px) {

  /* Masque uniquement le texte du logo (évite la superposition) */
  .logo-text {
    display: none !important;
  }

  /* Conteneur navigation : hamburger à gauche */
  .nav-container {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    padding: 0.75rem 1rem !important;
    background: #ffffff;
    position: relative !important;
  }

  /* Bouton menu : carré premium */
  .mobile-menu-toggle {
    width: 44px !important;
    height: 44px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    background: rgba(30, 58, 138, 0.08) !important;
    border: 1px solid rgba(30, 58, 138, 0.25) !important;
    border-radius: 12px !important;
    cursor: pointer !important;
    position: relative !important;
    z-index: 1001 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* On neutralise les spans (si présents) */
  .mobile-menu-toggle span {
    display: none !important;
  }

  /* Icône menu : chevron bas (ultra compatible) */
  .mobile-menu-toggle::after {
    content: "▾";
    font-size: 26px;
    font-weight: 600;
    color: #1e3a8a;
    line-height: 1;
    transform: translateY(-2px);
    transition: transform 0.25s ease;
  }

  /* Menu ouvert : chevron haut */
  .mobile-menu-toggle.active::after {
    transform: rotate(180deg) translateY(2px);
  }

  /* Menu overlay (glisse depuis la droite) */
  .nav-menu {
    position: fixed !important;
    top: 70px !important;
    right: -100% !important;
    width: 70% !important;
    max-width: 300px !important;
    height: calc(100vh - 70px) !important;
    background: #ffffff !important;
    padding: 2rem 1.5rem !important;
    box-shadow: -2px 0 14px rgba(0, 0, 0, 0.12) !important;
    transition: right 0.3s ease !important;
    z-index: 999 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 1.5rem !important;
    align-items: flex-start !important;
  }

  .nav-menu.active {
    right: 0 !important;
  }

  .nav-menu li {
    width: 100% !important;
  }

  .nav-menu a {
    font-size: 1.1rem !important;
    padding: 0.75rem 0 !important;
    display: block !important;
  }
}

/* Très petit mobile */
@media (max-width: 480px) {
  .nav-menu {
    width: 80% !important;
  }
}
