/* JeevanSangam registration V42: isolated styling for existing registration and onboarding. */
:root { --jsv42-ink:#292039; --jsv42-pink:#d82b74; --jsv42-soft:#fff2f8; --jsv42-border:#f1d4e2; }
.jsv42-reg-intro { position:relative; isolation:isolate; overflow:hidden; padding:28px 26px 24px; margin:0 0 21px; border:1px solid #f2ccdc; border-radius:23px; background:linear-gradient(133deg,#fff7fa 2%,#fff 50%,#fdf0fa 100%); box-shadow:0 15px 35px rgba(139,29,78,.055); color:var(--jsv42-ink); }
.jsv42-reg-intro::after { content:'♡'; position:absolute; right:-10px; top:-40px; font-size:170px; line-height:1; font-family:Georgia,serif; color:rgba(213,36,107,.075); z-index:-1; pointer-events:none; transform:rotate(-12deg); }
.jsv42-reg-eyebrow { font:800 10px/1.5 system-ui,sans-serif; letter-spacing:.14em; color:#b92965; }
.jsv42-reg-intro h3 { font-size:clamp(24px,3vw,34px); letter-spacing:-.055em; line-height:1.13; color:var(--jsv42-ink); margin:10px 0 8px; font-weight:800; }
.jsv42-reg-intro p { color:#665c6e; font-size:14px; line-height:1.65; max-width:480px; margin:0; }
.jsv42-reg-chips { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 22px; }
.jsv42-reg-chips span { display:inline-flex; align-items:center; padding:8px 10px; border:1px solid var(--jsv42-border); background:#fff; border-radius:100px; color:#97516f; font:700 11px/1.2 system-ui,sans-serif; }
.jsv42-reg-path { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:4px; border-top:1px solid #f3dce6; padding-top:15px; }
.jsv42-reg-path span { display:inline-flex; align-items:center; gap:5px; font:700 11px/1.4 system-ui,sans-serif; color:#766978; }
.jsv42-reg-path span b { width:22px; height:22px; border-radius:50%; border:1px solid #eccddc; display:grid; place-items:center; color:#b43369; background:#fff; font-size:10px; }
.jsv42-reg-path span.is-current { color:#be286b; }
.jsv42-reg-path span.is-current b { color:white; background:var(--jsv42-pink); border-color:var(--jsv42-pink); }
.jsv42-reg-path i { font-style:normal; color:#d8a3b9; }
.jsv42-reg-form .field input:not([type=checkbox]),.jsv42-reg-form .field select { border-radius:12px; min-height:45px; }
.jsv42-reg-form .field input:focus-visible,.jsv42-reg-form .field select:focus-visible { outline:2px solid #d82b74; outline-offset:1px; }
.jsv42-reg-password { margin:-6px 0 17px; }
.jsv42-reg-password-track { height:5px; border-radius:50px; overflow:hidden; background:#f5dfe8; }
.jsv42-reg-password-track span { display:block; height:100%; width:0; border-radius:50px; background:#d88c36; transition:width .2s ease,background .2s ease; }
.jsv42-reg-password-track span[data-level='2'] { background:#3b9b79; }
.jsv42-reg-password small { display:block; color:#786777; font-size:11px; margin-top:7px; }
.jsv42-reg-submit { display:flex; justify-content:center; align-items:center; gap:10px; width:100%; min-height:48px; border-radius:13px; font-size:14px; }
.jsv42-reg-privacy { margin:13px 0 0; color:#776a78; font-size:12px; line-height:1.6; text-align:center; }
.jsv42-reg-footnote { line-height:1.7; }
.jsv42-reg-footnote a { color:#b62763; font-weight:750; }
/* Onboarding desktop: keep the form prominent and the step navigator concise. */
body:has(.jsv42-ob-steps) { background:#fff9fc; }
body:has(.jsv42-ob-steps) .ob-header { background:#fff; border-bottom:1px solid #f0dce6; }
.jsv42-ob-header-tools { display:flex; align-items:center; gap:16px; }
.jsv42-ob-header-tools > span { font:800 10px system-ui,sans-serif; letter-spacing:.12em; color:#b22d66; }
body:has(.jsv42-ob-steps) .ob-layout { max-width:1300px; margin-inline:auto; align-items:start; gap:clamp(18px,3vw,36px); }
body:has(.jsv42-ob-steps) .ob-side { position:sticky; top:24px; align-self:start; border-radius:25px; padding:clamp(20px,3vw,34px); box-shadow:0 15px 45px rgba(117,30,72,.07); }
body:has(.jsv42-ob-steps) .ob-side h1 { font-size:clamp(27px,3.3vw,39px); line-height:1.14; letter-spacing:-.055em; }
body:has(.jsv42-ob-steps) .ob-heart { display:none; }
.jsv42-ob-steps { margin:23px 0; display:grid; gap:6px; }
.jsv42-ob-step { display:flex; align-items:center; gap:12px; padding:7px 9px; border-radius:10px; color:#857589; font:600 12px/1.4 system-ui,sans-serif; }
.jsv42-ob-step-no { width:25px; height:25px; flex:none; display:grid; place-items:center; border:1px solid #eacede; border-radius:50%; background:#fff; font-size:10px; color:#9b7590; }
.jsv42-ob-step.is-current { color:#a31f59; background:#fff0f6; font-weight:800; }
.jsv42-ob-step.is-current .jsv42-ob-step-no { color:white; background:#cf2d70; border-color:#cf2d70; }
.jsv42-ob-step.is-past { color:#3a8c70; }
.jsv42-ob-step.is-past .jsv42-ob-step-no { border-color:#d3e9df; background:#e7f8ee; color:#3a8c70; }
body:has(.jsv42-ob-steps) .ob-panel { min-width:0; border:1px solid #f3dbe5; border-radius:25px; background:#fff; box-shadow:0 18px 65px rgba(115,31,71,.065); overflow:hidden; }
body:has(.jsv42-ob-steps) .ob-progress { background:#fff9fc; }
body:has(.jsv42-ob-steps) .ob-content { padding:clamp(18px,3.5vw,36px); }
body:has(.jsv42-ob-steps) .ob-content h2 { font-size:clamp(24px,3.1vw,35px); letter-spacing:-.055em; }
body:has(.jsv42-ob-steps) .ob-intro { line-height:1.6; }
body:has(.jsv42-ob-steps) .ob-field input,body:has(.jsv42-ob-steps) .ob-field select,body:has(.jsv42-ob-steps) .ob-field textarea { min-width:0; max-width:100%; box-sizing:border-box; }
body:has(.jsv42-ob-steps) .ob-choice { transition:box-shadow .16s ease, transform .16s ease; }
body:has(.jsv42-ob-steps) .ob-choice:has(input:focus-visible) { outline:2px solid #d82b74; outline-offset:2px; }
body:has(.jsv42-ob-steps) .ob-choice:has(input:checked) { box-shadow:0 3px 14px rgba(205,41,109,.08); }
.jsv42-select-wrap { display:block; }
.jsv42-select-wrap select { display:block; width:100%; min-height:47px; border:1px solid #eccad9; border-radius:11px; padding:9px 12px; background:#fff; font:inherit; margin:8px 0 0; color:#32273c; }
.jsv42-select-wrap select:focus-visible,.jsv42-select-wrap input:focus-visible { outline:2px solid #d82b74; outline-offset:2px; }
.jsv42-other-field { display:block; margin:12px 0 0; font:600 12px/1.5 system-ui,sans-serif; }
.jsv42-other-field[hidden] { display:none!important; }
.jsv42-other-field input { display:block; width:100%; min-height:42px; margin-top:6px; padding:8px 12px; border:1px solid #eccad9; border-radius:10px; }
.jsv42-ob-skip { margin-left:auto; font:700 12px/1.4 system-ui,sans-serif; color:#af2c65; text-decoration:underline; text-underline-offset:3px; white-space:nowrap; }
.jsv42-ob-skip:focus-visible { outline:2px solid #d82b74; outline-offset:3px; }
body:has(.jsv42-ob-steps) .ob-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
body:has(.jsv42-ob-steps) .ob-next { min-height:47px; border-radius:12px; }
body:has(.jsv42-ob-steps) .jsv13-photo-panel { background:#fffafb; border-radius:17px; }
@media(max-width:920px) { body:has(.jsv42-ob-steps) .ob-layout { display:block; margin:12px auto; padding:0 12px; } body:has(.jsv42-ob-steps) .ob-side { position:static; display:block; margin:0 0 14px; padding:15px 18px; } body:has(.jsv42-ob-steps) .ob-side h1 { font-size:23px; margin:5px 0; } body:has(.jsv42-ob-steps) .ob-side>p { margin:0; } .jsv42-ob-steps { grid-template-columns:repeat(10,minmax(16px,1fr)); gap:4px; margin:12px 0 2px; } .jsv42-ob-step { padding:0; justify-content:center; } .jsv42-ob-step>span:last-child { display:none; } body:has(.jsv42-ob-steps) .ob-side-note { display:none; } }
@media(max-width:600px) { .jsv42-reg-intro { padding:20px 15px; border-radius:17px; } .jsv42-reg-path { gap:5px; } .jsv42-reg-path span { font-size:10px; } .jsv42-reg-path span b { width:19px; height:19px; } .jsv42-reg-path i { display:none; } .jsv42-ob-header-tools>span { display:none; } body:has(.jsv42-ob-steps) .ob-content { padding:18px 14px; } body:has(.jsv42-ob-steps) .ob-next { width:100%; order:3; } .jsv42-ob-skip { margin-left:0; } }
@media(prefers-reduced-motion:reduce) { .jsv42-reg-password-track span,.ob-choice { transition:none!important; } }
