/* IAMEM HOSTING — signup form
   Palette taken from the Hostim child theme so the page sits inside the
   existing site rather than looking bolted on. */

.iamem-signup{
  --im-blue:#0e82d3; --im-blue-dark:#1565c0; --im-navy:#0a1a3b; --im-green:#00d264;
  --im-ink:#33415c; --im-muted:#7a8699; --im-line:#e8edf5; --im-bg:#f8faff;
  --im-red:#c0392b; --im-red-bg:#fdeeec; --im-amber:#854f0b; --im-amber-bg:#faeeda;
  --im-ok:#0a7a5a; --im-ok-bg:#e1f5ee;
  --im-radius:12px;
  max-width:820px; margin:0 auto; padding:8px 0 56px;
  color:var(--im-ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:15px; line-height:1.55;
}
.iamem-signup *,.iamem-signup *::before,.iamem-signup *::after{box-sizing:border-box;}

/* ---------- cards ---------- */
.iamem-card{
  background:#fff; border:1px solid var(--im-line); border-radius:var(--im-radius);
  padding:26px 26px 24px; margin:0 0 18px;
  box-shadow:0 1px 3px rgba(10,26,59,.05);
}
.iamem-card--final{background:var(--im-bg);}
.iamem-card__head{display:flex; gap:14px; align-items:flex-start; margin:0 0 22px;}
.iamem-card__head h2{
  margin:0 0 4px; font-size:17px; line-height:1.3; font-weight:650;
  color:var(--im-navy); letter-spacing:-.2px;
}
.iamem-card__head p{margin:0; font-size:13.5px; color:var(--im-muted); line-height:1.5;}
.iamem-step{
  flex:0 0 28px; width:28px; height:28px; border-radius:50%;
  background:linear-gradient(135deg,var(--im-blue),var(--im-blue-dark));
  color:#fff; font-size:13px; font-weight:700;
  display:flex; align-items:center; justify-content:center; margin-top:1px;
}

/* ---------- layout ---------- */
.iamem-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px 18px;}
.iamem-field--full{grid-column:1 / -1;}
.iamem-field{min-width:0;}
.iamem-field label{
  display:block; margin:0 0 6px; font-size:13px; font-weight:600; color:var(--im-navy);
}
.iamem-req{color:var(--im-blue); font-weight:700;}
.iamem-opt{color:var(--im-muted); font-weight:500; font-size:12px;}

/* ---------- inputs ---------- */
.iamem-signup input[type=text],
.iamem-signup input[type=email],
.iamem-signup input[type=tel],
.iamem-signup input[type=password],
.iamem-signup input[type=file],
.iamem-signup select,
.iamem-signup textarea{
  width:100%; padding:10px 12px; font:inherit; font-size:14.5px; color:var(--im-navy);
  background:#fff; border:1px solid #d7dfeb; border-radius:9px;
  transition:border-color .15s, box-shadow .15s, background .15s;
  -webkit-appearance:none; appearance:none;
}
.iamem-signup select{
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%237a8699' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 12px center; padding-right:34px;
}
.iamem-signup textarea{resize:vertical; min-height:62px;}
.iamem-signup input:focus,.iamem-signup select:focus,.iamem-signup textarea:focus{
  outline:none; border-color:var(--im-blue); box-shadow:0 0 0 3px rgba(14,130,211,.14);
}
.iamem-signup input[readonly],.iamem-signup textarea[readonly],
.iamem-signup select:disabled,.iamem-signup input:disabled{
  background:#f2f6fb; color:#5a6880; cursor:not-allowed; border-color:var(--im-line);
}
.iamem-signup input[type=file]{padding:8px 10px; font-size:13.5px; cursor:pointer;}
.iamem-signup .is-invalid{border-color:var(--im-red); box-shadow:0 0 0 3px rgba(192,57,43,.1);}

.iamem-inline{display:flex; gap:8px; align-items:flex-start;}
.iamem-inline > input,.iamem-inline > select{flex:1 1 auto; min-width:0;}
.iamem-cc{flex:0 0 150px !important;}
.iamem-otp-input{
  flex:0 0 140px !important; letter-spacing:5px; font-weight:650;
  font-family:SFMono-Regular,Menlo,Consolas,monospace; text-align:center;
}

