/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: May 11 2026 | 09:14:26 */
/* ============================================================
   BrightLeaf Giving — Disbursement Contact Invite Forms
   Forms 148 (EOF), 157 (CSF), 159 (SIC = parity with 157)
   ------------------------------------------------------------
   Path: /dashboard/eofinvite/?eof=…  → form 148
         /dashboard/csfinvite/?csf=…  → form 157
         /dashboard/sicinvite/?sic=…  → form 159

   Companion to: disbursement-forms.css (recipient-side disbursement flow)
   Companion JS: invite-forms.js
   ------------------------------------------------------------
   Field map (form 148):
     1   Program Name (text, readonly, prefilled)
     10  Past Recipients (select)
     3   Name on Account (name: 3.3 first / 3.6 last)
     4   Confirmation Email
     13  Email Match EID (hidden honeypot/match)
     11  HTML alert ("trying to invite contact with your email")

   Field map (forms 157 / 159):
     1   Program Name
     3   Past Recipients (select)
     4   Name on Account (4.3 first / 4.6 last)
     5   Confirmation Email
     6   Email Match EID
     7   HTML alert
   ============================================================ */


/* ── §0  Brand tokens + scoping ───────────────────────────── */

#gform_wrapper_148.bl-invite-form,
#gform_wrapper_157.bl-invite-form,
#gform_wrapper_159.bl-invite-form,
.bl-invite-page {
  --bl-green: #2F7E4B;
  --bl-green-deep: #1F5A35;
  --bl-green-soft: rgba(47, 126, 75, 0.10);
  --bl-green-softer: rgba(47, 126, 75, 0.05);
  --bl-lime: #A8C64A;
  --bl-navy: #0b2a4a;
  --bl-ink: #1F2A26;
  --bl-muted: #5b6a64;
  --bl-muted-2: #8a958f;
  --bl-white: #ffffff;
  --bl-surface: #fafbfa;
  --bl-surface-2: #f3f5f3;
  --bl-border: #d8ddd9;
  --bl-border-soft: #e6ebe7;
  --bl-amber: #b07c1d;
  --bl-amber-soft: #fdf6e3;
  --bl-amber-border: #ecd9a3;
  --bl-red: #b53e3e;
  --bl-red-soft: rgba(181, 62, 62, 0.08);
  --bl-radius-sm: 8px;
  --bl-radius-md: 12px;
  --bl-radius-lg: 16px;
  --bl-shadow-xs: 0 1px 2px rgba(15, 30, 22, 0.04);
  --bl-shadow-sm: 0 2px 8px rgba(15, 30, 22, 0.06);
  --bl-shadow-md: 0 8px 24px rgba(15, 30, 22, 0.08);
  --bl-tx: 180ms ease;
  --bl-tx-fast: 120ms ease;
  --bl-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
}


/* ── §1  Page intro (h1 + page padding) ───────────────────── */

/* Add horizontal breathing room so the form doesn't butt up against
   the sidebar / page edge. Vertical padding lets the h1 + card sit
   without touching the header above. */
.bl-invite-page {
  padding: 24px 32px !important;
  max-width: 1100px !important;
  box-sizing: border-box !important;
}

/* The page-level h1 ("Invite a Grant Recipient to …") — sized to
   stay on one line for typical program names ("Ahavas Torah Fund",
   ~3 words) and wrap gracefully for longer ones ("Diskind Education
   Opportunity Fund", ~4 words) without dominating the page. */

.bl-invite-page > h1,
.bl-invite-page > h1.wp-block-heading {
  font-family: var(--bl-font) !important;
  color: var(--bl-navy) !important;
  font-weight: 800 !important;
  letter-spacing: -0.015em !important;
  line-height: 1.2 !important;
  font-size: clamp(1.4rem, 2.4vw, 1.85rem) !important;
  margin: 0 0 22px !important;
  max-width: 880px !important;
  text-wrap: balance !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

/* Tighten the wrapper above the form so the card sits well */
.bl-invite-page #gform_wrapper_148,
.bl-invite-page #gform_wrapper_157,
.bl-invite-page #gform_wrapper_159 {
  max-width: 880px !important;
  margin: 0 0 28px !important;
}


/* ── §2  Form card container ──────────────────────────────── */

#gform_wrapper_148.bl-invite-form,
#gform_wrapper_157.bl-invite-form,
#gform_wrapper_159.bl-invite-form {
  font-family: var(--bl-font) !important;
  background: var(--bl-white) !important;
  border: 1px solid var(--bl-border-soft) !important;
  border-radius: var(--bl-radius-lg) !important;
  padding: 28px 32px !important;
  box-shadow: var(--bl-shadow-sm) !important;
  box-sizing: border-box !important;
  color: var(--bl-ink) !important;
}

#gform_wrapper_148.bl-invite-form *,
#gform_wrapper_157.bl-invite-form *,
#gform_wrapper_159.bl-invite-form * {
  box-sizing: border-box;
}

#gform_wrapper_148.bl-invite-form .gform_heading,
#gform_wrapper_157.bl-invite-form .gform_heading,
#gform_wrapper_159.bl-invite-form .gform_heading {
  display: none !important;
}

#gform_wrapper_148.bl-invite-form form,
#gform_wrapper_157.bl-invite-form form,
#gform_wrapper_159.bl-invite-form form {
  margin: 0 !important;
}

#gform_wrapper_148.bl-invite-form .gform-body,
#gform_wrapper_157.bl-invite-form .gform-body,
#gform_wrapper_159.bl-invite-form .gform-body {
  margin-bottom: 22px !important;
}


