/* All Set — Quote Check widget (2026-07 refresh)
   Scoped under .as-qc / .as-qc-* ; reuses site :root variables from style.css.
   Color canon: cyan = informational accent, navy = general actions,
   orange = phone CTAs only, green = Book Online only (as-btn-book, global). */

.as-qc {
  margin-top: var(--space-md, 24px);
  /* CLS guard: reserve space before the JS mounts the first stage. */
  min-height: 360px;
}
@media (max-width: 768px) {
  .as-qc { min-height: 420px; }
}

/* ================= Hero (page shell) ================= */
.as-qc-hero__grid {
  display: grid;
  grid-template-areas:
    "copy start"
    "support start";
  grid-template-columns: minmax(0, 1fr) minmax(340px, 480px);
  column-gap: clamp(24px, 4vw, 72px);
  row-gap: 0;
  align-items: center;
  width: 100%;
  max-width: var(--container-max, 1600px);
  margin: 0 auto;
  padding: 0 var(--section-pad-x, clamp(16px, 5vw, 80px));
}
/* Beat .site-hero--centered .site-hero__content (align-items/text centering + 900px cap) */
.as-qc-hero .as-qc-hero__copy {
  grid-area: copy;
  text-align: left;
  align-items: flex-start;
  max-width: none;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
}
.as-qc-hero__copy .site-hero__summary { margin-left: 0; }
.as-qc-hero__support {
  grid-area: support;
  align-self: start;
  padding-bottom: clamp(28px, 3.5vw, 44px);
  text-align: left;
}

