html.bbrx-lock, body.bbrx-lock { overflow:hidden !important; }

/* Isolate the gate from theme / Elementor / WooCommerce button styles. */
#bbrx-gate, #bbrx-gate * { box-sizing:border-box !important; }
#bbrx-gate {
  position:fixed !important;
  inset:0 !important;
  z-index:2147483647 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:auto !important;
  padding:24px !important;
  background:transparent !important;
  -webkit-backdrop-filter:blur(10px) !important;
  backdrop-filter:blur(10px) !important;
  font-family:Arial,Helvetica,sans-serif !important;
  color:#101856 !important;
}


#bbrx-gate input:-webkit-autofill,
#bbrx-gate input:-webkit-autofill:hover,
#bbrx-gate input:-webkit-autofill:focus {
  -webkit-text-fill-color:#14205f !important;
  -webkit-box-shadow:0 0 0 1000px #fff inset !important;
  box-shadow:0 0 0 1000px #fff inset !important;
  transition:background-color 9999s ease-out 0s !important;
}
#bbrx-gate button, #bbrx-gate button * {
  color:inherit !important;
  -webkit-text-fill-color:inherit !important;
}
#bbrx-gate .bbrx-panel {
  width:min(100%,760px) !important;
  max-height:calc(100vh - 48px) !important;
  overflow:auto !important;
  margin:auto !important;
  padding:24px 38px 30px !important;
  text-align:center !important;
  background:#fff !important;
  border:1px solid rgba(7,61,187,.10) !important;
  border-radius:22px !important;
  box-shadow:0 24px 70px rgba(12,37,92,.18) !important;
  scrollbar-width:thin;
}

#bbrx-gate .bbrx-logo-wrap { display:flex !important; justify-content:center !important; margin:0 auto 15px !important; }
#bbrx-gate .bbrx-logo {
  width:172px !important;
  max-width:42vw !important;
  height:auto !important;
  display:block !important;
  filter:drop-shadow(0 10px 8px rgba(0,0,0,.16)) !important;
}

#bbrx-gate .bbrx-title,
#bbrx-gate .bbrx-member-title {
  margin:0 !important;
  color:#073cb7 !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-weight:900 !important;
  letter-spacing:-.8px !important;
  text-transform:none !important;
}
#bbrx-gate .bbrx-title { font-size:clamp(27px,3.1vw,38px) !important; line-height:1.08 !important; }
#bbrx-gate .bbrx-offer-row {
  margin:8px auto 20px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  flex-wrap:wrap !important;
}
#bbrx-gate .bbrx-discount {
  color:#063eb7 !important;
  font-size:clamp(32px,4.5vw,49px) !important;
  line-height:1 !important;
  font-weight:900 !important;
  padding:9px 20px 8px !important;
  border-radius:5px !important;
  background:linear-gradient(90deg,#d69b13 0%,#ffe278 50%,#d39910 100%) !important;
  box-shadow:0 6px 13px rgba(152,100,0,.18), inset 0 0 0 2px rgba(255,230,135,.45) !important;
}
#bbrx-gate .bbrx-subheadline {
  color:#073cb7 !important;
  font-size:clamp(25px,3.2vw,35px) !important;
  line-height:1.05 !important;
  font-weight:900 !important;
}

#bbrx-gate .bbrx-form { width:100% !important; max-width:650px !important; margin:0 auto !important; }
#bbrx-gate .bbrx-form input[type="text"],
#bbrx-gate .bbrx-form input[type="email"],
#bbrx-gate .bbrx-form input[type="password"] {
  appearance:none !important;
  -webkit-appearance:none !important;
  width:100% !important;
  height:62px !important;
  min-height:62px !important;
  margin:0 !important;
  border:3px solid #d9a322 !important;
  border-radius:10px !important;
  background:#fff !important;
  color:#14205f !important;
  font:400 20px/1 Arial,Helvetica,sans-serif !important;
  padding:0 24px !important;
  outline:none !important;
  box-shadow:none !important;
  transition:border-color .18s ease, box-shadow .18s ease !important;
}
#bbrx-gate .bbrx-form input:focus { border-color:#0b43c6 !important; box-shadow:0 0 0 4px rgba(11,67,198,.09) !important; }
#bbrx-gate .bbrx-form input::placeholder { color:#9aa2b5 !important; opacity:1 !important; }

#bbrx-gate .bbrx-email-row { display:grid !important; grid-template-columns:1fr 205px !important; margin-top:12px !important; }
#bbrx-gate .bbrx-email-row input { border-radius:10px 0 0 10px !important; border-right:0 !important; }