/* ── §3  Field grid (12-col, GF gform-grid-row aware) ─────── */

#gform_wrapper_148.bl-invite-form #gform_fields_148,
#gform_wrapper_157.bl-invite-form #gform_fields_157,
#gform_wrapper_159.bl-invite-form #gform_fields_159 {
  display: grid !important;
  grid-template-columns: repeat(12, 1fr) !important;
  gap: 18px 20px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Half/full widths */
#gform_wrapper_148.bl-invite-form .gfield--width-half,
#gform_wrapper_157.bl-invite-form .gfield--width-half,
#gform_wrapper_159.bl-invite-form .gfield--width-half {
  grid-column: span 6 !important;
  max-width: none !important;
  width: auto !important;
}

#gform_wrapper_148.bl-invite-form .gfield--width-full,
#gform_wrapper_157.bl-invite-form .gfield--width-full,
#gform_wrapper_159.bl-invite-form .gfield--width-full {
  grid-column: 1 / -1 !important;
  max-width: none !important;
  width: auto !important;
}

/* Reset GF's own grid behaviors that fight ours */
#gform_wrapper_148.bl-invite-form .gfield,
#gform_wrapper_157.bl-invite-form .gfield,
#gform_wrapper_159.bl-invite-form .gfield {
  padding: 0 !important;
  margin: 0 !important;
  min-width: 0 !important;
}

/* Hidden fields (admin honeypot, etc.) */
#gform_wrapper_148.bl-invite-form .gfield_visibility_hidden,
#gform_wrapper_157.bl-invite-form .gfield_visibility_hidden,
#gform_wrapper_159.bl-invite-form .gfield_visibility_hidden {
  display: none !important;
}

#gform_wrapper_148.bl-invite-form .admin-hidden-markup,
#gform_wrapper_157.bl-invite-form .admin-hidden-markup,
#gform_wrapper_159.bl-invite-form .admin-hidden-markup {
  display: none !important;
}


/* ── §4  Field labels + required marker ───────────────────── */

#gform_wrapper_148.bl-invite-form .gfield_label,
#gform_wrapper_157.bl-invite-form .gfield_label,
#gform_wrapper_159.bl-invite-form .gfield_label {
  display: block !important;
  font-family: var(--bl-font) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  color: var(--bl-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  line-height: 1.3 !important;
}

#gform_wrapper_148.bl-invite-form .gfield_label.gfield_label_before_complex,
#gform_wrapper_157.bl-invite-form .gfield_label.gfield_label_before_complex,
#gform_wrapper_159.bl-invite-form .gfield_label.gfield_label_before_complex {
  margin: 0 0 8px !important;
}

#gform_wrapper_148.bl-invite-form .gfield_required,
#gform_wrapper_157.bl-invite-form .gfield_required,
#gform_wrapper_159.bl-invite-form .gfield_required {
  margin-left: 6px !important;
  color: var(--bl-red) !important;
  font-weight: 700 !important;
  opacity: 0.55 !important;
}

#gform_wrapper_148.bl-invite-form .gfield_required_text,
#gform_wrapper_157.bl-invite-form .gfield_required_text,
#gform_wrapper_159.bl-invite-form .gfield_required_text {
  color: inherit !important;
  font-weight: inherit !important;
  letter-spacing: 0.04em !important;
  font-size: 0.7rem !important;
  text-transform: lowercase !important;
}

/* Sub labels on first/last under name field */
#gform_wrapper_148.bl-invite-form .gform-field-label--type-sub,
#gform_wrapper_157.bl-invite-form .gform-field-label--type-sub,
#gform_wrapper_159.bl-invite-form .gform-field-label--type-sub {
  display: block !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  color: var(--bl-muted-2) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 6px 0 0 !important;
  padding: 0 !important;
}

/* Field description (e.g., "Can not be your email.") */
#gform_wrapper_148.bl-invite-form .gfield_description,
#gform_wrapper_157.bl-invite-form .gfield_description,
#gform_wrapper_159.bl-invite-form .gfield_description {
  font-family: var(--bl-font) !important;
  font-size: 0.82rem !important;
  font-weight: 400 !important;
  color: var(--bl-muted) !important;
  margin: 6px 0 0 !important;
  padding: 0 !important;
  line-height: 1.4 !important;
}

/* Reset the fieldset wrapping the name field */
#gform_wrapper_148.bl-invite-form fieldset.gfield,
#gform_wrapper_157.bl-invite-form fieldset.gfield,
#gform_wrapper_159.bl-invite-form fieldset.gfield {
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
}

#gform_wrapper_148.bl-invite-form fieldset.gfield > legend,
#gform_wrapper_157.bl-invite-form fieldset.gfield > legend,
#gform_wrapper_159.bl-invite-form fieldset.gfield > legend {
  float: none !important;
  width: auto !important;
  display: block !important;
  position: static !important;
  padding: 0 !important;
  margin-bottom: 8px !important;
}


/* ── §5  Text / email inputs ──────────────────────────────── */

#gform_wrapper_148.bl-invite-form input[type="text"],
#gform_wrapper_148.bl-invite-form input[type="email"],
#gform_wrapper_157.bl-invite-form input[type="text"],
#gform_wrapper_157.bl-invite-form input[type="email"],
#gform_wrapper_159.bl-invite-form input[type="text"],
#gform_wrapper_159.bl-invite-form input[type="email"] {
  display: block !important;
  width: 100% !important;
  height: 44px !important;
  padding: 0 14px !important;
  background: var(--bl-white) !important;
  border: 1px solid var(--bl-border) !important;
  border-radius: var(--bl-radius-sm) !important;
  box-shadow: var(--bl-shadow-xs) !important;
  font-family: var(--bl-font) !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  color: var(--bl-ink) !important;
  line-height: 1.4 !important;
  transition: border-color var(--bl-tx), box-shadow var(--bl-tx) !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

