/* Shared lead form (hero address bar + modal) for city pages. Copied from the homepage hero/modal CSS, 2026-10-01. */
:root{--green:#0FB96B}
.addr-bar{display:flex;align-items:center;max-width:680px;margin:0 auto 22px;background:#fff;border-radius:var(--r-md);padding:6px 6px 6px 20px;box-shadow:0 20px 60px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.08)}
.addr-bar input{flex:1;border:none;background:transparent;font-family:var(--body);font-size:1.05rem;color:var(--text);outline:none;padding:10px 0;min-width:0}
.addr-bar input::placeholder{color:var(--g400)}
.addr-bar button{flex-shrink:0;background:var(--red);color:#fff;border:none;padding:14px 28px;border-radius:var(--r-sm);font-family:var(--display);font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:.4px;cursor:pointer;transition:var(--t);white-space:nowrap}
.addr-bar button:hover{background:var(--red-dk);box-shadow:var(--sh-red)}
.addr-hint{font-size:.8rem;color:rgba(255,255,255,.38);margin-bottom:16px}
/* ═══════════════════════════════════════════════════════════
   POPUP MODAL
═══════════════════════════════════════════════════════════ */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .3s ease}
.overlay.open{opacity:1;pointer-events:all}
.modal{background:#fff;border-radius:var(--r-xl);width:100%;max-width:500px;overflow:hidden;transform:translateY(28px) scale(.97);transition:transform .35s var(--ease);position:relative;box-shadow:0 40px 100px rgba(0,0,0,.5)}
.overlay.open .modal{transform:none}
/* Red accent bar */
.modal::before{content:'';display:block;height:4px;background:linear-gradient(90deg,var(--red),var(--gold))}
.modal-body{padding:36px 36px 32px}
/* Progress dots */

/* Step */
.mstep{display:none}
.mstep.active{display:block}

.mstep h3{font-family:var(--display);font-size:1.55rem;color:var(--navy);text-transform:uppercase;margin-bottom:6px}
.mstep .msub{font-size:.92rem;color:var(--g600);margin-bottom:22px;line-height:1.6}
/* Confirmed address chip */
.addr-chip{display:flex;align-items:center;gap:10px;background:var(--g100);border:1px solid var(--g200);border-radius:var(--r-sm);padding:11px 15px;margin-bottom:20px;font-size:.92rem;color:var(--g800)}
.addr-chip-ic{color:var(--red);font-size:1rem;flex-shrink:0}
.addr-chip-txt{font-weight:600;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Fields */
.mfg{margin-bottom:14px}
.mfg label{display:block;font-size:.77rem;font-weight:700;color:var(--g800);margin-bottom:5px;text-transform:uppercase;letter-spacing:.4px}
.mfg input,.mfg select{width:100%;padding:13px 15px;border:2px solid var(--g200);border-radius:var(--r-sm);font-family:var(--body);font-size:.97rem;color:var(--text);background:var(--g100);transition:var(--t)}
.mfg input:focus,.mfg select:focus{outline:none;border-color:var(--red);background:#fff;box-shadow:0 0 0 3px rgba(248,163,97,.1)}
.mfg-row{display:flex;gap:12px}
.mfg-row .mfg{flex:1;min-width:0}
/* Buttons */
.mnext{width:100%;padding:15px;background:var(--red);color:#fff;border:none;border-radius:var(--r-sm);font-family:var(--display);font-size:1.1rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;margin-top:6px;transition:var(--t)}
.mnext:hover{background:var(--red-dk);box-shadow:var(--sh-red)}
.mback{background:none;border:none;color:var(--g400);font-size:.84rem;cursor:pointer;margin-top:10px;display:flex;align-items:center;gap:5px;transition:color .2s}
.mback:hover{color:var(--g800)}
.msec{text-align:center;font-size:.76rem;color:var(--g400);margin-top:12px}
/* Close button */
.modal-close{position:absolute;top:16px;right:18px;width:32px;height:32px;border-radius:50%;background:var(--g100);border:none;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--g600);transition:var(--t);z-index:10}
.modal-close:hover{background:var(--g200);color:var(--navy)}
/* Success step */
.msuccess{text-align:center;padding:10px 0}
.msuccess-ic{width:72px;height:72px;background:var(--green);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:1.8rem;color:#fff}
.msuccess h3{font-family:var(--display);font-size:1.7rem;color:var(--navy);text-transform:uppercase;margin-bottom:10px}
.msuccess p{color:var(--g600);line-height:1.7;margin-bottom:24px}
/* Merr */
.merr{color:var(--red);font-size:.84rem;margin-top:-8px;margin-bottom:10px;display:none}
@media(max-width:768px){.addr-bar{flex-direction:column;padding:12px;gap:10px;border-radius:var(--r-md)}.addr-bar input{width:100%;padding:10px 4px;font-size:1rem}.addr-bar button{width:100%;padding:15px}.modal-body{padding:28px 22px 24px}}
/* Tall modal on short screens: let the overlay scroll instead of clipping the top of the form */
@media(max-height:900px){.overlay{align-items:flex-start;overflow-y:auto}}
