/* Preview-only D2 member pop-up, v2. Not linked from the live homepage. */
:root{
  --fb-popup-cream:#F7F3E8;
  --fb-popup-green:#026855;
  --fb-popup-accent:#2E8B74;
  --fb-popup-gold:#C59A3D;
  --fb-popup-forest:#24483E;
  --fb-popup-charcoal:#26332D;
  --fb-popup-muted:#4A5A52;
  --fb-popup-fill:#EDE8DC;
  --fb-popup-white:#FFFFFF;
  --fb-popup-radius:24px;
}

.fb-preview-banner{
  position:fixed; top:0; left:0; right:0; z-index:1080;
  background:var(--fb-popup-forest); color:var(--fb-popup-cream);
  font-family:"DM Sans",sans-serif; font-size:12px; font-weight:600;
  letter-spacing:.02em; text-align:center; padding:7px 16px;
}

/* Soft dim + blur behind the modal */
.modal-backdrop{
  background:rgba(36,72,62,.32) !important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.modal-backdrop.in,
.modal-backdrop.show{ opacity:1 !important; }

#popupModal.modal{
  z-index:1070;
  padding:0 !important;
  overflow:hidden;
}
#popupModal .modal-dialog.fb-popup-d2{
  max-width:1080px;
  width:calc(100vw - 72px);
  margin:52px auto 24px;
}
#popupModal .modal-content{
  position:relative;
  background:var(--fb-popup-cream) !important;
  color:var(--fb-popup-charcoal) !important;
  border:0 !important;
  border-radius:var(--fb-popup-radius);
  overflow:hidden;
  box-shadow:
    0 2px 8px rgba(38,51,45,.04),
    0 12px 32px rgba(38,51,45,.10),
    0 32px 64px rgba(38,51,45,.12);
}

/* Two-column desktop: photo full-bleed left, copy + form right */
#popupModal .fb-popup-grid{
  display:grid;
  grid-template-columns:1.45fr 1fr;
  min-height:0;
  max-height:calc(100vh - 80px);
}
#popupModal .fb-popup-photo{
  position:relative;
  min-height:0;
  overflow:hidden;
  background:#e8dfcf;
}
#popupModal .fb-popup-photo picture,
#popupModal .fb-popup-photo img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:38% 50%;
}
/* Soft fade into the cream column */
#popupModal .fb-popup-photo::after{
  content:"";
  position:absolute; top:0; right:0; bottom:0; width:28px;
  background:linear-gradient(to right, rgba(247,243,232,0), var(--fb-popup-cream));
  pointer-events:none;
}

#popupModal .fb-popup-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:36px 36px 32px 28px;
  min-width:0;
}
#popupModal .fb-popup-eyebrow{
  margin:0 0 8px;
  font-family:"DM Sans",sans-serif;
  font-size:11px;
  font-weight:600;
  letter-spacing:.16em;
  color:var(--fb-popup-green);
  text-transform:uppercase;
}
#popupModal .fb-popup-eyebrow::after{
  content:"";
  display:block;
  width:28px;
  height:2px;
  margin-top:8px;
  background:var(--fb-popup-gold);
  border-radius:2px;
}
#popupModal .fb-popup-title{
  margin:0 0 12px;
  color:var(--fb-popup-green);
}
#popupModal .fb-popup-title-kicker{
  display:block;
  font-family:"Manrope",sans-serif;
  font-size:17px;
  font-weight:600;
  line-height:1.25;
  color:var(--fb-popup-green);
}
#popupModal .fb-popup-title-value{
  display:block;
  font-family:"Manrope",sans-serif;
  font-size:clamp(32px, 3.4vw, 42px);
  font-weight:800;
  letter-spacing:-.025em;
  line-height:1.05;
  margin-top:2px;
  color:var(--fb-popup-green);
}
#popupModal .fb-popup-sub{
  margin:0 0 20px;
  font-family:"DM Sans",sans-serif;
  font-size:13.5px;
  line-height:1.55;
  color:var(--fb-popup-muted);
}

/* Soft filled fields — no heavy outlines */
#popupModal .form-subs{ margin:0; }
#popupModal .form-subs input,
#popupModal .form-subs input.form-control{
  display:block;
  width:100%;
  margin:0 0 8px;
  background:var(--fb-popup-fill) !important;
  color:var(--fb-popup-charcoal) !important;
  border:1px solid transparent !important;
  border-radius:12px !important;
  font-size:14px !important;
  font-family:"DM Sans",sans-serif !important;
  font-weight:400;
  line-height:1.3;
  padding:11px 16px !important;
  height:auto;
  box-shadow:none !important;
}
#popupModal .form-subs input::placeholder{
  color:#7A877F; opacity:1;
}
#popupModal .form-subs input:focus{
  background:var(--fb-popup-white) !important;
  border-color:transparent !important;
  box-shadow:0 0 0 3px rgba(46,139,116,.22) !important;
  outline:0;
}

