/* ===================================================
   COCO FÉE DU MÉNAGE — CSS RESPONSIVE
   =================================================== */

/* ---- TABLETTE (max 1024px) ---- */
@media (max-width: 1024px) {
  .hero-container {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 3rem;
    padding-top: 130px;
  }

  .hero-text { order: 2; }
  .hero-visual { order: 1; }

  .reveal-left,
  .reveal-right { transform: translateY(30px); }

  .hero-stats { justify-content: center; }
  .hero-actions { justify-content: center; }
  .hero-badge { margin: 0 auto 1.2rem; }

  .about-grid  { grid-template-columns: 1fr; gap: 2.5rem; }
  .zone-layout { grid-template-columns: 1fr; gap: 2rem; }

  .footer-container { grid-template-columns: 1fr 1fr; gap: 2.5rem; }
  .footer-brand { grid-column: 1 / -1; }

  .fairy-scene { width: 320px; height: 320px; }
  .hero-fairy { width: 240px; }
}

/* ---- MOBILE (max 768px) ---- */
@media (max-width: 768px) {

  /* Navbar */
  .hamburger { display: flex; }

  .nav-links {
    position: fixed;
    top: 0; right: -100%;
    width: min(300px, 80vw);
    height: 100vh;
    background: white;
    flex-direction: column;
    align-items: flex-start;
    padding: 5rem 2rem 2rem;
    gap: 0.2rem;
    box-shadow: -4px 0 30px rgba(0,0,0,0.1);
    transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 999;
  }

  .nav-links.open { right: 0; }

  .nav-link {
    width: 100%;
    padding: 0.8rem 1rem;
    font-size: 1rem;
    color: var(--text) !important;
    border-radius: 10px;
  }

  .nav-link:hover {
    background: var(--bg) !important;
    color: var(--primary-dark) !important;
  }

  .nav-cta {
    background: var(--gradient-magic) !important;
    color: white !important;
    justify-content: center;
    width: 100%;
    margin-top: 0.5rem;
  }

  /* Hero */
  .hero-container { padding: 110px 1.5rem 60px; gap: 2rem; }

  .hero-title { font-size: 2rem; }
  .hero-subtitle { font-size: 1rem; }

  .hero-stats {
    flex-direction: column;
    gap: 1rem;
    padding: 1.2rem;
    width: 100%;
    max-width: 280px;
    margin: 0 auto 2rem;
  }

  .stat-divider { width: 80%; height: 1px; }

  .hero-actions { flex-direction: column; align-items: center; width: 100%; }
  .hero-actions .btn { width: 100%; justify-content: center; max-width: 300px; }

  .fairy-scene { width: 260px; height: 260px; }
  .hero-fairy { width: 200px; }
  .float-orb { display: none; }

  /* Sections */
  .section { padding: 60px 0; }

  .section-title { font-size: 1.7rem; }
  .section-sub { font-size: 0.95rem; }

  /* Services */
  .services-grid { grid-template-columns: 1fr; }

  /* Before/After */
  .ba-container { height: 260px; }

  /* Why us */
  .why-grid { grid-template-columns: 1fr 1fr; }

  /* Testimonials */
  .testimonials-grid { grid-template-columns: 1fr; }

  /* Form */
  .form-wrapper { padding: 2rem 1.5rem; border-radius: 16px; }
  .form-row { grid-template-columns: 1fr; }

  /* Zone */
  .zone-map-placeholder { height: 200px; }

  /* Footer */
  .footer-container { grid-template-columns: 1fr; gap: 2rem; }
  .footer-brand { grid-column: auto; }
  .footer-bottom-inner { flex-direction: column; text-align: center; gap: 0.5rem; }
  .footer-legal { justify-content: center; }
}

/* ---- PETIT MOBILE (max 480px) ---- */
@media (max-width: 480px) {
  .hero-title { font-size: 1.8rem; }
  .why-grid { grid-template-columns: 1fr; }
  .section-badge { font-size: 0.72rem; }
  .ba-container { height: 220px; }
  .form-wrapper { padding: 1.5rem 1rem; }
  .intro-fairy-svg { width: 120px; }
  .intro-brand { font-size: 1.6rem; }
  .scroll-top-btn { bottom: 1.2rem; right: 1.2rem; }
}

/* ---- LARGE SCREENS (min 1400px) ---- */
@media (min-width: 1400px) {
  .hero-container { max-width: 1360px; }
  .container { max-width: 1300px; }
  .fairy-scene { width: 440px; height: 440px; }
  .hero-fairy { width: 340px; }
}
