/* ============================================================
   QUOTE MODAL
   ============================================================ */
.modal-overlay { position:fixed; inset:0; z-index:2000; background:rgba(0,0,0,.55); backdrop-filter:blur(6px); display:flex; align-items:center; justify-content:center; padding:24px; opacity:0; animation:modalFadeIn .3s var(--ease-out-expo) forwards; }
.modal-overlay[hidden] { display:none; }
@keyframes modalFadeIn { to{opacity:1} }
.modal { background:var(--clr-white); border-radius:var(--radius-lg); padding:40px 36px; width:100%; max-width:520px; max-height:90svh; overflow-y:auto; position:relative; transform:scale(.88); animation:modalScaleIn .35s var(--ease-bounce) forwards; }
@keyframes modalScaleIn { to{transform:scale(1)} }
.modal-close { position:absolute; top:16px; right:20px; font-size:24px; color:var(--clr-muted); line-height:1; transition:color .2s; }
.modal-close:hover { color:var(--clr-red); }
.modal h2 { font-family:var(--ff-display); font-weight:800; font-size:24px; color:var(--clr-dark); margin-bottom:8px; }
.form-progress { height:4px; background:var(--clr-gray); border-radius:2px; overflow:hidden; }
.form-progress-bar { height:100%; background:var(--clr-red); border-radius:2px; transition:width .4s var(--ease-out-expo); }
.form-step { display:flex; flex-direction:column; gap:12px; }
.form-step[hidden] { display:none; }
.form-step label { font-size:13px; font-weight:500; color:var(--clr-text); margin-bottom:-6px; }
.form-step input,.form-step select,.form-step textarea { width:100%; border:1.5px solid #ddd; border-radius:var(--radius-sm); padding:10px 14px; font-family:var(--ff-body); font-size:14px; color:var(--clr-text); outline:none; transition:border-color .2s; background:var(--clr-white); }
.form-step input:focus,.form-step select:focus,.form-step textarea:focus { border-color:var(--clr-red); }
.form-step textarea { resize:vertical; min-height:80px; }
.form-step--confirm { text-align:center; padding:20px 0; }
.confirm-icon { display:flex; justify-content:center; margin-bottom:16px; }
.form-step--confirm h3 { font-family:var(--ff-display); font-size:20px; font-weight:700; color:var(--clr-red); margin-bottom:10px; }
.form-step--confirm p { color:var(--clr-muted); line-height:1.6; }

