/* Only the new-family booking form. Keep the site's original card styling. */
body.page-id-198 .bz-wc .bz-human-verification-center {
  text-align: center !important;
}
body.page-id-198 .bz-wc .bz-human-verification-center .cf-turnstile,
body.page-id-198 .bz-wc .bz-human-verification-center [id^="cf-turnstile"] {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 100%;
}
body.page-id-198 .bz-wc .bz-human-verification-center .cf-turnstile {
  display: flex !important;
  justify-content: center !important;
}
body.page-id-198 .bz-wc .bz-submit-is-processing {
  cursor: progress !important;
  pointer-events: none !important;
}
body.page-id-198 .bz-wc .bz-submit-is-processing::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 10px;
  vertical-align: -3px;
  border: 2px solid rgba(255,255,255,.45);
  border-top-color: #fff;
  border-radius: 50%;
  animation: bz-intake-spin .8s linear infinite;
}
@keyframes bz-intake-spin { to { transform: rotate(360deg); } }
.bz-intake-progress {
  position: fixed;
  z-index: 100000;
  bottom: max(20px, env(safe-area-inset-bottom));
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 11px;
  max-width: calc(100% - 32px);
  padding: 12px 19px;
  background: #102b4f;
  border-left: 4px solid #7d0029;
  color: #fff;
  border-radius: 9px;
  box-shadow: 0 8px 25px rgba(16,43,79,.25);
  font: 500 14px/1.5 Arial,Helvetica,sans-serif;
  pointer-events: none;
}
.bz-intake-progress[hidden] { display: none !important; }
.bz-intake-progress-wheel {
  flex: 0 0 17px;
  width: 17px;
  height: 17px;
  border: 2px solid rgba(255,255,255,.45);
  border-top-color: #fff;
  border-radius: 50%;
  animation: bz-intake-spin .8s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
 .bz-intake-progress-wheel,
 body.page-id-198 .bz-wc .bz-submit-is-processing::before {
  animation-duration: 2s;
 }
}

/* Center the actual Turnstile section, including its heading. */
body.page-id-198 .bz-wc .bz-human-verification-center {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}
body.page-id-198 .bz-wc .bz-human-verification-center > * {
  max-width: 100%;
}
body.page-id-198 .bz-wc .bz-human-verification-center .cf-turnstile,
body.page-id-198 .bz-wc .bz-human-verification-center [id^="cf-turnstile"] {
  margin-inline: auto !important;
}
/* Allow the detailed multiplication to wrap at narrow viewport widths. */
body.page-id-198 .bz-wc .bz-flow-prices { min-width: 0; }

/* Stable visual feedback while the original submission runs beneath it.
   This prevents a temporary Step 5 scroll/redraw from confusing families. */
#bz-intake-processing-screen {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(255,255,255,.96);
}
#bz-intake-processing-screen[hidden] { display: none !important; }
#bz-intake-processing-screen .bz-intake-processing-card {
  box-sizing: border-box;
  width: min(100%, 380px);
  padding: 30px 24px;
  border: 1px solid #e2e6ee;
  border-top: 4px solid #7d0029;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 10px 32px rgba(16,43,79,.12);
  text-align: center;
  font-family: Arial,Helvetica,sans-serif;
  color: #102b4f;
}
#bz-intake-processing-screen .bz-intake-processing-spinner {
  display: block;
  width: 40px;
  height: 40px;
  margin: 0 auto 17px;
  border: 4px solid #ecd9df;
  border-top-color: #7d0029;
  border-radius: 50%;
  animation: bz-intake-spin .8s linear infinite;
}
#bz-intake-processing-screen .bz-intake-processing-title {
  font-size: 18px;
  line-height: 1.5;
}
#bz-intake-processing-screen .bz-intake-processing-help {
  margin: 8px 0 0;
  font-size: 13px;
  line-height: 1.5;
  color: #546579;
}
@media (prefers-reduced-motion: reduce) {
  #bz-intake-processing-screen .bz-intake-processing-spinner {
    animation-duration: 2s;
  }
}

/* Explicitly centre both items in the human-verification card on desktop and mobile.
   We additionally set inline important styles from JS to overcome competing form styles. */
body.page-id-198 .bz-wc .bz-human-verification-center {
  text-align: center !important;
  align-items: center !important;
}
body.page-id-198 .bz-wc .bz-human-verification-center .cf-turnstile,
body.page-id-198 .bz-wc .bz-human-verification-center [id^="cf-turnstile"] {
  margin-inline: auto !important;
}