/* ---------- buttons ---------- */
.iamem-btn{
  flex:0 0 auto; padding:10px 16px; font:inherit; font-size:14px; font-weight:600;
  border-radius:9px; border:1px solid var(--im-blue); cursor:pointer;
  background:var(--im-blue); color:#fff; white-space:nowrap;
  transition:background .15s, border-color .15s, opacity .15s;
}
.iamem-btn:hover:not(:disabled){background:var(--im-blue-dark); border-color:var(--im-blue-dark);}
.iamem-btn:disabled{opacity:.5; cursor:not-allowed;}
.iamem-btn--ghost{background:#fff; color:var(--im-blue);}
.iamem-btn--ghost:hover:not(:disabled){background:#eef6fd; color:var(--im-blue-dark);}
.iamem-btn--primary{
  width:100%; padding:14px 20px; font-size:15.5px; border:none;
  background:linear-gradient(90deg,var(--im-blue) 0%,var(--im-blue-dark) 100%);
  display:flex; align-items:center; justify-content:center; gap:10px; margin-top:4px;
}
.iamem-link{
  background:none; border:none; padding:0; font:inherit; font-size:13px;
  color:var(--im-blue); cursor:pointer; text-decoration:underline; text-underline-offset:2px;
}
.iamem-link:disabled{color:var(--im-muted); cursor:default; text-decoration:none;}

/* ---------- OTP ---------- */
.iamem-otp{
  margin:12px 0 0; padding:14px; background:var(--im-bg);
  border:1px solid var(--im-line); border-radius:10px;
}
.iamem-otp label{font-size:12.5px; color:var(--im-muted); font-weight:500;}
.iamem-hint{margin:8px 0 0; font-size:12.5px; color:var(--im-muted);}
.iamem-note{margin:8px 0 0; font-size:13px;}
.iamem-note.is-ok{color:var(--im-ok);}
.iamem-note.is-bad{color:var(--im-red);}
.iamem-verified{
  display:flex; align-items:center; gap:6px; margin:8px 0 0;
  font-size:13px; font-weight:600; color:var(--im-ok);
}

/* ---------- GST result ---------- */
.iamem-gst-result{
  margin:12px 0 0; padding:14px 16px; border-radius:10px; font-size:13.5px;
  background:var(--im-ok-bg); border:1px solid #b8e6d4; color:#0d5f47;
}
.iamem-gst-result.is-bad{background:var(--im-red-bg); border-color:#f3c8c2; color:#98291c;}
.iamem-gst-result dl{display:grid; grid-template-columns:auto 1fr; gap:4px 14px; margin:8px 0 0;}
.iamem-gst-result dt{color:#5c7a70; font-size:12.5px;}
.iamem-gst-result dd{margin:0; font-weight:600;}
.iamem-gst-badge{
  display:inline-block; padding:2px 9px; border-radius:99px; background:var(--im-green);
  color:#04331f; font-size:11.5px; font-weight:700; letter-spacing:.3px; text-transform:uppercase;
}
.iamem-lockbar{
  display:flex; gap:9px; align-items:flex-start; margin:18px 0 0; padding:11px 14px;
  background:var(--im-amber-bg); border-radius:9px; font-size:12.8px; color:var(--im-amber);
}
.iamem-lockbar svg{flex:0 0 auto; margin-top:2px;}
.iamem-lockbar .iamem-link{color:var(--im-amber); font-size:12.8px;}

/* ---------- password meter ---------- */
.iamem-meter{height:4px; margin:8px 0 0; background:var(--im-line); border-radius:99px; overflow:hidden;}
.iamem-meter span{display:block; height:100%; width:0; border-radius:99px; transition:width .25s, background .25s;}

/* ---------- consent ---------- */
.iamem-consent{margin:0 0 18px;}
.iamem-check{display:flex; gap:10px; align-items:flex-start; margin:0 0 12px; font-size:13.5px; cursor:pointer;}
.iamem-check input{flex:0 0 auto; width:17px; height:17px; margin-top:1px; accent-color:var(--im-blue); cursor:pointer;}
.iamem-check a{color:var(--im-blue);}
.iamem-turnstile{margin:0 0 16px; min-height:65px;}

/* ---------- errors ---------- */
.iamem-err{margin:6px 0 0; font-size:12.8px; color:var(--im-red); display:none;}
.iamem-err.is-shown{display:block;}
.iamem-err--form{
  margin:0 0 14px; padding:11px 14px; background:var(--im-red-bg);
  border-radius:9px; font-size:13.5px;
}
.iamem-footnote{margin:14px 0 0; font-size:12.5px; color:var(--im-muted); text-align:center;}

/* ---------- spinner ---------- */
.iamem-spinner{
  width:16px; height:16px; border:2px solid rgba(255,255,255,.4);
  border-top-color:#fff; border-radius:50%; animation:iamem-spin .7s linear infinite;
}
@keyframes iamem-spin{to{transform:rotate(360deg);}}
.iamem-btn.is-busy .iamem-submit__label{opacity:.85;}

/* ---------- success ---------- */
.iamem-done{
  background:#fff; border:1px solid var(--im-line); border-radius:var(--im-radius);
  padding:44px 32px; text-align:center; box-shadow:0 1px 3px rgba(10,26,59,.05);
}
.iamem-done__icon{
  width:56px; height:56px; margin:0 auto 18px; border-radius:50%;
  background:var(--im-ok-bg); color:var(--im-ok);
  display:flex; align-items:center; justify-content:center;
}
.iamem-done h2{margin:0 0 12px; font-size:21px; color:var(--im-navy); font-weight:650;}
.iamem-done p{margin:0 0 12px; color:var(--im-ink);}
.iamem-done strong{color:var(--im-navy);}

/* ---------- responsive ---------- */
@media (max-width:640px){
  .iamem-grid{grid-template-columns:1fr;}
  .iamem-card{padding:20px 18px;}
  .iamem-inline{flex-wrap:wrap;}
  .iamem-inline > .iamem-btn{width:100%;}
  .iamem-cc{flex:1 1 100% !important;}
  .iamem-otp-input{flex:1 1 100% !important;}
  .iamem-signup{font-size:14.5px;}
}
