/* ==========================================================
   Final Insights visual overlay fix — 2026-06-18
   The generated module caption was being stretched by earlier
   responsive overrides because top + bottom were both active.
   Keep it as a compact badge so the SVG animation remains visible.
   ========================================================== */
body.insights-page .generative-visual{
  position:relative!important;
  overflow:hidden!important;
  min-height:clamp(420px,54vw,560px)!important;
  isolation:isolate!important;
}
body.insights-page .module-visual{
  position:absolute!important;
  inset:0!important;
  overflow:hidden!important;
  z-index:1!important;
}
body.insights-page .module-svg{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:42px!important;
  bottom:84px!important;
  width:100%!important;
  height:calc(100% - 126px)!important;
  max-height:none!important;
  opacity:1!important;
  z-index:2!important;
  transform:none!important;
  overflow:visible!important;
}
body.insights-page .module-caption{
  position:absolute!important;
  top:16px!important;
  left:18px!important;
  right:auto!important;
  bottom:auto!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-width:calc(100% - 36px)!important;
  display:inline-grid!important;
  gap:2px!important;
  padding:10px 13px!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.78)!important;
  border:1px solid rgba(16,24,40,.08)!important;
  box-shadow:0 12px 26px rgba(16,24,40,.055)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  z-index:8!important;
  pointer-events:none!important;
}
body.insights-page .module-caption strong{
  display:block!important;
  white-space:normal!important;
  font-size:12px!important;
  line-height:1.12!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
  color:#101828!important;
}
body.insights-page .module-caption small{
  display:block!important;
  margin:0!important;
  white-space:normal!important;
  font-size:11px!important;
  line-height:1.25!important;
  color:#667085!important;
}
body.insights-page .module-readout{
  position:absolute!important;
  left:18px!important;
  right:18px!important;
  top:auto!important;
  bottom:18px!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  z-index:7!important;
  pointer-events:none!important;
}
body.insights-page .module-readout span{
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  padding:11px 12px!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.78)!important;
  border:1px solid rgba(16,24,40,.08)!important;
  box-shadow:0 12px 25px rgba(16,24,40,.045)!important;
}
body.insights-page .route-panel .generative-visual{
  min-height:clamp(430px,44vw,540px)!important;
}
body.insights-page .route-panel .module-svg{
  top:48px!important;
  bottom:96px!important;
  height:calc(100% - 144px)!important;
}
body.insights-page .route-panel .module-readout{
  bottom:18px!important;
}
@media (max-width:900px){
  body.insights-page .tab-content.active{
    align-items:stretch!important;
  }
  body.insights-page .generative-visual{
    min-height:500px!important;
  }
}
@media (max-width:760px){
  body.insights-page .generative-visual{
    min-height:520px!important;
    border-radius:26px!important;
  }
  body.insights-page .module-caption{
    top:14px!important;
    left:14px!important;
    max-width:calc(100% - 28px)!important;
    padding:9px 11px!important;
    border-radius:14px!important;
  }
  body.insights-page .module-caption strong{
    font-size:11px!important;
    letter-spacing:.115em!important;
  }
  body.insights-page .module-caption small{
    font-size:10px!important;
  }
  body.insights-page .module-svg{
    top:58px!important;
    bottom:156px!important;
    height:calc(100% - 214px)!important;
    width:112%!important;
    left:-6%!important;
    right:auto!important;
  }
  body.insights-page .module-readout{
    left:14px!important;
    right:14px!important;
    bottom:14px!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  body.insights-page .module-readout span{
    min-height:42px!important;
    padding:9px 11px!important;
  }
}
@media (max-width:420px){
  body.insights-page .generative-visual{
    min-height:540px!important;
  }
  body.insights-page .module-svg{
    top:62px!important;
    bottom:166px!important;
    height:calc(100% - 228px)!important;
  }
}
