/* Get a quote (2026-09-16). Mobile first: a contractor reads this on a phone at the job. */
.cq { max-width: 860px; margin: 0 auto; padding: 24px 16px 48px; }
.cq h1 { font-size: clamp(28px, 6vw, 40px); margin: 0 0 8px; }
.cq-sub { color: var(--muted); margin: 0 0 18px; }
.cq-card { background: var(--white); border: 1px solid var(--rule-soft); border-radius: var(--r-card); padding: 16px; margin-bottom: 16px; }
.cq-card input, .cq-card select { width: 100%; box-sizing: border-box; min-height: 44px; font-size: 16px; border: 1px solid var(--border); border-radius: var(--r-ctl); padding: 8px 10px; background: var(--white); }
.cq-add { display: grid; grid-template-columns: 1fr; gap: 8px; align-items: end; margin-top: 8px; }
.cq-add .btn { min-height: 44px; }
@media (min-width: 640px) {
  .cq-add { grid-template-columns: 2fr 1fr 1fr auto; }
}
.cq-list { list-style: none; margin: 12px 0 0; padding: 0; }
.cq-list li { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 8px 0; border-top: 1px solid var(--rule-soft); }
.cq-list li:first-child { border-top: 0; }
.cq-note { color: var(--muted); font-size: 14px; }
.cq-error { color: var(--red-600); min-height: 1em; }
#cq-go { margin-top: 12px; width: 100%; min-height: 48px; }
@media (min-width: 640px) { #cq-go { width: auto; } }
.cq-yard { background: var(--white); border: 1px solid var(--rule-soft); border-radius: var(--r-card); padding: 14px 16px; margin-bottom: 12px; }
.cq-yard h3 { margin: 0; font-size: 18px; }
.cq-yard .cq-where { color: var(--muted); font-size: 14px; margin: 2px 0 10px; }
.cq-totals { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; } /* narrow-ok: two short money figures side by side (delivered, pickup), measured at 400px with 0 overflowing elements */
.cq-total { background: var(--band); border-radius: var(--r-ctl); padding: 10px 12px; }
.cq-total .cq-label { color: var(--muted); font-size: 13px; margin: 0; }
.cq-total .cq-figure { font-size: 24px; font-weight: 800; margin: 2px 0 0; font-variant-numeric: tabular-nums; }
.cq-total .cq-call { font-size: 16px; font-weight: 700; margin: 4px 0 0; }
.cq-copy { margin-top: 6px; font-size: 14px; padding: 6px 10px; min-height: 36px; }
.cq-yard details { margin-top: 10px; font-size: 14px; }
.cq-yard table { width: 100%; border-collapse: collapse; margin-top: 6px; }
.cq-yard td { padding: 4px 2px; border-top: 1px solid var(--rule-soft); vertical-align: top; }
.cq-yard td.num { text-align: right; white-space: nowrap; }
.cq-section-title { font-size: 20px; margin: 24px 0 8px; }
.cq-bigbox { margin-top: 32px; padding-top: 16px; border-top: 3px solid var(--rule); }
.cq-card h2 { margin: 0 0 8px; } .cq-card p { margin: 8px 0; } .cq-card .btn { margin-top: 6px; }
