/* Page devis : footer sous la ligne de flottaison, espace réparti sans décaler la grille. */

@media (min-width: 900px){
  .quote-page{
    min-height:calc(100vh - 96px)!important;
    padding:34px 0 38px!important;
    display:flex;
    align-items:center;
  }
  .quote-page .container{width:min(1200px,calc(100% - 64px))!important}
  .quote-layout{
    grid-template-columns:minmax(410px,.9fr) minmax(540px,1.1fr)!important;
    gap:48px!important;
    align-items:center!important;
  }

  .quote-aside{padding:0!important}
  .back-home{margin-bottom:20px!important;font-size:.86rem!important}
  .quote-aside .eyebrow{margin-bottom:12px!important;font-size:.75rem!important}
  .quote-aside h1{
    font-size:clamp(2.8rem,3.8vw,3.65rem)!important;
    line-height:1!important;
    margin-bottom:20px!important;
  }
  .quote-aside>p:not(.eyebrow){font-size:.98rem!important;line-height:1.58!important;max-width:500px!important}

  .quote-certifications{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    margin-top:26px!important;
  }
  .quote-certifications h2{margin:4px 0 2px!important;font-size:.92rem!important}
  .quote-certifications .google-rating{grid-column:1/-1!important;padding:15px 17px!important;border-radius:15px!important}
  .quote-certifications .google-badge-head{gap:11px!important}
  .quote-certifications .google-mark{width:34px!important;height:34px!important}
  .quote-certifications .rating-number{font-size:1.35rem!important}
  .quote-certifications .rating-stars{margin:4px 0 0!important}
  .quote-certifications .rating-stars svg{width:14px!important;height:14px!important}
  .quote-certifications .rating-count{margin:6px 0 0!important;font-size:.72rem!important}
  .quote-certifications .google-badge-footer{padding-top:9px!important;margin-top:9px!important}
  .quote-certifications .google-review-slides{margin-top:10px!important;padding-top:10px!important}
  .quote-certifications .google-review blockquote{margin:6px 0!important;font-size:.76rem!important;line-height:1.42!important;max-height:2.85em!important}
  .quote-certifications .google-review-controls{margin-top:6px!important}
  .quote-certifications .google-review-controls button{min-width:32px!important;min-height:32px!important}
  .quote-certifications .certification{
    min-height:76px!important;
    padding:13px 14px!important;
    gap:10px!important;
    border-radius:14px!important;
  }
  .quote-certifications .certification>img{width:40px!important;height:49px!important;padding:4px!important}
  .quote-certifications .certification>svg{width:24px!important;height:24px!important}
  .quote-certifications .warranty-icon{width:40px!important;height:40px!important;border-radius:11px!important}
  .quote-certifications .warranty-icon svg{width:23px!important;height:23px!important}
  .quote-certifications .certification strong{font-size:.82rem!important;line-height:1.3!important}
  .quote-certifications .certification small{font-size:.72rem!important;line-height:1.3!important;margin-top:3px!important}
  .quote-certifications .certificate-link{font-size:.7rem!important;margin-top:4px!important}

  .quote-facts{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px!important;
    margin:18px 0 0!important;
    padding:13px 14px!important;
  }
  .quote-facts>span{gap:7px!important;font-size:.75rem!important;line-height:1.3!important;align-items:center!important}
  .quote-facts svg{width:17px!important;height:17px!important}
  .quote-help{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
    padding-top:18px!important;
    margin-top:0!important;
  }
  .quote-help p{font-size:.8rem!important;margin:0!important}
  .quote-phone{font-size:1.08rem!important}

  .quote-form{
    min-height:0!important;
    padding:31px 32px!important;
    border-radius:22px!important;
  }
  .quote-progress{margin-bottom:27px!important}
  .quote-progress ol{margin-bottom:10px!important}
  .quote-progress li{font-size:.82rem!important}
  .quote-step-status{font-size:.78rem!important;margin-top:8px!important}
  .quote-form fieldset{margin-bottom:22px!important}
  .quote-form legend{font-size:1.58rem!important;margin-bottom:11px!important}
  .quote-form .form-intro{font-size:.86rem!important;line-height:1.48!important;margin-bottom:19px!important}
  .quote-choices{gap:11px!important}
  .quote-choice{min-height:68px!important;padding:13px 14px!important;gap:10px!important;font-size:.88rem!important;border-radius:12px!important}
  .quote-choice svg{width:21px!important;height:21px!important}
  .contact-form label{font-size:.84rem!important;margin-bottom:12px!important}
  .contact-form input,.contact-form textarea,.contact-form select{min-height:45px!important;padding:10px 12px!important;margin-top:5px!important;font-size:.88rem!important}
  .contact-form textarea{min-height:124px!important;height:124px!important}
  .quote-tip,.quote-form .form-privacy{font-size:.75rem!important;line-height:1.48!important;margin:11px 0!important}
  .quote-protection{margin-top:12px!important}
  .quote-controls{gap:14px!important;margin-top:7px!important}
  .quote-controls .button{min-height:47px!important;padding:11px 21px!important;font-size:.86rem!important;min-width:140px!important}
  .quote-controls .text-button{font-size:.82rem!important;padding:10px 0!important}
}

/* Desktop moins haut : on revient aux dimensions stables pour éviter tout débordement. */
@media (min-width: 900px) and (max-height: 820px){
  .quote-page{min-height:calc(100vh - 96px)!important;padding:16px 0 20px!important;align-items:flex-start}
  .quote-layout{gap:36px!important}
  .back-home{margin-bottom:10px!important}
  .quote-aside .eyebrow{margin-bottom:8px!important}
  .quote-aside h1{font-size:2.75rem!important;margin-bottom:10px!important}
  .quote-aside>p:not(.eyebrow){font-size:.9rem!important;line-height:1.5!important}
  .quote-certifications{margin-top:13px!important;gap:8px!important}
  .quote-certifications .google-rating{padding:10px 12px!important}
  .quote-certifications .google-review-slides{margin-top:6px!important;padding-top:6px!important}
  .quote-certifications .google-review blockquote{margin:4px 0!important;font-size:.72rem!important;line-height:1.3!important}
  .quote-certifications .certification{min-height:64px!important;padding:9px 10px!important}
  .quote-facts{margin-top:9px!important;padding:8px 10px!important}
  .quote-help{padding-top:9px!important}
  .quote-form{padding:20px 22px!important}
  .quote-progress{margin-bottom:15px!important}
  .quote-form fieldset{margin-bottom:13px!important}
  .quote-form legend{font-size:1.4rem!important}
  .quote-form .form-intro{margin-bottom:12px!important}
  .quote-choice{min-height:54px!important;padding:9px 11px!important}
  .contact-form label{margin-bottom:9px!important}
  .contact-form input,.contact-form textarea,.contact-form select{min-height:40px!important;padding:8px 10px!important}
  .contact-form textarea{min-height:100px!important;height:100px!important}
  .quote-tip,.quote-form .form-privacy{margin:8px 0!important}
  .quote-controls{margin-top:3px!important}
}

/* Mobile : le flux vertical reste volontairement confortable. */
@media (max-width: 899px){
  .quote-page{padding-top:18px!important}
  .quote-layout{gap:20px!important}
  .quote-aside h1{margin-bottom:12px!important}
  .quote-certifications{margin-top:16px!important}
}