#bbrx-gate button.bbrx-join,
#bbrx-gate button.bbrx-primary-btn,
#bbrx-gate button.bbrx-login-switch,
#bbrx-gate button.bbrx-back {
  appearance:none !important;
  -webkit-appearance:none !important;
  text-decoration:none !important;
  text-shadow:none !important;
  box-shadow:none !important;
  cursor:pointer !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-weight:800 !important;
  letter-spacing:.8px !important;
  line-height:1 !important;
}
#bbrx-gate button.bbrx-join,
#bbrx-gate button.bbrx-primary-btn {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:#0642bd !important;
  background-image:linear-gradient(135deg,#064acb,#0738ab) !important;
  border-color:#d9a322 !important;
}
#bbrx-gate button.bbrx-join:hover,
#bbrx-gate button.bbrx-join:focus,
#bbrx-gate button.bbrx-join:active,
#bbrx-gate button.bbrx-primary-btn:hover,
#bbrx-gate button.bbrx-primary-btn:focus,
#bbrx-gate button.bbrx-primary-btn:active {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:#0738ab !important;
  background-image:linear-gradient(135deg,#0738ab,#052d91) !important;
}
#bbrx-gate .bbrx-join {
  height:62px !important;
  min-height:62px !important;
  padding:0 20px !important;
  border:3px solid #d9a322 !important;
  border-left:0 !important;
  border-radius:0 10px 10px 0 !important;
  font-size:17px !important;
}
#bbrx-gate .bbrx-join span,
#bbrx-gate .bbrx-primary-btn span,
#bbrx-gate .bbrx-login-switch span { font-size:1.28em !important; vertical-align:-.04em !important; margin-left:10px !important; }

#bbrx-gate .bbrx-check-row {
  width:100% !important;
  max-width:620px !important;
  margin:18px auto 0 !important;
  display:grid !important;
  grid-template-columns:34px 1fr !important;
  gap:13px !important;
  text-align:left !important;
  align-items:flex-start !important;
  font:400 15px/1.45 Arial,Helvetica,sans-serif !important;
  color:#111b5b !important;
  cursor:pointer !important;
}
#bbrx-gate .bbrx-check-row input { position:absolute !important; opacity:0 !important; pointer-events:none !important; }
#bbrx-gate .bbrx-custom-check {
  width:32px !important; height:32px !important; border:3px solid #073dc5 !important; border-radius:6px !important;
  background:#fff !important; position:relative !important; margin-top:1px !important;
}
#bbrx-gate .bbrx-check-row input:checked + .bbrx-custom-check:after {
  content:'✓' !important; position:absolute !important; inset:-3px 0 0 !important; display:grid !important; place-items:center !important;
  color:#073dc5 !important; font-size:24px !important; font-weight:900 !important;
}
#bbrx-gate .bbrx-check-row a,
#bbrx-gate .bbrx-check-row a:visited,
#bbrx-gate .bbrx-login-links a,
#bbrx-gate .bbrx-login-links a:visited {
  color:#053bc3 !important; -webkit-text-fill-color:#053bc3 !important; text-decoration:underline !important; text-underline-offset:2px !important;
}

#bbrx-gate .bbrx-divider { width:100% !important; max-width:640px !important; height:2px !important; margin:24px auto 18px !important; background:linear-gradient(90deg,#d59b16,#ffe47d,#d59b16) !important; }
#bbrx-gate .bbrx-member-title { font-size:25px !important; margin-bottom:14px !important; }
#bbrx-gate button.bbrx-login-switch {
  width:min(100%,360px) !important;
  height:58px !important;
  min-height:58px !important;
  padding:0 24px !important;
  color:#073dbb !important;
  -webkit-text-fill-color:#073dbb !important;
  background:#fff !important;
  border:3px solid #073dbb !important;
  border-radius:9px !important;
  font-size:18px !important;
}
#bbrx-gate button.bbrx-login-switch:hover,
#bbrx-gate button.bbrx-login-switch:focus,
#bbrx-gate button.bbrx-login-switch:active {
  color:#fff !important; -webkit-text-fill-color:#fff !important; background:#073dbb !important; border-color:#073dbb !important;
}

#bbrx-gate .bbrx-login-heading { margin-top:4px !important; }
#bbrx-gate .bbrx-login-copy { font:400 16px/1.4 Arial,Helvetica,sans-serif !important; margin:7px 0 18px !important; color:#38406b !important; }
#bbrx-gate .bbrx-login-view .bbrx-form { max-width:500px !important; display:grid !important; gap:12px !important; }
#bbrx-gate .bbrx-primary-btn {
  width:100% !important; height:60px !important; min-height:60px !important; margin-top:1px !important; padding:0 20px !important;
  border:0 !important; border-radius:9px !important; font-size:18px !important;
}
#bbrx-gate .bbrx-login-links { margin:14px 0 16px !important; display:flex !important; justify-content:center !important; gap:22px !important; flex-wrap:wrap !important; }
#bbrx-gate .bbrx-login-links a { font-size:14px !important; }
#bbrx-gate button.bbrx-back {
  min-height:40px !important; padding:0 14px !important; border:1px solid #073dbb !important; border-radius:7px !important;
  background:#fff !important; color:#073dbb !important; -webkit-text-fill-color:#073dbb !important; font-size:13px !important;
}
#bbrx-gate button.bbrx-back:hover,
#bbrx-gate button.bbrx-back:focus { background:#f4f7ff !important; color:#073dbb !important; -webkit-text-fill-color:#073dbb !important; }

