/* JAYABINA — Multistep form wizard (shared by roof + paint lead forms)
   Tank page keeps its own inline copy (it has password-specific styles).
   Mobile-first, modern, professional. */
.ms-progress{margin:0 0 18px;text-align:center}
.ms-progress-bar{height:4px;background:var(--grey-200,#e5ebe8);border-radius:99px;overflow:hidden;margin:0 auto 14px;max-width:260px}
.ms-progress-fill{height:100%;background:linear-gradient(90deg,#146c43,#1a8a55);border-radius:99px;width:25%;transition:width .35s ease}
.ms-steps-row{display:flex;justify-content:center;gap:14px;max-width:260px;margin:0 auto 6px}
.ms-step-dot{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid var(--grey-200,#e5ebe8);color:var(--text3,#6c757d);font-weight:700;font-size:.78rem;transition:all .25s}
.ms-step-dot.active{background:#146c43;border-color:#146c43;color:#fff;transform:scale(1.08);box-shadow:0 4px 12px rgba(20,108,67,.3)}
.ms-step-dot.done{background:#1a8a55;border-color:#1a8a55;color:#fff}
.ms-step-dot.done .ms-dot-num:before{content:'✓';font-size:.85rem}
.ms-step-dot.done .ms-dot-num{display:none}
.ms-step-dot.done:after{content:'✓';font-size:.85rem;color:#fff}
.ms-step-label{font-size:.72rem;color:var(--text3,#6c757d);margin:0;font-weight:600;letter-spacing:.02em}
.ms-step{display:none;animation:msFade .3s ease}
.ms-step.active{display:block}
@keyframes msFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.ms-title{font-size:1.18rem;font-weight:700;margin:0 0 4px;color:var(--text,#0d1f17)}
.ms-sub{font-size:.82rem;color:var(--text3,#6c757d);margin:0 0 16px}
.ms-label{display:block;font-size:.78rem;font-weight:600;color:var(--text2,#3a4a42);margin:14px 0 6px}
.ms-label:first-of-type{margin-top:0}
.ms-req{color:#e5484d}
.ms-optional{font-weight:400;color:var(--text3,#6c757d)}
.ms-input{width:100%;min-height:48px;font-size:16px;font-family:inherit;border:1.5px solid var(--grey-200,#e5ebe8);border-radius:13px;padding:12px 14px;background:var(--white,#fff);color:var(--text,#0d1f17);transition:border-color .15s,box-shadow .15s;box-sizing:border-box}
.ms-input:focus{outline:none;border-color:#146c43;box-shadow:0 0 0 3px rgba(20,108,67,.15)}
textarea.ms-input{resize:vertical;line-height:1.5}
.ms-grid{display:grid;grid-template-columns:1fr;gap:0}
@media(min-width:520px){.ms-grid{grid-template-columns:1fr 1fr;gap:14px}.ms-field.full{grid-column:1/-1}}
.ms-choice-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}
.ms-choice{padding:14px;border:1.5px solid var(--grey-200,#e5ebe8);border-radius:13px;background:#fff;cursor:pointer;text-align:center;transition:all .18s;font-family:inherit}
.ms-choice strong{display:block;font-size:.92rem;color:var(--text,#0d1f17)}
.ms-choice span{display:block;font-size:.78rem;color:var(--text3,#6c757d);margin-top:2px}
.ms-choice:hover{border-color:#146c43}
.ms-choice.active{border-color:#146c43;background:#f0f7f3;box-shadow:0 0 0 3px rgba(20,108,67,.12)}
.ms-choice.active strong{color:#146c43}
.ms-pw-wrap{position:relative}
.ms-pw-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1.1rem;padding:6px;color:var(--text3,#6c757d)}
.ms-pw-hint{font-size:.7rem;color:var(--text3,#6c757d);margin-top:4px}
.ms-review{background:var(--grey-50,#f7f9f8);border:1px solid var(--grey-200,#e5ebe8);border-radius:13px;padding:14px 16px;margin-bottom:16px}
.ms-review-row{display:flex;justify-content:space-between;gap:14px;padding:6px 0;border-bottom:1px solid var(--grey-200,#e5ebe8);font-size:.84rem}
.ms-review-row:last-child{border-bottom:none}
.ms-review-row .ms-review-k{color:var(--text3,#6c757d);flex:0 0 38%}
.ms-review-row .ms-review-v{color:var(--text,#0d1f17);font-weight:600;text-align:right;word-break:break-word}
.ms-nav{display:flex;gap:10px;margin-top:18px;align-items:center;justify-content:center}
.ms-nav .btn{flex:1;min-height:48px;font-size:.92rem;font-weight:600;justify-content:center}
.ms-back{flex:1}
.ms-next{flex:1}
.ms-submit{flex:1}
/* Step 3 (final for roof/paint) — submit button 60% width on desktop, centered */
.ms-nav.step-final{justify-content:center}
.ms-nav.step-final .ms-submit{flex:0 0 60% !important;max-width:60%}
.ms-nav.step-final .ms-back{flex:0 0 40% !important;max-width:40%}
/* Mobile: equal-width buttons, stacked on final step */
@media(max-width:519px){
  .ms-back{flex:1 !important;min-width:0 !important}
  .ms-next,.ms-submit{flex:1}
  .ms-nav.step-final{flex-direction:column-reverse;gap:8px}
  .ms-nav.step-final .ms-submit{flex:1 1 auto !important;max-width:100%;width:100%;order:1}
  .ms-nav.step-final .ms-back{flex:1 1 auto !important;width:100%;order:2}
}
.ms-bottom-note{margin-top:10px;font-size:.7rem;text-align:center}
.ms-error{display:none;color:#e5484d;font-size:.72rem;margin-top:4px}
.ms-error.show{display:block}
.ms-input[aria-invalid="true"]{border-color:#e5484d;background:#fef6f6}
