/* Build 9P — emergency upper-page clickability / modal-state correction. */

/* Interaction modals are CLOSED by default. A modal must have both the explicit
   active class and no hidden attribute to become an input surface. This prevents
   stale modal/backdrop state from previous scripts or partial loads intercepting
   pointer input invisibly. */
.build9c-home .interaction-modal{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.build9c-home .interaction-modal.tdre-modal-active:not([hidden]){
  display:grid!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.build9c-home .interaction-modal[hidden],
.build9c-home .interaction-modal:not(.tdre-modal-active){
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* Guided wizard uses its own explicit body state. Merely losing the hidden
   attribute can no longer create a full-screen invisible blocker. */
.build9c-home #enquiries,
.build9c-home #lead-wizard[hidden]{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.build9c-home.tdre-wizard-open #enquiries:not([hidden]),
body.build9c-home.tdre-wizard-open #enquiries:not([hidden]){
  display:grid!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
body.build9c-home.tdre-wizard-open #lead-wizard:not([hidden]){
  display:flex!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

/* Legacy video modal already has a reliable explicit .open state. Require it. */
.build9c-home .modal{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.build9c-home .modal.open:not([hidden]){
  display:grid!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

/* Consent banner is not a backdrop. When absent it must not own pointer input. */
.build9c-home .cookie:not(.show){pointer-events:none!important}
.build9c-home .cookie.show{pointer-events:auto!important}

/* Every decorative upper-page layer is non-interactive. */
.build9c-home .gateway-hero::before,
.build9c-home .gateway-hero::after,
.build9c-home .gateway-journey-card::before,
.build9c-home .gateway-journey-card::after,
.build9c-home .gateway-market-card::before,
.build9c-home .gateway-market-card::after,
.build9c-home .gateway-opportunity-card::before,
.build9c-home .gateway-opportunity-card::after,
.build9c-home .gateway-sector-card::before,
.build9c-home .gateway-sector-card::after,
.build9c-home .gateway-sector-card__media::before,
.build9c-home .gateway-sector-card__media::after,
.build9c-home .tdre-concierge-tip,
.build9c-home .tdre-concierge-tip::after{
  pointer-events:none!important;
}

/* Preserve the intended interactive surface without lifting it above a genuinely
   open dialog. */
.build9c-home header .logo,
.build9c-home header .desktop-nav a,
.build9c-home header .langs a,
.build9c-home header .menu-btn,
.build9c-home .mobile-menu a,
.build9c-home .mobile-menu button,
.build9c-home .gateway-journey-card,
.build9c-home .gateway-market-card,
.build9c-home .gateway-opportunity-card,
.build9c-home .gateway-sector-card,
.build9c-home .gateway-final-card,
.build9c-home .brief-choice-open,
.build9c-home .owner-review-open,
.build9c-home .buyer-route-open,
.build9c-home .calendly-open,
.build9c-home .video-link{
  pointer-events:auto;
}