#bbrx-gate .bbrx-message { min-height:18px !important; margin:9px auto 0 !important; font:700 13px/1.35 Arial,Helvetica,sans-serif !important; }
#bbrx-gate .bbrx-message.is-error { color:#b42318 !important; }
#bbrx-gate .bbrx-message.is-success { color:#067647 !important; }
#bbrx-gate .bbrx-form.is-busy { opacity:.72 !important; }
#bbrx-gate .bbrx-sr { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
#bbrx-gate [hidden] { display:none !important; }

@media (max-height:760px) and (min-width:641px) {
  #bbrx-gate { align-items:flex-start !important; padding:14px !important; }
  #bbrx-gate .bbrx-panel { max-height:calc(100vh - 28px) !important; padding-top:16px !important; padding-bottom:20px !important; }
  #bbrx-gate .bbrx-logo { width:125px !important; }
  #bbrx-gate .bbrx-logo-wrap { margin-bottom:10px !important; }
  #bbrx-gate .bbrx-title { font-size:30px !important; }
  #bbrx-gate .bbrx-discount { font-size:38px !important; padding:7px 16px 6px !important; }
  #bbrx-gate .bbrx-subheadline { font-size:28px !important; }
  #bbrx-gate .bbrx-offer-row { margin-bottom:14px !important; }
  #bbrx-gate .bbrx-divider { margin:18px auto 13px !important; }
}

@media (max-width:640px) {
  #bbrx-gate { padding:12px !important; align-items:flex-start !important; }
  #bbrx-gate .bbrx-panel { width:100% !important; max-height:calc(100vh - 24px) !important; padding:18px 16px 22px !important; border-radius:16px !important; }
  #bbrx-gate .bbrx-logo { width:132px !important; max-width:42vw !important; }
  #bbrx-gate .bbrx-logo-wrap { margin-bottom:12px !important; }
  #bbrx-gate .bbrx-title { font-size:25px !important; letter-spacing:-.4px !important; }
  #bbrx-gate .bbrx-offer-row { gap:8px !important; margin:7px auto 16px !important; }
  #bbrx-gate .bbrx-discount { font-size:31px !important; padding:8px 13px 7px !important; }
  #bbrx-gate .bbrx-subheadline { font-size:23px !important; }
  #bbrx-gate .bbrx-form input[type="text"],
  #bbrx-gate .bbrx-form input[type="email"],
  #bbrx-gate .bbrx-form input[type="password"] { height:56px !important; min-height:56px !important; font-size:17px !important; padding:0 17px !important; }
  #bbrx-gate .bbrx-email-row { grid-template-columns:1fr !important; gap:9px !important; margin-top:9px !important; }
  #bbrx-gate .bbrx-email-row input { border-radius:9px !important; border-right:3px solid #d9a322 !important; }
  #bbrx-gate .bbrx-join { height:55px !important; min-height:55px !important; border:0 !important; border-radius:9px !important; font-size:16px !important; }
  #bbrx-gate .bbrx-check-row { grid-template-columns:30px 1fr !important; gap:10px !important; font-size:13px !important; margin-top:15px !important; }
  #bbrx-gate .bbrx-custom-check { width:28px !important; height:28px !important; }
  #bbrx-gate .bbrx-check-row input:checked + .bbrx-custom-check:after { font-size:21px !important; }
  #bbrx-gate .bbrx-divider { margin:19px auto 14px !important; }
  #bbrx-gate .bbrx-member-title { font-size:22px !important; margin-bottom:12px !important; }
  #bbrx-gate button.bbrx-login-switch { height:54px !important; min-height:54px !important; font-size:16px !important; }
  #bbrx-gate .bbrx-login-view .bbrx-form { gap:10px !important; }
  #bbrx-gate .bbrx-primary-btn { height:55px !important; min-height:55px !important; font-size:16px !important; }
  #bbrx-gate .bbrx-login-copy { font-size:14px !important; }
}

/* Password recovery stays inside the existing gate. */
#bbrx-gate button.bbrx-forgot-link,
#bbrx-gate button.bbrx-forgot-link:hover,
#bbrx-gate button.bbrx-forgot-link:focus {
  background:transparent !important; border:0 !important; box-shadow:none !important;
  color:#053bc3 !important; -webkit-text-fill-color:#053bc3 !important;
  padding:4px !important; font-size:14px !important; text-decoration:underline !important;
  min-height:32px !important; cursor:pointer !important;
}
#bbrx-gate [data-bbrx-view="forgot"] .bbrx-back,
#bbrx-gate [data-bbrx-view="reset"] .bbrx-back { margin-top:14px !important; }