#gform_wrapper_148.bl-invite-form input[type="text"]:hover:not([readonly]),
#gform_wrapper_148.bl-invite-form input[type="email"]:hover:not([readonly]),
#gform_wrapper_157.bl-invite-form input[type="text"]:hover:not([readonly]),
#gform_wrapper_157.bl-invite-form input[type="email"]:hover:not([readonly]),
#gform_wrapper_159.bl-invite-form input[type="text"]:hover:not([readonly]),
#gform_wrapper_159.bl-invite-form input[type="email"]:hover:not([readonly]) {
  border-color: var(--bl-muted-2) !important;
}

#gform_wrapper_148.bl-invite-form input[type="text"]:focus,
#gform_wrapper_148.bl-invite-form input[type="email"]:focus,
#gform_wrapper_157.bl-invite-form input[type="text"]:focus,
#gform_wrapper_157.bl-invite-form input[type="email"]:focus,
#gform_wrapper_159.bl-invite-form input[type="text"]:focus,
#gform_wrapper_159.bl-invite-form input[type="email"]:focus {
  outline: none !important;
  border-color: var(--bl-green) !important;
  box-shadow: 0 0 0 3px var(--bl-green-soft) !important;
}

/* Readonly (Program Name) — visually distinct, not editable */
#gform_wrapper_148.bl-invite-form input[readonly],
#gform_wrapper_157.bl-invite-form input[readonly],
#gform_wrapper_159.bl-invite-form input[readonly] {
  background: var(--bl-surface-2) !important;
  border-color: var(--bl-border-soft) !important;
  color: var(--bl-navy) !important;
  font-weight: 600 !important;
  cursor: default !important;
  box-shadow: none !important;
}

#gform_wrapper_148.bl-invite-form input[readonly]:focus,
#gform_wrapper_157.bl-invite-form input[readonly]:focus,
#gform_wrapper_159.bl-invite-form input[readonly]:focus {
  border-color: var(--bl-border-soft) !important;
  box-shadow: none !important;
}


/* ── §6  Name field (first / last grid) ───────────────────── */

#gform_wrapper_148.bl-invite-form .ginput_complex.ginput_container_name,
#gform_wrapper_157.bl-invite-form .ginput_complex.ginput_container_name,
#gform_wrapper_159.bl-invite-form .ginput_complex.ginput_container_name {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
}

#gform_wrapper_148.bl-invite-form .ginput_complex.ginput_container_name > span,
#gform_wrapper_157.bl-invite-form .ginput_complex.ginput_container_name > span,
#gform_wrapper_159.bl-invite-form .ginput_complex.ginput_container_name > span,
#gform_wrapper_148.bl-invite-form .ginput_complex.ginput_container_name > span.gform-grid-col,
#gform_wrapper_157.bl-invite-form .ginput_complex.ginput_container_name > span.gform-grid-col,
#gform_wrapper_159.bl-invite-form .ginput_complex.ginput_container_name > span.gform-grid-col {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  flex: none !important;
}

#gform_wrapper_148.bl-invite-form .ginput_complex.ginput_container_name input,
#gform_wrapper_157.bl-invite-form .ginput_complex.ginput_container_name input,
#gform_wrapper_159.bl-invite-form .ginput_complex.ginput_container_name input {
  width: 100% !important;
}


/* ── §7  Past Recipients select — native + chosen.js ──────── */

/* 7a. Native select (when chosen.js hasn't initialized) */
#gform_wrapper_148.bl-invite-form select.gfield_select,
#gform_wrapper_157.bl-invite-form select.gfield_select,
#gform_wrapper_159.bl-invite-form select.gfield_select {
  display: block !important;
  width: 100% !important;
  height: 44px !important;
  padding: 0 40px 0 14px !important;
  background: var(--bl-white) !important;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--bl-muted) 50%),
    linear-gradient(-45deg, transparent 50%, var(--bl-muted) 50%) !important;
  background-position:
    calc(100% - 18px) 19px,
    calc(100% - 13px) 19px !important;
  background-size: 5px 5px, 5px 5px !important;
  background-repeat: no-repeat !important;
  border: 1px solid var(--bl-border) !important;
  border-radius: var(--bl-radius-sm) !important;
  box-shadow: var(--bl-shadow-xs) !important;
  font-family: var(--bl-font) !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  color: var(--bl-ink) !important;
  line-height: 1.4 !important;
  cursor: pointer !important;
  transition: border-color var(--bl-tx), box-shadow var(--bl-tx) !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
}

#gform_wrapper_148.bl-invite-form select.gfield_select:hover,
#gform_wrapper_157.bl-invite-form select.gfield_select:hover,
#gform_wrapper_159.bl-invite-form select.gfield_select:hover {
  border-color: var(--bl-muted-2) !important;
}

#gform_wrapper_148.bl-invite-form select.gfield_select:focus,
#gform_wrapper_157.bl-invite-form select.gfield_select:focus,
#gform_wrapper_159.bl-invite-form select.gfield_select:focus {
  outline: none !important;
  border-color: var(--bl-green) !important;
  box-shadow: 0 0 0 3px var(--bl-green-soft) !important;
}

/* When chosen.js is active, hide the native <select> fully.
   Chosen inserts .chosen-container as a sibling BEFORE the select
   in its parent (.ginput_container_select). The general sibling
   selector handles either ordering. */
