/* ==========================================================
   VidyaRank — Institute / Coaching Registration
   Used on: institute-register.php
   ========================================================== */

/* ---------- HERO ---------- */
.ireg-hero{
  background:linear-gradient(160deg,var(--navy) 0%,var(--navy2) 100%);
  padding:56px 0 84px;
  text-align:center;
  color:#fff;
}
.ireg-hero .hero-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,255,255,0.1);color:#fff;font-size:12.5px;font-weight:700;
  padding:7px 16px;border-radius:99px;margin-bottom:16px;
}
.ireg-hero .hero-badge .dot{width:6px;height:6px;background:var(--orange2);border-radius:50%;}
.ireg-hero h1{font-size:34px;font-weight:800;margin-bottom:12px;letter-spacing:-0.5px;}
.ireg-hero p{color:rgba(255,255,255,0.75);font-size:15.5px;max-width:600px;margin:0 auto;}

/* ---------- WRAP / STEPPER CARD ---------- */
.ireg-wrap{max-width:760px;margin:-52px auto 0;padding:0 20px 90px;position:relative;z-index:2;}
.ireg-card{
  background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:34px 32px;margin-bottom:24px;
}
.ireg-section{margin-bottom:30px;}
.ireg-section:last-child{margin-bottom:0;}
.ireg-section-head{
  display:flex;align-items:center;gap:10px;margin-bottom:18px;
  padding-bottom:12px;border-bottom:1px solid var(--line);
}
.ireg-section-head .num{
  width:26px;height:26px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--orange),var(--orange2));color:#fff;
  font-size:12.5px;font-weight:800;display:flex;align-items:center;justify-content:center;
}
.ireg-section-head h3{font-size:15.5px;font-weight:800;color:var(--navy);letter-spacing:0.2px;}
.ireg-section-head p{font-size:12.5px;color:var(--muted);margin-top:1px;}

.ireg-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.ireg-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;}

