.elementor-280862 .elementor-element.elementor-element-30dcc295{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:35px;--padding-bottom:35px;--padding-left:20px;--padding-right:20px;}.elementor-280862 .elementor-element.elementor-element-30dcc295:not(.elementor-motion-effects-element-type-background), .elementor-280862 .elementor-element.elementor-element-30dcc295 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#08080A;background-image:url("https://climbxfitness.com/wp-content/uploads/2026/08/climbx-tex-register.svg");background-position:bottom center;background-repeat:no-repeat;background-size:cover;}.elementor-280862 .elementor-element.elementor-element-580775c0{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-280862 .elementor-element.elementor-element-17b80b9e > .elementor-widget-container{margin:0px 0px 10px 0px;}.elementor-280862 .elementor-element.elementor-element-17b80b9e{text-align:center;}.elementor-280862 .elementor-element.elementor-element-17b80b9e .elementor-heading-title{font-family:"Barlow Condensed", Sans-serif;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:4.5px;color:#E11B22;}.elementor-280862 .elementor-element.elementor-element-2feceeef > .elementor-widget-container{margin:0px 0px 18px 0px;}.elementor-280862 .elementor-element.elementor-element-2feceeef{text-align:center;}.elementor-280862 .elementor-element.elementor-element-2feceeef .elementor-heading-title{font-family:"Barlow Condensed", Sans-serif;font-size:48px;font-weight:700;text-transform:uppercase;line-height:1.05em;letter-spacing:0.5px;color:#FFFFFF;}.elementor-280862 .elementor-element.elementor-element-15331bf2{--divider-border-style:solid;--divider-color:#E11B22;--divider-border-width:4px;}.elementor-280862 .elementor-element.elementor-element-15331bf2 .elementor-divider-separator{width:90px;margin:0 auto;margin-center:0;}.elementor-280862 .elementor-element.elementor-element-15331bf2 .elementor-divider{text-align:center;padding-block-start:18px;padding-block-end:18px;}.elementor-280862 .elementor-element.elementor-element-6c4e2bcd{width:var( --container-widget-width, 640px );max-width:640px;--container-widget-width:640px;--container-widget-flex-grow:0;text-align:center;font-size:17px;line-height:1.65em;color:#9AA0A6;}.elementor-280862 .elementor-element.elementor-element-6c4e2bcd > .elementor-widget-container{margin:0px 0px 42px 0px;}.elementor-280862 .elementor-element.elementor-element-113faefb{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--border-radius:14px 14px 14px 14px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group{padding-right:calc( 18px/2 );padding-left:calc( 18px/2 );margin-bottom:18px;}.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-form-fields-wrapper{margin-left:calc( -18px/2 );margin-right:calc( -18px/2 );margin-bottom:-18px;}.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-labels-inline .elementor-field-group > label{padding-left:8px;}body:not(.rtl) .elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-labels-inline .elementor-field-group > label{padding-right:8px;}body .elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-labels-above .elementor-field-group > label{padding-bottom:8px;}.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group > label, .elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-subgroup label{color:#FFFFFF;}.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group > label{font-size:14px;font-weight:600;letter-spacing:0.2px;}.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-type-html{padding-bottom:0px;}.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group .elementor-field{color:#111114;}.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group .elementor-field, .elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-subgroup label{font-size:15px;}.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#F2F3F5;border-color:#F2F3F5;border-width:1px 1px 1px 1px;border-radius:8px 8px 8px 8px;}.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group .elementor-select-wrapper select{background-color:#F2F3F5;border-color:#F2F3F5;border-width:1px 1px 1px 1px;border-radius:8px 8px 8px 8px;}.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group .elementor-select-wrapper::before{color:#F2F3F5;}.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-button{font-family:"IBM Plex Sans", Sans-serif;font-size:17px;font-weight:600;text-transform:uppercase;letter-spacing:1.6px;border-radius:8px 8px 8px 8px;}.elementor-280862 .elementor-element.elementor-element-3fe88f17 .e-form__buttons__wrapper__button-next{background-color:#E11B22;color:#FFFFFF;}.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-button[type="submit"]{background-color:#E11B22;color:#FFFFFF;}.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-button[type="submit"] svg *{fill:#FFFFFF;}.elementor-280862 .elementor-element.elementor-element-3fe88f17 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-280862 .elementor-element.elementor-element-3fe88f17 .e-form__buttons__wrapper__button-next:hover{background-color:#FFFFFF;color:#ffffff;}.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-button[type="submit"]:hover{background-color:#FFFFFF;color:#ffffff;}.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-280862 .elementor-element.elementor-element-3fe88f17 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-message.elementor-message-success{color:#3DDC84;}.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-message.elementor-message-danger{color:#FF6B6B;}.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-message.elementor-help-inline{color:#FF6B6B;}.elementor-280862 .elementor-element.elementor-element-3fe88f17{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-primary-color:#26262C;--e-form-steps-indicator-inactive-secondary-color:#8A9099;--e-form-steps-indicator-active-primary-color:#E11B22;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-280862 .elementor-element.elementor-element-2feceeef .elementor-heading-title{font-size:44px;}}@media(max-width:767px){.elementor-280862 .elementor-element.elementor-element-30dcc295{--padding-top:56px;--padding-bottom:64px;--padding-left:16px;--padding-right:16px;}.elementor-280862 .elementor-element.elementor-element-17b80b9e .elementor-heading-title{font-size:11px;}.elementor-280862 .elementor-element.elementor-element-2feceeef .elementor-heading-title{font-size:32px;}.elementor-280862 .elementor-element.elementor-element-6c4e2bcd{font-size:15px;}.elementor-280862 .elementor-element.elementor-element-113faefb{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS for form, class: .elementor-element-3fe88f17 *//* ================= ClimbX "Ascent" registration form ================= */

