/* ODRAVIO — calculator viewport / always-visible controls. Loaded intentionally together with consultant-calculator-v74.css. */
:root{--odravio-calc-vh:100dvh}
body.calc-modal-open{overflow:hidden!important;overscroll-behavior:none!important}

/* Desktop: almost full usable viewport, never taller than the visible browser area. */
.calc-modal-shell{padding:12px!important;place-items:center!important;overflow:hidden!important}
.calc-capture--v74 .calc-card{
  width:min(1280px,calc(100vw - 24px))!important;
  height:min(920px,calc(var(--odravio-calc-vh,100dvh) - 24px))!important;
  max-height:calc(var(--odravio-calc-vh,100dvh) - 24px)!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:auto 3px minmax(0,1fr)!important;
  overflow:hidden!important;
}
.calc-capture--v74 .calc-head{min-height:0!important;flex:0 0 auto!important;padding:17px 20px 12px!important}
.calc-capture--v74 .calc-head h3{font-size:20px!important}
.calc-capture--v74 .calc-head p{font-size:11px!important;margin-top:5px!important;max-width:700px!important}
.calc-capture--v74 .calc-progress{height:3px!important;flex:0 0 3px!important}
.calc-capture--v74 .calc-layout{
  grid-template-columns:220px minmax(0,1fr)!important;
  min-height:0!important;
  height:100%!important;
  overflow:hidden!important;
}
.calc-capture--v74 .calc-side{
  min-height:0!important;
  overflow:auto!important;
  padding:12px 12px 10px!important;
}
.calc-capture--v74 .calc-main{
  min-width:0!important;
  min-height:0!important;
  height:100%!important;
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  overflow:hidden!important;
}
.calc-capture--v74 .calc-scroll{
  min-height:0!important;
  height:auto!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:18px 24px 28px!important;
  scroll-padding-bottom:28px!important;
  -webkit-overflow-scrolling:touch;
}
.calc-capture--v74 .calc-footer{
  position:relative!important;
  bottom:auto!important;
  z-index:25!important;
  flex:0 0 auto!important;
  min-height:66px!important;
  padding:10px 18px!important;
  background:rgba(255,255,255,.98)!important;
  border-top:1px solid var(--calc-line)!important;
  box-shadow:0 -12px 30px rgba(7,24,47,.075)!important;
}
.calc-capture--v74 .calc-nav{margin-left:auto!important;display:flex!important;align-items:center!important;gap:9px!important;flex:0 0 auto!important}
.calc-capture--v74 .calc-btn{height:46px!important;min-width:98px!important;padding:0 18px!important;font-size:11px!important;border-radius:13px!important}
.calc-capture--v74 .calc-next{min-width:118px!important}
.calc-capture--v74 .calc-btn--quote{min-width:190px!important;font-size:11px!important;letter-spacing:.015em!important}
.calc-capture--v74 .calc-cost-note{max-width:360px!important;font-size:9px!important;line-height:1.4!important}
.calc-capture--v74 .calc-step-tab{min-height:38px!important;padding:9px 9px!important}
.calc-capture--v74 .calc-side-note{font-size:9px!important}

/* Short laptop windows: use space for the form instead of decorative copy. */
@media (max-height:720px) and (min-width:721px){
  .calc-modal-shell{padding:8px!important}
  .calc-capture--v74 .calc-card{width:min(1320px,calc(100vw - 16px))!important;height:calc(var(--odravio-calc-vh,100dvh) - 16px)!important;max-height:calc(var(--odravio-calc-vh,100dvh) - 16px)!important}
  .calc-capture--v74 .calc-head{padding:11px 16px 8px!important}
  .calc-capture--v74 .calc-head p{display:none!important}
  .calc-capture--v74 .calc-scroll{padding:13px 18px 22px!important}
  .calc-capture--v74 .calc-footer{min-height:58px!important;padding:7px 14px!important}
  .calc-capture--v74 .calc-btn{height:43px!important}
  .calc-capture--v74 .calc-side{padding-top:8px!important}
}

/* Narrow desktop/tablet: keep controls visible and let content scroll. */
@media (max-width:980px) and (min-width:721px){
  .calc-capture--v74 .calc-layout{grid-template-columns:180px minmax(0,1fr)!important}
  .calc-capture--v74 .calc-scroll{padding-left:18px!important;padding-right:18px!important}
  .calc-capture--v74 .calc-cost-note{display:none!important}
  .calc-capture--v74 .calc-footer{justify-content:flex-end!important}
}

