/* Academy Registration — public wizard (calm, professional) */

.acr-wizard{
  --acr-primary:#1d4f91;
  --acr-primary-soft:#e8f1fb;
  --acr-text:#1a2332;
  --acr-muted:#5c6b7f;
  --acr-border:#dde4ee;
  --acr-bg:#f5f7fa;
  --acr-surface:#ffffff;
  --acr-danger:#b42318;
  --acr-danger-bg:#fef3f2;
  --acr-ok:#067647;
  --acr-ok-soft:#ecfdf3;
  --acr-radius:14px;
  --acr-radius-sm:10px;
  --acr-ease:ease;
  --acr-dur:.2s;

  box-sizing:border-box;
  width:100%;
  max-width:min(1280px, 100%);
  margin:1.25rem auto 2.5rem;
  padding:0;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  /* px base so theme html rem scaling does not shrink the form */
  font-size:19px;
  line-height:1.55;
  color:var(--acr-text);
  background:var(--acr-surface);
  border:1px solid var(--acr-border);
  border-radius:var(--acr-radius);
  box-shadow:0 1px 2px rgba(26,35,50,.04), 0 10px 28px rgba(26,35,50,.07);
  position:relative;
}

/* Escape narrow theme content columns on desktop */
@media (min-width:900px){
  .acr-wizard{
    width:min(1280px, calc(100vw - 3rem));
    max-width:min(1280px, calc(100vw - 3rem));
    left:50%;
    transform:translateX(-50%);
    margin-left:0;
    margin-right:0;
  }
}

.acr-wizard *,
.acr-wizard *::before,
.acr-wizard *::after{box-sizing:border-box}

.acr-wizard__header{
  display:flex;
  flex-wrap:wrap;
  gap:1rem 1.5rem;
  justify-content:space-between;
  align-items:flex-start;
  padding:1.5rem 2rem;
  border-bottom:1px solid var(--acr-border);
  background:var(--acr-surface);
}

.acr-wizard__header-main{
  display:flex;
  gap:1rem;
  align-items:flex-start;
  min-width:min(100%, 26rem);
  flex:1 1 auto;
}

.acr-brand{margin:0;flex:0 0 auto}
.acr-brand__logo{
  display:block;
  max-height:48px;
  max-width:160px;
  width:auto;
  height:auto;
  object-fit:contain;
}

.acr-wizard__eyebrow{
  margin:0 0 .25rem;
  font-size:.82em;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--acr-muted);
}

.acr-wizard__title{
  font-size:clamp(1.75em, 2.6vw, 2.2em);
  margin:0 0 .45rem;
  letter-spacing:-.02em;
  font-weight:700;
  line-height:1.2;
  color:var(--acr-text);
}

.acr-wizard__subtitle{
  margin:0;
  color:var(--acr-muted);
  font-size:1.06em;
  line-height:1.55;
  max-width:44em;
}

.acr-wizard input[lang=ar],
.acr-wizard input[dir=auto],
.acr-wizard textarea[lang=ar]{
  unicode-bidi:plaintext;
}

/* Icons */
.acr-icon{
  display:inline-flex;
  width:1.15em;
  height:1.15em;
  flex:0 0 auto;
  color:inherit;
  vertical-align:-.15em;
}
.acr-icon svg{width:100%;height:100%;display:block}

/* Language — segmented control, not pills */
.acr-lang{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.4rem .55rem;
  margin:0;
}
.acr-lang__label{
  font-size:.88em;
  color:var(--acr-muted);
  font-weight:600;
}
.acr-lang__list{
  display:inline-flex;
  gap:0;
  list-style:none;
  margin:0;
  padding:0;
  border:1px solid var(--acr-border);
  border-radius:var(--acr-radius-sm);
  overflow:hidden;
  background:var(--acr-bg);
}
.acr-lang__link{
  display:inline-flex;
  align-items:center;
  padding:.45em .85em;
  text-decoration:none;
  color:var(--acr-muted);
  font-size:.95em;
  font-weight:600;
  border:0;
  border-inline-end:1px solid var(--acr-border);
  background:transparent;
  transition:background .15s ease, color .15s ease;
}
.acr-lang__list li:last-child .acr-lang__link{border-inline-end:0}
.acr-lang__link:hover,
.acr-lang__link:focus-visible{
  color:var(--acr-primary);
  background:#fff;
}
.acr-lang__link.is-active{
  background:var(--acr-primary);
  color:#fff;
}

