/* ===== RESPONSIVE — Mobile-first (base = 390px) ===== */

/* --- HERO SPLIT --- */
@media (max-width: 768px) {
  .hero-split {
    grid-template-columns: 1fr;
    gap: 22px;
    padding: calc(var(--header-h-mobile) + 20px) 20px 40px;
  }
  .hero-split__media {
    aspect-ratio: 16/10;
    order: -1;
  }
  /* CTA hero empilés plein largeur — PIÈGE PROD #2 */
  .hero-split__cta {
    flex-direction: column;
    gap: 10px;
  }
  .hero-split__cta .btn { width: 100%; justify-content: center; }
}

/* --- A PROPOS --- */
@media (min-width: 768px) {
  .about-grid {
    grid-template-columns: 1fr 1fr;
    align-items: center;
  }
}

/* --- SERVICES grid-3 --- */
@media (max-width: 900px) {
  .svc-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .svc-grid { grid-template-columns: 1fr; }
}

/* --- GALERIE --- */
/* grid-3 -> 2 -> 1 col (PIÈGE PROD #7 : 1 col sous 560px) */
@media (max-width: 800px) {
  .gal-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .gal-grid { grid-template-columns: 1fr; }
}

/* --- AVIS cards --- */
@media (max-width: 900px) {
  .avis-cards { grid-template-columns: 1fr; }
}

/* --- FAQ --- */
@media (min-width: 900px) {
  .faq-cols { grid-template-columns: 1fr 1fr; gap: 56px; }
}

/* --- ZONE --- */
@media (min-width: 768px) {
  .zone-grid { grid-template-columns: 1fr 1fr; align-items: start; }
  .map-wrapper iframe { height: 340px; }
}

/* --- CONTACT --- */
@media (min-width: 768px) {
  .contact-grid { grid-template-columns: 1fr 1fr; align-items: start; }
}
@media (max-width: 560px) {
  .form-row { grid-template-columns: 1fr; }
}

/* --- STATS --- */
@media (max-width: 480px) {
  .stats-grid { grid-template-columns: 1fr; }
  .stat-item + .stat-item::before { display: none; }
}

/* --- FOOTER --- */
@media (min-width: 768px) {
  .footer-inner { grid-template-columns: 1.4fr 2fr; gap: 48px; align-items: start; }
}

/* --- GENERAL sections padding --- */
section { padding: var(--section-py) 0; }

/* --- Desktop header height --- */
@media (min-width: 720px) {
  .hero-section { padding-top: var(--header-h); }
  .hero-split { padding: clamp(56px, 8vw, 100px) 24px clamp(48px, 7vw, 80px); }
}

/* wf-noxoverflow : reveal vertical (le slide horizontal deborde la largeur sur mobile) */
[data-reveal]:not(.in){ transform: translateY(18px) !important; }