#gform_wrapper_148.bl-invite-form .ginput_container_select .chosen-container ~ select.gfield_select,
#gform_wrapper_157.bl-invite-form .ginput_container_select .chosen-container ~ select.gfield_select,
#gform_wrapper_159.bl-invite-form .ginput_container_select .chosen-container ~ select.gfield_select,
#gform_wrapper_148.bl-invite-form select.gfield_select.bl-chosen-hidden,
#gform_wrapper_157.bl-invite-form select.gfield_select.bl-chosen-hidden,
#gform_wrapper_159.bl-invite-form select.gfield_select.bl-chosen-hidden {
  display: none !important;
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* 7b. Chosen.js wrapper styling (matches disbursement-forms.css) */
#gform_wrapper_148.bl-invite-form .chosen-container,
#gform_wrapper_157.bl-invite-form .chosen-container,
#gform_wrapper_159.bl-invite-form .chosen-container {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  position: relative !important;
  font-family: var(--bl-font) !important;
  font-size: 0.95rem !important;
}

#gform_wrapper_148.bl-invite-form .chosen-container-single .chosen-single,
#gform_wrapper_157.bl-invite-form .chosen-container-single .chosen-single,
#gform_wrapper_159.bl-invite-form .chosen-container-single .chosen-single {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  height: 44px !important;
  line-height: 44px !important;
  padding: 0 14px !important;
  background: var(--bl-white) !important;
  background-image: none !important;
  border: 1px solid var(--bl-border) !important;
  border-radius: var(--bl-radius-sm) !important;
  box-shadow: var(--bl-shadow-xs) !important;
  font-family: var(--bl-font) !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  color: var(--bl-ink) !important;
  text-decoration: none !important;
  position: relative !important;
  transition: border-color var(--bl-tx), box-shadow var(--bl-tx) !important;
}

#gform_wrapper_148.bl-invite-form .chosen-container-single .chosen-single:hover,
#gform_wrapper_157.bl-invite-form .chosen-container-single .chosen-single:hover,
#gform_wrapper_159.bl-invite-form .chosen-container-single .chosen-single:hover {
  border-color: var(--bl-muted-2) !important;
}

#gform_wrapper_148.bl-invite-form .chosen-container-active .chosen-single,
#gform_wrapper_157.bl-invite-form .chosen-container-active .chosen-single,
#gform_wrapper_159.bl-invite-form .chosen-container-active .chosen-single {
  border-color: var(--bl-green) !important;
  box-shadow: 0 0 0 3px var(--bl-green-soft) !important;
  background: var(--bl-white) !important;
}

#gform_wrapper_148.bl-invite-form .chosen-container-single .chosen-single span,
#gform_wrapper_157.bl-invite-form .chosen-container-single .chosen-single span,
#gform_wrapper_159.bl-invite-form .chosen-container-single .chosen-single span {
  margin-right: 30px !important;
  color: var(--bl-ink) !important;
}

/* Chevron */
#gform_wrapper_148.bl-invite-form .chosen-container-single .chosen-single div,
#gform_wrapper_157.bl-invite-form .chosen-container-single .chosen-single div,
#gform_wrapper_159.bl-invite-form .chosen-container-single .chosen-single div {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  width: 40px !important;
  height: 100% !important;
  display: block !important;
}

#gform_wrapper_148.bl-invite-form .chosen-container-single .chosen-single div b,
#gform_wrapper_157.bl-invite-form .chosen-container-single .chosen-single div b,
#gform_wrapper_159.bl-invite-form .chosen-container-single .chosen-single div b {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  background-image: none !important;
  background-color: transparent !important;
  position: relative !important;
}

#gform_wrapper_148.bl-invite-form .chosen-container-single .chosen-single div b::before,
#gform_wrapper_157.bl-invite-form .chosen-container-single .chosen-single div b::before,
#gform_wrapper_159.bl-invite-form .chosen-container-single .chosen-single div b::before {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  right: 16px !important;
  width: 9px !important;
  height: 9px !important;
  border-right: 2px solid var(--bl-muted) !important;
  border-bottom: 2px solid var(--bl-muted) !important;
  transform: translateY(-70%) rotate(45deg) !important;
  transition: transform var(--bl-tx-fast), border-color var(--bl-tx-fast) !important;
}

#gform_wrapper_148.bl-invite-form .chosen-container-active.chosen-with-drop .chosen-single div b::before,
#gform_wrapper_157.bl-invite-form .chosen-container-active.chosen-with-drop .chosen-single div b::before,
#gform_wrapper_159.bl-invite-form .chosen-container-active.chosen-with-drop .chosen-single div b::before {
  transform: translateY(-30%) rotate(-135deg) !important;
  border-color: var(--bl-green) !important;
}

/* Drop panel */
#gform_wrapper_148.bl-invite-form .chosen-container .chosen-drop,
#gform_wrapper_157.bl-invite-form .chosen-container .chosen-drop,
#gform_wrapper_159.bl-invite-form .chosen-container .chosen-drop {
  position: absolute !important;
  top: calc(100% + 4px) !important;
  left: -9999px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 6px !important;
  background: var(--bl-white) !important;
  border: 1px solid var(--bl-border) !important;
  border-radius: var(--bl-radius-sm) !important;
  box-shadow: var(--bl-shadow-md) !important;
  z-index: 1010 !important;
  box-sizing: border-box !important;
}

#gform_wrapper_148.bl-invite-form .chosen-container.chosen-with-drop .chosen-drop,
#gform_wrapper_157.bl-invite-form .chosen-container.chosen-with-drop .chosen-drop,
#gform_wrapper_159.bl-invite-form .chosen-container.chosen-with-drop .chosen-drop {
  left: 0 !important;
}

