/* ════════════════════════════════════════════════════════════════════════
   intake-wizard.css — guided, accessible intake modal for RHP Law.
   Replaces the cold raw-Airtable-form jump: a warm multi-step wizard that
   collects core intake info on-site, then hands off PREFILLED to the secure
   Airtable form (the system of record). Scoped to .rhp-intake. No build.
   ════════════════════════════════════════════════════════════════════════ */

/* backdrop + dialog only exist when open (JS toggles [hidden]) */
.rhp-intake-overlay{
  position:fixed; inset:0; z-index:9500;
  display:flex; align-items:flex-start; justify-content:center;
  padding:clamp(12px,4vh,48px) 12px; overflow:auto;
  background:rgba(2,8,16,.72); backdrop-filter:blur(4px);
}
.rhp-intake-overlay[hidden]{ display:none !important; }

.rhp-intake{
  position:relative; width:min(560px,100%); margin:auto;
  background:#071828; color:#e8f3ff;
  border:1px solid rgba(201,168,76,.4); border-radius:14px;
  box-shadow:0 24px 70px rgba(0,0,0,.6);
  font-family:'Source Serif 4',Georgia,serif;
}

/* header */
.rhp-intake-head{
  display:flex; align-items:flex-start; justify-content:space-between; gap:1rem;
  padding:1.25rem 1.4rem .75rem;
}
.rhp-intake-head h2{
  margin:0; font-family:'Rajdhani',sans-serif; font-weight:700;
  font-size:1.5rem; letter-spacing:.04em; color:#fff;
}
.rhp-intake-head p{ margin:.2rem 0 0; font-size:.82rem; color:#9db8d4; }
.rhp-intake-close{
  flex:none; min-width:40px; min-height:40px; border-radius:8px;
  background:rgba(255,255,255,.06); color:#e8f3ff; border:1px solid rgba(255,255,255,.16);
  font-family:'Rajdhani',sans-serif; font-weight:700; cursor:pointer; font-size:.95rem;
}
.rhp-intake-close:hover{ background:rgba(255,255,255,.14); }

/* progress */
.rhp-intake-progress{ display:flex; gap:6px; padding:0 1.4rem .9rem; }
.rhp-intake-progress span{
  flex:1; height:5px; border-radius:3px; background:rgba(201,168,76,.18);
}
.rhp-intake-progress span.done{ background:var(--gold,#c9a84c); }

/* body / steps */
.rhp-intake-body{ padding:0 1.4rem 1rem; }
.rhp-intake-step{ display:none; }
.rhp-intake-step.active{ display:block; }
.rhp-intake-step h3{
  margin:.2rem 0 1rem; font-family:'Rajdhani',sans-serif; font-weight:600;
  font-size:1.05rem; letter-spacing:.06em; text-transform:uppercase; color:var(--gold-light,#e8c97a);
}

.rhp-intake-field{ margin:0 0 1rem; }
.rhp-intake-field label{
  display:block; margin:0 0 .35rem; font-family:'Rajdhani',sans-serif;
  font-weight:600; font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; color:#cfe0f2;
}
.rhp-intake-field label .req{ color:#e83d52; margin-left:.2rem; }
.rhp-intake-field input,
.rhp-intake-field select,
.rhp-intake-field textarea{
  width:100%; box-sizing:border-box; min-height:44px; padding:.6rem .7rem;
  background:#0b2340; color:#fff; border:1px solid rgba(201,168,76,.3); border-radius:8px;
  font-family:'Source Serif 4',Georgia,serif; font-size:1rem;
}
.rhp-intake-field textarea{ min-height:104px; resize:vertical; }
.rhp-intake-field input:focus-visible,
.rhp-intake-field select:focus-visible,
.rhp-intake-field textarea:focus-visible{
  outline:3px solid var(--gold,#c9a84c); outline-offset:2px;
}
.rhp-intake-field .err{
  display:none; margin:.35rem 0 0; color:#ffb3bd; font-size:.8rem; font-family:'Rajdhani',sans-serif;
}
.rhp-intake-field.invalid input,
.rhp-intake-field.invalid select,
.rhp-intake-field.invalid textarea{ border-color:#e83d52; }
.rhp-intake-field.invalid .err{ display:block; }

/* review step */
.rhp-intake-review{ font-size:.92rem; line-height:1.5; }
.rhp-intake-review dt{ color:#9db8d4; font-size:.74rem; text-transform:uppercase; letter-spacing:.06em; font-family:'Rajdhani',sans-serif; margin-top:.6rem; }
.rhp-intake-review dd{ margin:0 0 .2rem; color:#fff; }
.rhp-intake-disclaimer{
  margin:1rem 0 0; padding:.8rem .9rem; border-left:3px solid var(--gold,#c9a84c);
  background:rgba(201,168,76,.06); border-radius:0 8px 8px 0;
  font-size:.78rem; line-height:1.5; color:#cfe0f2;
}

/* footer / nav */
.rhp-intake-foot{
  display:flex; align-items:center; justify-content:space-between; gap:.75rem;
  padding:1rem 1.4rem 1.3rem; border-top:1px solid rgba(255,255,255,.08); margin-top:.4rem;
}
.rhp-intake-btn{
  min-height:44px; padding:.55rem 1.3rem; border-radius:8px; cursor:pointer;
  font-family:'Rajdhani',sans-serif; font-weight:700; font-size:.85rem;
  letter-spacing:.08em; text-transform:uppercase; border:1px solid transparent;
}
.rhp-intake-btn.primary{ background:var(--red-700,#b11226); color:#fff; border-color:rgba(255,255,255,.15); }
.rhp-intake-btn.primary:hover{ background:var(--red-600,#cc1530); }
.rhp-intake-btn.ghost{ background:transparent; color:#9db8d4; border-color:rgba(255,255,255,.18); }
.rhp-intake-btn.ghost:hover{ color:#fff; border-color:rgba(255,255,255,.4); }
.rhp-intake-btn:focus-visible{ outline:3px solid var(--gold,#c9a84c); outline-offset:2px; }
.rhp-intake-btn[disabled]{ opacity:.4; cursor:not-allowed; }

@media (prefers-reduced-motion: no-preference){
  .rhp-intake{ animation:rhp-intake-in .28s cubic-bezier(.16,.84,.34,1); }
  @keyframes rhp-intake-in{ from{ transform:translateY(14px); opacity:0; } to{ transform:none; opacity:1; } }
}
