/* QA mobile 390px - corrections fines */
@media (max-width: 480px){
  .hero h1{font-size:clamp(2.1rem, 9vw, 2.7rem)}
  .hero-sub{font-size:.98rem}
  .section{padding:3.4rem 0}
  .container{padding:0 1.1rem}
  .stats-strip{margin:0 .1rem}
  .stat-value{font-size:2.4rem}
  .avis-single{padding:2.2rem 1.2rem}
  .avis-text{font-size:1.15rem}
  .service-row h3{font-size:1.5rem}
  .service-row p{font-size:.95rem}
  .faq-q{font-size:1.05rem;padding:1.2rem 0}
  .faq-a-inner{font-size:.92rem}
  .modal-card{padding:1.6rem 1.2rem}
  .footer-grid{gap:2rem}
  .info-tel{font-size:1.7rem}
}

@media (max-width: 360px){
  .hero h1{font-size:2rem}
  .brand-name{font-size:1.15rem}
}

/* Empeche debordement horizontal */
html, body{overflow-x:hidden;max-width:100vw}
img, iframe, video{max-width:100%}

/* Hide for desktop only */
.desktop-only{display:none}
@media(min-width:880px){
  .desktop-only{display:initial}
  .mobile-only{display:none}
}

/* Print friendly minimal */
@media print{
  .burger, .menu-mobile, .wa-float, .nav-desktop, .header-actions{display:none!important}
  .site-header{position:static;background:none;border-bottom:1px solid #ccc}
  .hero-media{display:none}
  body{background:#fff;color:#000}
}

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