/* ============ REGISTRATION FORM ============ */
.reg-wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:flex-start}
.reg-panel{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow-md)}
.reg-progress{display:flex;align-items:center;margin-bottom:2.4rem}
.rp-step{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:1;position:relative}
.rp-step .circ{width:38px;height:38px;border-radius:50%;background:var(--paper);border:2px solid var(--line);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.88rem;color:var(--slate-soft);transition:all .3s ease;position:relative;z-index:1}
.rp-step .lbl{font-size:.72rem;font-weight:600;color:var(--slate-soft);text-align:center}
.rp-step .bar{position:absolute;top:19px;left:50%;width:100%;height:2px;background:var(--line);z-index:0}
.rp-step:last-child .bar{display:none}
.rp-step.done .circ{background:var(--blue);border-color:var(--blue);color:#fff}
.rp-step.done .bar{background:var(--blue)}
.rp-step.active .circ{border-color:var(--blue);color:var(--blue);box-shadow:0 0 0 5px var(--blue-tint)}
.rp-step.active .lbl,.rp-step.done .lbl{color:var(--ink)}

.f-step{display:none}
.f-step.active{display:block;animation:fstep .45s ease}
@keyframes fstep{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:translateX(0)}}
.f-title{font-size:1.25rem;margin-bottom:.3rem}
.f-sub{color:var(--slate);font-size:.9rem;margin-bottom:1.8rem}
.f-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.f-field{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}
.f-field.full{grid-column:1/-1}
.f-field label{font-size:.85rem;font-weight:600;color:var(--ink)}
.f-field label .req{color:var(--rose)}
.f-field input[type=text],.f-field input[type=date],.f-field input[type=tel],.f-field input[type=email],.f-field input[type=number],.f-field select,.f-field textarea{
  padding:.85rem 1rem;border-radius:var(--radius-sm);border:1.5px solid var(--line);background:var(--paper);font-size:.94rem;transition:border-color .2s ease,box-shadow .2s ease;
}
.f-field textarea{resize:vertical;min-height:80px}
.f-field input:focus,.f-field select:focus,.f-field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px var(--blue-tint);outline:none}
.radio-row,.check-row{display:flex;gap:1.5rem;flex-wrap:wrap}
.radio-opt,.check-opt{display:flex;align-items:center;gap:.55rem;font-size:.9rem;font-weight:500;cursor:pointer;padding:.6rem 1rem;border:1.5px solid var(--line);border-radius:var(--radius-sm);transition:border-color .2s ease,background .2s ease}
.radio-opt:has(input:checked),.check-opt:has(input:checked){border-color:var(--blue);background:var(--blue-tint)}
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}

.radio-row.scheme-options{flex-direction:column;gap:.75rem}
.radio-row.scheme-options .radio-opt{flex-direction:column;align-items:flex-start;padding:1.2rem 1.5rem;gap:.4rem}
.radio-row.scheme-options .radio-opt input{margin-top:.1rem}
.scheme-label{width:100%}
.scheme-label strong{display:block;font-size:.9rem;font-weight:600;color:var(--ink);margin-bottom:.2rem}
.scheme-label small{display:block;font-size:.78rem;color:var(--slate);line-height:1.4}
.upload-box{border:1.5px dashed var(--line);border-radius:var(--radius-sm);padding:1.6rem;display:flex;flex-direction:column;align-items:center;gap:.6rem;text-align:center;color:var(--slate-soft);cursor:pointer;transition:border-color .2s ease,background .2s ease}
.upload-box:hover{border-color:var(--blue);background:var(--blue-tint)}
.upload-box .icon{width:30px;height:30px;color:var(--blue)}
.upload-box span{font-size:.85rem;font-weight:600;color:var(--ink)}
.upload-box small{font-size:.76rem}
.declare-box{display:flex;gap:.9rem;padding:1.3rem;background:var(--paper);border-radius:var(--radius-sm);border:1px solid var(--line);margin-bottom:1.6rem}
.declare-box input{margin-top:.2rem;width:18px;height:18px;accent-color:var(--blue);flex-shrink:0}
.declare-box p{font-size:.87rem;color:var(--slate)}
.f-nav{display:flex;justify-content:space-between;margin-top:1rem}
.f-nav .spacer{flex:1}
.summary-box{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:1.4rem;margin-bottom:1.6rem}
.summary-box h4{font-size:.9rem;margin-bottom:.7rem;color:var(--slate-soft);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}
.summary-row{display:flex;justify-content:space-between;font-size:.88rem;padding:.4rem 0;border-bottom:1px dashed var(--line-soft)}
.success-panel{text-align:center;padding:2rem 0}
.success-panel .ring{width:84px;height:84px;border-radius:50%;background:var(--teal-tint);color:var(--teal);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}
.success-panel .ring .icon{width:40px;height:40px}
.success-panel h3{font-size:1.4rem;margin-bottom:.6rem}
.success-panel p{color:var(--slate);max-width:380px;margin:0 auto 1.6rem}

.reg-side{position:sticky;top:110px;display:flex;flex-direction:column;gap:1.5rem}
.reg-side-card{background:var(--blue-deep);border-radius:var(--radius-lg);padding:2.4rem;color:#fff;box-shadow:var(--shadow-lg)}
.reg-side-card h3{color:#fff;font-size:1.3rem;margin:1.3rem 0 .8rem}
.reg-side-card p{color:#B9C4E6;font-size:.92rem;margin-bottom:1.5rem}
.reg-perks{display:flex;flex-direction:column;gap:.9rem}
.reg-perk{display:flex;gap:.8rem;align-items:flex-start;font-size:.88rem;color:#E4E9F8}
.reg-perk .icon{width:19px;height:19px;color:var(--orange);flex-shrink:0;margin-top:.1rem}
@media (max-width:980px){
  .reg-wrap{grid-template-columns:1fr}
  .reg-side{position:static;order:-1}
}
@media (max-width:640px){
  .f-grid,.check-grid{grid-template-columns:1fr}
  .reg-panel{padding:1.6rem}
  .rp-step .lbl{display:none}
}

.registration-code{display:none;margin:1rem auto;padding:.75rem 1rem;border-radius:10px;background:var(--blue-tint);color:var(--blue);font-weight:800;letter-spacing:.05em;width:max-content;max-width:100%}
