html[data-nl] {
  overflow-x: clip !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: auto;
}
html[data-nl] body {
  overflow-x: clip !important;
  overflow-y: visible !important;
  min-height: 100%;
  touch-action: pan-y pinch-zoom;
}
html[data-nl="etapas"] #nl-etapas {
  min-height: 100%;
}
html[data-nl] body > .site-head-fullbleed { display: none !important; }
/* Motor original sempre fora da tela — etapas 2–4 inclusive. Nunca pintar o layout do index. */
html[data-nl] body > .wrap:has(> #orc-form),
html[data-nl] body > #layout-summary,
html[data-nl] [data-nl-sistema],
html[data-nl] #layout-summary,
html[data-nl] #wizard-step-1,
html[data-nl] #wizard-step-2,
html[data-nl] #wizard-step-3,
html[data-nl] #wizard-step-4,
html[data-nl] .wizard-inline-footer,
html[data-nl] #wizard-sticky,
html[data-nl] .calc-page-head,
html[data-nl] .hero-top-progress,
html[data-nl] #hero-top-progress,
html[data-nl] .pl-orc-sitefoot {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  z-index: -1 !important;
  width: 100vw !important;
  max-width: none !important;
  height: 100vh !important;
  margin: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  transform: translateX(-300vw) !important;
  visibility: hidden !important;
  pointer-events: none !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
}
html[data-nl] body > *:not(#nl-home):not(#nl-etapas):not([data-nl-sistema]):not(#pl-reels-lightbox):not(#pl-hm-v2-reels-lb):not(#printlivros-chat):not(#pl-budget-chat-root):not(#pl-boneco-confirm):not(#pl-arq-how-modal):not(#login-modal):not(#reg-exists-modal):not(#modal-enviar-orc):not(#modal-cobertura-backdrop):not(#pl-pay-confirm-dialog):not(#pl-pay-combined-dialog):not(#pl-asaas-pay-dialog):not(#pl-suporte-gate):not(#pl-didactic-backdrop):not([data-nl-motor]) {
  display: none !important;
}
html[data-nl] body > dialog:not([open]) {
  display: none !important;
}
html[data-nl] body > dialog[open] {
  display: block !important;
  z-index: 50000 !important;
  pointer-events: auto !important;
  visibility: visible !important;
}
html[data-nl] #pl-boneco-confirm.is-open,
html[data-nl] #pl-arq-how-modal.is-open,
html[data-nl] #login-modal.is-open,
html[data-nl] #reg-exists-modal.is-open,
html[data-nl] #pl-suporte-gate.is-open,
html[data-nl] #pl-didactic-backdrop.is-open,
html[data-nl] #modal-cobertura-backdrop.cob-backdrop--open,
html[data-nl] #modal-cobertura-backdrop[aria-hidden="false"],
html[data-nl] #modal-enviar-orc.modal-backdrop.is-open {
  display: flex !important;
  z-index: 50000 !important;
  pointer-events: auto !important;
  visibility: visible !important;
  opacity: 1 !important;
}
html[data-nl].pl-reels-lb-open,
html[data-nl].pl-mreels-lb-open {
  overflow: hidden !important;
}
#nl-home, #nl-etapas { display: block; }
#nl-home[hidden], #nl-etapas[hidden] { display: none !important; }
/* Ganha do CSS do wizard original (position:fixed + transform no rodapé/etapas). */
html[data-nl] #orc-form[data-wizard-step="2"] .wizard-inline-footer,
html[data-nl] #orc-form[data-wizard-step="3"] .wizard-inline-footer,
html[data-nl] #orc-form[data-wizard-step="4"] .wizard-inline-footer,
html[data-nl] #orc-form[data-wizard-step="2"] #wizard-sticky,
html[data-nl] #orc-form[data-wizard-step="3"] #wizard-sticky,
html[data-nl] #orc-form[data-wizard-step="4"] #wizard-sticky,
html[data-nl] #orc-form #wizard-step-1,
html[data-nl] #orc-form #wizard-step-2,
html[data-nl] #orc-form #wizard-step-3,
html[data-nl] #orc-form #wizard-step-4,
html[data-nl] #orc-form #layout-summary,
html[data-nl] #orc-form .layout-summary {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  bottom: auto !important;
  z-index: -1 !important;
  width: 1px !important;
  max-width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  transform: translateX(-300vw) !important;
  visibility: hidden !important;
  pointer-events: none !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
}
