@media (max-width: 900px){
  .hero-grid{grid-template-columns:1fr}
}

@media (max-width: 900px){ .cards{grid-template-columns:1fr 1fr} }

@media (max-width: 620px){ .cards{grid-template-columns:1fr} }

@media (max-width: 920px){ .gallery-grid{grid-template-columns:1fr 1fr} }

@media (max-width: 620px){ .gallery-grid{grid-template-columns:1fr} }

@media (max-width: 620px){
  .certif{
    grid-template-columns:1fr;
    text-align:left;
  }
}

@media (max-width: 820px){ .contact-grid{grid-template-columns:1fr} }

@media (max-width: 620px){ .form-row{grid-template-columns:1fr} }

@media (max-width: 860px){
  .contact{ grid-template-columns:1fr; }
}

@media (max-width: 420px){
  .contact-qr img{ max-width:220px; }
}

@media (max-width: 420px){
  .contact-qr img{ max-width:140px; }
}

@media (max-width: 900px){
  #realisations .gallery-grid{
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px){
  #realisations .gallery-grid{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 860px){
  .brand img{ width:64px; }                 /* perso */
  .brand-title .brand-logo{ height:56px; }  /* texte */
}

@media (max-width: 860px){
  /* Ajuste l’offset des ancres pour le header mobile */
  :root{ scroll-padding-top: 92px; }
  section[id]{ scroll-margin-top: 92px; }

  .header-grid{
    grid-template-columns:auto 1fr auto;
    gap:10px;
    padding:10px 0;
  }

  .brand img{width:64px;}

  /* CTA desktop cachés -> déplacés dans le menu */
  .header-cta{display:none !important;}

  /* Burger visible */
  .nav-toggle{display:inline-flex; margin-left:0;}

  /* Menu déroulant sous le header */
  .site-header .nav{
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:100%;
    padding:12px;
    background:var(--surface);
    border-bottom:1px solid var(--stroke);
    border-radius:0 0 18px 18px;
    z-index:60;
  }
  .site-header .nav.is-open{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:8px;
  }
  .site-header .nav a{
    width:100%;
    text-align:center;
    padding:10px 12px;
    border-radius:14px;
  }

  .nav-cta{
    display:flex;
    width:100%;
    padding-top:10px;
    border-top:1px dashed var(--stroke);
  }
}

@media (max-width: 420px){
  .contact-qr img{
    max-width:170px;
    transform: translateY(-2px);
  }
}

@media (max-width: 860px){

  /* Structure du header */
  .header-grid{
    grid-template-columns: 56px 1fr 44px;
    align-items:center;
    padding: 8px 0;           /* ⬅️ réduit la hauteur globale */
  }

  /* Centre : espace autour du nom */
  .header-center{
    padding: 0 22px;          /* ⬅️ PLUS d’air à droite/gauche */
  }

  /* Nom de l’entreprise */
  .header-center .brand img,
  .header-center .brand-logo{
    height: 42px;             /* taille propre mobile */
    max-width: 48vw;          /* ⬅️ empêche de toucher le burger */
  }

	/* Burger plus visible */
	.nav-toggle{
	  padding:12px 14px;
	  border-radius:14px;
	}

	.nav-toggle span{
	  width:28px;     /* ⬅️ plus large */
	  height:3px;     /* ⬅️ plus épais */
	  margin:6px 0;   /* ⬅️ plus d’espace */
	  border-radius:4px;
	}
}

/* ===== FIX centrage footer mobile ===== */
@media (max-width: 768px){

  .site-footer .footer-inner.footer-flex{
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 14px !important;
  }

  .site-footer .footer-inner.footer-flex > div{
    width: 100% !important;
  }

  .site-footer .footer-social{
    width: 100% !important;
    display: flex !important;              /* ✅ important */
    justify-content: center !important;    /* ✅ centre */
    align-items: center !important;
    gap: 12px !important;

    margin-top: 10px !important;
    padding-top: 12px !important;
    border-top: 1px solid var(--stroke) !important;
  }

  .site-footer .footer-social-text{
    display: inline-block !important;
    width: auto !important;
    margin: 0 !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  .site-footer .footer-social a{
    display: inline-flex !important;
    align-items: center !important;
  }
}
