/* SIR Registration - shared look (OTP page, registration form, preview, payment result)
   Site: radiographers.org (desktop)   File: /home/radiographers/public_html/SIR-Registration/assets/css/reg.css */
:root{
  --navy:#130180; --navy-d:#0e015f; --red:#c12025; --red-d:#a31a1f;
  --ink:#1d2433; --muted:#6b7385; --line:#e3e6ee; --soft:#f4f5fb; --ok:#1a7f45; --warn:#b36b00; --bad:#b3261e;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:'Segoe UI',Roboto,Arial,sans-serif;color:var(--ink);background:var(--soft);line-height:1.5;font-size:16px}
.sr-top{background:#fff;text-align:center;padding:8px 12px}
.sr-top img{height:44px;width:auto;max-width:100%}
.sr-wrap{max-width:760px;margin:22px auto 60px;padding:0 14px}
.sr-wrap.narrow{max-width:520px}
.sr-card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 6px 24px rgba(19,1,128,.07);overflow:hidden}
.sr-card>.hd{background:var(--navy);color:#fff;padding:16px 22px}
.sr-card>.hd h1{margin:0;font-size:20px;font-weight:600}
.sr-card>.hd p{margin:2px 0 0;font-size:13px;opacity:.85}
.sr-card>.bd{padding:22px}
h2.sr-h{font-size:18px;color:var(--navy);margin:0 0 14px}

/* step bar */
.steps{display:flex;gap:0;list-style:none;margin:0;padding:14px 22px;background:#fafbff;border-bottom:1px solid var(--line);counter-reset:s}
.steps li{flex:1;text-align:center;font-size:12px;color:var(--muted);position:relative;counter-increment:s}
.steps li:before{content:counter(s);display:block;width:28px;height:28px;line-height:28px;margin:0 auto 4px;border-radius:50%;background:#e8eaf5;color:var(--muted);font-weight:700;font-size:13px;position:relative;z-index:1}
.steps li:after{content:"";position:absolute;top:14px;left:50%;width:100%;height:2px;background:#e8eaf5}
.steps li:last-child:after{display:none}
.steps li.on{color:var(--navy);font-weight:600}
.steps li.on:before{background:var(--navy);color:#fff}
.steps li.done:before{background:var(--ok);color:#fff;content:"\2713"}
.steps li.done:after{background:var(--ok)}

/* form */
.fg{margin-bottom:16px}
.fg label{display:block;font-weight:600;font-size:14px;margin-bottom:5px}
.fg label small{font-weight:400;color:var(--muted)}
.fc,select.fc,textarea.fc{width:100%;padding:11px 12px;font-size:16px;border:1px solid #c9cedd;border-radius:9px;background:#fff;color:var(--ink);font-family:inherit}
.fc:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(19,1,128,.14)}
.fc[readonly]{background:#f1f2f7;color:#555}
.fc.bad{border-color:var(--bad);background:#fff7f6}
.err{color:var(--bad);font-size:13px;margin-top:4px;display:none}
.hint{font-size:13px;color:var(--muted);margin-top:4px}
.hint a{color:var(--navy);cursor:pointer;text-decoration:underline}
.hint.fixed{color:var(--warn)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
@media(max-width:640px){.row2,.row3{grid-template-columns:1fr;gap:0}.sr-card>.bd{padding:16px}}
.hp-wrap{position:absolute!important;left:-5000px;top:auto;width:1px;height:1px;overflow:hidden}

/* buttons */
.btn{display:inline-block;border:0;border-radius:9px;padding:12px 22px;font-size:16px;font-weight:600;cursor:pointer;text-decoration:none;font-family:inherit;transition:background .15s}
.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy-d)}
.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:var(--red-d)}
.btn-ghost{background:#fff;color:var(--navy);border:1px solid #c9cedd}.btn-ghost:hover{background:var(--soft)}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.btn-block{display:block;width:100%;text-align:center}
.bar{display:flex;justify-content:space-between;gap:10px;margin-top:22px}
.link{background:none;border:0;color:var(--navy);text-decoration:underline;cursor:pointer;font-size:14px;padding:6px}
.link[disabled]{color:var(--muted);text-decoration:none;cursor:default}

/* notes */
.note{border-radius:10px;padding:12px 14px;font-size:14px;margin:12px 0}
.note.warn{background:#fff6e5;border:1px solid #f1d9a6;color:#6a4500}
.note.info{background:#eef3ff;border:1px solid #cfdcff;color:#1d3a8a}
.note.ok{background:#e9f7ef;border:1px solid #bfe5cf;color:#14532d}
.note.bad{background:#fdecea;border:1px solid #f5c2bd;color:#7a1c14}
.check{list-style:none;padding:0;margin:0 0 14px}
.check li{padding:9px 0 9px 28px;border-bottom:1px dashed var(--line);position:relative}
.check li:before{content:"\2713";position:absolute;left:4px;color:var(--ok);font-weight:700}
.check li.no:before{content:"!";color:var(--red)}

/* panels (registration steps) */
.pane{display:none}.pane.on{display:block}

/* upload */
.drop{border:2px dashed #b9bfd6;border-radius:12px;padding:18px;text-align:center;cursor:pointer;background:#fafbff}
.drop:hover,.drop.over{border-color:var(--navy);background:#f1f2ff}
.drop img{width:140px;height:140px;object-fit:cover;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px var(--line);margin:8px auto;display:block}
.drop .nm{font-size:13px;color:var(--muted);margin-top:6px;word-break:break-all}
.drop input[type=file]{display:none}

/* preview table */
.kv{width:100%;border-collapse:collapse}
.kv td{padding:10px 4px;border-bottom:1px solid var(--line);vertical-align:top}
.kv td:first-child{color:var(--muted);width:42%;font-size:14px}
.kv td:last-child{font-weight:600;word-break:break-word}
.photo{width:160px;height:160px;object-fit:cover;border-radius:12px;border:1px solid var(--line)}
.foot-small{text-align:center;color:var(--muted);font-size:12px;margin-top:18px}

/* turnstile + otp */
.cf-turnstile{margin:6px 0 14px;min-height:65px}
.otp-in{letter-spacing:8px;text-align:center;font-size:24px;font-weight:700}

/* logo sits in the steps line (no separate logo bar, no red line) */
.stepbar{display:flex;align-items:center;gap:6px;background:#fafbff;border-bottom:1px solid var(--line);padding:0 14px 0 16px}
.stepbar .lg{flex:0 0 auto;display:block;line-height:0}
.stepbar .lg img{height:42px;width:auto;display:block}
.stepbar .steps{flex:1;min-width:0;padding:12px 0 12px 8px;background:none;border-bottom:0}
@media (max-width:420px){.stepbar{padding:0 10px}.stepbar .lg img{height:36px}.stepbar .steps li{font-size:11px}}