/* Drop-up variant (chosen.js adds .chosen-drop-up if it detects no
   space below the trigger) */
#gform_wrapper_148.bl-invite-form .chosen-container.chosen-with-drop.chosen-drop-up .chosen-drop,
#gform_wrapper_157.bl-invite-form .chosen-container.chosen-with-drop.chosen-drop-up .chosen-drop,
#gform_wrapper_159.bl-invite-form .chosen-container.chosen-with-drop.chosen-drop-up .chosen-drop {
  top: auto !important;
  bottom: calc(100% + 4px) !important;
}

#gform_wrapper_148.bl-invite-form .chosen-container .chosen-search,
#gform_wrapper_157.bl-invite-form .chosen-container .chosen-search,
#gform_wrapper_159.bl-invite-form .chosen-container .chosen-search {
  padding: 4px 4px 8px !important;
  position: relative !important;
}

#gform_wrapper_148.bl-invite-form .chosen-container .chosen-search input[type="text"],
#gform_wrapper_157.bl-invite-form .chosen-container .chosen-search input[type="text"],
#gform_wrapper_159.bl-invite-form .chosen-container .chosen-search input[type="text"] {
  width: 100% !important;
  height: 36px !important;
  padding: 0 12px !important;
  border: 1px solid var(--bl-border) !important;
  border-radius: var(--bl-radius-sm) !important;
  background-image: none !important;
  font-size: 0.9rem !important;
  font-family: var(--bl-font) !important;
  box-shadow: none !important;
}

#gform_wrapper_148.bl-invite-form .chosen-container .chosen-results,
#gform_wrapper_157.bl-invite-form .chosen-container .chosen-results,
#gform_wrapper_159.bl-invite-form .chosen-container .chosen-results {
  margin: 0 !important;
  padding: 4px !important;
  max-height: 280px !important;
  overflow-y: auto !important;
}

#gform_wrapper_148.bl-invite-form .chosen-container .chosen-results li,
#gform_wrapper_157.bl-invite-form .chosen-container .chosen-results li,
#gform_wrapper_159.bl-invite-form .chosen-container .chosen-results li {
  display: list-item !important;
  list-style: none !important;
  padding: 9px 12px !important;
  margin: 0 !important;
  border-radius: 6px !important;
  font-size: 0.92rem !important;
  color: var(--bl-ink) !important;
  cursor: pointer !important;
  line-height: 1.35 !important;
  word-wrap: normal !important;
  transition: background var(--bl-tx-fast) !important;
}

#gform_wrapper_148.bl-invite-form .chosen-container .chosen-results li.highlighted,
#gform_wrapper_157.bl-invite-form .chosen-container .chosen-results li.highlighted,
#gform_wrapper_159.bl-invite-form .chosen-container .chosen-results li.highlighted {
  background: var(--bl-green-soft) !important;
  color: var(--bl-green-deep) !important;
  font-weight: 600 !important;
}

#gform_wrapper_148.bl-invite-form .chosen-container .chosen-results li.result-selected,
#gform_wrapper_157.bl-invite-form .chosen-container .chosen-results li.result-selected,
#gform_wrapper_159.bl-invite-form .chosen-container .chosen-results li.result-selected {
  background: var(--bl-green-softer) !important;
  color: var(--bl-green-deep) !important;
  font-weight: 600 !important;
}

#gform_wrapper_148.bl-invite-form .chosen-container .chosen-results li.no-results,
#gform_wrapper_157.bl-invite-form .chosen-container .chosen-results li.no-results,
#gform_wrapper_159.bl-invite-form .chosen-container .chosen-results li.no-results {
  background: transparent !important;
  color: var(--bl-muted) !important;
  font-style: italic !important;
  cursor: default !important;
}


/* ── §8  Submit button + footer ───────────────────────────── */

#gform_wrapper_148.bl-invite-form .gform-footer,
#gform_wrapper_157.bl-invite-form .gform-footer,
#gform_wrapper_159.bl-invite-form .gform-footer {
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  justify-content: flex-start !important;
}

#gform_wrapper_148.bl-invite-form .gform_button,
#gform_wrapper_157.bl-invite-form .gform_button,
#gform_wrapper_159.bl-invite-form .gform_button {
  /* NOTE: display is intentionally NOT !important. Gravity Forms uses
     inline `style="display: none"` to hide this button via conditional
     logic (e.g. when the user enters their own email). An !important
     here would override that inline style and break the form. */
  display: inline-flex;
  align-items: center !important;
  justify-content: center !important;
  min-height: 50px !important;
  padding: 0 28px !important;
  background: var(--bl-green) !important;
  border: 0 !important;
  border-radius: var(--bl-radius-md) !important;
  box-shadow: 0 1px 2px rgba(15, 30, 22, 0.06), 0 4px 14px rgba(47, 126, 75, 0.20) !important;
  font-family: var(--bl-font) !important;
  font-size: 0.98rem !important;
  font-weight: 700 !important;
  color: var(--bl-white) !important;
  letter-spacing: 0.01em !important;
  cursor: pointer !important;
  transition:
    background var(--bl-tx),
    box-shadow var(--bl-tx),
    transform var(--bl-tx-fast) !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

#gform_wrapper_148.bl-invite-form .gform_button:hover,
#gform_wrapper_157.bl-invite-form .gform_button:hover,
#gform_wrapper_159.bl-invite-form .gform_button:hover {
  background: var(--bl-green-deep) !important;
  box-shadow: 0 1px 2px rgba(15, 30, 22, 0.06), 0 6px 20px rgba(47, 126, 75, 0.30) !important;
  transform: translateY(-1px) !important;
}

