/* PD702 Brooklyn Integration 3.0.0 — authoritative theme/plugin compatibility layer */
html{scroll-behavior:smooth}
body.pd702-brooklyn-integrated{width:100%!important;max-width:100%!important;min-height:100vh!important;height:auto!important;overflow-x:hidden!important}
body.pd702-brooklyn-integrated *,body.pd702-brooklyn-integrated *:before,body.pd702-brooklyn-integrated *:after{box-sizing:border-box}

/* Dedicated app pages: neutralize Brooklyn/WPBakery width constraints without affecting normal site pages. */
body.pd702-app-page :is(#main-content,#primary,.site-content,.ut-site-container,.entry-content,.grid-container,.grid-parent,.vc_row,.vc_column_container,.wpb_wrapper){max-width:none!important}
body.pd702-app-page :is(#main-content,#primary,.site-content,.ut-site-container,.entry-content){width:100%!important;margin-left:0!important;margin-right:0!important}
body.pd702-app-page .entry-content{padding-left:0!important;padding-right:0!important}
body.pd702-app-page #main-content{overflow:visible!important;height:auto!important;max-height:none!important}
body.pd702-app-page :is(#ut-hero,#ut-custom-hero,.ut-page-title-holder){display:none!important}

/* Instant Quote: one browser scrollbar, full width at every breakpoint, theme navigation remains available. */
body.pd702-has-quote{height:auto!important;overflow-y:auto!important;background:#0b0d12!important}
body.pd702-has-quote :is(#main-content,#primary,.site-content,.ut-site-container,.entry-content,.grid-container,.grid-parent,.vc_row,.vc_column_container,.wpb_wrapper){width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;height:auto!important;max-height:none!important;overflow-y:visible!important}
body.pd702-has-quote .pd702-iwq{width:100%!important;max-width:none!important;margin:0!important;border-radius:0!important;border-left:0!important;border-right:0!important;overflow-x:clip!important;overflow-y:visible!important}
body.pd702-has-quote .pd702-iwq :is(.iwq-head,.iwq-form,.iwq-step,.iwq-thankyou){width:100%!important;max-width:none!important}
body.pd702-has-quote .pd702-iwq .iwq-choices,body.pd702-has-quote .pd702-iwq .iwq-multi{grid-template-columns:repeat(3,minmax(0,1fr))!important}
body.pd702-has-quote .pd702-iwq .iwq-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}

/* Referral Portal: app-like full-width workspace. On phones/tablets the public Brooklyn chrome is removed. */
body.pd702-has-portal{background:#090b10!important}
body.pd702-has-portal :is(#main-content,#primary,.site-content,.ut-site-container,.entry-content,.grid-container,.grid-parent,.vc_row,.vc_column_container,.wpb_wrapper){width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}
body.pd702-has-portal #pd702-portal,body.pd702-has-portal .pd702-auth-shell{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}

/* CRM frontend workspace if used outside wp-admin. */
body.pd702-has-crm .pd702li-front{width:100%!important;max-width:none!important;margin:0!important;padding-left:0!important;padding-right:0!important}

/* Public Quick Callback: Brooklyn must not recolor internal form controls unpredictably. */
body.pd702-has-callback .pd702-qcb,body.pd702-has-callback [data-pd-qcb]{max-width:100%!important}

/* Cross-product accessibility/contrast guard. */
body.pd702-brooklyn-integrated :is(.pd702li,#pd702-portal,.pd702-iwq) :is(button,a,input,select,textarea):focus-visible{outline:3px solid rgba(86,228,244,.52)!important;outline-offset:2px!important}
body.pd702-brooklyn-integrated :is(.pd702li,#pd702-portal,.pd702-iwq) img{max-width:100%;height:auto}
body.pd702-brooklyn-integrated :is(.pd702li,#pd702-portal,.pd702-iwq) :is(input,select,textarea,button){font-family:inherit}

/* Explicit light-surface contrast protection. */
body.pd702-brooklyn-integrated :is(.pd702li,#pd702-portal,.pd702-iwq) .pd702-light-surface,
body.pd702-brooklyn-integrated :is(.pd702li,#pd702-portal,.pd702-iwq) .pd702-light-surface :is(h1,h2,h3,h4,h5,h6,p,span,small,b,strong,label,a,td,th,li){color:#102b38!important}

@media(max-width:1100px){
  body.pd702-has-quote .pd702-iwq .iwq-choices,body.pd702-has-quote .pd702-iwq .iwq-multi{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:1023px){
  body.pd702-has-portal :is(#header-section,#ut-mobile-menu,#ut-scroll-up,#ut-sitebody>footer,.footer){display:none!important}
  body.pd702-has-portal{--pd702-theme-header-height:0px!important}
  body.pd702-has-portal #main-content{padding-top:0!important}
}
@media(max-width:760px){
  body.pd702-has-quote .pd702-iwq{width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important}
  body.pd702-has-quote .pd702-iwq :is(.iwq-choices,.iwq-multi,.iwq-grid){grid-template-columns:1fr!important}
  body.pd702-has-quote .pd702-iwq :is(input,select,textarea){font-size:16px!important}
  body.pd702-has-portal #pd702-portal{border-radius:0!important;border-left:0!important;border-right:0!important;min-height:100dvh!important}
}
@media(prefers-reduced-motion:reduce){
  body.pd702-brooklyn-integrated *,body.pd702-brooklyn-integrated *:before,body.pd702-brooklyn-integrated *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}


/* v3.0.0 — shared Sales OS integration safety layer */
html:has(body.pd702-brooklyn-integrated){max-width:100%;overflow-x:clip}
body.pd702-app-page :is(.pd702-iwq,#pd702-portal,.pd702li-front){min-width:0!important}
body.pd702-app-page :is(.pd702-iwq,#pd702-portal,.pd702li-front) :is(input,select,textarea,button,a){max-width:100%}
body.pd702-has-quote :is(#main-content,#primary,.site-content,.ut-site-container,.entry-content){overflow-y:visible!important;height:auto!important;max-height:none!important}
body.pd702-has-quote .pd702-iwq :is(.iwq-form,.iwq-step,.iwq-thankyou){overflow-y:visible!important;height:auto!important;max-height:none!important}
@media(max-width:760px){body.pd702-app-page :is(.vc_row,.vc_column_container,.wpb_wrapper){min-width:0!important}body.pd702-has-portal #pd702-portal,body.pd702-has-quote .pd702-iwq{max-width:100vw!important}}


/* v3.0.0 — Quote 29 shell + unified app safeguards */
body.pd702-has-quote .pd702-iwq .iwq-body-shell{width:100%!important;max-width:none!important;min-width:0!important;overflow:visible!important}
body.pd702-has-quote .pd702-iwq .iwq-live-summary{min-width:0!important;max-width:100%!important}
body.pd702-app-page :is(.pd702li,#pd702-portal,.pd702-iwq) :is(.pd702-network-pill,[aria-live="polite"],[role="status"]){max-width:100%!important}
@media(max-width:980px){body.pd702-has-quote .pd702-iwq .iwq-body-shell{grid-template-columns:1fr!important}}
@media(max-width:760px){body.pd702-has-quote .pd702-iwq .iwq-live-summary{position:relative!important;top:auto!important;width:100%!important}}

/* v30.4.0 — scoped Brooklyn containment for PD702 application pages */
body.pd702-brooklyn-portal-page #main-content,
body.pd702-brooklyn-quote-page #main-content,
body:has(#pd702-portal) #main-content,
body:has(.pd702-iwq) #main-content{width:100%!important;max-width:none!important;margin:0!important;padding-left:0!important;padding-right:0!important}
body:has(#pd702-portal) :is(.container,.grid-container,.vc_row),body:has(.pd702-iwq) :is(.container,.grid-container,.vc_row){max-width:none}
body:has(#pd702-portal),body:has(.pd702-iwq){overflow-x:hidden!important}
