/* Registration fields aligned with the contact-form UI. */
.snexus-wizard .snexus-field{margin:0 0 1rem}
.snexus-wizard .snexus-grid-2{gap:0 1rem}
.snexus-wizard .snexus-field>label{
 display:block;margin:0 0 .45rem;color:#172033;
 font-size:.95rem;font-weight:600;line-height:1.35
}
.snexus-wizard .snexus-field input:not([type="checkbox"]):not([type="radio"]),
.snexus-wizard .snexus-field select,
.snexus-wizard .snexus-field textarea{
 appearance:none;-webkit-appearance:none;box-sizing:border-box;width:100%;
 min-height:3.15rem;margin:0;border:1px solid #E2E8F0;border-radius:.5rem;
 background-color:#fff;color:#172033;font:inherit;font-size:1rem;line-height:1.4;
 padding:.8rem .9rem;box-shadow:none;
 transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease
}
.snexus-wizard .snexus-field select{
 cursor:pointer;padding-right:2.8rem;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23172033' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");
 background-repeat:no-repeat;background-position:right .85rem center;background-size:1.15rem
}
.snexus-wizard .snexus-field select:hover,
.snexus-wizard .snexus-field input:not([type="checkbox"]):not([type="radio"]):hover,
.snexus-wizard .snexus-field textarea:hover{border-color:#94A3B8}
.snexus-wizard .snexus-field input:not([type="checkbox"]):not([type="radio"]):focus,
.snexus-wizard .snexus-field select:focus,
.snexus-wizard .snexus-field textarea:focus{
 outline:0;border-color:#F97316;box-shadow:0 0 0 3px rgba(249,115,22,.18)
}
.snexus-wizard .snexus-field input:disabled,
.snexus-wizard .snexus-field select:disabled,
.snexus-wizard .snexus-field textarea:disabled{
 cursor:not-allowed;background:#F8FAFC;color:#64748B
}
.snexus-wizard .snexus-field select option{background:#fff;color:#172033}
.snexus-wizard .snexus-field textarea{min-height:9rem;resize:vertical}
.snexus-wizard .snexus-field small{display:block;margin-top:.4rem;color:#64748B;font-size:.82rem;line-height:1.45}
.snexus-wizard .snexus-form-section{margin:1.75rem 0}
.snexus-wizard .snexus-form-section+.snexus-form-section{border-top:1px solid #E2E8F0;padding-top:1.5rem}
.snexus-wizard .snexus-checkbox-line input[type="checkbox"]{
 appearance:none;-webkit-appearance:none;display:grid;place-content:center;flex:0 0 auto;
 width:1.15rem;height:1.15rem;margin:.1rem 0 0;border:1px solid #CBD5E1;border-radius:.25rem;background:#fff
}
.snexus-wizard .snexus-checkbox-line input[type="checkbox"]::before{
 content:"";width:.58rem;height:.58rem;transform:scale(0);transition:transform .12s ease;
 clip-path:polygon(14% 44%,0 65%,43% 100%,100% 18%,80% 0,41% 70%);background:#fff
}
.snexus-wizard .snexus-checkbox-line input[type="checkbox"]:checked{border-color:#F97316;background:#F97316}
.snexus-wizard .snexus-checkbox-line input[type="checkbox"]:checked::before{transform:scale(1)}
.snexus-wizard .snexus-checkbox-line input[type="checkbox"]:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(249,115,22,.18)}
@media(max-width:650px){
 .snexus-wizard .snexus-grid-2{gap:0}
 .snexus-wizard .snexus-field input:not([type="checkbox"]):not([type="radio"]),
 .snexus-wizard .snexus-field select{font-size:1rem}
}

/* Positive registration headline. */
.snx-standard-page--registration>.snx-standard-page__title{
 max-width:none;margin:0 auto 1.75rem;text-align:center;
 font-size:clamp(2rem,4vw,3.4rem);font-weight:600;line-height:1.08;letter-spacing:-.035em
}

/* Desktop: vertical stepper beside the active step. */
@media(min-width:1024px){
 .snx-standard-page--registration{max-width:1280px}
 .snexus-wizard{
  display:grid;grid-template-columns:minmax(13rem,15rem) minmax(0,1fr);
  column-gap:clamp(2.5rem,5vw,5rem);max-width:1180px;padding:clamp(2rem,4vw,3.5rem)
 }
 .snexus-wizard>.snexus-progress{
  grid-column:1;grid-row:1 / span 3;align-self:start;
  display:flex;flex-direction:column;justify-content:flex-start;gap:0;
  margin:0;padding:0 clamp(1.5rem,3vw,2.75rem) 0 0;
  border-right:1px solid #E2E8F0
 }
 .snexus-wizard>.snexus-progress .snexus-progress-item{
  display:grid;grid-template-columns:2.25rem minmax(0,1fr);align-items:center;
  gap:.85rem;min-height:4.5rem;text-align:left;color:#64748B
 }
 .snexus-wizard>.snexus-progress .snexus-progress-item span{
  grid-column:1;width:2.25rem;height:2.25rem;background:#F1F5F9;color:#64748B
 }
 .snexus-wizard>.snexus-progress .snexus-progress-item small{
  grid-column:2;margin:0;color:inherit;font-size:.92rem;font-weight:600;line-height:1.25
 }
 .snexus-wizard>.snexus-progress .snexus-progress-item:before{
  top:-50%;bottom:50%;left:1.08rem;right:auto;width:2px;height:auto;background:#E2E8F0
 }
 .snexus-wizard>.snexus-progress .snexus-progress-item.active,
 .snexus-wizard>.snexus-progress .snexus-progress-item.done{color:#172033}
 .snexus-wizard>.snexus-progress .snexus-progress-item.active span{
  background:#F97316;color:#fff;box-shadow:0 0 0 5px rgba(249,115,22,.13)
 }
 .snexus-wizard>.snexus-progress .snexus-progress-item.done span{background:#172033;color:#fff}
 .snexus-wizard>.snexus-progress .snexus-progress-item.done:before,
 .snexus-wizard>.snexus-progress .snexus-progress-item.active:before{background:#172033}
 .snexus-wizard>h2,.snexus-wizard>p,.snexus-wizard>form,.snexus-wizard>.snexus-alert,.snexus-wizard>.snexus-success{
  grid-column:2
 }
 .snexus-wizard>h2{margin:0 0 .55rem;font-size:clamp(1.65rem,2.3vw,2.25rem);font-weight:600}
 .snexus-wizard>p{margin:0 0 1.5rem;color:#64748B}
}

/* Tablet: compact horizontal navigation. */
@media(min-width:651px) and (max-width:1023px){
 .snexus-wizard{max-width:94%;padding:2rem}
 .snexus-progress{gap:.35rem}
 .snexus-progress-item small{font-size:.78rem;line-height:1.2}
}

/* Phone: show only the current step plus a progress line. */
@media(max-width:650px){
 .snx-standard-page--registration>.snx-standard-page__title{margin-bottom:1.1rem;font-size:2rem}
 .snexus-wizard>.snexus-progress{
  position:relative;justify-content:flex-start;margin-bottom:2rem;padding-bottom:.9rem
 }
 .snexus-wizard>.snexus-progress:before,
 .snexus-wizard>.snexus-progress:after{
  content:"";position:absolute;left:0;bottom:0;height:3px;border-radius:999px
 }
 .snexus-wizard>.snexus-progress:before{width:100%;background:#E2E8F0}
 .snexus-wizard>.snexus-progress:after{width:16.666%;background:#F97316}
 .snexus-wizard>.snexus-progress:has(.snexus-progress-item:nth-child(2).active):after{width:33.333%}
 .snexus-wizard>.snexus-progress:has(.snexus-progress-item:nth-child(3).active):after{width:50%}
 .snexus-wizard>.snexus-progress:has(.snexus-progress-item:nth-child(4).active):after{width:66.666%}
 .snexus-wizard>.snexus-progress:has(.snexus-progress-item:nth-child(5).active):after{width:83.333%}
 .snexus-wizard>.snexus-progress:has(.snexus-progress-item:nth-child(6).active):after{width:100%}
 .snexus-wizard>.snexus-progress .snexus-progress-item{display:none}
 .snexus-wizard>.snexus-progress .snexus-progress-item.active{
  display:flex;flex:0 0 auto;align-items:center;gap:.65rem;text-align:left;color:#172033
 }
 .snexus-wizard>.snexus-progress .snexus-progress-item.active:before{display:none}
 .snexus-wizard>.snexus-progress .snexus-progress-item.active span{background:#F97316;color:#fff}
 .snexus-wizard>.snexus-progress .snexus-progress-item.active small{display:block;margin:0;font-size:.9rem;font-weight:600}
}

/* Fluid registration width by viewport. */
.snx-standard-page--registration{
 width:min(1440px,calc(100vw - clamp(2rem,6vw,6rem)));
 max-width:1440px;
 box-sizing:border-box
}
.snx-standard-page--registration .snexus-wizard{
 width:100%;max-width:none
}
@media(min-width:1440px){
 .snx-standard-page--registration{width:min(1440px,calc(100vw - 8rem))}
 .snexus-wizard{grid-template-columns:minmax(14rem,17rem) minmax(0,1fr)}
}
@media(min-width:1024px) and (max-width:1439px){
 .snx-standard-page--registration{width:calc(100vw - clamp(3rem,6vw,5rem));max-width:none}
 .snexus-wizard{grid-template-columns:minmax(12.5rem,15rem) minmax(0,1fr);column-gap:clamp(2rem,4vw,3.5rem)}
}
@media(min-width:651px) and (max-width:1023px){
 .snx-standard-page--registration{width:calc(100vw - 2rem);max-width:none}
 .snexus-wizard{width:100%;max-width:none}
}
@media(max-width:650px){
 .snx-standard-page--registration{width:calc(100vw - 1rem);max-width:none}
 .snexus-wizard{width:100%;max-width:none}
}

/* Keep the desktop stepper visible while moving through long form steps. */
@media(min-width:1024px){
 .snexus-wizard>.snexus-progress{
  position:sticky;
  top:calc(var(--wp-admin--admin-bar--height,0px) + 6.5rem);
  max-height:calc(100vh - var(--wp-admin--admin-bar--height,0px) - 8rem);
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:#CBD5E1 transparent
 }
 .snexus-wizard>.snexus-progress::-webkit-scrollbar{width:.3rem}
 .snexus-wizard>.snexus-progress::-webkit-scrollbar-thumb{border-radius:999px;background:#CBD5E1}
}



/* Brand-coloured, accessible registration choices. */
.snexus-wizard :is(.snexus-card,.snexus-addon) input[type="radio"],
.snexus-wizard :is(.snexus-card,.snexus-addon) input[type="checkbox"]{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-grid!important;
  place-content:center;
  flex:0 0 1.35rem;
  width:1.35rem!important;
  height:1.35rem!important;
  min-width:1.35rem;
  margin:.08rem .75rem 0 0!important;
  border:1.5px solid #c8d0dc!important;
  background:#fff!important;
  box-shadow:none!important;
  cursor:pointer;
  transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease;
}
.snexus-wizard :is(.snexus-card,.snexus-addon) input[type="radio"]{border-radius:50%!important}
.snexus-wizard :is(.snexus-card,.snexus-addon) input[type="checkbox"]{border-radius:.3rem!important}
.snexus-wizard :is(.snexus-card,.snexus-addon) input[type="radio"]::before{
  content:"";
  width:.55rem;
  height:.55rem;
  margin:0!important;
  border-radius:50%;
  background:#fff;
  transform:scale(0);
  transition:transform .12s ease;
}
.snexus-wizard :is(.snexus-card,.snexus-addon) input[type="checkbox"]::before{
  content:"";
  width:.68rem;
  height:.68rem;
  margin:0!important;
  background:#fff;
  clip-path:polygon(14% 44%,0 65%,43% 100%,100% 18%,80% 0,41% 70%);
  transform:scale(0);
  transition:transform .12s ease;
}
.snexus-wizard :is(.snexus-card,.snexus-addon) input:is([type="radio"],[type="checkbox"]):checked{
  border-color:#f87537!important;
  background:#f87537!important;
}
.snexus-wizard :is(.snexus-card,.snexus-addon) input:is([type="radio"],[type="checkbox"]):checked::before{transform:scale(1)}
.snexus-wizard :is(.snexus-card,.snexus-addon) input:is([type="radio"],[type="checkbox"]):focus-visible{
  outline:0!important;
  box-shadow:0 0 0 4px rgba(248,117,55,.18)!important;
}
.snexus-wizard :is(.snexus-card,.snexus-addon) input:is([type="radio"],[type="checkbox"]):disabled{
  cursor:not-allowed;
  border-color:#d8dee7!important;
  background:#f2f4f7!important;
  opacity:.8;
}


/* Mandatory charge uses the orange Material status icon. */
.snexus-wizard .snexus-fixed-charge .snexus-fixed-icon{
  display:inline-flex!important;
  flex:0 0 1.35rem;
  width:1.35rem!important;
  height:1.35rem!important;
  margin:.08rem .75rem 0 0!important;
  align-items:center;
  justify-content:center;
  border:0!important;
  border-radius:50%;
  background:transparent!important;
  color:#f87537!important;
  font-family:"Material Symbols Rounded"!important;
  font-size:1.35rem!important;
  font-weight:400!important;
  font-style:normal;
  line-height:1;
  letter-spacing:normal;
  font-feature-settings:"liga";
  -webkit-font-feature-settings:"liga";
  font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 20;
}


/* Font-independent check icon for mandatory charges. */
.snexus-wizard .snexus-fixed-charge .snexus-fixed-icon{
  position:relative;
  display:inline-flex!important;
  flex:0 0 1.35rem;
  width:1.35rem!important;
  height:1.35rem!important;
  margin:.08rem .75rem 0 0!important;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  border:2px solid #f87537!important;
  border-radius:50%!important;
  background:#f87537!important;
  color:#fff!important;
  font-size:0!important;
}
.snexus-wizard .snexus-fixed-charge .snexus-fixed-icon::before{
  content:"";
  display:block;
  width:.55rem;
  height:.3rem;
  margin-top:-.08rem;
  border-left:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(-45deg);
}


/* Read-only mandatory charge: same checkbox language, muted and locked. */
.snexus-wizard .snexus-fixed-charge .snexus-fixed-choice[type="checkbox"]{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-grid!important;
  place-content:center;
  flex:0 0 1.35rem;
  width:1.35rem!important;
  height:1.35rem!important;
  min-width:1.35rem;
  margin:.08rem .75rem 0 0!important;
  border:1.5px solid #aeb7c5!important;
  border-radius:.3rem!important;
  background:#aeb7c5!important;
  box-shadow:none!important;
  cursor:not-allowed!important;
  opacity:1!important;
}
.snexus-wizard .snexus-fixed-charge .snexus-fixed-choice[type="checkbox"]::before{
  content:"";
  width:.68rem;
  height:.68rem;
  margin:0!important;
  background:#fff;
  clip-path:polygon(14% 44%,0 65%,43% 100%,100% 18%,80% 0,41% 70%);
  transform:scale(1);
}