#gform_wrapper_148.bl-invite-form .gform_button:active,
#gform_wrapper_157.bl-invite-form .gform_button:active,
#gform_wrapper_159.bl-invite-form .gform_button:active {
  transform: translateY(0) !important;
  box-shadow: 0 1px 2px rgba(15, 30, 22, 0.08) !important;
}

#gform_wrapper_148.bl-invite-form .gform_button:focus-visible,
#gform_wrapper_157.bl-invite-form .gform_button:focus-visible,
#gform_wrapper_159.bl-invite-form .gform_button:focus-visible {
  outline: 3px solid var(--bl-lime) !important;
  outline-offset: 2px !important;
}

/* AJAX spinner — sit beside the button, breathe */
#gform_wrapper_148.bl-invite-form .gform_ajax_spinner,
#gform_wrapper_157.bl-invite-form .gform_ajax_spinner,
#gform_wrapper_159.bl-invite-form .gform_ajax_spinner {
  margin-left: 14px !important;
  width: 22px !important;
  height: 22px !important;
  align-self: center !important;
}


/* ── §9  Email warning HTML alert ─────────────────────────── */

/* The hardcoded red <p> inside HTML field 11 (148) / 7 (157,159).
   Conditional logic shows it only when the user enters their own
   email. We override the inline color and present an amber warning
   card with an icon. Both the GF visibility lock (display:none) and
   our class are honored — when JS removes the inline style after
   conditional logic shows it, this style takes over. */

#gform_wrapper_148.bl-invite-form .gfield--type-html.bl-email-warning,
#gform_wrapper_157.bl-invite-form .gfield--type-html.bl-email-warning,
#gform_wrapper_159.bl-invite-form .gfield--type-html.bl-email-warning {
  /* When JS unhides via conditional logic, container is visible */
  background: var(--bl-amber-soft) !important;
  border: 1px solid var(--bl-amber-border) !important;
  border-left: 4px solid var(--bl-amber) !important;
  border-radius: var(--bl-radius-sm) !important;
  padding: 14px 16px 14px 46px !important;
  position: relative !important;
  margin: 4px 0 0 !important;
}

#gform_wrapper_148.bl-invite-form .gfield--type-html.bl-email-warning::before,
#gform_wrapper_157.bl-invite-form .gfield--type-html.bl-email-warning::before,
#gform_wrapper_159.bl-invite-form .gfield--type-html.bl-email-warning::before {
  content: '' !important;
  position: absolute !important;
  left: 16px !important;
  top: 16px !important;
  width: 20px !important;
  height: 20px !important;
  background-color: var(--bl-amber) !important;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/><line x1='12' y1='9' x2='12' y2='13'/><line x1='12' y1='17' x2='12.01' y2='17'/></svg>") no-repeat center / 20px !important;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/><line x1='12' y1='9' x2='12' y2='13'/><line x1='12' y1='17' x2='12.01' y2='17'/></svg>") no-repeat center / 20px !important;
}

/* Override the inline style="color:red;" on the <p> inside */
#gform_wrapper_148.bl-invite-form .gfield--type-html.bl-email-warning p,
#gform_wrapper_157.bl-invite-form .gfield--type-html.bl-email-warning p,
#gform_wrapper_159.bl-invite-form .gfield--type-html.bl-email-warning p {
  color: var(--bl-amber) !important;
  font-family: var(--bl-font) !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* ── §10  Disclosure cards (post-form policy text) ────────── */

/* The .entry-content has 3 disclosure groups injected by JS:
     details.bl-disclosure  ← wrapper
       summary.bl-disclosure-summary
       div.bl-disclosure-body  ← <p>/<ul> body

   FOUC handling: page authors mark headings in the page HTML with
   class="bl-section-title" and data-bl-disclosure="…". Until JS
   runs, those <p>s sit visible in the DOM as a flat sequence. We
   give them a tasteful default look so the brief flash is acceptable,
   AND a graceful fallback in case JS never runs. */

.bl-invite-page > p.bl-section-title {
  font-family: var(--bl-font) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: var(--bl-navy) !important;
  margin: 18px 0 4px !important;
  padding: 0 !important;
  letter-spacing: -0.005em !important;
  max-width: 880px !important;
}

.bl-invite-page .bl-disclosures {
  max-width: 880px !important;
  margin: 28px 0 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  font-family: var(--bl-font) !important;
}

