/* ============================================================
   RESPONSIVE - mobile-first, ajustements specifiques
   ============================================================ */

/* Mobile small (< 400px) : tightening */
@media (max-width: 400px) {
  .hero-mega__title { font-size: clamp(2rem, 10vw, 2.6rem); }
  .container { padding: 0 18px; }
}

/* Mobile (< 768px) : pas de scroll horizontal */
@media (max-width: 767px) {
  body { overflow-x: clip; }
  .horaires-table th,
  .horaires-table td { padding: 9px 14px; font-size: 0.9rem; }
  .avis-cards { gap: 14px; }
  .contact-form { padding: 22px 18px; }
}

/* Tablette */
@media (min-width: 768px) and (max-width: 1023px) {
  .svc-grid { grid-template-columns: repeat(2, 1fr); }
}

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

/* Print : sobre */
@media print {
  .site-header, .menu-mobile, .burger, .fab-call { display: none !important; }
  .hero-mega, .section { page-break-inside: avoid; }
  body { background: #fff; color: #000; }
}

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