/* ============================================
   LE BAOBAB BLEU — RESPONSIVE.CSS
   Breakpoints CodeZen :
   Mobile ≤576px | Tablette 577–992px | Desktop ≥993px
   ============================================ */

/* ==========================================================
   TABLETTE — jusqu'à 992px
   ========================================================== */
@media (max-width: 992px) {
  .about-grid { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: 1fr; }
  .menu-preview-grid { grid-template-columns: repeat(2, 1fr); }
  .gallery-grid { grid-template-columns: repeat(3, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .menu-items { grid-template-columns: 1fr; }
}

/* ==========================================================
   MOBILE + TABLETTE — jusqu'à 992px : navigation
   ========================================================== */
@media (max-width: 992px) {
  .nav-toggle { display: flex; }

  .nav-menu {
    position: fixed;
    top: 0; right: 0;
    height: 100vh;
    width: min(78vw, 340px);
    background-color: var(--color-bg);
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: var(--space-md);
    padding: var(--space-xl) var(--space-lg);
    box-shadow: var(--shadow-lg);
    transform: translateX(100%);
    transition: transform var(--transition-medium);
    z-index: 1050;
  }
  .nav-menu.is-open { transform: translateX(0); }
  .nav-menu a { color: var(--color-text) !important; font-size: 1.1rem; }

  .nav-overlay {
    display: none;
    position: fixed; inset: 0;
    background-color: rgba(18,36,42,0.45);
    z-index: 1040;
  }
  .nav-overlay.is-visible { display: block; }
}

/* ==========================================================
   MOBILE — jusqu'à 576px
   ========================================================== */
@media (max-width: 576px) {
  :root { --header-height: 72px; }

  .container { padding: 0 var(--space-sm); }
  section { padding: var(--space-lg) 0; }

  .hero { min-height: 92vh; padding-bottom: var(--space-lg); align-items: center; }
  .hero-content { text-align: left; }
  .hero-actions { flex-direction: column; width: 100%; }
  .hero-actions .btn { width: 100%; justify-content: center; }

  .contact-grid { gap: var(--space-lg); }

  .page-hero { min-height: 34vh; }

  .stats { gap: var(--space-md); }
  .stat-number { font-size: 1.9rem; }

  .menu-preview-grid { grid-template-columns: 1fr; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 130px; }
  .gallery-item.tall { grid-row: span 1; }

  .grid-3, .grid-4, .grid-2 { grid-template-columns: 1fr; }

  .cta-banner { flex-direction: column; text-align: center; }

  .form-row { grid-template-columns: 1fr; }

  .footer-grid { grid-template-columns: 1fr; text-align: left; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }

  .whatsapp-float { width: 52px; height: 52px; font-size: 1.4rem; bottom: 16px; right: 16px; }

  /* Menu : catégories en accordéon plus compact + tabs scrollables */
  .menu-tabs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 0.4em; -webkit-overflow-scrolling: touch; }
  .menu-tab { flex-shrink: 0; }

  .menu-item { flex-direction: column; gap: 0.2em; }
  .menu-item-price { align-self: flex-start; }
}

/* ==========================================================
   DESKTOP — 993px et plus
   ========================================================== */
@media (min-width: 993px) {
  .nav-overlay { display: none !important; }
}