.as-qc-hero-benefits {
  list-style: none;
  padding: 0;
  margin: var(--space-sm, 16px) 0 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.as-qc-hero-benefits li {
  position: relative;
  padding-left: 26px;
  font-size: 16px;
  color: var(--text, #0F2340);
}
.as-qc-hero-benefits li::before {
  content: "\2713";
  position: absolute;
  left: 0;
  color: var(--accent-cyan, #2E9BC0);
  font-weight: 800;
}
.as-qc-hero-proof {
  margin-top: var(--space-sm, 16px);
  font-size: 14px;
  color: var(--text-muted, #3A5578);
}
.as-qc-stars { color: var(--accent, #EF6C21); letter-spacing: 2px; }
.as-qc-proof-sep { margin: 0 8px; color: var(--border-light, #E4EBF5); }
.as-qc-hero-phone {
  margin-top: 10px;
  font-size: 14px;
  color: var(--text-muted, #3A5578);
}
.as-qc-hero-phone a {
  color: var(--accent, #EF6C21);
  font-weight: 800;
  text-decoration: none;
}
.as-qc-hero-phone a:hover { color: var(--accent-hover, #D25F1D); }

/* "Start here" action card */
.as-qc-start {
  grid-area: start;
  background: var(--white, #fff);
  border: 1px solid var(--border-light, #E4EBF5);
  border-top: 4px solid var(--accent-cyan, #2E9BC0);
  border-radius: 12px;
  box-shadow: 0 12px 40px rgba(9, 24, 50, 0.10);
  padding: clamp(20px, 3vw, 32px);
  text-align: left;
}
.as-qc-start__kicker {
  display: inline-block;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--accent-text, #9A3412);
  background: #FFF4E8;
  border-radius: 999px;
  padding: 4px 12px;
  margin: 0 0 10px;
}
.as-qc-start__title {
  font-size: clamp(22px, 2.4vw, 28px);
  font-weight: 900;
  text-transform: uppercase;
  color: var(--dark-navy, #0F2340);
  margin: 0 0 6px;
}
.as-qc-start__sub {
  font-size: 14px;
  color: var(--text-muted, #3A5578);
  margin: 0 0 16px;
}
.as-qc-start-route {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  border: 1px solid var(--border-light, #E4EBF5);
  border-radius: 10px;
  background: var(--white, #fff);
  padding: 14px 16px;
  margin-bottom: 12px;
  text-decoration: none;
  transition: border-color .15s, background .15s, transform .15s;
}
.as-qc-start-route:hover,
.as-qc-start-route:focus-visible {
  border-color: var(--accent-cyan, #2E9BC0);
  background: var(--surface-cyan-pale, #EAF6FB);
  transform: translateY(-1px);
}
.as-qc-start-route--upload {
  border-color: var(--dark-navy, #0F2340);
  background: var(--dark-navy, #0F2340);
  box-shadow: 0 6px 18px rgba(15, 35, 64, .18);
}
.as-qc-start-route--upload:hover,
.as-qc-start-route--upload:focus-visible {
  border-color: var(--navy-light, #1B3A6B);
  background: var(--navy-light, #1B3A6B);
}
.as-qc-start-route--upload .as-qc-route__icon {
  background: var(--surface-cyan-mid, #DDEFF6);
  border-color: var(--surface-cyan-mid, #DDEFF6);
  color: var(--dark-navy, #0F2340);
}
.as-qc-start-route--upload .as-qc-route__copy strong { color: #fff; }
.as-qc-start-route--upload .as-qc-route__copy small { color: rgba(255, 255, 255, .78); }
.as-qc-start-route--upload .as-qc-route__badge {
  color: var(--dark-navy, #0F2340);
  background: #fff;
}
.as-qc-start__sample { display: inline-block; margin: 4px 0 8px; }
.as-qc-start__privacy {
  border-top: 1px solid var(--border-light, #E4EBF5);
  padding-top: 12px;
  margin: 8px 0 0;
  font-size: 13px;
  color: var(--text-muted, #3A5578);
}
.as-qc-start__privacy i { color: var(--accent-cyan, #2E9BC0); margin-right: 6px; }
.as-qc-start__privacy--primary {
  border-top: 0;
  padding-top: 0;
  margin: -2px 0 14px;
  line-height: 1.45;
}

/* Route pieces shared by the hero card and the widget intro stage */
.as-qc-route__icon {
  flex: none;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: var(--ice, #D6EEF8);
  border: 1px solid #BFE1EE;
  color: var(--accent-cyan-hover, #23809F);
  font-size: 18px;
}
.as-qc-route__copy { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.as-qc-route__copy strong { font-size: 16px; color: var(--dark-navy, #0F2340); }
.as-qc-route__copy small { font-size: 13px; color: var(--text-muted, #3A5578); }
.as-qc-route__badge {
  margin-left: auto;
  flex: none;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #fff;
  background: var(--dark-navy, #0F2340);
  border-radius: 999px;
  padding: 4px 10px;
}
.as-qc-route__arrow { margin-left: auto; color: var(--accent-cyan, #2E9BC0); font-weight: 800; }

/* ================= Multi-unit note (page shell) ================= */
.as-qc-multiunit-note {
  max-width: 1440px;
  margin: 0 auto var(--space-md, 24px);
  text-align: center;
  padding: 16px 18px;
  border-left: 4px solid var(--accent-cyan, #2E9BC0);
  border-radius: var(--radius, 6px);
  background: #FFF4E8;
  color: var(--navy, #091832);
  font-size: 15px;
  line-height: 1.6;
}
.as-qc-multiunit-note strong { color: var(--navy, #091832); }
.as-qc-multiunit-note a {
  color: var(--navy, #091832);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: var(--accent-cyan, #2E9BC0);
}
.as-qc-multiunit-note a:hover,
.as-qc-multiunit-note a:focus {
  color: var(--accent-cyan-hover, #23809F);
  text-decoration-color: var(--accent-cyan-hover, #23809F);
}

/* ================= Widget card ================= */
.as-qc-card {
  background: var(--white, #fff);
  border: 1px solid var(--border-light, #E4EBF5);
  border-radius: var(--radius, 6px);
  padding: var(--space-lg, 40px);
  box-shadow: 0 4px 20px rgba(9, 24, 50, 0.06);
  max-width: 1440px;
  margin: 0 auto;
}

/* ================= 3-step progress ================= */
.as-qc-steps {
  list-style: none;
  display: flex;
  gap: clamp(12px, 3vw, 40px);
  padding: 0;
  margin: 0 0 var(--space-md, 24px);
  border-bottom: 1px solid var(--border-light, #E4EBF5);
  padding-bottom: var(--space-sm, 16px);
}
.as-qc-step { display: flex; align-items: center; gap: 10px; opacity: .55; }
.as-qc-step.is-current, .as-qc-step.is-done { opacity: 1; }
.as-qc-step__num {
  flex: none;
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 2px solid var(--border-light, #E4EBF5);
  font-weight: 800;
  font-size: 14px;
  color: var(--text-muted, #3A5578);
  background: #fff;
}
.as-qc-step.is-current .as-qc-step__num {
  background: var(--accent-cyan, #2E9BC0);
  border-color: var(--accent-cyan, #2E9BC0);
  color: #fff;
}
.as-qc-step.is-done .as-qc-step__num {
  background: var(--surface-cyan-pale, #EAF6FB);
  border-color: var(--accent-cyan, #2E9BC0);
  color: var(--accent-cyan-hover, #23809F);
}
.as-qc-step__copy { display: flex; flex-direction: column; line-height: 1.2; }
.as-qc-step__copy strong { font-size: 14px; color: var(--dark-navy, #0F2340); }
.as-qc-step__copy small { font-size: 12px; color: var(--text-muted, #3A5578); }
.as-qc-step { opacity: 1; }
.as-qc-step:not(.is-current):not(.is-done) .as-qc-step__num,
.as-qc-step:not(.is-current) .as-qc-step__copy strong,
.as-qc-step:not(.is-current) .as-qc-step__copy small {
  color: #596579;
}

/* ================= Intro stage (route cards) ================= */
.as-qc-routes {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-md, 24px);
  margin-top: var(--space-sm, 16px);
}
.as-qc-route {
  position: relative;
  display: flex;
  align-items: center;
  text-align: left;
  gap: 16px;
  padding: 22px 20px;
  border: 2px dashed var(--border-light, #E4EBF5);
  border-radius: 10px;
  background: var(--light-bg, #F2F5FB);
  cursor: pointer;
  font: inherit;
  transition: border-color .15s, background .15s, transform .15s;
}
button.as-qc-route { border-style: solid; }
.as-qc-route:hover,
.as-qc-route:focus-within,
.as-qc-route:focus-visible,
.as-qc-route.is-drag {
  border-color: var(--accent-cyan, #2E9BC0);
  background: #fff;
  transform: translateY(-1px);
}
.as-qc-route--upload { border-color: #BFE1EE; }
.as-qc-route .as-qc-route__badge { position: absolute; top: -10px; right: 14px; }
.as-qc-intro-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm, 16px);
  margin-top: var(--space-md, 24px);
}
.as-qc-privacy { font-size: 13px; color: var(--text-muted, #3A5578); margin: 0; }
.as-qc-privacy i { color: var(--accent-cyan, #2E9BC0); margin-right: 6px; }

/* Visually hidden but keyboard-focusable file input */
.as-qc-file-input {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0);
  white-space: nowrap; border: 0;
}

.as-qc-link-btn {
  background: none;
  border: none;
  color: var(--accent-cyan-hover, #23809F);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  padding: var(--space-xs, 8px);
}
.as-qc-link-btn:hover { color: var(--dark-navy, #0F2340); text-decoration: none; }
.as-qc-link-btn:focus-visible { outline: 2px solid var(--accent-cyan, #2E9BC0); outline-offset: 2px; border-radius: 4px; }

/* ================= Headings / notes ================= */
.as-qc-heading {
  font-size: 22px;
  color: var(--navy, #091832);
  margin: 0 0 var(--space-xs, 8px);
  outline: none;
  width: fit-content;
}
.as-qc-heading:focus-visible { outline: 2px solid var(--accent-cyan, #2E9BC0); outline-offset: 4px; }
.as-qc-note, .as-qc-help { font-size: 13px; color: var(--text-muted, #3A5578); }
.as-qc-help { margin: 6px 0 0; }
.as-qc-alert {
  background: #FFF4E8;
  border: 1px solid var(--accent-cyan, #2E9BC0);
  border-radius: var(--radius, 6px);
  padding: var(--space-sm, 16px);
  color: var(--navy, #091832);
  font-size: 14px;
  margin-bottom: var(--space-md, 24px);
}
.as-qc-alert--sample {
  background: var(--surface-cyan-pale, #EAF6FB);
  border-color: var(--accent-cyan, #2E9BC0);
}
.as-qc-minimum-note {
  background: var(--surface-cyan-pale, #EAF6FB);
  border-radius: var(--radius, 6px);
  padding: 12px 16px;
  font-size: 14px;
  color: var(--text-muted, #3A5578);
  margin: 0 0 var(--space-md, 24px);
}
.as-qc-minimum-note strong { color: var(--dark-navy, #0F2340); }

/* ================= Form ================= */
.as-qc-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-md, 24px);
}
.as-qc-field { display: flex; flex-direction: column; gap: 6px; }
.as-qc-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs, 8px);
  font-weight: 700;
  font-size: 14px;
  color: var(--navy, #091832);
}
.as-qc-label-text { display: inline-flex; align-items: center; gap: 8px; }
.as-qc-chip {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  padding: 2px 8px;
  border-radius: 999px;
  background: #EEF1F6;
  color: #5A6B85;
}
.as-qc-chip--req {
  background: var(--ice, #D6EEF8);
  color: var(--accent-cyan-hover, #23809F);
}
.as-qc-input-wrap { display: flex; align-items: center; gap: 6px; }
.as-qc-input, .as-qc-select {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--border-light, #E4EBF5);
  border-radius: var(--radius, 6px);
  font: inherit;
  font-size: 16px; /* 16px avoids iOS zoom-on-focus */
  color: var(--text, #1a1a1a);
  background: #fff;
}
.as-qc-input:focus, .as-qc-select:focus {
  outline: none;
  border-color: var(--accent-cyan, #2E9BC0);
  box-shadow: 0 0 0 3px rgba(46, 155, 192, 0.18);
}
.as-qc-suffix { font-size: 14px; color: var(--text-muted, #3A5578); white-space: nowrap; }

/* Inline field errors */
.as-qc-field-error {
  margin: 2px 0 0;
  font-size: 13px;
  font-weight: 600;
  color: #B23A2E;
  min-height: 0;
}
.as-qc-field.has-error .as-qc-input,
.as-qc-field.has-error .as-qc-select {
  border-color: #B23A2E;
  box-shadow: 0 0 0 3px rgba(178, 58, 46, 0.12);
}

/* Optional inclusions disclosure */
.as-qc-details {
  margin-top: var(--space-md, 24px);
  border: 1px solid var(--border-light, #E4EBF5);
  border-radius: var(--radius, 6px);
  background: var(--light-bg, #F2F5FB);
}
.as-qc-details summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm, 16px);
  padding: 14px 18px;
  cursor: pointer;
}
.as-qc-details summary::-webkit-details-marker { display: none; }
.as-qc-details summary:focus-visible { outline: 2px solid var(--accent-cyan, #2E9BC0); outline-offset: 2px; border-radius: 6px; }
.as-qc-details-copy { display: flex; flex-direction: column; gap: 2px; }
.as-qc-details-copy strong { font-size: 15px; color: var(--dark-navy, #0F2340); }
.as-qc-details-copy small { font-size: 13px; color: var(--text-muted, #3A5578); }
.as-qc-details-mark { flex: none; font-weight: 800; color: var(--accent-cyan-hover, #23809F); }
.as-qc-details-mark::before { content: "+"; font-size: 20px; }
.as-qc-details[open] .as-qc-details-mark::before { content: "\2212"; }
.as-qc-details-grid { padding: 4px 18px 18px; }

/* ================= Status badges ================= */
.as-qc-badge {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .03em;
  padding: 2px 8px;
  border-radius: 999px;
  white-space: nowrap;
}
.as-qc-badge--confirmed { background: #E3F5E9; color: #1B7A43; }
.as-qc-badge--estimated { background: #FFF1DD; color: #9A5500; }
.as-qc-badge--notfound  { background: #EEF1F6; color: #5A6B85; }
.as-qc-badge--neutral   { background: var(--surface-cyan-pale, #EAF6FB); color: #3A5578; }

/* ================= Actions ================= */
.as-qc-actions, .as-qc-result-ctas {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-md, 24px);
  margin-top: var(--space-lg, 40px);
}
/* General-action submit: navy filled (orange stays phone-only, green stays Book-only). */
.as-qc-submit {
  cursor: pointer;
  font: inherit;
  font-weight: 800;
  font-size: 16px;
  color: #fff;
  background: var(--dark-navy, #0F2340);
  border: 2px solid var(--dark-navy, #0F2340);
  border-radius: var(--radius, 6px);
  padding: 12px 28px;
  transition: background .15s, border-color .15s;
}
.as-qc-submit:hover, .as-qc-submit:focus-visible {
  background: var(--navy, #091832);
  border-color: var(--navy, #091832);
}
.as-qc-submit:focus-visible { outline: 2px solid var(--accent-cyan, #2E9BC0); outline-offset: 2px; }

/* ================= Loading ================= */
.as-qc-loading { text-align: center; }
.as-qc-spinner {
  width: 36px; height: 36px;
  margin: 0 auto var(--space-sm, 16px);
  border: 3px solid var(--border-light, #E4EBF5);
  border-top-color: var(--accent-cyan, #2E9BC0);
  border-radius: 50%;
  animation: as-qc-spin .8s linear infinite;
}
@keyframes as-qc-spin { to { transform: rotate(360deg); } }

/* ================= Result: answer band ================= */
.as-qc-answer {
  background: var(--surface-cyan-pale, #EAF6FB);
  border-radius: 10px;
  padding: clamp(18px, 3vw, 28px);
  margin-bottom: var(--space-md, 24px);
}
.as-qc-answer__eyebrow {
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--accent-text, #9A3412);
  margin: 0 0 6px;
}
.as-qc-answer__headline {
  font-size: clamp(20px, 2.6vw, 28px);
  font-weight: 900;
  margin: 0 0 6px;
}
.as-qc-answer__support { font-size: 15px; color: var(--text-muted, #3A5578); margin: 0; }

/* ================= Result: price cards ================= */
.as-qc-price-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-md, 24px);
  margin: var(--space-md, 24px) 0;
}
.as-qc-price-card {
  border: 1px solid var(--border-light, #E4EBF5);
  border-radius: 10px;
  padding: 20px 22px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  background: #fff;
}
.as-qc-price-card p {
  margin: 0;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--text-muted, #3A5578);
}
.as-qc-price-card strong { font-size: clamp(24px, 3vw, 32px); color: var(--dark-navy, #0F2340); }
.as-qc-price-card span { font-size: 13px; color: var(--text-muted, #3A5578); }
.as-qc-price-card--allset {
  background: var(--surface-cyan-mid, #DDEFF6);
  border-color: var(--accent-cyan, #2E9BC0);
  border-left-width: 4px;
}
.as-qc-est-tag { font-weight: 400; font-size: 12px; color: var(--text-muted, #3A5578); }

/* ================= Result: inclusion detail rows ================= */
.as-qc-detail-list {
  display: flex;
  flex-direction: column;
  margin: var(--space-md, 24px) 0;
  border-top: 1px solid var(--border-light, #E4EBF5);
}
.as-qc-detail {
  display: grid;
  grid-template-columns: 1.1fr 1fr 1fr;
  gap: var(--space-sm, 16px);
  align-items: start;
  padding: 14px 0;
  border-bottom: 1px solid var(--border-light, #E4EBF5);
}
.as-qc-detail__label { font-size: 15px; color: var(--navy, #091832); }
.as-qc-detail__side { display: flex; flex-direction: column; gap: 2px; font-size: 14px; }
.as-qc-detail__side small {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--text-muted, #3A5578);
}
.as-qc-detail__side--allset small { color: var(--accent-cyan-hover, #23809F); }
.as-qc-detail__side--allset {
  background: var(--light-bg, #F2F5FB);
  border-radius: 6px;
  padding: 8px 10px;
}

.as-qc-inc { font-size: 14px; }
.as-qc-inc.is-yes { color: #1B7A43; font-weight: 600; }
.as-qc-inc.is-no { color: #B23A2E; }
.as-qc-inc.is-unknown { color: var(--text-muted, #3A5578); font-style: italic; }

.as-qc-honesty, .as-qc-disclaimer {
  font-size: 12px;
  color: var(--text-muted, #3A5578);
  margin-top: var(--space-sm, 16px);
  line-height: 1.5;
}

/* ================= Confidence meter ================= */
.as-qc-confidence {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: var(--space-md, 24px);
}
.as-qc-conf-label { font-weight: 700; font-size: 14px; color: var(--navy, #091832); }
.as-qc-conf-bar {
  display: block;
  height: 8px;
  background: var(--border-light, #E4EBF5);
  border-radius: 999px;
  overflow: hidden;
}
.as-qc-conf-fill { display: block; height: 100%; background: var(--accent-cyan, #2E9BC0); border-radius: 999px; }
.as-qc-conf-hint { font-size: 12px; color: var(--text-muted, #3A5578); }

/* ================= Result: next-step panel ================= */
.as-qc-next {
  margin-top: var(--space-lg, 40px);
  border: 1px solid var(--border-light, #E4EBF5);
  border-radius: 10px;
  background: var(--light-bg, #F2F5FB);
  padding: clamp(18px, 3vw, 28px);
}
.as-qc-next__copy h4 {
  font-size: 19px;
  color: var(--dark-navy, #0F2340);
  margin: 0 0 4px;
}
.as-qc-next__copy p { margin: 0; font-size: 14px; color: var(--text-muted, #3A5578); }
.as-qc-next .as-qc-result-ctas { margin-top: var(--space-md, 24px); }

/* ================= Responsive ================= */
@media (max-width: 900px) {
  .as-qc-hero__grid {
    grid-template-areas:
      "copy"
      "start"
      "support";
    grid-template-columns: 1fr;
    row-gap: 24px;
  }
  .as-qc-hero .as-qc-hero__copy { text-align: center; align-items: center; }
  .as-qc-hero__support { padding-bottom: clamp(28px, 3.5vw, 44px); text-align: center; }
  .as-qc-hero-benefits { align-items: flex-start; text-align: left; max-width: 420px; margin-left: auto; margin-right: auto; }
}
@media (max-width: 768px) {
  .as-qc-card { padding: var(--space-md, 24px); }
  .as-qc-grid, .as-qc-routes, .as-qc-price-cards { grid-template-columns: 1fr; }
  .as-qc-steps { gap: 10px; }
  .as-qc-step__copy small { display: none; }
  .as-qc-detail { grid-template-columns: 1fr; gap: 8px; }
  .as-qc-actions, .as-qc-result-ctas { gap: var(--space-sm, 16px); }
}
@media (max-width: 480px) {
  .as-qc-start-route { gap: 10px; padding: 12px; }
  .as-qc-start-route .as-qc-route__icon { width: 40px; height: 40px; }
  .as-qc-start-route .as-qc-route__copy strong { font-size: 15px; }
  .as-qc-start-route .as-qc-route__copy small { font-size: 12px; }
  .as-qc-start-route .as-qc-route__badge { font-size: 10px; padding: 3px 7px; }
}

@media (prefers-reduced-motion: reduce) {
  .as-qc-spinner { animation-duration: 2s; }
  .as-qc-route, .as-qc-start-route, .as-qc-submit { transition: none; }
}

/* Desktop escape hatch on the result panel: tel: links are inert on desktop
   browsers with no protocol handler, so a mailto: sibling and the plain,
   selectable number sit alongside the call button. */
.as-qc-cta-email {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.as-qc-next__dial {
  margin: var(--space-sm, 12px) 0 0;
  color: var(--text-muted, #5A6B82);
  font-size: 14px;
  line-height: 1.5;
}