.bl-invite-page .bl-disclosures-heading {
  font-family: var(--bl-font) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  color: var(--bl-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  margin: 0 0 6px !important;
  padding: 0 0 4px !important;
  border-bottom: 1px solid var(--bl-border-soft) !important;
}

.bl-invite-page details.bl-disclosure {
  background: var(--bl-white) !important;
  border: 1px solid var(--bl-border-soft) !important;
  border-radius: var(--bl-radius-md) !important;
  box-shadow: var(--bl-shadow-xs) !important;
  overflow: hidden !important;
  transition: border-color var(--bl-tx), box-shadow var(--bl-tx) !important;
}

.bl-invite-page details.bl-disclosure:hover {
  border-color: var(--bl-border) !important;
}

.bl-invite-page details.bl-disclosure[open] {
  border-color: var(--bl-green) !important;
  box-shadow: var(--bl-shadow-sm) !important;
}

.bl-invite-page details.bl-disclosure > summary.bl-disclosure-summary {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 14px 18px !important;
  font-family: var(--bl-font) !important;
  font-size: 0.96rem !important;
  font-weight: 600 !important;
  color: var(--bl-navy) !important;
  cursor: pointer !important;
  list-style: none !important;
  position: relative !important;
  user-select: none !important;
  outline: none !important;
}

.bl-invite-page details.bl-disclosure > summary.bl-disclosure-summary::-webkit-details-marker {
  display: none !important;
}

.bl-invite-page details.bl-disclosure > summary.bl-disclosure-summary::marker {
  display: none !important;
  content: '' !important;
}

/* Chevron */
.bl-invite-page details.bl-disclosure > summary.bl-disclosure-summary::after {
  content: '' !important;
  margin-left: auto !important;
  width: 10px !important;
  height: 10px !important;
  border-right: 2px solid var(--bl-muted) !important;
  border-bottom: 2px solid var(--bl-muted) !important;
  transform: rotate(45deg) !important;
  transition: transform var(--bl-tx), border-color var(--bl-tx) !important;
  flex-shrink: 0 !important;
}

.bl-invite-page details.bl-disclosure[open] > summary.bl-disclosure-summary::after {
  transform: rotate(-135deg) !important;
  border-color: var(--bl-green) !important;
}

.bl-invite-page details.bl-disclosure > summary.bl-disclosure-summary:hover {
  background: var(--bl-green-softer) !important;
}

.bl-invite-page details.bl-disclosure > summary.bl-disclosure-summary:focus-visible {
  background: var(--bl-green-soft) !important;
  box-shadow: inset 0 0 0 2px var(--bl-green) !important;
}

/* Leading icon dot */
.bl-invite-page details.bl-disclosure > summary.bl-disclosure-summary::before {
  content: '' !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: var(--bl-green) !important;
  flex-shrink: 0 !important;
}

.bl-invite-page details.bl-disclosure[open] > summary.bl-disclosure-summary::before {
  background: var(--bl-lime) !important;
  box-shadow: 0 0 0 3px var(--bl-green-soft) !important;
}

/* Body */
.bl-invite-page details.bl-disclosure > .bl-disclosure-body {
  padding: 4px 18px 18px !important;
  border-top: 1px solid var(--bl-border-soft) !important;
  font-family: var(--bl-font) !important;
  color: var(--bl-ink) !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
}

.bl-invite-page details.bl-disclosure > .bl-disclosure-body > p {
  margin: 14px 0 !important;
  padding: 0 !important;
  color: var(--bl-ink) !important;
}

.bl-invite-page details.bl-disclosure > .bl-disclosure-body > p:first-child {
  margin-top: 14px !important;
}

.bl-invite-page details.bl-disclosure > .bl-disclosure-body > p:last-child {
  margin-bottom: 0 !important;
}

/* "Sub-headings" inside disclosure body — JS detects these (short bare <p>
   followed by <p>/<ul>) and tags them with .bl-subheading */
.bl-invite-page details.bl-disclosure > .bl-disclosure-body > p.bl-subheading {
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  color: var(--bl-navy) !important;
  margin: 18px 0 6px !important;
  letter-spacing: -0.005em !important;
}

.bl-invite-page details.bl-disclosure > .bl-disclosure-body > p.bl-subheading:first-child {
  margin-top: 4px !important;
}

.bl-invite-page details.bl-disclosure > .bl-disclosure-body > ul {
  margin: 8px 0 14px !important;
  padding: 0 0 0 22px !important;
  list-style: none !important;
}

.bl-invite-page details.bl-disclosure > .bl-disclosure-body > ul > li {
  position: relative !important;
  margin: 6px 0 !important;
  padding: 0 0 0 4px !important;
  font-size: 0.93rem !important;
  line-height: 1.55 !important;
  color: var(--bl-ink) !important;
}

.bl-invite-page details.bl-disclosure > .bl-disclosure-body > ul > li::before {
  content: '' !important;
  position: absolute !important;
  left: -16px !important;
  top: 0.6em !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: var(--bl-green) !important;
  opacity: 0.6 !important;
}

/* Smooth open animation via grid-template-rows trick (graceful fallback) */
@supports (interpolate-size: allow-keywords) {
  .bl-invite-page details.bl-disclosure > .bl-disclosure-body {
    transition: padding var(--bl-tx) !important;
  }
}


/* ── §11  Validation errors ───────────────────────────────── */

#gform_wrapper_148.bl-invite-form .gfield_error,
#gform_wrapper_157.bl-invite-form .gfield_error,
#gform_wrapper_159.bl-invite-form .gfield_error {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}

#gform_wrapper_148.bl-invite-form .gfield_error input,
#gform_wrapper_157.bl-invite-form .gfield_error input,
#gform_wrapper_159.bl-invite-form .gfield_error input,
#gform_wrapper_148.bl-invite-form .gfield_error select,
#gform_wrapper_157.bl-invite-form .gfield_error select,
#gform_wrapper_159.bl-invite-form .gfield_error select {
  border-color: var(--bl-red) !important;
  background: var(--bl-red-soft) !important;
}

#gform_wrapper_148.bl-invite-form .gfield_error .chosen-single,
#gform_wrapper_157.bl-invite-form .gfield_error .chosen-single,
#gform_wrapper_159.bl-invite-form .gfield_error .chosen-single {
  border-color: var(--bl-red) !important;
  background: var(--bl-red-soft) !important;
}

#gform_wrapper_148.bl-invite-form .gfield_validation_message,
#gform_wrapper_157.bl-invite-form .gfield_validation_message,
#gform_wrapper_159.bl-invite-form .gfield_validation_message,
#gform_wrapper_148.bl-invite-form .validation_message,
#gform_wrapper_157.bl-invite-form .validation_message,
#gform_wrapper_159.bl-invite-form .validation_message {
  font-family: var(--bl-font) !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: var(--bl-red) !important;
  margin: 6px 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

