/* Scheduler form styles copied from the current schedule-appointment.html (shared look of the
   multi-step booking journey). Route additions live in rt-base.css. */
.stepr{display:flex;align-items:flex-start;justify-content:center;gap:0;margin:8px 0 26px}
.stp{display:flex;flex-direction:column;align-items:center;gap:7px;width:150px;position:relative}
.stp .dot{width:40px;height:40px;border-radius:50%;background:#fff;border:2px solid var(--line);display:grid;place-items:center;font-family:Oswald,sans-serif;font-weight:700;color:var(--muted);z-index:2}
.stp .lbl{font-family:Oswald,sans-serif;font-weight:600;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);text-align:center}
.stp:not(:first-child)::before{content:"";position:absolute;top:20px;right:calc(50% + 22px);width:calc(100% - 44px);height:2px;background:var(--line)}
.stp.on .dot{background:var(--teal);border-color:var(--teal);color:#fff}
.stp.on .lbl{color:#1c2b28}
.stp.done .dot{background:var(--green);border-color:var(--green);color:#03211a}
.stp.selected .dot{background:#e7f4f1;border-color:var(--teal);color:var(--teal);box-shadow:inset 0 0 0 2px #fff}
.stp.selected .lbl{color:var(--teal)}
.step-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.formcard{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 26px rgba(0,0,0,.07);padding:26px 28px;max-width:620px;margin:0 auto 10px}
.formcard label{display:block;font-family:Oswald,sans-serif;font-weight:600;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:#1c2b28;margin:14px 0 6px}
.formcard input,.formcard select,.formcard textarea{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:6px;font-size:15px;font-family:inherit;background:#fff;box-sizing:border-box}
.formcard input:focus,.formcard select:focus,.formcard textarea:focus{outline:2px solid var(--teal);border-color:var(--teal)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.frow3{display:grid;grid-template-columns:1fr 1.2fr 1.2fr;gap:14px}
.chips{display:flex;gap:10px;flex-wrap:wrap}
.chipbtn{padding:10px 18px;border:1.5px solid var(--line);border-radius:999px;background:#fff;font-family:Oswald,sans-serif;font-weight:600;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;color:#1c2b28}
#contactpref .chipbtn{min-height:44px}
.chipbtn.on{background:var(--teal);border-color:var(--teal);color:#fff}
.chipbtn.off{opacity:.45;cursor:not-allowed;background:#f2f3f1;color:#9aa19d}
.fhelp{font-size:12.5px;color:var(--muted);margin-top:6px}
/* Keep the inspection date hint/error clear of the outward keyboard-focus ring. */
#road-trip-form #rt-date-help,#road-trip-form #e-day{margin-top:12px}
.fnav{display:flex;justify-content:space-between;gap:12px;margin-top:22px}
.contact-next-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px 18px}
.contact-method{min-width:0;max-width:100%}
.contact-next-row>.fnav{margin-top:0;margin-left:auto;max-width:100%}
.fback{background:#fff;border:1.5px solid var(--line);border-radius:4px;padding:12px 20px;font-family:Oswald,sans-serif;font-weight:600;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;color:#1c2b28}
.ferr{color:var(--red);font-size:12.5px;margin-top:5px;display:none}
.fnav .btn.gate{background:#c3c9c6;color:#39413d;transition:background .15s ease,color .15s ease}
.fnav .btn.gate.ready{background:var(--green);color:#03211a}
.bad{border-color:var(--red) !important}
.pane{display:none}
.pane.on{display:block}
.sumbox{background:#f4f3e7;border:1px solid var(--line);border-radius:10px;padding:16px 18px;font-size:14.5px;line-height:1.7;margin:6px 0 16px}
.assure{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:820px;margin:30px auto 36px}
.assure b{display:block;margin-bottom:5px;font-size:15px}
.assure p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.55}
@media(max-width:700px){.stp{width:80px}.stp .lbl{font-size:10.5px}.frow,.frow3{grid-template-columns:1fr}.assure{grid-template-columns:1fr}}
