/* ==========================================================================
   mcc-quote.css — v7 three-step quote wizard (/contact only)

   Loaded only by application/modules/mcc/views/scripts/contact/index.phtml,
   driven by /mcc/js/mcc-quote.js. Builds on the v7 form styles in mcc.css /
   mcc-ui.css (.form .prog .field .inp .chips .row2 .cta .err .note) and adds
   only what the wizard needs.

   FAIL-SAFE RULE: nothing here hides content by default. Steps are hidden
   ONLY under form.qw.is-wizard, a class that mcc-quote.js adds once it has
   wired everything up. JS off / failing / blocked = one long form, every
   field visible, one submit button at the bottom.
   ========================================================================== */

/* Contrast fix: the white .form card sits inside section.dark, and
   mcc.css's `.dark h2` / `.dark .muted` (same in the v7 pack's site.css)
   paint on-dark colours onto the white card — near-invisible headings.
   Scoped here so it only touches /contact; worth folding into mcc.css. */
.dark .form h2{color:var(--ink)}
.dark .form .muted{color:var(--ink-3)}

/* fieldsets carry no browser chrome — the v7 look is the .form card */
.qw .qw-step{border:0;margin:0;padding:0;min-width:0}

/* JS-only controls ship with the `hidden` attribute; .cta / .btn set display,
   which would otherwise beat the browser's [hidden] rule */
.qw [hidden]{display:none!important}

/* no-JS: steps 2 and 3 get a quiet divider so the long form still reads as
   three parts */
.qw .qw-step + .qw-step{margin-top:36px;padding-top:30px;border-top:1px solid var(--rule)}

/* required marker, and the non-label caption above the attachments note */
.qw .qw-req{color:var(--orange);letter-spacing:0}
.qw .qw-fl{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--warm);margin-bottom:8px}

/* headings take focus on step change (tabindex=-1): keep a visible cue for
   keyboard users without a ring on every mouse click */
.qw .qw-h:focus{outline:0}
.qw .qw-h:focus-visible{outline:2px solid var(--orange);outline-offset:4px;border-radius:2px}

/* errored inputs */
.qw .inp[aria-invalid="true"]{border-color:#C0341A}

/* sticky header clearance when the wizard scrolls the card into view */
.qw,.qw .qw-h{scroll-margin-top:110px}

/* ── Enhanced (JS) state ─────────────────────────────────────────────── */
.qw.is-wizard .qw-step{display:none}
.qw.is-wizard .qw-step.is-current{display:block}
.qw.is-wizard .qw-step + .qw-step{margin-top:0;padding-top:0;border-top:0}
/* the shared aria-live label above says "Step n of 3 — …" in this state */
.qw.is-wizard .qw-steplbl{display:none}
.qw.is-wizard .qw-step .qw-h{margin-top:14px}

.qw .prog i{transition:background-color .25s ease}
.qw .qw-submit[disabled]{opacity:.6;cursor:progress}

@media (prefers-reduced-motion:reduce){
  .qw .prog i{transition:none}
}