#gform_wrapper_148.bl-invite-form .gform_validation_errors,
#gform_wrapper_157.bl-invite-form .gform_validation_errors,
#gform_wrapper_159.bl-invite-form .gform_validation_errors {
  background: var(--bl-red-soft) !important;
  border: 1px solid var(--bl-red) !important;
  border-left: 4px solid var(--bl-red) !important;
  border-radius: var(--bl-radius-sm) !important;
  padding: 14px 18px !important;
  margin: 0 0 18px !important;
  color: var(--bl-red) !important;
  font-family: var(--bl-font) !important;
}

#gform_wrapper_148.bl-invite-form .gform_validation_errors > h2,
#gform_wrapper_157.bl-invite-form .gform_validation_errors > h2,
#gform_wrapper_159.bl-invite-form .gform_validation_errors > h2 {
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  margin: 0 0 4px !important;
  color: var(--bl-red) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}


/* ── §11.5  Conditional logic safety net ──────────────────────
   Gravity Forms uses inline style="display: none" to hide fields
   and elements whose conditional logic evaluates to "hidden" (and
   conversely removes that inline style to show them).

   Most of our display rules avoid !important to let inline styles
   win naturally. This safety-net rule catches any element GF has
   marked with data-conditional-logic if for any reason an inline
   display:none isn't winning the cascade — e.g. if a future rule
   accidentally adds display:!important to the wrong selector.

   Specificity 1,3,1 (id + 2 classes + attr + element). */

#gform_wrapper_148.bl-invite-form [data-conditional-logic][style*="display: none"],
#gform_wrapper_157.bl-invite-form [data-conditional-logic][style*="display: none"],
#gform_wrapper_159.bl-invite-form [data-conditional-logic][style*="display: none"],
#gform_wrapper_148.bl-invite-form [data-conditional-logic][style*="display:none"],
#gform_wrapper_157.bl-invite-form [data-conditional-logic][style*="display:none"],
#gform_wrapper_159.bl-invite-form [data-conditional-logic][style*="display:none"] {
  display: none !important;
}


/* ── §12  Mobile + print ──────────────────────────────────── */

@media (max-width: 700px) {
  .bl-invite-page {
    padding: 18px 16px !important;
  }

  #gform_wrapper_148.bl-invite-form,
  #gform_wrapper_157.bl-invite-form,
  #gform_wrapper_159.bl-invite-form {
    padding: 18px 16px !important;
    border-radius: var(--bl-radius-md) !important;
  }

  #gform_wrapper_148.bl-invite-form #gform_fields_148,
  #gform_wrapper_157.bl-invite-form #gform_fields_157,
  #gform_wrapper_159.bl-invite-form #gform_fields_159 {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  #gform_wrapper_148.bl-invite-form .gfield--width-half,
  #gform_wrapper_157.bl-invite-form .gfield--width-half,
  #gform_wrapper_159.bl-invite-form .gfield--width-half,
  #gform_wrapper_148.bl-invite-form .gfield--width-full,
  #gform_wrapper_157.bl-invite-form .gfield--width-full,
  #gform_wrapper_159.bl-invite-form .gfield--width-full {
    grid-column: 1 / -1 !important;
  }

  #gform_wrapper_148.bl-invite-form .ginput_complex.ginput_container_name,
  #gform_wrapper_157.bl-invite-form .ginput_complex.ginput_container_name,
  #gform_wrapper_159.bl-invite-form .ginput_complex.ginput_container_name {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  /* Submit on mobile spans full width — easier to tap, more confident */
  #gform_wrapper_148.bl-invite-form .gform_button,
  #gform_wrapper_157.bl-invite-form .gform_button,
  #gform_wrapper_159.bl-invite-form .gform_button {
    width: 100% !important;
    padding: 0 16px !important;
    font-size: 0.95rem !important;
  }

  #gform_wrapper_148.bl-invite-form .gform-footer,
  #gform_wrapper_157.bl-invite-form .gform-footer,
  #gform_wrapper_159.bl-invite-form .gform-footer {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  /* Disclosures get tighter padding on small screens */
  .bl-invite-page details.bl-disclosure > summary.bl-disclosure-summary {
    padding: 12px 14px !important;
    font-size: 0.92rem !important;
  }

  .bl-invite-page details.bl-disclosure > .bl-disclosure-body {
    padding: 4px 14px 14px !important;
    font-size: 0.9rem !important;
  }
}

@media (max-width: 380px) {
  #gform_wrapper_148.bl-invite-form .ginput_complex.ginput_container_name,
  #gform_wrapper_157.bl-invite-form .ginput_complex.ginput_container_name,
  #gform_wrapper_159.bl-invite-form .ginput_complex.ginput_container_name {
    grid-template-columns: 1fr !important;
  }
}

@media print {
  .bl-invite-page details.bl-disclosure {
    border-color: #ccc !important;
    box-shadow: none !important;
  }
  .bl-invite-page details.bl-disclosure > summary.bl-disclosure-summary::after {
    display: none !important;
  }
  .bl-invite-page details.bl-disclosure[open] > .bl-disclosure-body,
  .bl-invite-page details.bl-disclosure > .bl-disclosure-body {
    display: block !important;
  }
  #gform_wrapper_148.bl-invite-form .gform_button,
  #gform_wrapper_157.bl-invite-form .gform_button,
  #gform_wrapper_159.bl-invite-form .gform_button {
    display: none !important;
  }
}