/* Progress */
.acr-progress-wrap{
  margin:0;
  padding:1rem 2rem .95rem;
  background:var(--acr-bg);
  border-bottom:1px solid var(--acr-border);
}
.acr-progress-meta{
  display:flex;
  justify-content:space-between;
  font-size:.9em;
  color:var(--acr-muted);
  font-weight:600;
  margin-bottom:.45rem;
}
.acr-progress-bar{
  height:4px;
  background:#e2e8f0;
  border-radius:2px;
  overflow:hidden;
  margin-bottom:.75rem;
}
.acr-progress-bar > span{
  display:block;
  height:100%;
  width:0;
  background:var(--acr-primary);
  border-radius:inherit;
  transition:width var(--acr-dur) var(--acr-ease);
}
.acr-progress{
  display:flex;
  flex-wrap:nowrap;
  gap:0;
  list-style:none;
  padding:0;
  margin:0;
  overflow-x:auto;
}
.acr-progress li{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.2rem .75rem .2rem 0;
  color:var(--acr-muted);
  font-size:.95em;
  font-weight:600;
  white-space:nowrap;
  flex:0 0 auto;
}
.acr-progress li:not(:last-child)::after{
  content:"";
  width:1.1rem;
  height:1px;
  margin-inline-start:.5rem;
  background:#cbd5e1;
  flex:0 0 auto;
}
.acr-progress li.is-done:not(:last-child)::after{
  background:#A4BAD5;
}
.acr-step-num,
.acr-step-check{
  width:1.65rem;
  height:1.65rem;
  border-radius:50%;
  display:inline-grid;
  place-items:center;
  font-size:.75rem;
  font-weight:700;
  background:#fff;
  color:var(--acr-muted);
  border:1px solid var(--acr-border);
}
.acr-step-check{display:none}
.acr-step-check .acr-icon{width:.75rem;height:.75rem}
.acr-progress li.is-active{color:var(--acr-primary)}
.acr-progress li.is-active .acr-step-num{
  background:var(--acr-primary);
  border-color:var(--acr-primary);
  color:#fff;
}
.acr-progress li.is-done .acr-step-num{display:none}
.acr-progress li.is-done .acr-step-check{
  display:inline-grid;
  background:var(--acr-ok-soft);
  border-color:#abefc6;
  color:var(--acr-ok);
}

/* Form shell */
.acr-form{padding:1.6rem 2rem 1.85rem}
.acr-status{
  min-height:1.1rem;
  color:var(--acr-muted);
  font-size:.86rem;
  margin:0 1.5rem .25rem;
}
.acr-status:not(:empty).is-busy::before{
  content:"";
  display:inline-block;
  width:.65rem;
  height:.65rem;
  margin-inline-end:.4rem;
  vertical-align:middle;
  border-radius:50%;
  border:2px solid var(--acr-primary-soft);
  border-top-color:var(--acr-primary);
  animation:acr-spin .7s linear infinite;
}

/* Nav buttons: visibility is CSS-driven from data-current-step (theme-proof) */
.acr-wizard #acr-submit{
  display:none!important;
}
.acr-wizard[data-current-step="review"] #acr-submit{
  display:inline-flex!important;
}
.acr-wizard[data-current-step="review"] #acr-next,
.acr-wizard[data-current-step="done"] #acr-next,
.acr-wizard[data-current-step="done"] #acr-submit,
.acr-wizard[data-current-step="done"] #acr-prev{
  display:none!important;
}
.acr-wizard[data-current-step="welcome"] #acr-prev,
.acr-wizard:not([data-current-step]) #acr-prev{
  display:none!important;
}

.acr-wizard [hidden]{
  display:none!important;
}

.acr-step{display:none}
.acr-step:not([hidden]){display:block}

.acr-panel{
  background:transparent;
  border:0;
  border-radius:0;
  padding:0;
  box-shadow:none;
}
.acr-panel--center{text-align:center}
.acr-panel__head{margin:0 0 1.35rem}
.acr-panel__head h2{
  margin:0 0 .5rem;
  font-size:clamp(1.4em, 2.1vw, 1.7em);
  font-weight:700;
  letter-spacing:-.015em;
}
.acr-panel__head p{
  margin:0;
  color:var(--acr-muted);
  font-size:1.05em;
  line-height:1.55;
}
.acr-panel__icon{
  width:2.75rem;
  height:2.75rem;
  margin:0 auto .65rem;
  border-radius:var(--acr-radius-sm);
  display:grid;
  place-items:center;
  background:var(--acr-primary-soft);
  color:var(--acr-primary);
}
.acr-panel__icon .acr-icon{width:1.35rem;height:1.35rem}

/* Sections — dividers, not nested cards */
.acr-section{
  margin:0 0 1.35rem;
  padding:0 0 1.25rem;
  border:0;
  border-bottom:1px solid var(--acr-border);
  border-radius:0;
  background:transparent;
}
.acr-section:last-child{
  margin-bottom:0;
  padding-bottom:0;
  border-bottom:0;
}
.acr-section__title{
  display:flex;
  align-items:center;
  gap:.4rem;
  margin:0 0 .9rem;
  font-size:.88em;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:var(--acr-muted);
}
.acr-section__title .acr-icon{
  width:1rem;
  height:1rem;
  color:var(--acr-primary);
}

.acr-req{color:var(--acr-danger);font-weight:700;text-decoration:none;margin-inline-start:.15rem}

.acr-wizard :focus-visible{
  outline:2px solid var(--acr-primary);
  outline-offset:2px;
}

.acr-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.15rem 1.35rem;
}
.acr-span-2{grid-column:span 2}

