.elementor-254 .elementor-element.elementor-element-db1dd5f{--display:flex;}.elementor-254 .elementor-element.elementor-element-abf84b7 .jet-form-builder__label{text-align:left;}.elementor-254 .elementor-element.elementor-element-abf84b7 .jet-form-builder__desc{text-align:left;}.elementor-254 .elementor-element.elementor-element-abf84b7 .jet-form-builder__fields-group{gap:0.7em 0.7em;}.elementor-254 .elementor-element.elementor-element-abf84b7 .jet-form-builder__field-wrap.checkradio-wrap span{gap:8px;}.elementor-254 .elementor-element.elementor-element-abf84b7 .jet-form-builder input{color-scheme:normal;}.elementor-254 .elementor-element.elementor-element-abf84b7 .jet-form-builder-repeater__row-remove{align-self:flex-start;}.elementor-254 .elementor-element.elementor-element-abf84b7 .jet-form-builder .jet-apb-calendar-slots__close{font-size:35px;top:10px;right:10px;}.elementor-254 .elementor-element.elementor-element-abf84b7 .jet-form-builder__action-button{transition:all 0.3s;}.elementor-254 .elementor-element.elementor-element-abf84b7 .jet-form-builder__next-page-wrap{text-align:left;}.elementor-254 .elementor-element.elementor-element-abf84b7 .jet-form-builder-message--success{text-align:center;}.elementor-254 .elementor-element.elementor-element-abf84b7 .jet-form-builder-message--error{text-align:center;}/* Start custom CSS for jet-form-builder-form, class: .elementor-element-abf84b7 *//* ---- Stepped nav buttons (hardcoded colours — outside .jet-form-builder var scope) ---- */
.elementor-254 .elementor-element.elementor-element-abf84b7 .jet-form-builder__next-page{
  background:#FF6000 !important; color:#25292B !important;
  font-family:"degular-display","degular",sans-serif; font-weight:700;
  text-transform:uppercase; letter-spacing:.08em; font-size:1rem;
  border:none !important; border-radius:0 !important; padding:16px 38px; cursor:pointer;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%);
  transition:filter .15s, transform .12s;
}
.elementor-254 .elementor-element.elementor-element-abf84b7 .jet-form-builder__next-page:hover{ filter:brightness(1.08); transform:translateY(-1px); }

.elementor-254 .elementor-element.elementor-element-abf84b7 .jet-form-builder__prev-page{
  background:transparent !important; color:#F5F0E8 !important;
  font-family:"degular-display","degular",sans-serif; font-weight:600;
  text-transform:uppercase; letter-spacing:.08em; font-size:1rem;
  border:1px solid #3C4448 !important; border-radius:4px; padding:16px 30px; cursor:pointer;
  transition:border-color .15s, color .15s;
}
.elementor-254 .elementor-element.elementor-element-abf84b7 .jet-form-builder__prev-page:hover{
  border-color:#FF6000 !important; color:#FF6000 !important;
}
.elementor-254 .elementor-element.elementor-element-abf84b7 .jet-form-builder__next-page-wrap{
  display:flex; gap:14px; justify-content:flex-start; margin-top:24px;
}
/* Final submit (DEPLOY) — matched to BACK button dimensions */
.elementor-254 .elementor-element.elementor-element-abf84b7 .jet-form-builder__action-button{
  background:#FF6000 !important; color:#25292B !important;
  font-family:"degular-display","degular",sans-serif; font-weight:700;
  text-transform:uppercase; letter-spacing:.08em; font-size:1rem !important;
  border:none !important; padding:16px 38px !important; cursor:pointer; width:auto;
  line-height:1.2 !important;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%);
  transition:filter .15s, transform .12s;
}
.elementor-254 .elementor-element.elementor-element-abf84b7 .jet-form-builder__action-button:hover{ filter:brightness(1.08); transform:translateY(-1px); }

