.hi-auth-wizard [data-hi-auth-step][hidden],
.hi-auth-wizard [data-hi-auth-submit][hidden],
.hi-auth-wizard .hi-auth-wizard-nav button[hidden],
.hi-auth-wizard .hi-auth-back[hidden]{display:none!important}
/* UX round 2, D-2: one card. The theme's outer box and the lone provider tab go;
   the tab content becomes the single card. Tokens come from tokens.css (Batch A);
   every value keeps a fallback so the page reads the same without it. */
.sf-register-page:has(form.hi-auth-wizard){padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.sf-register-page:has(form.hi-auth-wizard)>.tabbable>.nav-tabs:not(:has(>li+li)):has(>li a[href="#providertab"]){display:none!important}
.sf-register-page:has(form.hi-auth-wizard) .tab-content{max-width:1040px;margin:0 auto;padding:var(--hi-s-5,24px);border:1px solid var(--hi-c-line,#E5DCCF);border-radius:var(--hi-r-lg,16px);background:var(--hi-c-bg,#fff);box-shadow:var(--hi-sh-1,0 1px 2px rgba(23,19,15,.06),0 2px 8px rgba(23,19,15,.06))}
.sf-register-page:has(form.hi-auth-wizard) .tab-pane{padding:0;border:0}
/* Progress: three dots; the step title below it names the current step. The step
   names stay in the list for screen readers (text is moved off-screen, not removed). */
.hi-auth-wizard .hi-auth-wizard-progress{display:flex;justify-content:center;align-items:center;gap:var(--hi-s-5,24px);list-style:none;padding:0;margin:0 0 var(--hi-s-3,12px);clear:both}
.hi-auth-wizard-progress li{flex:0 0 auto;box-sizing:border-box;width:12px;height:12px;padding:0;margin:0;border:2px solid var(--hi-c-line-strong,#8B8176);border-radius:50%;background:var(--hi-c-bg,#fff);overflow:hidden;white-space:nowrap;text-indent:100%}
.hi-auth-wizard-progress li:has(~ li[aria-current=step]){border-color:var(--hi-c-ink,#17130F);background:var(--hi-c-ink,#17130F)}
.hi-auth-wizard-progress li[aria-current=step]{width:14px;height:14px;border-color:var(--hi-c-ink,#17130F);background:var(--hi-c-accent,#F5A623)}
.hi-auth-wizard .hi-auth-wizard-title{clear:both;margin:0 0 var(--hi-s-5,24px);font-size:var(--hi-fs-h2,clamp(22px,2.2vw,28px));line-height:1.25;font-weight:700;text-align:center;text-wrap:balance;color:var(--hi-c-ink,#17130F)}
/* Fields (section 3.6): 48px, 16px text, 1.5px strong border, sentence case. */
.hi-auth-wizard .form-control:not(.bootstrap-select),.hi-auth-wizard .bootstrap-select>.dropdown-toggle{min-height:48px;border:1.5px solid var(--hi-c-line-strong,#8B8176)!important;border-radius:var(--hi-r-sm,8px)!important;background:var(--hi-c-bg,#fff)!important;color:var(--hi-c-text,#2B241E)!important;font-size:var(--hi-fs-body,16px)!important;text-transform:none!important;letter-spacing:normal!important}
.hi-auth-wizard .bootstrap-select.form-control{min-height:0;padding:0;border:0!important;background:transparent!important;box-shadow:none!important}
.hi-auth-wizard .form-control::placeholder{color:var(--hi-c-muted,#5F554C);opacity:1;text-transform:none}
.hi-auth-wizard .bootstrap-select .filter-option,.hi-auth-wizard .bootstrap-select .dropdown-menu li a{text-transform:none!important;letter-spacing:normal!important}
.hi-auth-wizard .has-select:has(select option[value=""]:checked) .bootstrap-select .filter-option{color:var(--hi-c-muted,#5F554C)!important}
.hi-auth-wizard .form-control:not(.bootstrap-select):focus,.hi-auth-wizard .bootstrap-select>.dropdown-toggle:focus{border-color:var(--hi-c-focus,#0759AA)!important;box-shadow:0 0 0 3px rgba(7,89,170,.25)!important;outline:0}
.hi-auth-wizard .has-error .form-control:not(.bootstrap-select),.hi-auth-wizard .has-error .bootstrap-select>.dropdown-toggle,.hi-auth-wizard [aria-invalid=true].form-control:not(.bootstrap-select){border-color:var(--hi-c-danger,#B42318)!important}
/* UX round 2, D-1: the vendor-added SMS opt-in is one native checkbox plus a label.
   The theme also draws a box with label:before, which showed a second checkbox.
   Only that drawing is removed; the input, its name and its value are untouched. */
.hi-auth-form .hi-sms-consent label:before,.hi-auth-form .hi-sms-consent label:after{display:none!important;content:none!important}
.hi-auth-form .hi-sms-consent{align-items:flex-start!important}
.hi-auth-form .hi-sms-consent label{padding-left:0!important;color:var(--hi-c-text,#2B241E);font-size:var(--hi-fs-small,14px)!important;line-height:1.5!important}
.hi-auth-form .hi-sms-consent input[type=checkbox]{flex:0 0 auto;width:20px!important;height:20px!important;margin:1px 10px 0 0!important;accent-color:var(--hi-c-ink,#17130F)}
/* Buttons (section 3.5): primary gold with ink text, secondary ink outline, 12px radius. */
.hi-auth-wizard .hi-auth-wizard-nav{display:flex;justify-content:space-between;gap:var(--hi-s-3,12px);clear:both;padding:var(--hi-s-4,16px) 0}
.hi-auth-wizard-nav button,.hi-auth-wizard .hi-auth-back{min-height:48px;padding:0 20px;border:1.5px solid var(--hi-c-ink,#17130F);border-radius:var(--hi-r-md,12px);background:var(--hi-c-bg,#fff);color:var(--hi-c-ink,#17130F);font-size:16px;font-weight:600;cursor:pointer}
.hi-auth-wizard-nav button:hover,.hi-auth-wizard .hi-auth-back:hover{background:var(--hi-c-soft,#FAF6EF)}
.hi-auth-wizard-nav button[data-hi-auth-next],.hi-auth-wizard [name="user-register"][type=submit]{margin-inline-start:auto;border:0;background:var(--hi-c-accent,#F5A623)!important;color:var(--hi-c-ink,#17130F)!important;text-transform:none!important;letter-spacing:normal!important;font-size:16px!important;font-weight:600!important}
.hi-auth-wizard-nav button[data-hi-auth-next]:hover,.hi-auth-wizard [name="user-register"][type=submit]:hover{background:var(--hi-c-accent-hover,#E39412)!important}
.hi-auth-wizard [name="user-register"][type=submit]{min-height:48px;padding:12px 20px;border-radius:var(--hi-r-md,12px)!important;white-space:normal;line-height:1.3}
.hi-auth-wizard [name="user-register"][type=submit]:disabled{background:#EFE6D8!important;color:var(--hi-c-muted,#5F554C)!important;cursor:default}
.hi-auth-wizard :is(button,[type=submit]):focus-visible{outline:3px solid var(--hi-c-focus,#0759AA);outline-offset:2px}
.hi-auth-wizard :is(button,[type=submit]):active:not(:disabled){transform:translateY(1px)}
/* D-2: on the last input step Back sits left of the submit on the same row;
   the nav row, then empty, is not drawn. */
.hi-auth-wizard .hi-auth-wizard-nav:not(:has(button:not([hidden]))){display:none}
.hi-auth-wizard .hi-auth-submit-row{display:flex;align-items:stretch;gap:var(--hi-s-3,12px)}
.hi-auth-wizard .hi-auth-submit-row>[type=submit]{flex:1 1 auto;width:auto}
.hi-auth-wizard .hi-auth-submit-row>.hi-auth-back{flex:0 0 auto}
.hi-auth-wizard .hi-auth-wizard-status{clear:both;font-size:14px;color:var(--hi-c-danger,#B42318)}
.hi-auth-wizard [data-hi-auth-step]{scroll-margin-top:calc(var(--hi-header-h,64px) + 16px)}
.hi-auth-checkout{clear:both;margin:20px 0}
.hi-auth-checkout>p{margin:0 0 12px}
.hi-auth-checkout>a{display:inline-block;margin-bottom:16px;color:var(--hi-c-link,#8A5300);text-decoration:underline;text-underline-offset:3px}
.hi-auth-checkout iframe{display:block;width:100%;height:1000px;border:1px solid var(--hi-c-line,#E5DCCF);border-radius:var(--hi-r-sm,8px);background:#fff}
@media(max-width:520px){.sf-register-page:has(form.hi-auth-wizard) .tab-content{padding:var(--hi-s-4,16px)}.hi-auth-wizard-nav button{flex:1;padding:0 12px}.hi-auth-wizard [name="user-register"][type=submit]{font-size:15px!important}}
/* The navigation lives inside the field row on mobile; match its column gutters. */
@media(max-width:520px){.hi-auth-wizard>.provider-bx.row>.hi-auth-wizard-nav,.hi-auth-wizard>.provider-bx.row>.hi-auth-wizard-status{margin-inline:15px}.hi-auth-wizard .hi-auth-wizard-status:empty{display:none}}
/* A11Y A6: field names are real labels now; keep them sentence case over theme label styles. */
.hi-auth-form label.hi-auth-field-label{display:block;margin:0 0 6px;text-transform:none!important;letter-spacing:normal!important;font-weight:600;cursor:pointer}
/* A11Y A11: the theme's unused off-canvas services panel sits inside the viewport
   width and caused a horizontal scroll at 320px on this page. Clip, do not hide. */
html,body{overflow-x:clip}