.acr-grid label,
.acr-step > label,
.acr-dob-helper,
.acr-count-field{
  display:flex;
  flex-direction:column;
  gap:.45rem;
  font-weight:600;
  font-size:1em;
  color:#334155;
  min-width:0;
}
.acr-label-row{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
}
.acr-grid input,
.acr-grid select,
.acr-grid textarea,
.acr-step input[type=number],
.acr-step input[type=date],
.acr-dob-helper input{
  width:100%;
  font:inherit;
  font-weight:500;
  padding:.9rem 1.05rem;
  min-height:3.15em;
  border:1px solid var(--acr-border);
  border-radius:var(--acr-radius-sm);
  background:#fff;
  color:var(--acr-text);
  transition:border-color .15s ease, box-shadow .15s ease;
}
.acr-grid input:hover,
.acr-grid select:hover,
.acr-grid textarea:hover,
.acr-dob-helper input:hover{
  border-color:#b8c4d6;
}
.acr-grid input:focus,
.acr-grid select:focus,
.acr-grid textarea:focus,
.acr-step input:focus{
  outline:none;
  border-color:var(--acr-primary);
  box-shadow:0 0 0 3px var(--acr-primary-soft);
}
.acr-grid input.is-invalid,
.acr-grid select.is-invalid,
.acr-grid textarea.is-invalid,
.acr-step input.is-invalid,
.acr-consent input.is-invalid{
  border-color:var(--acr-danger);
  background:#fffafa;
  box-shadow:0 0 0 3px rgba(180,35,24,.1);
}
.acr-grid [data-acr-academic-other]{
  margin-top:.45rem;
}
.acr-field-error{
  color:var(--acr-danger);
  font-size:.88em;
  font-weight:600;
  margin-top:.15rem;
}
.acr-field-hint{
  color:var(--acr-muted,#646970);
  font-size:.9em;
  font-weight:500;
  line-height:1.4;
  margin-top:.15rem;
}
.acr-field-hint[data-acr-age-display]{
  color:#1d4ed8;
  font-weight:600;
}
.acr-field-hint[data-acr-age-display].is-warning{
  color:var(--acr-danger,#b42318);
}

/* Choice cards (welcome flow) — do not share styles with checkbox labels */
fieldset.acr-choice{
  border:0;
  padding:0;
  margin:0;
  display:grid;
  gap:1rem;
}
@media (min-width:720px){
  fieldset.acr-choice{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1.15rem;
  }
}
.acr-card{
  position:relative;
  display:flex;
  gap:1rem;
  align-items:flex-start;
  padding:1.25rem 1.35rem;
  min-height:6.5rem;
  border:1px solid var(--acr-border);
  border-radius:var(--acr-radius);
  cursor:pointer;
  background:#fff;
  transition:border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.acr-card input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.acr-card:hover{
  border-color:#b6c8de;
  box-shadow:0 4px 14px rgba(26,35,50,.06);
}
.acr-card:has(input:checked),
.acr-card:focus-within{
  border-color:var(--acr-primary);
  background:var(--acr-primary-soft);
  box-shadow:inset 0 0 0 1px var(--acr-primary);
}
.acr-card__icon{
  width:3rem;
  height:3rem;
  border-radius:var(--acr-radius-sm);
  display:grid;
  place-items:center;
  background:var(--acr-bg);
  color:var(--acr-primary);
  flex:0 0 auto;
}
.acr-card:has(input:checked) .acr-card__icon{
  background:#fff;
}
.acr-card__icon .acr-icon{width:1.4rem;height:1.4rem}
.acr-card__body{flex:1 1 auto;min-width:0}
.acr-card__body strong{
  display:block;
  font-size:1.12em;
  font-weight:700;
  line-height:1.3;
}
.acr-card__body small{
  display:block;
  font-weight:500;
  color:var(--acr-muted);
  margin-top:.4rem;
  line-height:1.45;
  font-size:.95em;
}
.acr-card__tick{
  width:1.5rem;
  height:1.5rem;
  border-radius:50%;
  border:1.5px solid #c9d5e5;
  display:grid;
  place-items:center;
  color:transparent;
  flex:0 0 auto;
  margin-top:.15rem;
  background:#fff;
}
.acr-card__tick .acr-icon{width:.8rem;height:.8rem}
.acr-card:has(input:checked) .acr-card__tick{
  background:var(--acr-primary);
  border-color:var(--acr-primary);
  color:#fff;
}

.acr-hint-box{
  display:flex;
  gap:.7rem;
  margin-top:1.15rem;
  padding:.9rem 1rem;
  border-radius:var(--acr-radius-sm);
  background:var(--acr-bg);
  border:1px solid var(--acr-border);
  color:var(--acr-muted);
  text-align:start;
}
.acr-hint-box > .acr-icon{
  width:1.1rem;
  height:1.1rem;
  color:var(--acr-primary);
  margin-top:.12rem;
}
.acr-hint-box p{margin:0 0 .55rem;line-height:1.5;font-size:1em;color:var(--acr-text)}
.acr-dob-helper{margin:0}

/* Count stepper */
.acr-count-field{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.65rem;
}
.acr-stepper{
  display:inline-flex;
  align-items:center;
  gap:.25rem;
  padding:.3rem;
  border:1px solid var(--acr-border);
  border-radius:var(--acr-radius);
  background:#fff;
}
.acr-stepper input[type=number]{
  width:3.75rem;
  text-align:center;
  border:0;
  font-size:1.25rem;
  font-weight:700;
  padding:.3rem;
  -moz-appearance:textfield;
  appearance:textfield;
  box-shadow:none!important;
}
.acr-stepper input::-webkit-outer-spin-button,
.acr-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.acr-stepper__btn{
  width:2.35rem;
  height:2.35rem;
  border-radius:var(--acr-radius-sm);
  border:0;
  background:var(--acr-bg);
  color:var(--acr-primary);
  display:inline-grid;
  place-items:center;
  cursor:pointer;
  flex:0 0 auto;
  padding:0;
  line-height:1;
  -webkit-appearance:none;
  appearance:none;
}
.acr-stepper__btn:hover{background:var(--acr-primary-soft)}
.acr-stepper__btn:focus-visible{
  outline:2px solid var(--acr-primary);
  outline-offset:2px;
}
.acr-stepper__btn .acr-icon,
.acr-stepper__btn svg{
  width:1rem;
  height:1rem;
  pointer-events:none;
}
.acr-count-hint{color:var(--acr-muted);font-weight:600;font-size:.88rem}

/* Student card — no nested chrome; heading lives in panel */
.acr-student-card{
  border:0;
  border-radius:0;
  padding:0;
  margin:0;
  background:transparent;
  min-width:0;
}
.acr-student-card[hidden]{display:none!important}
.acr-student-card__legend,
.acr-student-card legend{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  border:0;
  white-space:nowrap;
}
#acr-student-forms{min-width:0}

/* Dropzones */
.acr-sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  border:0!important;
  white-space:nowrap!important;
}
.acr-dropzone{
  position:relative;
  border:1px dashed #b8c5d6!important;
  border-radius:var(--acr-radius-sm);
  background:var(--acr-bg);
  padding:.55rem .65rem .75rem;
  transition:border-color .15s ease, background .15s ease;
  display:grid;
  gap:.55rem;
}
.acr-dropzone:hover,
.acr-dropzone:focus-within{
  border-color:var(--acr-primary)!important;
  background:#f4f8fc;
}
.acr-dropzone__visual{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:.4rem;
  padding:.55rem .35rem .15rem;
  text-align:start;
}
.acr-dropzone__visual .acr-icon{
  width:1.4rem;
  height:1.4rem;
  color:var(--acr-primary);
}
.acr-dropzone__title{
  font-size:1.05rem;
  font-weight:700;
  color:var(--acr-text);
  text-align:center;
}
.acr-dropzone__desc{
  display:block;
  color:var(--acr-muted);
  font-size:1rem;
  line-height:1.45;
  max-width:36rem;
  margin:0 auto;
  text-align:center;
}
.acr-dropzone__hint{
  display:block;
  color:var(--acr-muted);
  font-weight:600;
  font-size:.95rem;
  line-height:1.4;
  text-align:center;
}
.acr-dropzone__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  justify-content:center;
  align-items:center;
  padding:0 .25rem .15rem;
}
.acr-dropzone__browse,
.acr-dropzone__capture{
  cursor:pointer;
  min-width:10rem;
}
.acr-dropzone__browse{margin:0}
.acr-photo-guide{
  margin:.35rem auto 0;
  max-width:36rem;
  width:100%;
  padding:.75rem .9rem;
  border-radius:8px;
  border:1px solid #c9daf0;
  background:#eef5fc;
  text-align:start;
}
.acr-photo-guide__title{
  display:block;
  font-size:1rem;
  font-weight:700;
  color:var(--acr-text);
  margin:0 0 .4rem;
}
.acr-photo-guide__list{
  margin:0;
  padding-inline-start:1.2rem;
  color:var(--acr-text);
  font-size:.95rem;
  line-height:1.45;
  display:grid;
  gap:.25rem;
}
.acr-camera-modal{
  position:fixed;
  inset:0;
  z-index:100000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1rem;
}
.acr-camera-modal[hidden]{display:none!important}
.acr-camera-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.62);
}
.acr-camera-modal__panel{
  position:relative;
  z-index:1;
  width:min(32rem,100%);
  background:#fff;
  border-radius:12px;
  padding:1rem;
  display:grid;
  gap:.75rem;
  box-shadow:0 16px 40px rgba(15,23,42,.28);
}
.acr-camera-modal__guide{
  margin:0;
  font-size:1rem;
  font-weight:700;
  color:var(--acr-text);
}
.acr-camera-modal__video{
  width:100%;
  max-height:min(60vh,28rem);
  border-radius:10px;
  background:#0f172a;
  object-fit:cover;
}
.acr-camera-modal__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  justify-content:flex-end;
}
.acr-regulation__intro{margin:.55rem 0 0;max-width:42rem;color:#3c434a;font-size:.95rem;line-height:1.5}
.acr-regulation{margin:0 0 1rem;display:grid;gap:.85rem}
.acr-regulation__pdf-card{padding:1rem;border:1px solid var(--acr-border,#dcdcde);border-radius:10px;background:#fff}
.acr-regulation__pdf-card-head{display:flex;flex-direction:column;gap:.15rem;margin:0 0 .65rem}
.acr-regulation__pdf-card-head strong{font-size:.95rem}
.acr-regulation__preview-wrap{
  margin:0 0 .75rem;
  border:1px solid var(--acr-border,#dcdcde);
  border-radius:8px;
  overflow:hidden;
  background:#f0f0f1;
  min-height:22rem;
}
.acr-regulation__preview{
  display:block;
  width:100%;
  height:min(70vh,36rem);
  min-height:22rem;
  border:0;
  background:#fff;
}
.acr-regulation__pdf{margin:0}
.acr-regulation__accept-hint{margin:0 0 .65rem;max-width:42rem;color:#3c434a;font-size:.9rem;line-height:1.45}
.acr-consent--regulation{margin-top:.5rem}
.acr-choice-set{
  margin:0;
  padding:.85rem 1rem;
  border:1px solid var(--acr-border,#dcdcde);
  border-radius:10px;
  background:#fff;
  min-width:0;
}
.acr-choice-set legend{
  padding:0 .35rem;
  font-weight:600;
  font-size:.95rem;
}
.acr-choice-set__options{
  display:grid;
  gap:.45rem .85rem;
  grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));
  margin-top:.35rem;
}
.acr-choice-set label.acr-choice{
  display:flex;
  flex-direction:row;
  align-items:flex-start;
  gap:.45rem;
  margin:0;
  font-weight:500;
  line-height:1.35;
  cursor:pointer;
  text-align:start;
}
.acr-choice-set label.acr-choice input{
  margin:.15rem 0 0;
  flex:0 0 auto;
  width:1.1em;
  height:1.1em;
  min-height:0;
  min-width:0;
}
.acr-choice-set__empty{margin:.35rem 0 0;font-size:.88rem}
@media (max-width:640px){
  .acr-regulation__preview-wrap{display:none}
  .acr-regulation__pdf a{
    display:inline-flex;
    min-height:44px;
    align-items:center;
    font-weight:600;
  }
}
.acr-upload-meta,
.acr-upload-list{
  font-weight:500;
  color:var(--acr-muted);
  font-size:.95rem;
  margin:.15rem .35rem 0;
}
.acr-upload-list{
  list-style:none;
  padding:0;
  display:grid;
  gap:.3rem;
}
.acr-upload-list li{
  display:flex;
  gap:.5rem;
  align-items:center;
  justify-content:space-between;
  background:#fff;
  border:1px solid var(--acr-border);
  border-radius:6px;
  padding:.4rem .6rem;
}
.acr-upload-remove{
  border:0;
  background:transparent;
  color:var(--acr-danger);
  cursor:pointer;
  font:inherit;
  font-weight:700;
}

/* Review / consent / success */
.acr-review{display:grid;gap:.85rem;margin-bottom:1rem}
.acr-review-card{
  background:#fff;
  border:1px solid var(--acr-border);
  border-radius:var(--acr-radius-sm);
  padding:.95rem 1.05rem;
}
.acr-review-card header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.75rem;
  margin-bottom:.55rem;
  padding-bottom:.55rem;
  border-bottom:1px solid var(--acr-border);
}
.acr-review-card h3{margin:0;font-size:1rem;font-weight:700}
.acr-edit-link{
  border:1px solid var(--acr-border);
  background:#fff;
  color:var(--acr-primary);
  font:inherit;
  font-size:.82rem;
  font-weight:600;
  cursor:pointer;
  border-radius:var(--acr-radius-sm);
  padding:.25rem .65rem;
}
.acr-edit-link:hover{background:var(--acr-primary-soft)}
.acr-review-dl{margin:0;display:grid;gap:0}
.acr-review-row{
  display:grid;
  grid-template-columns:minmax(120px,160px) 1fr;
  gap:.5rem;
  padding:.45rem 0;
  border-bottom:1px solid #eef2f7;
}
.acr-review-row:last-child{border-bottom:0}
.acr-review-row dt{margin:0;color:var(--acr-muted);font-weight:600;font-size:.86rem}
.acr-review-row dd{margin:0;font-weight:500;word-break:break-word}

.acr-consent{
  display:flex!important;
  flex-direction:row!important;
  gap:.7rem;
  align-items:flex-start;
  font-weight:500!important;
  font-size:.9rem!important;
  padding:.95rem 1rem;
  border-radius:var(--acr-radius-sm);
  border:1px solid var(--acr-border);
  background:var(--acr-bg);
}
.acr-consent__icon{color:var(--acr-ok);margin-top:.05rem}
.acr-consent__icon .acr-icon{width:1.15rem;height:1.15rem}
.acr-consent input{margin-top:.2rem;width:1.05rem;height:1.05rem;accent-color:var(--acr-primary);flex:0 0 auto}

.acr-success{
  text-align:center;
  padding:1.75rem 1rem 1.35rem;
}
.acr-success__ring{
  width:3.5rem;
  height:3.5rem;
  margin:0 auto .9rem;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--acr-ok);
  background:var(--acr-ok-soft);
  border:1px solid #abefc6;
}
.acr-success__ring .acr-icon{width:1.75rem;height:1.75rem}
.acr-success h2{margin:0 0 .65rem;font-size:1.35rem;letter-spacing:-.02em}
.acr-confirmation{font-size:.95rem}
.acr-ref-label{color:var(--acr-muted);margin-bottom:.3rem;font-size:.88rem}
.acr-ref-value code{
  display:inline-block;
  font-size:1.05rem;
  padding:.55rem .85rem;
  border-radius:var(--acr-radius-sm);
  background:var(--acr-bg);
  border:1px solid var(--acr-border);
  color:var(--acr-text);
  font-weight:700;
}
.acr-continue-later-wrap{
  margin:.65rem 0 0;
}
.acr-continue-later__toggle{
  appearance:none;
  background:none;
  border:0;
  padding:0;
  margin:0;
  color:var(--acr-primary, #1e3a5f);
  font:inherit;
  font-size:.9rem;
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:.15em;
  cursor:pointer;
}
.acr-continue-later__toggle:hover,
.acr-continue-later__toggle:focus-visible{
  color:var(--acr-text, #111);
}
.acr-continue-later{
  margin:.55rem 0 0;
  padding:.85rem 1rem;
  border:1px dashed var(--acr-border);
  border-radius:var(--acr-radius-sm);
  background:var(--acr-bg);
  font-size:.9rem;
}
.acr-continue-later__row{
  display:flex;
  gap:.5rem;
  margin-top:.55rem;
  flex-wrap:wrap;
}
.acr-continue-later__row input{
  flex:1 1 14rem;
  min-width:0;
}
#acr-offline-banner{
  display:flex;
  gap:.75rem;
  align-items:center;
  flex-wrap:wrap;
  justify-content:space-between;
}
.acr-wizard__branch{
  margin:.15rem 0 .65rem;
  color:var(--acr-muted);
  font-weight:600;
}
.acr-success-contact{
  margin:.75rem 0 0;
  color:var(--acr-muted);
}
.acr-test-mode-note{
  margin:0 0 1rem;
  text-align:start;
}
.acr-pdf-langs{
  display:flex;
  flex-direction:column;
  gap:.45rem;
  align-items:stretch;
  margin:.35rem 0 .15rem;
  text-align:start;
}
.acr-pdf-langs--featured{
  margin:1.1rem auto 0.85rem;
  max-width:34rem;
  padding:1rem 1.05rem;
  background:linear-gradient(180deg, #fff 0%, #f3f7f5 100%);
  border:1px solid var(--acr-border);
  border-radius:var(--acr-radius-sm);
  box-shadow:0 10px 24px rgba(15,39,68,.08);
}
.acr-pdf-langs-label{
  margin:0;
  font-size:.95rem;
  color:var(--acr-ink, #0f2744);
  font-weight:700;
}
.acr-pdf-langs-hint{
  margin:0;
  font-size:.86rem;
  color:var(--acr-muted);
  line-height:1.4;
}
.acr-pdf-langs__row{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
}
.acr-confirm-actions a.acr-btn{
  text-decoration:none;
}
.acr-confirm-actions .acr-btn--primary{
  box-shadow:0 8px 18px rgba(15,39,68,.18);
}
.acr-next-steps{
  margin:1.15rem auto 0;
  max-width:34rem;
  text-align:start;
  background:var(--acr-bg);
  border:1px solid var(--acr-border);
  border-radius:var(--acr-radius-sm);
  padding:.95rem 1rem;
}
.acr-next-steps h3{margin:0 0 .35rem;font-size:.95rem}
.acr-next-steps p{margin:0;color:var(--acr-muted);line-height:1.45;font-size:.9rem}
.acr-confirm-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  justify-content:center;
  margin-top:1.15rem;
}
.acr-captcha{margin:1rem 0}

/* Nav / buttons */
.acr-nav{
  display:flex;
  gap:.65rem;
  justify-content:flex-end;
  margin-top:1.35rem;
  padding-top:1.1rem;
  border-top:1px solid var(--acr-border);
  position:sticky;
  bottom:0;
  z-index:5;
  background:linear-gradient(180deg, transparent 0%, #fff 28%);
  padding-bottom:.35rem;
}
.acr-btn{
  min-height:3em;
  padding:.8em 1.4em;
  border-radius:var(--acr-radius-sm);
  border:1px solid var(--acr-border);
  background:#fff;
  cursor:pointer;
  font:inherit;
  font-weight:600;
  font-size:1.05em;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  color:var(--acr-text);
  transition:background .15s ease, border-color .15s ease, color .15s ease;
}
.acr-btn .acr-icon{width:1rem;height:1rem}
.acr-btn:hover{background:var(--acr-bg)}
.acr-btn--ghost{background:#fff}
.acr-btn--primary{
  background:var(--acr-primary);
  border-color:var(--acr-primary);
  color:#fff;
}
.acr-btn--primary:hover{
  background:#193f74;
  border-color:#193f74;
}
.acr-btn:disabled,
.acr-btn.is-loading{
  pointer-events:none;
  opacity:.72;
}
.acr-btn__spinner{
  width:.9rem;
  height:.9rem;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.35);
  border-top-color:#fff;
  display:none;
}
.acr-btn.is-loading .acr-btn__spinner{display:inline-block;animation:acr-spin .7s linear infinite}

.acr-alert{
  display:flex;
  gap:.6rem;
  align-items:flex-start;
  padding:.95rem 1.1rem;
  border-radius:var(--acr-radius-sm);
  margin:1rem 2rem;
  font-size:.95rem;
  line-height:1.45;
}
.acr-alert--error{
  background:var(--acr-danger-bg);
  color:var(--acr-danger);
  border:1px solid #fecaca;
}
.acr-alert--error ul{margin:.15rem 0 0;padding-inline-start:1.1rem}
.acr-alert--error .acr-error-jump{
  appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  font-weight:600;
  text-decoration:underline;
  cursor:pointer;
  padding:0;
  text-align:inherit;
}
.acr-alert--error .acr-error-jump:hover{opacity:.85}
.acr-alert--warn{
  background:#fffbeb;
  color:#92400e;
  border:1px solid #fde68a;
  margin:0 0 1rem;
}
.acr-alert--warn strong{display:block;margin-bottom:.25rem}
.acr-alert--warn ul{
  margin:.35rem 0 0;
  padding-inline-start:1.15rem;
}
.acr-alert .acr-icon{width:1.1rem;height:1.1rem;margin-top:.08rem;flex:0 0 auto}

.acr-hp{position:absolute;left:-9999px;height:0;width:0;opacity:0}
.screen-reader-text{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);border:0;
}

@keyframes acr-spin{to{transform:rotate(360deg)}}

@media print{
  .acr-progress-wrap,.acr-nav,.acr-confirm-actions,.acr-lang{display:none!important}
  .acr-wizard{border:0;box-shadow:none;left:auto;transform:none;width:100%;max-width:100%}
}

/* RTL */
.acr-wizard.is-rtl,
.acr-wizard[dir=rtl]{text-align:right}
.acr-wizard.is-rtl .acr-wizard__header,
.acr-wizard[dir=rtl] .acr-wizard__header{flex-direction:row-reverse}
.acr-wizard.is-rtl .acr-wizard__header-main,
.acr-wizard[dir=rtl] .acr-wizard__header-main{flex-direction:row-reverse}
.acr-wizard.is-rtl .acr-progress-meta,
.acr-wizard[dir=rtl] .acr-progress-meta{flex-direction:row-reverse}
.acr-wizard.is-rtl .acr-progress,
.acr-wizard[dir=rtl] .acr-progress{flex-direction:row-reverse}
.acr-wizard.is-rtl .acr-progress li,
.acr-wizard[dir=rtl] .acr-progress li{padding:.15rem 0 .15rem .65rem}
.acr-wizard.is-rtl .acr-nav,
.acr-wizard[dir=rtl] .acr-nav{
  justify-content:flex-start;
  flex-direction:row-reverse;
}
.acr-wizard.is-rtl .acr-card,
.acr-wizard[dir=rtl] .acr-card{flex-direction:row-reverse}
.acr-wizard.is-rtl .acr-review-card header,
.acr-wizard[dir=rtl] .acr-review-card header{flex-direction:row-reverse}
.acr-wizard.is-rtl .acr-review-row,
.acr-wizard[dir=rtl] .acr-review-row{grid-template-columns:1fr minmax(120px,160px)}
.acr-wizard.is-rtl .acr-review-row dt,
.acr-wizard[dir=rtl] .acr-review-row dt{text-align:left}
.acr-wizard.is-rtl .acr-consent,
.acr-wizard[dir=rtl] .acr-consent{flex-direction:row-reverse!important}
.acr-wizard.is-rtl .acr-next-steps,
.acr-wizard[dir=rtl] .acr-next-steps{text-align:right}
.acr-wizard.is-rtl .acr-hint-box,
.acr-wizard[dir=rtl] .acr-hint-box{flex-direction:row-reverse;text-align:right}
.acr-wizard.is-rtl .acr-section__title,
.acr-wizard[dir=rtl] .acr-section__title{flex-direction:row-reverse}
.acr-wizard.is-rtl #acr-prev .acr-icon,
.acr-wizard[dir=rtl] #acr-prev .acr-icon,
.acr-wizard.is-rtl #acr-next .acr-icon,
.acr-wizard[dir=rtl] #acr-next .acr-icon{transform:scaleX(-1)}

@media (max-width:720px){
  .acr-wizard{
    left:auto;
    transform:none;
    width:auto;
    max-width:none;
    margin:.85rem .5rem 1.5rem;
  }
  .acr-wizard__header,
  .acr-progress-wrap,
  .acr-form{padding-left:1.05rem;padding-right:1.05rem}
  .acr-alert,.acr-status{margin-left:1.05rem;margin-right:1.05rem}
  .acr-grid{grid-template-columns:1fr}
  .acr-span-2{grid-column:span 1}
  fieldset.acr-choice{grid-template-columns:1fr}
  .acr-review-row{grid-template-columns:1fr}
  .acr-wizard.is-rtl .acr-review-row,
  .acr-wizard[dir=rtl] .acr-review-row{grid-template-columns:1fr}
  .acr-nav{
    flex-direction:column-reverse;
    padding-bottom:max(.5rem, env(safe-area-inset-bottom, 0px));
    margin-inline:-.25rem;
  }
  .acr-wizard.is-rtl .acr-nav,
  .acr-wizard[dir=rtl] .acr-nav{flex-direction:column-reverse}
  .acr-btn{width:100%}
  .acr-wizard[data-current-step="review"] #acr-submit{width:100%}
  .acr-step-text{display:none}
  .acr-progress li:not(:last-child)::after{width:.7rem;margin-inline-start:.3rem}
  .acr-progress{
    overflow-x:auto;
    padding-bottom:.25rem;
  }
}

@media (prefers-reduced-motion:reduce){
  .acr-wizard *,
  .acr-wizard *::before,
  .acr-wizard *::after{
    animation:none!important;
    transition:none!important;
  }
  .acr-status:not(:empty)::before{display:none}
}

/*
 * Theme-resistant type scale.
 * Ideal Academy / Elementor / education themes often shrink rem or force small
 * font-size on .entry-content descendants. Explicit px + ID specificity wins.
 */
#acr-registration-wizard.acr-wizard{
  font-size:20px!important;
  line-height:1.55!important;
}
#acr-registration-wizard .acr-wizard__eyebrow{
  font-size:13px!important;
}
#acr-registration-wizard .acr-wizard__title{
  font-size:34px!important;
  line-height:1.2!important;
}
#acr-registration-wizard .acr-wizard__subtitle{
  font-size:18px!important;
  line-height:1.55!important;
}
#acr-registration-wizard .acr-lang__label,
#acr-registration-wizard .acr-lang__link{
  font-size:15px!important;
}
#acr-registration-wizard .acr-progress-meta,
#acr-registration-wizard .acr-progress li,
#acr-registration-wizard .acr-continue-later__toggle{
  font-size:15px!important;
}
#acr-registration-wizard .acr-panel__head h2,
#acr-registration-wizard .acr-panel__head h2:focus{
  font-size:28px!important;
  line-height:1.25!important;
}
#acr-registration-wizard .acr-panel__head p{
  font-size:17px!important;
  line-height:1.55!important;
}
#acr-registration-wizard .acr-section__title{
  font-size:14px!important;
}
#acr-registration-wizard .acr-card__body strong{
  font-size:20px!important;
  line-height:1.3!important;
}
#acr-registration-wizard .acr-card__body small{
  font-size:16px!important;
  line-height:1.45!important;
}
#acr-registration-wizard .acr-hint-box,
#acr-registration-wizard .acr-hint-box p,
#acr-registration-wizard .acr-hint-box label{
  font-size:16px!important;
}
#acr-registration-wizard label,
#acr-registration-wizard .acr-grid label,
#acr-registration-wizard .acr-dob-helper,
#acr-registration-wizard .acr-count-field{
  font-size:16px!important;
}
#acr-registration-wizard input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
#acr-registration-wizard select,
#acr-registration-wizard textarea,
#acr-registration-wizard .acr-grid input:not([type="checkbox"]):not([type="radio"]),
#acr-registration-wizard .acr-grid select,
#acr-registration-wizard .acr-grid textarea,
#acr-registration-wizard .acr-dob-helper input{
  font-size:17px!important;
  min-height:52px!important;
  line-height:1.4!important;
}
#acr-registration-wizard input[type="checkbox"],
#acr-registration-wizard input[type="radio"]{
  width:1.15em!important;
  height:1.15em!important;
  min-width:1.15em!important;
  min-height:1.15em!important;
  max-width:1.25em!important;
  max-height:1.25em!important;
  margin:.2em .45em 0 0!important;
  padding:0!important;
  flex:0 0 auto!important;
  accent-color:var(--acr-primary);
  line-height:1!important;
}
#acr-registration-wizard .acr-choice-set label.acr-choice{
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  gap:.5em!important;
  text-align:start!important;
  font-size:15px!important;
  line-height:1.35!important;
  font-weight:500!important;
}
#acr-registration-wizard .acr-choice-set label.acr-choice span{
  font-size:15px!important;
  line-height:1.35!important;
  flex:1 1 auto;
  min-width:0;
}
#acr-registration-wizard .acr-choice-set__options{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(14rem,1fr))!important;
  gap:.55rem .9rem!important;
}
#acr-registration-wizard .acr-btn{
  font-size:18px!important;
  min-height:52px!important;
  padding:12px 22px!important;
}
#acr-registration-wizard .acr-dropzone__title{
  font-size:18px!important;
  line-height:1.35!important;
}
#acr-registration-wizard .acr-dropzone__desc,
#acr-registration-wizard .acr-dropzone__hint,
#acr-registration-wizard .acr-upload-meta,
#acr-registration-wizard .acr-upload-list{
  font-size:16px!important;
  line-height:1.45!important;
}
#acr-registration-wizard .acr-photo-guide__title{
  font-size:17px!important;
}
#acr-registration-wizard .acr-photo-guide__list,
#acr-registration-wizard .acr-photo-guide__list li{
  font-size:16px!important;
  line-height:1.45!important;
}
#acr-registration-wizard .acr-dropzone__actions .acr-btn{
  font-size:16px!important;
  min-height:46px!important;
  padding:10px 16px!important;
}
#acr-registration-wizard .acr-field-hint,
#acr-registration-wizard .acr-field-error,
#acr-registration-wizard .acr-status,
#acr-registration-wizard .acr-count-hint{
  font-size:14px!important;
}
#acr-registration-wizard .acr-review-card h3{
  font-size:20px!important;
}
#acr-registration-wizard .acr-review-row dt,
#acr-registration-wizard .acr-review-row dd{
  font-size:16px!important;
}
#acr-registration-wizard .acr-success h2{
  font-size:28px!important;
}
#acr-registration-wizard .acr-confirmation,
#acr-registration-wizard .acr-next-steps,
#acr-registration-wizard .acr-next-steps p{
  font-size:17px!important;
}
