/* Lock scrolling of the body while the overlay is active. */
body.bw-lock-scroll { overflow: hidden; }

/* Full-screen overlay. */
#bw-screen-overlay {
  position: fixed; inset: 0;
  display: none; align-items: center; justify-content: center;
  background: rgba(10, 13, 20, 0.36);
  backdrop-filter: blur(2px);
  z-index: 2147483500;
  pointer-events: all; cursor: progress;
}
#bw-screen-overlay.is-active { display: flex; }

/* Status card. */
#bw-screen-overlay .bw-card {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 18px; border-radius: 14px;
  background: rgba(0, 0, 0, .65);
  box-shadow: 0 10px 40px rgba(0, 0, 0, .35);
}

/* Spinner. */
#bw-screen-overlay .bw-spinner {
  width: 26px; height: 26px; border-radius: 50%;
  border: 3px solid rgba(255, 255, 255, .45);
  border-top-color: #fff;
  animation: bwspin .9s linear infinite;
}
#bw-screen-overlay .bw-text { color: #fff; font-weight: 700; font-size: 15px; letter-spacing: .2px; }
@keyframes bwspin { to { transform: rotate(360deg); } }

/* Dead submit button while the form is locked. */
.wpcf7-form.bw-locked .wpcf7-submit {
  pointer-events: none !important;
  opacity: .65; cursor: not-allowed !important;
}

/* Off-screen honeypot wrapper, hidden from humans and assistive tech. */
.bw-hp-wrap {
  position: absolute !important;
  left: -9999px !important;
  top: auto !important;
  width: 1px; height: 1px;
  overflow: hidden;
}