/* Mobile: full-screen app. Header + step rail + footer are always visible; only the form scrolls. */
@media (max-width:720px){
  .calc-modal-shell{padding:0!important;place-items:stretch!important;overflow:hidden!important}
  .calc-capture--v74 .calc-card{
    width:100vw!important;
    height:var(--odravio-calc-vh,100dvh)!important;
    max-height:var(--odravio-calc-vh,100dvh)!important;
    min-height:0!important;
    border-radius:0!important;
    border:0!important;
    grid-template-rows:auto 3px minmax(0,1fr)!important;
  }
  .calc-capture--v74 .calc-head{
    padding:9px 10px 8px!important;
    padding-top:max(9px,env(safe-area-inset-top))!important;
    gap:8px!important;
  }
  .calc-capture--v74 .calc-kicker{font-size:8px!important;margin-bottom:3px!important}
  .calc-capture--v74 .calc-head h3{font-size:16px!important;line-height:1.05!important}
  .calc-capture--v74 .calc-head p{display:none!important}
  .calc-head-actions{gap:4px!important}
  .calc-minimize,.calc-close{width:36px!important;height:36px!important;flex:0 0 36px!important;border-radius:11px!important}
  .calc-capture--v74 .calc-layout{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .calc-capture--v74 .calc-side{
    flex:0 0 auto!important;
    width:100%!important;
    max-height:53px!important;
    min-height:53px!important;
    padding:6px 8px!important;
    display:flex!important;
    flex-direction:row!important;
    gap:6px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    border-right:0!important;
    border-bottom:1px solid var(--calc-line)!important;
    scrollbar-width:none!important;
    scroll-snap-type:x proximity!important;
  }
  .calc-capture--v74 .calc-side::-webkit-scrollbar{display:none!important}
  .calc-capture--v74 .calc-step-tab{
    flex:0 0 auto!important;
    min-height:39px!important;
    height:39px!important;
    padding:6px 9px!important;
    white-space:nowrap!important;
    scroll-snap-align:center!important;
  }
  .calc-capture--v74 .calc-step-tab b{width:22px!important;height:22px!important;flex:0 0 22px!important}
  .calc-capture--v74 .calc-side-note{display:none!important}
  .calc-capture--v74 .calc-main{
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    display:grid!important;
    grid-template-rows:minmax(0,1fr) auto!important;
    overflow:hidden!important;
  }
  .calc-capture--v74 .calc-scroll{
    min-height:0!important;
    overflow-y:auto!important;
    padding:11px 11px 22px!important;
    scroll-padding-bottom:22px!important;
  }
  .calc-capture--v74 .calc-step-context{margin-bottom:8px!important;padding:7px 9px!important}
  .calc-capture--v74 .calc-step h4{font-size:18px!important;line-height:1.12!important}
  .calc-capture--v74 .calc-step__lead{font-size:10.5px!important;margin-bottom:13px!important}
  .calc-capture--v74 .calc-section{margin-bottom:15px!important}
  .calc-capture--v74 .calc-footer{
    position:relative!important;
    z-index:30!important;
    min-height:auto!important;
    width:100%!important;
    padding:8px 9px max(8px,env(safe-area-inset-bottom))!important;
    box-shadow:0 -9px 26px rgba(7,24,47,.11)!important;
    display:block!important;
  }
  .calc-capture--v74 .calc-cost-note{display:none!important}
  .calc-capture--v74 .calc-nav{
    width:100%!important;
    margin:0!important;
    display:grid!important;
    grid-template-columns:minmax(88px,.72fr) minmax(0,1.28fr)!important;
    gap:8px!important;
  }
  .calc-capture--v74 .calc-btn{
    width:100%!important;
    min-width:0!important;
    height:48px!important;
    padding:0 10px!important;
    font-size:11px!important;
    border-radius:13px!important;
  }
  .calc-capture--v74 .calc-prev:disabled{display:block!important;visibility:hidden!important}
  .calc-capture--v74 .calc-next{grid-column:2!important}
  .calc-capture--v74 .calc-btn--quote{grid-column:2!important;min-width:0!important;font-size:10.5px!important}
}

/* Very small phones: squeeze chrome, never the form/footer. */
@media (max-width:390px){
  .calc-capture--v74 .calc-head h3{font-size:15px!important}
  .calc-capture--v74 .calc-scroll{padding-left:9px!important;padding-right:9px!important}
  .calc-capture--v74 .calc-option{padding:10px!important}
  .calc-capture--v74 .calc-footer{padding-left:7px!important;padding-right:7px!important}
}

/* V78 — techniczny błąd kalkulatora pozostaje w modalu, nie w rozmowie. */
.calc-inline-error{min-height:0;margin-top:5px;font-size:12px;font-weight:700;line-height:1.35;color:#a90e21}
.calc-inline-error:empty{display:none}
.calc-quote:disabled{cursor:wait;opacity:.76}