.ireg-group{margin-bottom:16px;position:relative;}
.ireg-group:last-child{margin-bottom:0;}
.ireg-group label{
  display:block;font-size:13px;font-weight:600;color:#444;margin-bottom:7px;
}
.ireg-group label .req{color:var(--orange);}
.ireg-group label .opt{color:#aaa;font-weight:500;font-size:11.5px;}

.ireg-group input[type=text],
.ireg-group input[type=email],
.ireg-group input[type=tel],
.ireg-group input[type=number],
.ireg-group textarea{
  width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:12px;
  font-size:14.5px;font-family:inherit;background:#FAFBFD;color:var(--ink);outline:none;
  transition:border .15s,background .15s;
}
.ireg-group input:focus,.ireg-group textarea:focus{border-color:var(--orange);background:#fff;}
.ireg-group input::placeholder,.ireg-group textarea::placeholder{color:#B6BBC7;}
.ireg-group textarea{resize:vertical;min-height:90px;}
.ireg-hint{font-size:11.5px;color:var(--muted);margin-top:6px;}
.ireg-error{font-size:11.5px;color:#dc3545;margin-top:6px;display:none;}
.ireg-group.invalid input,.ireg-group.invalid textarea{border-color:#dc3545;background:#FFF7F7;}
.ireg-group.invalid .ireg-error{display:block;}
.ireg-group.valid input,.ireg-group.valid textarea{border-color:#28a745;}
.ireg-char-count{font-size:11px;color:#B6BBC7;text-align:right;margin-top:5px;}

/* ---------- MOBILE + OTP ---------- */
.ireg-phone-row{display:flex;gap:10px;align-items:flex-start;}
.ireg-phone-field{display:flex;flex:1;}
.ireg-phone-prefix{
  background:#FAFBFD;border:1.5px solid var(--line);border-right:none;
  border-radius:12px 0 0 12px;padding:13px 12px;font-size:14px;font-weight:700;color:var(--navy);
}
.ireg-phone-field input{border-radius:0 12px 12px 0 !important;}
.ireg-otp-btn{
  flex-shrink:0;white-space:nowrap;padding:13px 18px;border-radius:12px;border:none;
  background:var(--navy);color:#fff;font-size:13px;font-weight:700;cursor:pointer;transition:opacity .15s;
}
.ireg-otp-btn:disabled{opacity:.55;cursor:not-allowed;}
.ireg-otp-block{
  margin-top:14px;padding:16px;border-radius:12px;background:#FFF9F4;border:1.5px dashed #FFC98A;
  display:none;
}
.ireg-otp-block.show{display:block;}
.ireg-otp-block .otp-row{display:flex;gap:10px;align-items:center;}
.ireg-otp-block input{
  flex:1;padding:13px 15px;border:1.5px solid var(--line);border-radius:10px;
  font-size:16px;font-weight:700;letter-spacing:4px;text-align:center;background:#fff;
}
.ireg-otp-verify{
  flex-shrink:0;padding:13px 20px;border-radius:10px;border:none;
  background:linear-gradient(135deg,var(--orange),var(--orange2));color:#fff;
  font-size:13px;font-weight:700;cursor:pointer;
}
.ireg-otp-verify:disabled{opacity:.55;cursor:not-allowed;}
.ireg-otp-meta{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:12px;}
.ireg-otp-meta .resend{color:var(--orange);font-weight:700;cursor:pointer;background:none;border:none;padding:0;}
.ireg-otp-meta .resend:disabled{color:#bbb;cursor:not-allowed;}
.ireg-otp-meta .timer{color:var(--muted);}
.ireg-verified-badge{
  display:none;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:#1a9c4a;
  margin-top:10px;
}
.ireg-verified-badge.show{display:flex;}

/* ---------- SEARCHABLE DROPDOWN ---------- */
.ireg-select-wrap{position:relative;}
.ireg-select-wrap input{padding-right:38px !important;}
.ireg-select-wrap .chev{
  position:absolute;right:14px;top:41px;color:#B6BBC7;font-size:13px;pointer-events:none;
}
.ireg-select-wrap input:disabled{background:#F1F2F6;cursor:not-allowed;}
.ireg-dropdown{
  position:absolute;top:100%;left:0;right:0;margin-top:6px;background:#fff;
  border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 28px rgba(11,31,75,0.14);
  max-height:220px;overflow-y:auto;z-index:30;display:none;
}
.ireg-dropdown.open{display:block;}
.ireg-dropdown .opt{padding:11px 15px;font-size:14px;color:var(--ink);cursor:pointer;}
.ireg-dropdown .opt:hover,.ireg-dropdown .opt.hi{background:#FFF3EA;color:var(--orange);}
.ireg-dropdown .no-match{padding:12px 15px;font-size:13px;color:var(--muted);}

/* ---------- TERMS ---------- */
.ireg-terms{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;background:#F8F9FC;border-radius:12px;}
.ireg-terms input{width:18px;height:18px;margin-top:2px;accent-color:var(--orange);flex-shrink:0;cursor:pointer;}
.ireg-terms label{font-size:13px;color:#555;line-height:1.5;cursor:pointer;margin:0;}
.ireg-terms a{color:var(--orange);font-weight:600;}

/* ---------- SUBMIT / MESSAGES ---------- */
.ireg-msg{padding:13px 16px;border-radius:12px;font-size:13.5px;font-weight:600;margin-bottom:18px;display:none;}
.ireg-msg.show{display:block;}
.ireg-msg.error{background:#FFF1F1;color:#c0392b;border:1px solid #FFD3D3;}
.ireg-msg.success{background:#EFFAF3;color:#1a9c4a;border:1px solid #C7EFD3;}

.ireg-submit{
  width:100%;padding:16px;border:none;border-radius:14px;
  background:linear-gradient(135deg,var(--orange),var(--orange2));color:#fff;
  font-size:15.5px;font-weight:800;cursor:pointer;box-shadow:0 12px 26px rgba(255,107,0,0.28);
  transition:transform .15s,opacity .15s;
}
.ireg-submit:hover{transform:translateY(-2px);}
.ireg-submit:disabled{opacity:.6;cursor:not-allowed;transform:none;}
.ireg-note{text-align:center;font-size:12px;color:var(--muted);margin-top:14px;}
.ireg-note a{color:var(--navy);font-weight:700;}

/* ---------- SUCCESS STATE ---------- */
.ireg-success{display:none;text-align:center;padding:20px 6px 6px;}
.ireg-success.show{display:block;}
.ireg-success .icon{
  width:74px;height:74px;border-radius:50%;background:#EFFAF3;color:#1a9c4a;
  display:flex;align-items:center;justify-content:center;font-size:36px;margin:0 auto 18px;
}
.ireg-success h2{font-size:22px;font-weight:800;color:var(--navy);margin-bottom:10px;}
.ireg-success p{font-size:14.5px;color:var(--muted);max-width:440px;margin:0 auto 22px;line-height:1.6;}
.ireg-success .actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:640px){
  .ireg-hero{padding:44px 0 70px;}
  .ireg-hero h1{font-size:25px;}
  .ireg-hero p{font-size:13.5px;padding:0 12px;}
  .ireg-wrap{margin-top:-44px;padding:0 14px 110px;}
  .ireg-card{padding:22px 18px;border-radius:18px;}
  .ireg-row,.ireg-row-3{grid-template-columns:1fr;gap:0;}
  .ireg-phone-row{flex-direction:column;}
  .ireg-otp-btn{width:100%;}
  .ireg-otp-block .otp-row{flex-direction:column;align-items:stretch;}
}