/* Size chips — target by input name, style the label.for-radio */
.elementor-254 .elementor-element.elementor-element-abf84b7 .jet-form-builder__fields-group:has([name="group_size"]),
.elementor-254 .elementor-element.elementor-element-abf84b7 .jet-form-builder__fields-group:has([name="jumpsuit_size"]){
  display:flex !important; flex-direction:row !important; flex-wrap:wrap; gap:8px !important;
}
.elementor-254 .elementor-element.elementor-element-abf84b7 .radio-wrap:has([name="group_size"]),
.elementor-254 .elementor-element.elementor-element-abf84b7 .radio-wrap:has([name="jumpsuit_size"]){ margin:0 !important; width:auto !important; }
.elementor-254 .elementor-element.elementor-element-abf84b7 .radio-wrap:has([name="group_size"]) .for-radio,
.elementor-254 .elementor-element.elementor-element-abf84b7 .radio-wrap:has([name="jumpsuit_size"]) .for-radio{
  display:flex !important; align-items:center; justify-content:center;
  min-width:54px; padding:12px 14px; cursor:pointer; margin:0 !important;
  background:#2C3134; border:1px solid #3C4448; border-radius:4px;
  transition:border-color .15s, background .15s;
}
.elementor-254 .elementor-element.elementor-element-abf84b7 .radio-wrap:has([name="group_size"]) .for-radio input,
.elementor-254 .elementor-element.elementor-element-abf84b7 .radio-wrap:has([name="jumpsuit_size"]) .for-radio input{ position:absolute; opacity:0; }
.elementor-254 .elementor-element.elementor-element-abf84b7 .radio-wrap:has([name="group_size"]) .for-radio span,
.elementor-254 .elementor-element.elementor-element-abf84b7 .radio-wrap:has([name="jumpsuit_size"]) .for-radio span{
  font-family:"degular-display","degular",sans-serif; font-weight:600;
  letter-spacing:.04em; font-size:.9rem; color:#F5F0E8;
}
.elementor-254 .elementor-element.elementor-element-abf84b7 .radio-wrap:has([name="group_size"]):has(input:checked) .for-radio,
.elementor-254 .elementor-element.elementor-element-abf84b7 .radio-wrap:has([name="jumpsuit_size"]):has(input:checked) .for-radio{
  background:#FF6000; border-color:#FF6000;
}
.elementor-254 .elementor-element.elementor-element-abf84b7 .radio-wrap:has([name="group_size"]):has(input:checked) .for-radio span,
.elementor-254 .elementor-element.elementor-element-abf84b7 .radio-wrap:has([name="jumpsuit_size"]):has(input:checked) .for-radio span{ color:#25292B; }

/* ============================================================
   APPOINTMENT DETAILS → confirmation card (Option 1)
   ============================================================ */
.elementor-254 .elementor-element.elementor-element-abf84b7 .jet-apb-calendar-appointments-list-wrapper{
  background:#22272A; border:1px solid #3C4448; border-left:4px solid #FF6000;
  border-radius:10px; padding:22px 24px; margin-top:8px;
}
.elementor-254 .elementor-element.elementor-element-abf84b7 .jet-apb-calendar-appointments-list-wrapper .jet-form-builder__heading{
  font-family:"degular-display","degular",sans-serif; font-weight:700;
  text-transform:uppercase; letter-spacing:.14em; font-size:.9rem;
  color:#F5F0E8; margin:0 0 4px; position:relative; padding-left:0;
}
.elementor-254 .elementor-element.elementor-element-abf84b7 .jet-apb-calendar-appointments-list-wrapper .jet-form-builder__heading::after{
  content:"● SLOT HELD"; float:right; font-size:.62rem; letter-spacing:.1em;
  color:#00C853; border:1px solid #00C853; background:rgba(0,200,83,.12);
  padding:4px 10px; border-radius:20px; font-family:"degular-display",sans-serif;
}
.elementor-254 .elementor-element.elementor-element-abf84b7 .jet-apb-appointments-item{
  background:transparent; border:none; padding:0;
}
.elementor-254 .elementor-element.elementor-element-abf84b7 .jet-apb-item-service-provider{
  font-family:"degular-display","degular",sans-serif; font-weight:700;
  text-transform:uppercase; font-size:1.5rem; line-height:1.05;
  color:#FF6000; letter-spacing:.02em; margin:10px 0 14px;
}
.elementor-254 .elementor-element.elementor-element-abf84b7 .jet-apb-appointments-item-content{
  display:flex; gap:12px; flex-wrap:wrap;
}
.elementor-254 .elementor-element.elementor-element-abf84b7 .jet-apb-item-time,
.elementor-254 .elementor-element.elementor-element-abf84b7 .jet-apb-item-date{
  flex:1; min-width:130px;
  background:#2C3134; border:1px solid #3C4448; border-radius:8px;
  padding:12px 16px;
  font-family:"degular-display","degular",sans-serif; font-weight:600;
  font-size:1.2rem; color:#F5F0E8;
}
.elementor-254 .elementor-element.elementor-element-abf84b7 .jet-apb-item-time::before{
  content:"DATE"; display:block; font-size:.6rem; letter-spacing:.14em;
  color:#7A8084; margin-bottom:5px; font-weight:400;
}
.elementor-254 .elementor-element.elementor-element-abf84b7 .jet-apb-item-date::before{
  content:"TIME"; display:block; font-size:.6rem; letter-spacing:.14em;
  color:#7A8084; margin-bottom:5px; font-weight:400;
}
/* ---- Booking policy callout ---- */
.elementor-254 .elementor-element.elementor-element-abf84b7 .rr-policy{
  display:flex; gap:0; margin-top:16px;
  background:#2C3134; border:1px solid #3C4448; border-radius:8px; overflow:hidden;
}
.elementor-254 .elementor-element.elementor-element-abf84b7 .rr-policy-bar{
  flex:0 0 6px;
  background:repeating-linear-gradient(45deg,#FFD400 0 8px,#25292B 8px 16px);
}
.elementor-254 .elementor-element.elementor-element-abf84b7 .rr-policy-body{
  padding:14px 18px; font-family:"degular","degular-display",sans-serif;
  font-size:.9rem; line-height:1.5; color:#C9CDCE;
}
.elementor-254 .elementor-element.elementor-element-abf84b7 .rr-policy-body strong{
  display:block; font-family:"degular-display",sans-serif; font-weight:700;
  text-transform:uppercase; letter-spacing:.08em; color:#FFD400;
  font-size:.8rem; margin-bottom:6px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-db1dd5f *//* ============================================================
   RIOT RESET — DEPLOY SESSION // intake form
   Agency-grade restyle. CSS-only, targets existing JFB markup.
   ============================================================ */
.jet-form-builder{
  --riot-orange:#FF6000; --riot-yellow:#FFD400; --riot-red:#FF2A2A;
  --riot-grey:#353C40; --off-white:#F5F0E8; --off-black:#25292B;
  --panel:#2C3134; --panel-2:#22272A; --line:#3C4448;
  --rr-head:"degular-display","degular",sans-serif;
  --rr-body:"degular","degular-display",sans-serif;

  max-width:760px; margin-inline:auto;
  display:flex; flex-direction:column; gap:30px;
  font-family:var(--rr-body); color:var(--off-white);
}

/* ---- Section labels: small, tracked, with an orange index tick ---- */
.jet-form-builder .jet-form-builder__label-text{
  font-family:var(--rr-head); font-weight:600;
  text-transform:uppercase; letter-spacing:.14em;
  font-size:.78rem; color:#C9CDCE;
  display:flex; align-items:center; gap:8px; margin-bottom:12px;
}
.jet-form-builder .jet-form-builder__label-text::before{
  content:""; width:14px; height:2px; background:var(--riot-orange); flex:0 0 auto;
}
.jet-form-builder__required{color:var(--riot-orange); margin-left:2px;}

/* ---- Help text ---- */
.jet-form-builder .jet-form-builder__desc small{
  font-family:var(--rr-body); font-size:.85rem;
  color:#9AA0A2; line-height:1.5; display:block; margin-top:8px;
}

/* ============================================================
   HERO: SELECT EXPERIENCE → selectable tactical tiles
   (scoped to the service field block id cb-w9395lan)
   ============================================================ */
.cb-w9395lan .jet-form-builder__fields-group{
  display:grid !important;
  grid-template-columns:repeat(2,1fr);
  gap:12px !important;
}
.cb-w9395lan .jet-form-builder__field-wrap.radio-wrap{
  margin:0;
}
.cb-w9395lan .for-radio{
  position:relative; display:flex; align-items:center; min-height:64px;
  padding:18px 20px; cursor:pointer;
  background:var(--panel); border:1px solid var(--line);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%);
  transition:border-color .15s, background .15s, transform .12s;
}
.cb-w9395lan .for-radio input{ position:absolute; opacity:0; pointer-events:none; }
.cb-w9395lan .for-radio span{
  font-family:var(--rr-head); font-weight:600;
  text-transform:uppercase; letter-spacing:.05em;
  font-size:1rem; line-height:1.2; color:var(--off-white);
}
.cb-w9395lan .for-radio:hover{
  border-color:var(--riot-orange); transform:translateY(-2px);
  background:var(--panel-2);
}
.cb-w9395lan .radio-wrap:has(input:checked) .for-radio{
  border-color:var(--riot-orange);
  background:linear-gradient(180deg, rgba(255,96,0,.12), rgba(255,96,0,.04));
  box-shadow:inset 0 0 0 1px var(--riot-orange);
}
/* selected corner flag */
.cb-w9395lan .radio-wrap:has(input:checked) .for-radio::after{
  content:""; position:absolute; right:0; bottom:0;
  border-width:0 14px 14px 0; border-style:solid;
  border-color:transparent var(--riot-orange) transparent transparent;
}

/* ============================================================
   JUMPSUIT SIZE → compact horizontal chips
   (scoped to jumpsuit block id cb-fuj878oa)
   ============================================================ */
.cb-fuj878oa .jet-form-builder__fields-group{
  display:flex !important; flex-direction:row !important;
  flex-wrap:wrap; gap:8px !important;
}
.cb-fuj878oa .radio-wrap{ margin:0; }
.cb-fuj878oa .for-radio{
  display:flex; align-items:center; justify-content:center;
  min-width:54px; padding:12px 10px; cursor:pointer;
  background:var(--panel); border:1px solid var(--line); border-radius:4px;
  transition:border-color .15s, background .15s;
}
.cb-fuj878oa .for-radio input{ position:absolute; opacity:0; pointer-events:none; }
.cb-fuj878oa .for-radio span{
  font-family:var(--rr-head); font-weight:600; letter-spacing:.04em;
  font-size:.9rem; color:var(--off-white);
}
.cb-fuj878oa .for-radio:hover{ border-color:var(--riot-orange); }
.cb-fuj878oa .radio-wrap:has(input:checked) .for-radio{
  background:var(--riot-orange); border-color:var(--riot-orange);
}
.cb-fuj878oa .radio-wrap:has(input:checked) .for-radio span{ color:var(--off-black); }

/* ============================================================
   TEXT / NUMBER / DATE / TEXTAREA / SELECT
   ============================================================ */
.jet-form-builder input[type=text],
.jet-form-builder input[type=email],
.jet-form-builder input[type=tel],
.jet-form-builder input[type=number],
.jet-form-builder input[type=date],
.jet-form-builder textarea,
.jet-form-builder .appointment-provider{
  font-family:var(--rr-body); font-size:1rem;
  background:var(--panel-2); color:var(--off-white);
  border:1px solid var(--line); border-radius:6px;
  padding:14px 16px; width:100%;
  transition:border-color .15s, box-shadow .15s;
}
.jet-form-builder textarea{ min-height:120px; resize:vertical; }
.jet-form-builder input::placeholder,
.jet-form-builder textarea::placeholder{ color:#6E7578; }
.jet-form-builder input[type=date]{ color-scheme:dark; }
.jet-form-builder input:focus,
.jet-form-builder textarea:focus,
.jet-form-builder .appointment-provider:focus{
  outline:none; border-color:var(--riot-orange);
  box-shadow:0 0 0 3px rgba(255,96,0,.25);
}

/* ============================================================
   CALENDAR (JetAppointment)
   ============================================================ */
.jet-apb-calendar-wrapper{
  background:var(--panel-2); border:1px solid var(--line);
  border-radius:8px; padding:16px;
}

/* ============================================================
   DECLARATIONS → readable consent rows w/ custom checkbox
   ============================================================ */
.jet-form-builder .field-type-checkbox-field{
  background:var(--panel); border:1px solid var(--line);
  border-left:3px solid var(--riot-orange);
  border-radius:6px; padding:16px 18px;
}
.jet-form-builder .for-checkbox{
  display:flex; align-items:center; gap:12px; cursor:pointer;
}
.jet-form-builder .for-checkbox input{ position:absolute; opacity:0; }
.jet-form-builder .for-checkbox span{
  position:relative; padding-left:34px;
  font-family:var(--rr-head); font-weight:600;
  text-transform:uppercase; letter-spacing:.04em;
  font-size:.95rem; color:var(--off-white); line-height:1.3;
}
.jet-form-builder .for-checkbox span::before{
  content:""; position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:22px; height:22px; border-radius:4px;
  border:2px solid var(--line); background:var(--panel-2);
  transition:border-color .15s, background .15s;
}
.jet-form-builder .for-checkbox:hover span::before{ border-color:var(--riot-orange); }
.jet-form-builder .field-type-checkbox-field:has(input:checked) .for-checkbox span::before{
  background:var(--riot-orange); border-color:var(--riot-orange);
}
.jet-form-builder .field-type-checkbox-field:has(input:checked) .for-checkbox span::after{
  content:""; position:absolute; left:7px; top:calc(50% - 6px);
  width:6px; height:11px; border:solid var(--off-black);
  border-width:0 3px 3px 0; transform:rotate(45deg);
}

/* ============================================================
   WAIVER PANEL
   ============================================================ */
#rr-waiver{
  font-family:var(--rr-body);
  background:var(--off-white); color:#222;
  max-height:320px; overflow-y:auto;
  padding:22px 24px; border:1px solid var(--line); border-radius:8px;
  box-shadow:inset 0 -16px 20px -16px rgba(0,0,0,.4);
}
#rr-waiver::-webkit-scrollbar{ width:10px; }
#rr-waiver::-webkit-scrollbar-thumb{ background:var(--riot-orange); border-radius:5px; }
#rr-waiver::-webkit-scrollbar-track{ background:#d9d3c7; }
#rr-waiver h3{ font-family:var(--rr-head); text-transform:uppercase;
  font-size:1.6rem; color:#111; margin:0 0 2px; font-weight:700; letter-spacing:.01em; }
#rr-waiver .ver{ font-family:"Libre Barcode 39 Text",monospace; font-size:1.15rem;
  color:#444; letter-spacing:.04em; border-bottom:1px solid #ccc; padding-bottom:10px; margin-bottom:14px; }
#rr-waiver h4{ font-family:var(--rr-head); text-transform:uppercase; font-size:1.05rem;
  color:#111; margin:16px 0 4px; border-left:3px solid var(--riot-orange); padding-left:10px; font-weight:600; }
#rr-waiver p,#rr-waiver li{ font-family:var(--rr-body); margin:7px 0; color:#222; line-height:1.55; }
#rr-waiver .warn{ background:#fff4cc; border-left:4px solid var(--riot-yellow); padding:9px 13px; margin:11px 0; }
#rr-gate-hint{
  font-family:var(--rr-head); font-size:.78rem; letter-spacing:.06em;
  color:var(--riot-yellow); text-align:center; margin:10px 0 2px;
}

/* ============================================================
   DEPLOY BUTTON
   ============================================================ */
.jet-form-builder__action-button{
  background:var(--riot-orange) !important; color:var(--off-black) !important;
  font-family:var(--rr-head); font-weight:700;
  text-transform:uppercase; letter-spacing:.1em; font-size:1.05rem;
  border:none; padding:18px 40px; cursor:pointer; width:100%;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%);
  transition:filter .15s, transform .12s;
}
.jet-form-builder__action-button:hover{ filter:brightness(1.08); transform:translateY(-1px); }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:680px){
  .cb-w9395lan .jet-form-builder__fields-group{ grid-template-columns:1fr; }
}
/* ============================================================
   DECLARATION CARDS — restructured layout (fixes mobile overlap
   + desktop wasted space). Stacks: label → checkbox row → legal text
   ============================================================ */
.jet-form-builder .field-type-checkbox-field{
  display:flex; flex-direction:column; gap:14px;
}
/* label sits full width on top, no longer floating left */
.jet-form-builder .field-type-checkbox-field .jet-form-builder__label{
  margin:0; order:1;
}
/* the checkbox + "I confirm" row */
.jet-form-builder .field-type-checkbox-field .jet-form-builder__fields-group{
  order:2; margin:0;
}
.jet-form-builder .field-type-checkbox-field .for-checkbox{
  align-items:flex-start;
}
/* legal text spans the full card width underneath, not a narrow column */
.jet-form-builder .field-type-checkbox-field .jet-form-builder__desc{
  order:3; margin:0; max-width:100%;
}
.jet-form-builder .field-type-checkbox-field .jet-form-builder__desc small{
  margin-top:0;
}

/* Mobile: make sure nothing collides */
@media (max-width:680px){
  .jet-form-builder .field-type-checkbox-field .for-checkbox span{
    font-size:.85rem; padding-left:32px; line-height:1.35;
  }
  /* experience tiles already collapse to 1 col via earlier rule */
}/* End custom CSS */