#popupModal .fb-popup-cta.btn-forbee,
#popupModal .fb-popup-cta{
  display:block;
  width:100%;
  margin-top:6px;
  background:var(--fb-popup-green) !important;
  border:0 !important;
  color:var(--fb-popup-white) !important;
  font-family:"DM Sans",sans-serif !important;
  font-weight:600 !important;
  font-size:15px;
  line-height:1.2;
  border-radius:999px !important;
  padding:12px 24px;
  text-transform:none;
  box-shadow:0 6px 16px rgba(2,104,85,.22);
}
#popupModal .fb-popup-cta.btn-forbee:hover,
#popupModal .fb-popup-cta:hover{
  background:var(--fb-popup-accent) !important;
  color:#fff !important;
  box-shadow:0 8px 20px rgba(46,139,116,.28);
}

#popupModal .fb-popup-preview-note{
  margin:10px 0 0;
  text-align:center;
  font-size:11.5px;
  line-height:1.4;
  color:var(--fb-popup-muted);
  font-family:"DM Sans",sans-serif;
}

/* Subtle close control */
#popupModal .fb-popup-close{
  position:absolute; right:14px; top:14px; z-index:3;
  width:32px; height:32px; border:0; border-radius:50%;
  background:rgba(247,243,232,.86);
  color:var(--fb-popup-forest);
  font-size:20px; line-height:32px; padding:0; cursor:pointer;
  box-shadow:0 1px 4px rgba(38,51,45,.12);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
#popupModal .fb-popup-close:hover{
  background:var(--fb-popup-white);
  color:var(--fb-popup-green);
}

/* Mobile: compact bottom sheet, photo on top */
@media (max-width:767px){
  #popupModal.modal.in,
  #popupModal.modal.show{
    display:flex !important;
    align-items:flex-end;
  }
  #popupModal .modal-dialog.fb-popup-d2{
    width:100%;
    max-width:100%;
    margin:0;
    transform:none !important;
  }
  #popupModal .modal-content{
    border-radius:24px 24px 0 0;
    box-shadow:
      0 -4px 16px rgba(38,51,45,.06),
      0 -16px 40px rgba(38,51,45,.14);
    max-height:calc(100vh - 48px);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  #popupModal .fb-popup-grid{
    display:block;
    max-height:none;
  }
  #popupModal .fb-popup-photo{
    height:200px;
  }
  #popupModal .fb-popup-photo::after{
    width:100%; height:28px; top:auto; right:0; bottom:0; left:0;
    background:linear-gradient(to bottom, rgba(247,243,232,0), var(--fb-popup-cream));
  }
  #popupModal .fb-popup-photo img{
    object-position:50% 45%;
  }
  /* Visual handle for the sheet */
  #popupModal .fb-popup-photo::before{
    content:"";
    position:absolute; left:50%; top:10px; z-index:1;
    width:40px; height:4px; margin-left:-20px;
    background:rgba(247,243,232,.85);
    border-radius:4px;
  }
  #popupModal .fb-popup-copy{
    padding:16px 20px 20px;
  }
  #popupModal .fb-popup-title-kicker{ font-size:15px; }
  #popupModal .fb-popup-title-value{ font-size:32px; }
  #popupModal .fb-popup-sub{ font-size:13px; margin-bottom:14px; }
  #popupModal .form-subs input,
  #popupModal .form-subs input.form-control{ padding:10px 14px !important; margin-bottom:7px; }
  #popupModal .fb-popup-cta.btn-forbee{ padding:11px 22px; }
  #popupModal .fb-popup-close{
    top:10px; right:10px;
    background:rgba(247,243,232,.9);
  }
}


