/* Mobile-first — breakpoints upward */

/* Galerie mobile : 1 colonne sous 560px (PIÈGE #7) */
@media (max-width: 559px) {
  .gal-grid { grid-template-columns: 1fr; }
}

/* Avis : 1 colonne sous 640px */
@media (max-width: 639px) {
  .avis-grid { grid-template-columns: 1fr; }
}

/* Services : 1 colonne sous 768px */
@media (max-width: 767px) {
  .svc-grid { grid-template-columns: 1fr; }
  .svc-card:first-child { border-top: 1px solid var(--border); }
}

/* Header mobile : logo seul + burger, rien d'autre */
@media (max-width: 767px) {
  .header-cta { display: none !important; }
  .nav-desktop { display: none !important; }
}

/* Stats : responsive sur petits mobiles */
@media (max-width: 400px) {
  .stats-grid { grid-template-columns: 1fr; gap: 24px; }
  .stat-number { font-size: 2rem; }
}

/* Contact form : min-width 0 sur les champs (PIÈGE #10) */
@media (max-width: 767px) {
  .contact-wrap { grid-template-columns: 1fr; }
  .form-field input,
  .form-field textarea,
  .form-field select { min-width: 0; }
}

/* About : 1 colonne mobile */
@media (max-width: 767px) {
  .about-grid { grid-template-columns: 1fr; }
  .about-photo { max-width: 100%; }
}

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

/* Footer : colonne unique sous 640px */
@media (max-width: 639px) {
  .site-footer .container { grid-template-columns: 1fr; }
}

/* Desktop : scroll-padding-top header height */
@media (min-width: 768px) {
  html { scroll-padding-top: var(--header-h); }
}

/* Large screens */
@media (min-width: 1200px) {
  .svc-grid { grid-template-columns: repeat(3, 1fr); }
  .avis-grid { grid-template-columns: repeat(3, 1fr); }
}

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