/* v532 — calculation loader rebuilt for small mobile viewports */
html:has(body.gq-calc-overlay-open),
body.gq-calc-overlay-open{
  overflow:hidden!important;
  overscroll-behavior:none!important;
}

body.gq-calc-overlay-open .gq-calc-overlay,
.gq-calc-overlay{
  position:fixed!important;
  inset:0!important;
  left:0!important;
  right:0!important;
  top:0!important;
  bottom:0!important;
  width:100vw!important;
  max-width:none!important;
  height:100vh!important;
  height:100dvh!important;
  min-height:0!important;
  margin:0!important;
  padding:calc(10px + env(safe-area-inset-top,0px)) 12px calc(10px + env(safe-area-inset-bottom,0px))!important;
  transform:none!important;
  translate:none!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,#eef6fc 0%,#f8fbfe 100%)!important;
}

.gq-calc-overlay *,
.gq-calc-overlay *::before,
.gq-calc-overlay *::after{box-sizing:border-box!important}

/* The old full-width loader header was wasting ~100px and exposed layout bugs. */
.gq-calc-loader-header{display:none!important}

.gq-calc-overlay-inner{
  position:relative!important;
  width:min(100%,430px)!important;
  max-width:430px!important;
  max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 20px)!important;
  min-height:0!important;
  margin:0 auto!important;
  padding:18px 16px 14px!important;
  border:1px solid rgba(7,29,53,.09)!important;
  border-radius:24px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 20px 52px rgba(7,29,53,.16)!important;
  text-align:center!important;
}

.gq-calc-overlay h2{
  margin:0 0 5px!important;
  font-size:clamp(1.72rem,8vw,2.15rem)!important;
  line-height:.98!important;
  letter-spacing:-.04em!important;
}

.gq-calc-status{
  min-height:0!important;
  margin:0 auto 6px!important;
  max-width:31ch!important;
  font-size:.8rem!important;
  line-height:1.28!important;
}

.gq-calc-timer{
  margin:2px 0 6px!important;
  gap:7px!important;
}
.gq-calc-timer strong{font-size:2.75rem!important;line-height:.95!important}
.gq-calc-timer span{font-size:.69rem!important}

.gq-calc-track{
  height:8px!important;
  margin:0 2px 11px!important;
}

.gq-calc-promo{
  position:relative!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:13px 12px 12px!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:linear-gradient(145deg,#071d35,#0b3b63 60%,#0f6cae)!important;
}

.gq-calc-promo-copy{position:relative!important;z-index:2!important}
.gq-calc-promo-kicker{font-size:.59rem!important;letter-spacing:.1em!important}
.gq-calc-promo h3{
  margin:4px auto 3px!important;
  max-width:25ch!important;
  font-size:1rem!important;
  line-height:1.08!important;
}
.gq-calc-promo p{
  margin:0 auto!important;
  max-width:38ch!important;
  font-size:.68rem!important;
  line-height:1.25!important;
}

.gq-calc-cover-stage{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:10px 0 0!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:end!important;
  gap:8px!important;
  perspective:none!important;
}

.gq-calc-cover,
.gq-cover-one,
.gq-cover-two,
.gq-cover-three{
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:2/3!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  animation:none!important;
  border:1px solid rgba(255,255,255,.25)!important;
  border-radius:8px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 8px 18px rgba(0,0,0,.28)!important;
}
.gq-calc-cover img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  display:block!important;
}
.gq-calc-cover span{display:none!important}
.gq-calc-cover:active{transform:scale(.97)!important}

.gq-calc-footnote{
  margin:8px 0 0!important;
  font-size:.62rem!important;
  line-height:1.22!important;
}

.gq-calc-pdf-toast{
  position:absolute!important;
  left:12px!important;
  right:12px!important;
  bottom:12px!important;
  z-index:20!important;
  padding:10px 12px!important;
  border-radius:12px!important;
  background:#071d35!important;
  color:#fff!important;
  box-shadow:0 10px 28px rgba(0,0,0,.22)!important;
  font-size:.75rem!important;
  font-weight:850!important;
  line-height:1.2!important;
}

/* Short iPhones / browser chrome expanded. */
@media (max-height:740px){
  .gq-calc-overlay-inner{padding:13px 13px 11px!important;border-radius:20px!important}
  .gq-calc-overlay h2{font-size:1.55rem!important}
  .gq-calc-status{font-size:.72rem!important;margin-bottom:4px!important}
  .gq-calc-timer{margin:0 0 4px!important}
  .gq-calc-timer strong{font-size:2.25rem!important}
  .gq-calc-track{height:7px!important;margin-bottom:8px!important}
  .gq-calc-promo{padding:10px!important;border-radius:16px!important}
  .gq-calc-promo h3{font-size:.9rem!important}
  .gq-calc-promo p{font-size:.61rem!important}
  .gq-calc-cover-stage{gap:6px!important;margin-top:7px!important}
  .gq-calc-footnote{margin-top:6px!important;font-size:.57rem!important}
}

@media (max-width:360px){
  .gq-calc-overlay{padding-left:9px!important;padding-right:9px!important}
  .gq-calc-overlay-inner{padding-left:12px!important;padding-right:12px!important}
  .gq-calc-cover-stage{gap:6px!important}
}
