/* responsive.css — media queries mobile-first */

/* On ne répète ici que ce qui n'est pas déjà dans les fichiers de section */

/* Galerie mobile stricte — 1 colonne sous 560px (PIÈGE PROD #7) */
@media (max-width: 559px) {
  .gal-masonry { column-count: 1; }
}

/* Avis — 1 colonne mobile */
@media (max-width: 699px) {
  .avis-cards { grid-template-columns: 1fr; }
}

/* Footer colonnes */
@media (max-width: 639px) {
  .footer-inner { grid-template-columns: 1fr; }
}

/* Contact cards */
@media (max-width: 639px) {
  .contact-cards { grid-template-columns: 1fr; }
}

/* Process steps — 1 colonne mobile */
@media (max-width: 639px) {
  .process-grid { grid-template-columns: 1fr; }
}

/* Stats strip wrap */
@media (max-width: 479px) {
  .stats-grid { flex-direction: column; gap: 20px; }
  .stat-sep { display: none !important; }
}

/* Zone cols */
@media (max-width: 767px) {
  .zone-cols { grid-template-columns: 1fr; }
}

/* Formulaire */
@media (max-width: 767px) {
  .contact-form { padding: 24px 18px; }
}

/* Titre hero mobile */
@media (max-width: 479px) {
  .hero-title { font-size: clamp(1.95rem, 9vw, 2.5rem); }
}

/* Desktop : services 3 col */
@media (min-width: 900px) {
  .svc-grid { grid-template-columns: repeat(3, 1fr); }
}

/* Desktop : header hauteur */
@media (min-width: 768px) {
  .site-header { height: var(--header-h); padding: 0 40px; }
}

/* wf-contrast-enforced */
.site-footer, .site-footer * { color: #F3EFE7 !important; }
/* /wf-contrast-enforced */

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