/* v258 — corrected estimator product-card alignment and spacing. */

/*
   These selectors intentionally match the specificity of the older estimator
   layout rules. This prevents legacy fixed grid rows from squeezing the cards
   and turning the “More services” divider into a full-height empty row.
*/
body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step > .options{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:none!important;
  grid-auto-rows:auto!important;
  align-items:stretch!important;
  align-content:start!important;
  gap:10px!important;
  width:min(100%,720px)!important;
  max-width:720px!important;
  margin:12px auto 0!important;
  overflow:visible!important;
}

body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .choice.gq-product-choice{
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  height:110px!important;
  min-height:110px!important;
  max-height:110px!important;
  margin:0!important;
  padding:7px 8px 9px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:76px 18px!important;
  align-content:center!important;
  align-items:center!important;
  justify-items:center!important;
  row-gap:3px!important;
  overflow:hidden!important;
  border-radius:18px!important;
  background:#fff!important;
  text-align:center!important;
}
body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .choice.gq-product-choice.gq-secondary-product{
  background:#fff!important;
}
body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .choice.gq-product-choice svg.choice-ic{
  display:none!important;
}

body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .choice.gq-product-choice .gq-product-image{
  grid-column:1!important;
  grid-row:1!important;
  width:100%!important;
  height:76px!important;
  min-width:0!important;
  min-height:76px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  border-radius:0!important;
  background:transparent!important;
  pointer-events:none!important;
}
body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .choice.gq-product-choice .gq-product-image img{
  display:block!important;
  width:76px!important;
  height:76px!important;
  max-width:92%!important;
  max-height:76px!important;
  margin:0 auto!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:saturate(.96) contrast(1.01)!important;
  transform:translateZ(0)!important;
}

body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .choice.gq-product-choice .choice-copy{
  grid-column:1!important;
  grid-row:2!important;
  width:100%!important;
  height:18px!important;
  min-width:0!important;
  min-height:18px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:center!important;
  justify-self:stretch!important;
  pointer-events:none!important;
}
body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .choice.gq-product-choice .choice-copy > strong{
  width:100%!important;
  height:18px!important;
  min-height:18px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#17334d!important;
  font-size:.79rem!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:-.014em!important;
  text-align:center!important;
  white-space:nowrap!important;
}

body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .choice.gq-product-choice:hover,
body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .choice.gq-product-choice:focus-visible{
  border-color:rgba(19,115,191,.42)!important;
  background:#fbfdff!important;
}
body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .choice.gq-product-choice[aria-pressed="true"],
body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .choice.gq-product-choice.is-confirmed{
  background:#f2f9ff!important;
}

/* Keep the divider compact instead of inheriting a product-card row height. */
body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .gq-product-divider{
  grid-column:1/-1!important;
  width:100%!important;
  height:20px!important;
  min-height:20px!important;
  margin:3px 0 1px!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
  align-items:center!important;
  align-self:center!important;
  column-gap:12px!important;
  color:#7a8a99!important;
  font-size:.61rem!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.085em!important;
  text-align:center!important;
  text-transform:uppercase!important;
}
body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .gq-product-divider::before,
body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .gq-product-divider::after{
  width:100%!important;
  min-width:0!important;
  height:1px!important;
  background:#d9e5ed!important;
}

body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .step-help{
  margin-bottom:0!important;
}

@media(max-width:380px){
  body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step > .options{
    gap:8px!important;
    margin-top:10px!important;
  }
  body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .choice.gq-product-choice{
    height:102px!important;
    min-height:102px!important;
    max-height:102px!important;
    grid-template-rows:69px 18px!important;
    padding:6px 6px 8px!important;
    border-radius:16px!important;
  }
  body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .choice.gq-product-choice .gq-product-image{
    height:69px!important;
    min-height:69px!important;
  }
  body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .choice.gq-product-choice .gq-product-image img{
    width:69px!important;
    height:69px!important;
    max-height:69px!important;
  }
  body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .choice.gq-product-choice .choice-copy > strong{
    font-size:.74rem!important;
  }
}

@media(max-height:700px){
  body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step > .options{
    gap:7px!important;
    margin-top:8px!important;
  }
  body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .choice.gq-product-choice{
    height:94px!important;
    min-height:94px!important;
    max-height:94px!important;
    grid-template-rows:62px 17px!important;
    padding:5px 6px 7px!important;
  }
  body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .choice.gq-product-choice .gq-product-image{
    height:62px!important;
    min-height:62px!important;
  }
  body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .choice.gq-product-choice .gq-product-image img{
    width:62px!important;
    height:62px!important;
    max-height:62px!important;
  }
  body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .choice.gq-product-choice .choice-copy,
  body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .choice.gq-product-choice .choice-copy > strong{
    height:17px!important;
    min-height:17px!important;
  }
  body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .choice.gq-product-choice .choice-copy > strong{
    font-size:.71rem!important;
  }
  body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .gq-product-divider{
    height:18px!important;
    min-height:18px!important;
    margin:1px 0 0!important;
    font-size:.55rem!important;
  }
}

@media(min-width:760px){
  body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step > .options{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    max-width:920px!important;
    gap:12px!important;
  }
  body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .choice.gq-product-choice{
    height:154px!important;
    min-height:154px!important;
    max-height:154px!important;
    grid-template-rows:112px 20px!important;
    padding:10px 10px 12px!important;
  }
  body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .choice.gq-product-choice .gq-product-image{
    height:112px!important;
    min-height:112px!important;
  }
  body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .choice.gq-product-choice .gq-product-image img{
    width:112px!important;
    height:112px!important;
    max-height:112px!important;
  }
  body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .choice.gq-product-choice .choice-copy,
  body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .choice.gq-product-choice .choice-copy > strong{
    height:20px!important;
    min-height:20px!important;
  }
  body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .choice.gq-product-choice .choice-copy > strong{
    font-size:.86rem!important;
  }
}

@media(prefers-reduced-motion:no-preference){
  body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .choice.gq-product-choice .gq-product-image img{
    transition:transform .18s ease!important;
  }
  body.estimator-mode:not(.site-browse-mode) .question-step-screen.first-question-step .choice.gq-product-choice:hover .gq-product-image img{
    transform:scale(1.025)!important;
  }
}
