/* =====================================================================
   DUMATECH — assets/css/correctifs-mobile.css
   Correctifs d'affichage pour iPhone / iPad (Safari, et Chrome sur iOS
   qui utilise le même moteur). Chargé après le <style> de chaque page.
   ===================================================================== */

/* 1. Empêche iOS de grossir le texte tout seul (mode paysage) */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

/* 2. Bloque tout débordement horizontal (page qui "part à droite")
   ("clip" et non "hidden" : garde l'en-tête collé en haut au défilement) */
html, body{
  max-width:100%;
  overflow-x:clip;
}

/* 3. Colonnes de grille : sur Safari, une grande image peut élargir
      une colonne au-delà de l'écran. On autorise les colonnes à rétrécir. */
.about-grid > *, .service-grid > *, .services-grid > *,
.realisations-grid > *, .contact-grid > *, .form-row > *,
.footer-grid > *, .trust-grid > *{
  min-width:0;
}

/* 4. Logos "Ils nous font confiance" : Safari calcule mal la hauteur
      des images dans un cadre à proportions fixes. On place le logo
      en absolu à l'intérieur du cadre. */
.trust-grid{grid-template-columns:repeat(5, minmax(0, 1fr));}
.trust-logo{position:relative; overflow:hidden;}
.trust-logo img{
  position:absolute;
  top:18px; left:18px;
  width:calc(100% - 36px);
  height:calc(100% - 36px);
  max-width:none;
  max-height:none;
  object-fit:contain;
}

/* 5. Même problème pour toutes les photos dans des cadres à proportions */
.about-photo, .photo-placeholder, .services-banner, .service-photo{
  position:relative;
}
.about-photo img, .photo-placeholder img, .services-banner img, .service-photo img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* 6. Carte Google (contact) : la hauteur minimale imposait 850 px de large */
.map-wrap{width:100%; aspect-ratio:auto; min-height:0; height:clamp(320px, 36vw, 426px);}
.map-wrap iframe{max-width:100%;}

/* 7. Menu mobile fermé : réellement caché, pour qu'iOS ne le "voie" pas */
@media (max-width:760px){
  nav.main-nav{visibility:hidden; transition:transform .25s ease, visibility 0s linear .25s;}
  nav.main-nav.open{visibility:visible; transition:transform .25s ease;}
}

/* Tailles d'écran intermédiaires */
@media (max-width:900px){
  .trust-grid{grid-template-columns:repeat(3, minmax(0, 1fr));}
  .services-banner{aspect-ratio:auto; height:220px;}
}
@media (max-width:760px){
  .trust-grid{grid-template-columns:repeat(2, minmax(0, 1fr));}
  .services-banner{height:180px; min-height:0;}
}