/* v3: compact benefits checklist, birthday selects, success state */
/* v5: section heading above perks */
#popupModal .fb-popup-perks-heading{
  margin:0 0 6px;
  font-family:"DM Sans",sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--fb-popup-green);
  line-height:1.3;
}
#popupModal .fb-popup-perks{
  list-style:none; margin:0 0 14px; padding:0;
  font-family:"DM Sans",sans-serif; font-size:12.5px; line-height:1.4; color:var(--fb-popup-muted);
}
#popupModal .fb-popup-perks li{
  position:relative; padding:2px 0 2px 18px;
}
#popupModal .fb-popup-perks li::before{
  content:""; position:absolute; left:0; top:0.55em;
  width:8px; height:8px; border-radius:50%; background:var(--fb-popup-green);
}
#popupModal .fb-popup-sub{
  display:block;
  margin:0 0 10px;
  font-family:"DM Sans",sans-serif;
  font-size:13.5px;
  line-height:1.5;
  color:var(--fb-popup-muted);
}
#popupModal .fb-popup-title-for{
  display:block;
  font-family:"Manrope",sans-serif;
  font-size:16px;
  font-weight:600;
  line-height:1.3;
  margin-top:4px;
  color:var(--fb-popup-green);
}
#popupModal .fb-popup-cta-note{
  margin:8px 0 0;
  text-align:center;
  font-size:12px;
  line-height:1.45;
  color:var(--fb-popup-muted);
  font-family:"DM Sans",sans-serif;
}
#popupModal .fb-popup-success .fb-popup-cta,
#popupModal .fb-popup-success a.fb-popup-cta{
  text-align:center;
  text-decoration:none;
  margin-top:14px;
}
#popupModal .fb-popup-bday{ margin:0 0 8px; }
#popupModal .fb-popup-bday label{
  display:block; margin:0 0 6px;
  font-family:"DM Sans",sans-serif; font-size:12px; font-weight:600; color:var(--fb-popup-muted);
}
#popupModal .fb-popup-bday-row{ display:grid; grid-template-columns:minmax(0,0.9fr) minmax(0,1.3fr) minmax(0,1fr); gap:8px; }
#popupModal .form-subs select,
#popupModal .form-subs select.form-control{
  display:block; width:100%; margin:0;
  background:var(--fb-popup-fill) !important;
  color:var(--fb-popup-charcoal) !important;
  border:1px solid transparent !important;
  border-radius:12px !important;
  font-size:14px !important;
  font-family:"DM Sans",sans-serif !important;
  font-weight:400; line-height:1.3;
  padding:11px 12px !important; height:auto;
  box-shadow:none !important;
  -webkit-appearance:none; appearance:none;
}
#popupModal .fb-popup-success{ margin:0 0 8px; }
#popupModal .fb-popup-success-title{
  margin:0 0 8px; font-family:"Manrope",sans-serif; font-size:18px; font-weight:700;
  color:var(--fb-popup-green); line-height:1.3;
}
#popupModal .fb-popup-success-body{
  margin:0; font-family:"DM Sans",sans-serif; font-size:13.5px; color:var(--fb-popup-muted);
}
#popupModal .fb-popup-success-code{
  margin:10px 0; text-align:center;
  background:var(--fb-popup-fill); border-radius:14px; padding:12px 10px;
  font-family:"Manrope",sans-serif; font-size:26px; font-weight:800; letter-spacing:.04em;
  color:var(--fb-popup-green);
}
#popupModal .fb-popup-success-note{
  margin:0; font-family:"DM Sans",sans-serif; font-size:13px; line-height:1.5; color:var(--fb-popup-muted);
}
#popupModal .fb-popup-copy{ padding:28px 28px 24px 24px; background:var(--fb-popup-cream); position:relative; z-index:1; overflow-y:auto; -webkit-overflow-scrolling:touch; }
#popupModal .fb-popup-title-value{ font-size:clamp(28px, 3vw, 38px); }
#popupModal .fb-popup-title{ margin:0 0 8px; }

@media (max-width:767px){
  #popupModal .fb-popup-photo{ height:148px; }
  #popupModal .fb-popup-copy{ padding:12px 16px 16px; }
  #popupModal .fb-popup-perks-heading{ font-size:10.5px; margin:0 0 4px; letter-spacing:.1em; }
  #popupModal .fb-popup-perks{ font-size:12px; margin-bottom:10px; }
  #popupModal .fb-popup-perks li{ padding:1px 0 1px 16px; }
  #popupModal .fb-popup-title-kicker{ font-size:14px; }
  #popupModal .fb-popup-title-value{ font-size:28px; }
  #popupModal .fb-popup-title-for{ font-size:14px; margin-top:2px; }
  #popupModal .fb-popup-sub{ font-size:13px; margin-bottom:8px; }
  #popupModal .fb-popup-cta-note{ font-size:11.5px; }
  #popupModal .fb-popup-bday label{ font-size:11.5px; line-height:1.35; }
  #popupModal .form-subs input.form-control,
  #popupModal .form-subs select.form-control{ padding:9px 12px !important; margin-bottom:6px; }
  #popupModal .fb-popup-bday-row{ gap:6px; }
  #popupModal .fb-popup-bday-row select{ margin-bottom:0 !important; padding-left:8px !important; padding-right:8px !important; font-size:13px !important; }
  #popupModal .fb-popup-cta.btn-forbee{ padding:10px 20px; }
  #popupModal .fb-popup-success-code{ font-size:22px; padding:10px 8px; }
  #popupModal .fb-popup-success-title{ font-size:16px; }
}