/* the widget itself is the card: topographic lines + a red glow + mountain silhouette */
.elementor-280862 .elementor-element.elementor-element-3fe88f17{position:relative;overflow:hidden;border:1px solid #1e222a;border-radius:20px;padding:34px 32px;
  background:repeating-linear-gradient(115deg,rgba(255,255,255,.014) 0 1px,transparent 1px 26px),
             radial-gradient(120% 90% at 88% 6%,rgba(225,27,34,.14),transparent 58%),#0a0c10}
.elementor-280862 .elementor-element.elementor-element-3fe88f17::after{content:"";position:absolute;right:-30px;bottom:-30px;width:340px;height:200px;background:#fff;
  opacity:.028;pointer-events:none;
  clip-path:polygon(0 100%,26% 34%,40% 58%,58% 12%,76% 52%,88% 36%,100% 100%)}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-form{position:relative;z-index:1}

/* ---- per-step header + route ---- */
/* NOTE: brand red #E11B22 on near-black is only 4.08:1 — fails AA for small text.
   Small red text uses the lighter #FF5A60 (6.4:1); #E11B22 stays for fills/large shapes. */
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .cx-eyebrow{font-family:'Barlow Condensed',"Arial Narrow",sans-serif;font-weight:600;font-size:14px;
  letter-spacing:.34em;text-transform:uppercase;color:#FF5A60;margin:0 0 4px}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .cx-headline{font-family:'Barlow Condensed',"Arial Narrow",sans-serif;font-weight:700;font-size:32px;
  letter-spacing:.02em;text-transform:uppercase;color:#fff;margin:0}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .cx-stepof{display:none;font-family:'Barlow Condensed',"Arial Narrow",sans-serif;font-size:12px;
  letter-spacing:.2em;text-transform:uppercase;color:#7d838a;margin:6px 0 0}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .cx-trail{position:relative;height:152px;margin:22px 0 2px}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .cx-trail svg{position:absolute;left:0;top:0;width:100%;height:104px}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .cx-node{position:absolute;transform:translate(-50%,-50%)}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .cx-node b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#14181f;
  border:2px solid #2c323c;font-family:'Barlow Condensed',"Arial Narrow",sans-serif;font-size:14px;color:#8a9099}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .cx-node.done b{background:#E11B22;border-color:#E11B22;color:#fff}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .cx-node.now b{background:#fff;border-color:#fff;color:#0a0a0a;box-shadow:0 0 0 7px rgba(255,255,255,.13)}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .cx-tlabels{position:absolute;left:0;right:0;bottom:0;display:flex}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .cx-tlabels span{flex:1;text-align:center;font-family:'Barlow Condensed',"Arial Narrow",sans-serif;
  font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:#9AA0A6}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .cx-tlabels span.done{color:#FF5A60;font-weight:600}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-mark-required .elementor-field-label:after{color:#FF5A60!important}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .cx-tlabels span.now{color:#fff;font-weight:700}

/* ---- labels ---- */
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group > label{font-family:'Barlow Condensed',"Arial Narrow",sans-serif;font-size:15px;
  letter-spacing:.14em;text-transform:uppercase;color:#aeb4bb!important;margin-bottom:2px}

/* ---- inputs: underline only (desktop) ---- */
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-textual{background:transparent!important;border:none!important;
  border-bottom:1.5px solid #2c323c!important;border-radius:0!important;color:#fff!important;
  padding:11px 2px!important;font-size:16px!important}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-textual::placeholder{color:#575f68!important}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-textual:focus{border-bottom-color:#E11B22!important;box-shadow:none!important}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 select.elementor-field-textual option{background:#0a0c10;color:#fff}

/* ---- radio lists: circle + rule, multi-column ---- */
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-type-radio .elementor-field-subgroup{display:block!important;column-gap:30px}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-type-radio .elementor-field-option{display:block;width:100%;break-inside:avoid;
  position:relative;margin:0}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-type-radio input[type=radio]{position:absolute;inset:0;width:100%;height:100%;
  opacity:0;margin:0;cursor:pointer}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-type-radio input[type=radio]+label{display:flex!important;align-items:center;gap:11px;
  margin:0;padding:11px 4px;border-bottom:1px solid #14181f;font-size:14.5px;color:#c9cdd2;cursor:pointer;
  transition:background .16s,color .16s}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-type-radio input[type=radio]+label::before{content:"";width:17px;height:17px;
  border:1.5px solid #39404a;border-radius:50%;flex:0 0 auto;transition:.16s}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-type-radio input[type=radio]+label:hover{background:rgba(255,255,255,.03)}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-type-radio input[type=radio]:checked+label{color:#fff;font-weight:600}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-type-radio input[type=radio]:checked+label::before{border-color:#E11B22;
  box-shadow:inset 0 0 0 3px #0a0c10,inset 0 0 0 9px #E11B22}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-type-radio input[type=radio]:focus-visible+label{outline:2px solid #fff;outline-offset:2px}

/* long lists in two columns, the 3-option list across three */
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group-primary_goal .elementor-field-subgroup,
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group-referral_source .elementor-field-subgroup{column-count:2}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group-fitness_level .elementor-field-subgroup{column-count:3}

/* ---- program: card grid ---- */
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group-program .elementor-field-subgroup{display:grid!important;
  grid-template-columns:repeat(3,1fr);gap:12px;column-count:auto!important}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group-program input[type=radio]+label{justify-content:center;text-align:center;
  border:1px solid #232a33!important;border-radius:12px;padding:15px 12px}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group-program input[type=radio]+label::before{display:none}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group-program input[type=radio]:checked+label{border-color:#E11B22!important;
  background:rgba(225,27,34,.08)}

/* ---- package: altitude tiles ---- */
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group-package .elementor-field-subgroup{display:grid!important;
  grid-template-columns:repeat(3,1fr);gap:12px;column-count:auto!important}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group-package input[type=radio]+label{display:block!important;text-align:left;
  border:1px solid #232a33!important;border-radius:13px;padding:18px 14px;background:rgba(255,255,255,.017);
  font-family:'Barlow Condensed',"Arial Narrow",sans-serif;font-weight:700;font-size:17px;letter-spacing:.08em;
  text-transform:uppercase;line-height:1.4;color:#fff}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group-package input[type=radio]+label::before{display:none}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group-package input[type=radio]:checked+label{border-color:#E11B22!important;
  background:rgba(225,27,34,.08)}

/* ---- agreement: real checkboxes (acceptance shares .elementor-field-subgroup) ---- */
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-type-acceptance .elementor-field-subgroup{display:block!important;column-count:auto!important}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-type-acceptance .elementor-field-option{display:flex;gap:11px;align-items:flex-start;
  padding:12px 15px;border:1px solid #232a33;border-radius:11px;background:rgba(255,255,255,.017)}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-type-acceptance .elementor-field-option:hover{border-color:#39404a}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-type-acceptance input[type=checkbox]{position:static!important;inset:auto!important;
  opacity:1!important;width:18px!important;height:18px!important;margin:1px 0 0!important;
  accent-color:#E11B22;cursor:pointer;flex:0 0 auto}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-type-acceptance input[type=checkbox]+label{display:inline!important;border:none!important;
  border-radius:0!important;padding:0!important;background:transparent!important;box-shadow:none!important;
  font-family:"IBM Plex Sans",sans-serif!important;font-size:14.5px!important;letter-spacing:0!important;
  text-transform:none!important;font-weight:400!important;color:#c9cdd2!important}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-type-acceptance input[type=checkbox]+label::before{display:none}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-type-acceptance input[type=checkbox]:checked+label{color:#fff!important}

/* ---- buttons: Back + Continue on ONE line, pill shaped ---- */
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .e-form__buttons{display:flex!important;flex-wrap:nowrap!important;gap:12px;align-items:stretch;margin-top:8px}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .e-form__buttons__wrapper{width:auto!important;flex:1 1 auto!important;margin:0!important}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .e-form__buttons__wrapper.elementor-field-type-previous{flex:0 0 32%!important}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .e-form__buttons__wrapper .elementor-button{width:100%!important;max-width:none!important;
  border-radius:99px!important;font-family:'Barlow Condensed',"Arial Narrow",sans-serif!important;
  font-size:16px!important;letter-spacing:.2em!important;text-transform:uppercase!important;padding:16px!important}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .e-form__buttons__wrapper__button-previous{background:transparent!important;
  border:1.5px solid #33333d!important;color:#c9cdd2!important;box-shadow:none!important}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .e-form__buttons__wrapper__button-previous:hover{border-color:#fff!important;color:#fff!important}
/* hover keeps the label readable (white bg + white text was the earlier bug) */
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .e-form__buttons__wrapper__button-next:hover,
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-button[type=submit]:hover{background:#fff!important;color:#0a0a0a!important;
  border-color:#fff!important}

/* ---- tablet ---- */
@media(max-width:900px){
  .elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group-program .elementor-field-subgroup{grid-template-columns:repeat(2,1fr)}
  .elementor-280862 .elementor-element.elementor-element-3fe88f17 .cx-headline{font-size:27px}
}

/* ---- mobile: filled input boxes for bigger tap targets, route hidden ---- */
@media(max-width:767px){
  .elementor-280862 .elementor-element.elementor-element-3fe88f17{padding:20px 18px}
  .elementor-280862 .elementor-element.elementor-element-3fe88f17 .cx-trail{display:none}
  .elementor-280862 .elementor-element.elementor-element-3fe88f17 .cx-stepof{display:block}
  .elementor-280862 .elementor-element.elementor-element-3fe88f17 .cx-headline{font-size:24px}
  .elementor-280862 .elementor-element.elementor-element-3fe88f17 .cx-eyebrow{letter-spacing:.22em;font-size:13px}
  /* 16px minimum: anything smaller makes iOS Safari auto-zoom on focus */
  .elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-textual{background:#f2f3f5!important;border:1px solid #e6e8eb!important;
    border-bottom:1px solid #e6e8eb!important;border-radius:8px!important;color:#111114!important;
    padding:14px 15px!important;font-size:16px!important}
  .elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-textual::placeholder{color:#9aa0a6!important}
  .elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-textual:focus{border-color:#E11B22!important;
    box-shadow:0 0 0 3px rgba(225,27,34,.3)!important}
  .elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group-primary_goal .elementor-field-subgroup,
  .elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group-referral_source .elementor-field-subgroup,
  .elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group-fitness_level .elementor-field-subgroup{column-count:1}
  .elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group-program .elementor-field-subgroup,
  .elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group-package .elementor-field-subgroup{grid-template-columns:1fr}
  .elementor-280862 .elementor-element.elementor-element-3fe88f17 .e-form__buttons{flex-wrap:wrap!important}
  .elementor-280862 .elementor-element.elementor-element-3fe88f17 .e-form__buttons__wrapper{flex:1 1 100%!important}
  .elementor-280862 .elementor-element.elementor-element-3fe88f17 .e-form__buttons__wrapper.elementor-field-type-previous{flex:1 1 100%!important;order:2}
  .elementor-280862 .elementor-element.elementor-element-3fe88f17 .e-form__buttons__wrapper.elementor-field-type-next{order:1}
}

/* --- conditional reveal via :has() --- */
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group-primary_goal:has(input[value="Other"]:not(:checked)) ~ .elementor-field-group-primary_goal_other{display:none}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group-program:has(input[value="Other"]:not(:checked)) ~ .elementor-field-group-program_other{display:none}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group-referral_source:has(input[value="Other"]:not(:checked)) ~ .elementor-field-group-referral_source_other{display:none}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group-medical_condition:has(input[value="Yes"]:not(:checked)) ~ .elementor-field-group-medical_condition_details{display:none}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group-injury:has(input[value="Yes"]:not(:checked)) ~ .elementor-field-group-injury_details{display:none}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group-medication:has(input[value="Yes"]:not(:checked)) ~ .elementor-field-group-medication_details{display:none}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group-doctor_restriction:has(input[value="Yes"]:not(:checked)) ~ .elementor-field-group-doctor_restriction_details{display:none}

/* Elementor focuses each step's first field group (tabindex=0) on step change so screen
   readers announce it. That element is our decorative step header, so the browser drew its
   default focus ring as a large box. Focus still moves; only the ring is suppressed. */
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-type-html[tabindex]:focus,
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-type-html[tabindex]:focus-visible{outline:none!important}

/* --- short radio sets belong on one line; CSS cannot count options so each is named --- */
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group-gender .elementor-field-subgroup{column-count:3}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group-preferred_time .elementor-field-subgroup,
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group-preferred_days .elementor-field-subgroup,
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group-medical_condition .elementor-field-subgroup,
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group-injury .elementor-field-subgroup,
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group-medication .elementor-field-subgroup,
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-group-doctor_restriction .elementor-field-subgroup{column-count:2}
/* the 28px circle inherits a 32px line box, which pushes the digit off centre */
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .cx-node b{line-height:1!important}
@media(max-width:767px){
  .elementor-280862 .elementor-element.elementor-element-3fe88f17 .elementor-field-type-radio .elementor-field-subgroup{column-count:1!important}
}

/* Elementor injects the success/error message INSIDE .e-form__buttons, so with
   flex-wrap:nowrap it landed on the same row as the buttons and collided with them.
   Allow wrapping and give the message its own full-width row. */
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .e-form__buttons{flex-wrap:wrap!important}
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .e-form__buttons .elementor-message{flex:1 1 100%!important;width:100%!important;order:9;
  margin:6px 0 0!important;font-size:14.5px;line-height:1.5}
@media(max-width:600px){
  .elementor-280862 .elementor-element.elementor-element-3fe88f17 .e-form__buttons .elementor-message{order:0;margin:0 0 6px!important}
}

/* cx-msg-above: the submit button is a pill with a large glow shadow and wins the stacking
   order, so a message placed below it gets visually clipped even with clear geometry.
   Put the confirmation ABOVE the buttons — no collision possible, and it sits where the
   eye already is after clicking. */
.elementor-280862 .elementor-element.elementor-element-3fe88f17 .e-form__buttons .elementor-message{flex:1 1 100%!important;width:100%!important;
  order:-1!important;margin:0 0 16px!important;position:relative;z-index:3;
  font-size:14.5px;line-height:1.55;min-height:22px}/* End custom CSS */