.afnfr-wrap{max-width:1050px;margin:28px auto;padding:0 14px;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.afnfr-stepper{display:flex;align-items:center;gap:16px;margin:0 0 18px;user-select:none}
.afnfr-step{display:flex;flex-direction:column;align-items:center;min-width:150px}
.afnfr-line{flex:1;height:6px;background:#6b6b6b;border-radius:99px;opacity:.6}
.afnfr-dot{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e6e6e6;color:#111;font-weight:800}
.afnfr-dot span{display:block}
.afnfr-flag{font-size:18px}
.afnfr-label{margin-top:8px;font-size:11px;letter-spacing:.08em;font-weight:800;color:#c7c7c7;text-transform:uppercase;text-align:center}
.afnfr-step.active .afnfr-dot{background:#e03131;color:#fff}
.afnfr-step.active .afnfr-label{color:#e03131}
.afnfr-step.done .afnfr-dot{background:#2fb344;color:#fff}
.afnfr-step.done .afnfr-label{color:#2fb344}
.afnfr-step.done .afnfr-dot span{display:none}
.afnfr-step.done .afnfr-dot::before{content:"✓";font-size:18px}
.afnfr-card{background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:28px 26px 22px;color:#fff;overflow:visible}
.afnfr-card h3{margin:0 0 18px;font-size:24px;letter-spacing:.02em}
.afnfr-sub{margin:0 0 14px;color:#cfcfcf;font-weight:700;letter-spacing:.06em;font-size:12px}
.afnfr-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:900px){.afnfr-step{min-width:auto}.afnfr-grid{grid-template-columns:1fr}}
.afnfr-field label{display:block;font-size:11px;letter-spacing:.08em;font-weight:800;color:#cfcfcf;text-transform:uppercase;margin-bottom:8px}
.afnfr-field .req{color:#ff4d4d}
.afnfr-field input,.afnfr-field select{width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:4px;min-height:44px;padding:10px 12px;color:#fff;outline:none}
.afnfr-field select option{background:#111;color:#fff}
.afnfr-field select{appearance:auto;-webkit-appearance:auto;color:#fff !important}
.afnfr-field select:invalid{color:#9aa0a6 !important}
.afnfr-field input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.85;cursor:pointer}
.afnfr-field input[type="date"]{cursor:pointer}
.afnfr-dob-hint{font-weight:400;opacity:.85;font-size:.92em}
.afnfr-field input:focus,.afnfr-field select:focus{border-color:rgba(255,255,255,.35);box-shadow:0 0 0 3px rgba(224,49,49,.18)}
.afnfr-field input[type="file"]{padding:9px 10px}
.afnfr-hint{margin-top:6px;font-size:12px;color:#a9a9a9}
.afnfr-actions{display:flex;justify-content:flex-end;margin-top:18px}
.afnfr-actions.split{justify-content:space-between;gap:12px;flex-wrap:wrap}
.afnfr-btn{border-radius:2px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;padding:12px 18px;font-weight:800;letter-spacing:.06em;font-size:12px;cursor:pointer}
.afnfr-btn.primary{border-color:#fff}
.afnfr-btn.primary:hover{background:rgba(255,255,255,.08)}
.afnfr-btn.ghost{background:#e03131;border-color:#e03131}
.afnfr-btn.ghost:hover{background:#c92a2a}
.afnfr-phone{display:flex;gap:10px}
.afnfr-phone{width:100%}
.afnfr-phone .iti{width:100%}
.afnfr-phone input{width:100%}
.afnfr-field .iti{display:block}
/* intl-tel-input may use a fixed container on small screens */
body > .iti--container{z-index:100000}
.afnfr-field .iti input.iti__tel-input{
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:4px !important;
  min-height:44px !important;
  padding-top:10px !important;
  padding-bottom:10px !important;
  color:#fff !important;
}
.afnfr-field .iti__selected-country-primary{padding-left:10px}
.afnfr-field .iti__selected-country{color:#fff}
.afnfr-field .iti__country-container{padding:0 !important}
.afnfr-field .iti__selected-country-primary{height:100%}
.afnfr-field .iti__selected-country{height:100%}
.afnfr-field .iti__flag,
.afnfr-phone .iti__flag,
body > .iti--container .iti__flag{
  margin-top:0;
  display:inline-block;
  background-image:var(--iti-path-flags-1x) !important;
  background-repeat:no-repeat !important;
  background-position:var(--iti-flag-offset,0) 0 !important;
  background-size:var(--iti-flag-sprite-width,5762px) var(--iti-flag-sprite-height,15px) !important;
}
@media (min-resolution:2x){
  .afnfr-field .iti__flag,
  .afnfr-phone .iti__flag,
  body > .iti--container .iti__flag{
    background-image:var(--iti-path-flags-2x) !important;
  }
}
.afnfr-field .iti__globe,
.afnfr-phone .iti__globe{
  background-image:var(--iti-path-globe-1x) !important;
  background-repeat:no-repeat !important;
}
.afnfr-field .iti__selected-dial-code{color:#fff}
.afnfr-field .iti input.iti__tel-input{line-height:1.25}
.afnfr-field .iti__selected-country-primary{display:flex;align-items:center}
.afnfr-phone .iti__country-list{background:#111;color:#fff;border:1px solid rgba(255,255,255,.18)}
.afnfr-phone .iti__country{color:#fff}
.afnfr-phone .iti__country:hover{background:rgba(255,255,255,.08)}
.afnfr-phone .iti__selected-flag{background:rgba(255,255,255,.06)}
.afnfr-phone .iti__divider{border-bottom:1px solid rgba(255,255,255,.12)}
/* Country list search: .afnfr-field input forces white text — ITI uses a light search box, so typing was invisible */
.afnfr-field .iti__search-input,
.afnfr-phone .iti__search-input{
  color:#111 !important;
  background:#fff !important;
  border:1px solid rgba(255,255,255,.35) !important;
  caret-color:#111;
}
.afnfr-field .iti__search-input::placeholder,
.afnfr-phone .iti__search-input::placeholder{
  color:#666 !important;
  opacity:1;
}
.afnfr-field .iti__dropdown-content input[type="search"],
.afnfr-phone .iti__dropdown-content input[type="search"]{
  color:#111 !important;
  background:#fff !important;
  caret-color:#111;
}
.afnfr-check{display:flex;gap:10px;align-items:flex-start;margin:10px 0;color:#cfcfcf;font-size:14px;line-height:1.5}
.afnfr-check input{margin-top:4px}
.afnfr-err{margin-top:8px;color:#ff6b6b;font-weight:700;font-size:13px}
.afnfr-msg{margin-top:14px}