/* v6: two-step pop-up. Step 1 is short offer; step 2 is benefits + form. */
#popupModal .fb-popup-step[hidden],
#popupModal .fb-popup-success[hidden],
#popupModal .form-subs[hidden]{
  display:none !important;
}
#popupModal .fb-popup-grid{
  min-height:min(540px, calc(100vh - 80px));
}
#popupModal .fb-popup-join-title{
  margin:0;
  font-family:"Manrope",sans-serif;
  font-size:clamp(24px, 2.4vw, 30px);
  font-weight:700;
  line-height:1.2;
  letter-spacing:-.01em;
  color:var(--fb-popup-forest);
}
#popupModal .fb-popup-join-title::after{
  content:"";
  display:block;
  width:36px;
  height:2px;
  margin:12px 0 16px;
  background:var(--fb-popup-gold);
  border-radius:2px;
}
#popupModal .fb-popup-offer{ margin:0 0 14px; }
#popupModal .fb-popup-offer-kicker{
  display:block;
  font-family:"DM Sans",sans-serif;
  font-size:16px;
  font-weight:600;
  line-height:1.3;
  color:var(--fb-popup-green);
}
#popupModal .fb-popup-offer-value{
  display:block;
  font-family:"Manrope",sans-serif;
  font-size:clamp(48px, 5.2vw, 64px);
  font-weight:800;
  letter-spacing:-.03em;
  line-height:1;
  margin-top:2px;
  color:var(--fb-popup-green);
}
#popupModal #fb-popup-step1 .fb-popup-sub{
  margin:0 0 22px;
  font-size:14px;
  line-height:1.55;
  color:var(--fb-popup-muted);
}
#popupModal #fb-popup-step1 .fb-popup-cta{ margin-top:0; }
#popupModal .fb-popup-back{
  display:block;
  width:auto;
  margin:10px auto 0;
  padding:4px 8px;
  background:none;
  border:0;
  color:var(--fb-popup-muted);
  font-family:"DM Sans",sans-serif;
  font-size:13px;
  font-weight:500;
  line-height:1.4;
  text-align:center;
  text-decoration:underline;
  text-underline-offset:2px;
  cursor:pointer;
}
#popupModal .fb-popup-back:hover,
#popupModal .fb-popup-back:focus{
  color:var(--fb-popup-green);
  outline:0;
}
#popupModal.is-success .fb-popup-back{ display:none; }

@media (max-width:767px){
  #popupModal.is-step1 .fb-popup-photo{ height:220px; }
  #popupModal.is-step2 .fb-popup-photo,
  #popupModal.is-success .fb-popup-photo{ height:132px; }
  #popupModal.is-step1 .fb-popup-grid,
  #popupModal.is-step2 .fb-popup-grid,
  #popupModal.is-success .fb-popup-grid{ min-height:0; }
  #popupModal .fb-popup-join-title{ font-size:24px; }
  #popupModal .fb-popup-join-title::after{ margin:10px 0 14px; }
  #popupModal .fb-popup-offer-kicker{ font-size:15px; }
  #popupModal .fb-popup-offer-value{ font-size:52px; }
  #popupModal #fb-popup-step1 .fb-popup-sub{ font-size:13.5px; margin-bottom:18px; }
}

/* 2026-11-12 go-live additions */
#popupModal .fb-popup-consent{ display:flex; gap:8px; align-items:flex-start; margin:6px 0 10px; font-size:12px; line-height:1.4; color:#4A5A52; font-weight:400; text-align:left; }
#popupModal .fb-popup-consent input{ margin-top:2px; flex:0 0 auto; }
#popupModal .fb-popup-success-mail{ margin:0 0 8px; font-size:13px; line-height:1.5; color:#4A5A52; }
#popupModal .fb-popup-success-mail[hidden]{ display:none; }

/* consent checkbox: override generic input styling */
#popupModal .fb-popup-consent input[type="checkbox"]{ width:16px !important; height:16px !important; min-width:16px; padding:0 !important; margin:2px 0 0 !important; border:0 !important; background:none; box-shadow:none !important; flex:0 0 16px; display:inline-block; }
#popupModal .fb-popup-consent span{ flex:1 1 auto; min-width:0; }
