/* V86 — mobile-first premium polish.
   Loaded LAST so it fixes mobile geometry without touching CRM, GEO, phones or messenger logic. */

@media (max-width:850px){
  html{overflow-x:hidden!important}
  body{overflow-x:hidden!important;background:#f4fafb!important}
  .landing-v2,.px-page{max-width:100%!important;overflow-x:clip!important}
  .px-shell,.v2-header-inner,.dd-city-confirm-inner{width:min(calc(100% - 24px),620px)!important}
  .px-page h2{margin-bottom:16px!important;font-size:clamp(26px,7.2vw,31px)!important;line-height:1.08!important;letter-spacing:-.035em!important}
  .px-section{padding:34px 0!important}

  /* Header and geo bar */
  .v2-header-inner{min-height:64px!important;gap:12px!important}
  .px-brand-icon{width:40px!important;height:40px!important;border-radius:12px 12px 12px 5px!important}
  .px-brand-copy strong{font-size:17px!important}
  .px-brand-copy small{font-size:8.5px!important;letter-spacing:.08em!important}
  .dd-city-confirm{box-shadow:0 5px 20px rgba(7,52,95,.045)!important}
  .dd-city-confirm-inner{min-height:52px!important;gap:9px!important}
  .dd-city-confirm-copy{min-width:0!important}
  .dd-city-confirm-copy strong{font-size:12.5px!important;line-height:1.2!important}
  .dd-city-confirm-copy small{font-size:9.5px!important;line-height:1.25!important}

  /* Hero */
  .px-hero{padding:12px 0 19px!important}
  .px-hero>.px-shell{gap:10px!important}
  .px-offer-card,.px-photo{border-radius:21px!important;border-color:#d6e9ed!important;box-shadow:0 14px 34px rgba(7,52,95,.075)!important}
  .px-offer-card{padding:19px 15px 15px!important}
  .px-kicker{margin-bottom:10px!important;padding:6px 9px!important;font-size:9.5px!important}
  .px-offer-card h1{margin-bottom:7px!important;font-size:clamp(32px,9vw,39px)!important;line-height:.99!important;letter-spacing:-.052em!important}
  .px-price{font-size:clamp(24px,7vw,29px)!important}
  .px-offer-card>p{margin:8px 0 14px!important;color:#3f627b!important;font-size:14px!important;line-height:1.22!important}
  .px-care-mark{top:45px!important;right:9px!important;width:104px!important;height:104px!important;box-shadow:0 8px 24px rgba(7,52,95,.045)!important}
  .px-hero-form{gap:8px!important}
  .px-hero-form label span{margin:0 0 5px 2px!important;color:#315c7a!important;font-size:10px!important}
  .px-hero-form input,.px-hero-form button{height:50px!important;border-radius:13px!important;font-size:13px!important}
  .px-hero-form input{min-width:0!important;padding:0 12px!important}
  .px-hero-form button{min-width:0!important;padding:0 10px!important;box-shadow:0 10px 24px rgba(5,147,158,.20)!important}
  .px-call-now{height:auto!important;min-height:60px!important;margin-top:9px!important;border-radius:15px!important}
  .px-photo{min-height:230px!important}
  .px-facts{gap:8px!important}
  .px-facts article{min-width:0!important;border-radius:14px!important;box-shadow:0 8px 22px rgba(7,52,95,.045)!important}

  /* Problem cards */
  .px-need{padding-top:28px!important}
  .px-need-grid{gap:8px!important}
  .px-need-grid article{min-height:106px!important;padding:12px!important;gap:9px!important;border-radius:15px!important}
  .px-need-grid i{flex-basis:38px!important;width:38px!important;height:38px!important;border-radius:12px!important;font-size:17px!important}
  .px-need-grid h3{font-size:12.5px!important;line-height:1.2!important}
  .px-need-grid p{font-size:10.5px!important;line-height:1.38!important}
  .px-need-grid small{font-size:8.5px!important;line-height:1.3!important}

  /* Horizontal cards */
  .px-plan-track,.px-step-grid{gap:10px!important;padding-right:14px!important;scroll-padding-inline:2px 18px!important}
  .px-plan{min-width:84%!important;padding:18px!important;border-radius:19px!important;box-shadow:0 12px 28px rgba(7,52,95,.065)!important}
  .px-plan h3{font-size:17px!important}
  .px-plan>strong{font-size:24px!important}
  .px-plan li{font-size:12px!important;line-height:1.38!important}
  .px-plan button{min-height:44px!important;border-radius:12px!important;font-size:12.5px!important}
  .px-plan-note{margin-top:11px!important;padding:12px!important;border-radius:14px!important}
  .px-plan-note p{font-size:10.5px!important;line-height:1.4!important}
  .px-step-grid article{min-width:78%!important;border-radius:18px!important;box-shadow:0 10px 25px rgba(7,52,95,.055)!important}
  .px-step-img{height:122px!important}
  .px-step-grid h3{margin:13px 14px 5px!important;font-size:14.5px!important}
  .px-step-grid p{margin:0 14px!important;font-size:11.5px!important;line-height:1.4!important}
  .px-scroll-arrow{width:44px!important;height:44px!important;min-height:44px!important}

  /* Quiz */
  .px-calc-grid{gap:10px!important}
  .px-calc-copy p{font-size:13px!important;line-height:1.4!important}
  .px-quiz{padding:15px!important;border-radius:18px!important;box-shadow:0 10px 28px rgba(7,52,95,.055)!important}
  .px-quiz .v2-quiz-top strong{font-size:18px!important}
  .px-quiz .v2-quiz-options button{min-height:50px!important;border-radius:12px!important;font-size:13px!important}

  /* Trust/service/doctor blocks */
  .px-trust{padding:32px 0!important}
  .px-trust h2{margin-bottom:16px!important;font-size:clamp(27px,7.4vw,31px)!important;line-height:1.08!important}
  .px-trust-grid{gap:8px!important}
  .px-trust-grid article{min-width:0!important;padding:11px!important;border-radius:14px!important}
  .px-trust-grid i{flex:0 0 32px!important;width:32px!important;height:32px!important;border-radius:10px!important}
  .px-trust-grid strong{font-size:11.5px!important;line-height:1.22!important}
  .px-trust-grid small{font-size:9.5px!important;line-height:1.3!important}
  .px-action-list{gap:7px!important}
  .px-action-list article{min-height:50px!important;padding:8px 11px!important;border-radius:13px!important}
  .px-action-list i{width:31px!important;height:31px!important;border-radius:10px!important}
  .px-action-list strong{font-size:12.5px!important;line-height:1.25!important}
  .px-service-grid{gap:8px!important}
  .px-service-grid article{min-height:108px!important;padding:13px!important;border-radius:14px!important}
  .px-service-grid strong{font-size:12px!important;line-height:1.25!important}
  .px-service-grid small{font-size:10px!important;line-height:1.35!important}
  .px-doc-link{font-size:11px!important}
  .px-doc-note{font-size:9.5px!important;line-height:1.35!important}

  /* FAQ */
  .px-faq-list{gap:8px!important}
  .px-faq-list article{border-radius:14px!important;box-shadow:0 7px 20px rgba(7,52,95,.035)!important}
  .px-faq-list article>button{min-height:54px!important;padding:11px 13px!important;font-size:13.5px!important;line-height:1.25!important}
  .px-faq-list article>button i{flex:0 0 28px!important;width:28px!important;height:28px!important;border-radius:9px!important}
  .px-faq-list article>div{padding:0 13px 13px!important;font-size:11.5px!important;line-height:1.5!important}

  /* FINAL CTA — hard mobile geometry fix. Every direct child is forced onto one track. */
  .px-final{padding:28px 0!important;background:linear-gradient(145deg,#07345f 0%,#075579 100%)!important}
  .px-final-card{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-columns:minmax(0,1fr)!important;
    gap:13px!important;
    width:min(calc(100% - 24px),620px)!important;
    padding:20px 18px 18px!important;
    border:1px solid rgba(255,255,255,.16)!important;
    border-radius:20px!important;
    background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.035))!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 18px 42px rgba(1,30,54,.16)!important;
  }
  .px-final-card>*{
    grid-column:1/-1!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .px-final-card>div{display:block!important}
  .px-final-card>div small{display:block!important;margin-bottom:5px!important;color:#75e2df!important;font-size:12px!important;line-height:1.25!important;font-weight:850!important}
  .px-final-card h2{margin:0 0 7px!important;color:#fff!important;font-size:clamp(30px,8.2vw,36px)!important;line-height:1!important;letter-spacing:-.045em!important}
  .px-final-card p{max-width:33ch!important;margin:0!important;color:#d0e5ed!important;font-size:13px!important;line-height:1.45!important}
  .px-final-card form{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:9px!important;
    width:100%!important;
    align-self:auto!important;
  }
  .px-final-card form>input:not(.lead-honeypot),
  .px-final-card form>button{
    grid-column:1!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:54px!important;
    min-height:54px!important;
    margin:0!important;
    border-radius:14px!important;
    font-size:16px!important;
    line-height:1!important;
  }
  .px-final-card form>input:not(.lead-honeypot){
    padding:0 16px!important;
    color:#123a5c!important;
    background:#fff!important;
    border:1px solid rgba(255,255,255,.9)!important;
    box-shadow:0 8px 22px rgba(1,31,54,.10)!important;
    outline:none!important;
  }
  .px-final-card form>input:not(.lead-honeypot):focus{border-color:#72dfe2!important;box-shadow:0 0 0 4px rgba(64,210,216,.18),0 8px 22px rgba(1,31,54,.10)!important}
  .px-final-card form>button{
    color:#fff!important;
    background:linear-gradient(135deg,#10b8be,#078698)!important;
    border:0!important;
    font-size:14px!important;
    font-weight:900!important;
    box-shadow:0 10px 24px rgba(3,123,139,.27)!important;
  }
  .px-final-card .px-call-stage-final{
    grid-column:1/-1!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:1px 0 0!important;
    padding:0 0 32px!important;
  }
  .px-final-card .px-call-stage-final>.px-final-call,
  .px-final-card .px-final-call.px-premium-call{
    grid-column:auto!important;
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr)!important;
    gap:11px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:66px!important;
    height:66px!important;
    margin:0!important;
    padding:8px 14px!important;
    color:#123d5f!important;
    background:linear-gradient(135deg,#fff 0%,#f1fbfc 100%)!important;
    border:1px solid #b9e3e7!important;
    border-radius:16px!important;
    box-shadow:0 11px 28px rgba(1,31,54,.17),inset 0 1px 0 rgba(255,255,255,.95)!important;
    overflow:hidden!important;
  }
  .px-final-card .px-call-phone{width:44px!important;height:44px!important;border-radius:13px!important}
  .px-final-card .px-call-phone svg{width:21px!important;height:21px!important}
  .px-final-card .px-call-copy{min-width:0!important;align-items:flex-start!important;text-align:left!important;overflow:hidden!important}
  .px-final-card .px-call-copy small{display:block!important;color:#53728a!important;font-size:10.5px!important;line-height:1.1!important;font-weight:800!important}
  .px-final-card .px-call-copy strong{
    display:block!important;
    max-width:100%!important;
    color:#073b64!important;
    font-size:clamp(18px,5.5vw,22px)!important;
    line-height:1.08!important;
    font-weight:950!important;
    letter-spacing:-.03em!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .px-final-card .px-call-gesture{
    right:4px!important;
    bottom:0!important;
    left:auto!important;
    height:29px!important;
    max-width:100%!important;
  }
  .px-final-card .px-call-gesture>small{padding:4px 8px!important;font-size:9px!important}
  .px-final-card .px-data-note{
    grid-column:1/-1!important;
    width:100%!important;
    margin:-1px 0 0!important;
    padding:0 2px!important;
    color:#b9d4df!important;
    font-size:10px!important;
    line-height:1.35!important;
    text-align:center!important;
  }

  /* Footer and floating controls */
  .px-exact-footer{padding:20px 0 18px!important;background:#fff!important}
  .px-exact-footer .v2-footer-address{
    width:min(calc(100% - 24px),620px)!important;
    margin:0 auto!important;
    padding:0 68px 0 2px!important;
    gap:5px!important;
    color:#627e91!important;
    font-size:11.5px!important;
    line-height:1.45!important;
    text-align:left!important;
    overflow-wrap:anywhere!important;
  }
  .px-exact-footer .v2-footer-company{color:#143e63!important;font-size:13.5px!important;font-weight:900!important}
  .px-exact-footer .v2-footer-address-label{color:#143e63!important;font-weight:900!important}
  .dd-messenger-launcher{right:12px!important;bottom:calc(88px + env(safe-area-inset-bottom))!important;width:58px!important;height:58px!important;filter:drop-shadow(0 9px 18px rgba(3,75,98,.18))!important}
  .v2-mobile-actions{
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
    gap:8px!important;
    min-height:calc(76px + env(safe-area-inset-bottom))!important;
    padding:9px 12px calc(9px + env(safe-area-inset-bottom))!important;
    background:rgba(255,255,255,.98)!important;
    border-top:1px solid #d5e7eb!important;
    box-shadow:0 -13px 34px rgba(4,48,77,.15)!important;
  }
  .v2-mobile-actions>a,.v2-mobile-actions>button{
    min-width:0!important;
    min-height:56px!important;
    height:56px!important;
    border-radius:15px!important;
    font-size:14px!important;
    font-weight:900!important;
  }
  .v2-mobile-actions>a{color:#08788e!important;background:#fff!important;border:1.5px solid #0aa4ad!important}
  .v2-mobile-actions>button{color:#fff!important;background:linear-gradient(135deg,#0db4ba,#078698)!important;border:0!important;box-shadow:0 8px 18px rgba(3,132,147,.20)!important}
}

@media (max-width:520px){
  .px-shell,.v2-header-inner,.dd-city-confirm-inner{width:calc(100% - 20px)!important}
  .px-hero-form{grid-template-columns:minmax(0,1fr)!important}
  .px-hero-form label,.px-hero-form button{grid-column:1!important;width:100%!important}
  .px-hero-form button{min-height:50px!important}
  .px-facts{grid-template-columns:1fr 1fr!important;gap:7px!important}
  .px-facts article{display:flex!important;align-items:center!important;gap:8px!important;padding:9px!important;text-align:left!important}
  .px-facts img{width:31px!important;height:31px!important;margin:0!important;flex:0 0 31px!important}
  .px-facts strong{font-size:10.5px!important;line-height:1.2!important}
  .px-facts small{display:block!important;font-size:8.5px!important;line-height:1.2!important}
  .px-final-card{width:calc(100% - 20px)!important;padding:19px 16px 17px!important}
  .px-exact-footer .v2-footer-address{width:calc(100% - 20px)!important}
}

@media (max-width:380px){
  .px-offer-card{padding:17px 13px 14px!important}
  .px-offer-card h1{max-width:72%!important;font-size:30px!important}
  .px-price{max-width:72%!important;font-size:23px!important}
  .px-offer-card>p{max-width:70%!important;font-size:12.5px!important}
  .px-care-mark{top:45px!important;right:5px!important;width:94px!important;height:94px!important}
  .px-care-mark strong{font-size:10px!important}
  .px-facts strong{font-size:9.7px!important}
  .px-facts small{font-size:8px!important}
  .px-need-grid{grid-template-columns:1fr!important}
  .px-need-grid article{min-height:0!important}
  .px-plan{min-width:88%!important}
  .px-step-grid article{min-width:84%!important}
  .px-trust-grid{grid-template-columns:1fr!important}
  .px-service-grid{grid-template-columns:1fr 1fr!important}
  .px-final-card .px-call-copy strong{font-size:18px!important}
  .px-final-card .px-call-stage-final>.px-final-call{padding-right:10px!important;padding-left:10px!important}
  .v2-mobile-actions{padding-right:8px!important;padding-left:8px!important}
  .v2-mobile-actions>a,.v2-mobile-actions>button{font-size:12.5px!important}
}

@media (prefers-reduced-motion:reduce){
  .px-final-card form>button,.v2-mobile-actions>button{transition:none!important}
}
