/* CoveredDriver compact quote layout v1.
   Scoped to the quote document. No form handlers, external assets or fixed panels. */
body.compact-quote { --muted:#53627b; }
body.compact-quote > header {
  max-width:1040px; padding:10px 24px; gap:16px;
}
body.compact-quote > header > a:first-child {
  display:inline-flex; align-items:center; min-height:44px;
}
body.compact-quote > header img { width:130px; max-height:48px; height:auto; }
body.compact-quote .phone {
  display:flex; flex-direction:column; justify-content:center;
  min-height:44px; font-size:15px; line-height:1.45; white-space:normal;
}
body.compact-quote .phone small { font-size:11px; margin-bottom:1px; line-height:1.4; }
body.compact-quote .preview {
  padding:6px 16px; font-size:12px; line-height:1.5; color:#47617c;
}
body.compact-quote .welcome { padding:9px 20px; }
body.compact-quote .welcome h1 {
  margin:0; font-size:20px; line-height:1.3; letter-spacing:-.02em;
}
body.compact-quote > nav ol { max-width:720px; padding:0 24px; gap:12px; }
body.compact-quote > nav li { padding:10px 0; font-size:13px; gap:7px; }
body.compact-quote > nav li span {
  width:22px; height:22px; flex:0 0 22px; font-size:11px;
}
body.compact-quote main#question {
  max-width:720px; margin:6px auto 36px; padding:0 24px; min-height:0;
}
body.compact-quote .formtop { margin-bottom:8px; min-height:44px; gap:12px; }
body.compact-quote .formtop button { min-width:64px; min-height:44px; padding:8px 4px; text-align:left; }
body.compact-quote #count { text-align:right; font-size:12px; }
body.compact-quote #fields h2 {
  font-size:clamp(24px,3vw,30px); line-height:1.22; margin:0 0 8px;
}
body.compact-quote #fields > .help {
  margin-bottom:12px; font-size:16px; line-height:1.55;
}
body.compact-quote .auto-advance-hint {
  margin:-2px 0 14px; font-size:13px; line-height:1.5;
}
body.compact-quote #fields label,
body.compact-quote #fields .legend { margin:12px 0 6px; }
body.compact-quote #fields input:not([type=checkbox]):not([type=hidden]),
body.compact-quote #fields select {
  min-height:52px; padding:13px 14px; font-size:16px;
}
body.compact-quote #fields .option {
  min-height:56px; padding:14px 16px; font-size:16px; line-height:1.4;
}
body.compact-quote #fields .option.chosen { padding:13px 15px; }
body.compact-quote #fields .options { gap:10px; }
body.compact-quote #makeGrid { margin-top:12px; }
body.compact-quote #fields .lookup-status {
  margin-top:8px; margin-bottom:12px; font-size:14px; line-height:1.5;
}
body.compact-quote .model-tools { gap:8px; margin:12px 0 6px; }
body.compact-quote .model-sort label { margin:0; }
body.compact-quote #fields .model-sort select {
  min-height:44px; padding:9px 28px 9px 12px;
}
body.compact-quote #fields .order-note { font-size:13px; margin-bottom:8px; }
body.compact-quote .btn { margin-top:16px; min-height:52px; padding:14px 18px; }
body.compact-quote .record { margin:10px 0; padding:14px 16px; }
body.compact-quote .record p { margin-top:5px; line-height:1.55; }
body.compact-quote .reassure { margin-top:18px; }
body.compact-quote .older { margin-top:14px; }
body.compact-quote .older summary { min-height:44px; padding:11px 0; }
body.compact-quote .address-search { margin-top:12px; }
body.compact-quote .address-search-label { margin-bottom:6px; }
body.compact-quote #addressStatus { margin-bottom:12px; }
body.compact-quote .linkbtn { min-height:44px; }
body.compact-quote #fields .permissions .permission { margin:0; }
body.compact-quote > footer { padding:20px; }
/* No sticky header/footer: native scrolling and the on-screen keyboard remain free. */
@media(max-width:600px) {
  body.compact-quote > header { padding:8px 16px; gap:12px; }
  body.compact-quote > header img { width:116px; }
  body.compact-quote .phone { font-size:13px; }
  body.compact-quote .phone small { font-size:11px; }
  body.compact-quote .preview { padding:6px 16px; font-size:12px; }
  body.compact-quote .welcome { padding:8px 16px; }
  body.compact-quote .welcome h1 { font-size:18px; line-height:1.35; }
  body.compact-quote > nav ol { gap:6px; padding:0 16px; }
  body.compact-quote > nav li { font-size:11px; gap:4px; padding:9px 0; }
  body.compact-quote > nav li span { width:20px; height:20px; flex-basis:20px; }
  body.compact-quote main#question { margin:4px auto 28px; padding:0 16px; }
  body.compact-quote .formtop { margin-bottom:6px; }
  body.compact-quote #fields h2 { font-size:26px; line-height:1.2; }
  body.compact-quote #fields > .help { font-size:15px; line-height:1.5; margin-bottom:10px; }
  body.compact-quote .auto-advance-hint { margin:0 0 12px; font-size:13px; }
  body.compact-quote #fields .option { min-height:58px; padding:13px 12px; }
  body.compact-quote #fields .option.chosen { padding:12px 11px; }
  body.compact-quote .record { padding:12px 14px; }
  body.compact-quote .row { grid-template-columns:minmax(0,1fr); gap:0; }
  body.compact-quote .model-sort { flex-wrap:wrap; }
}
@media(max-width:360px) {
  body.compact-quote > header { gap:8px; }
  body.compact-quote > header img { width:105px; }
  body.compact-quote .phone { font-size:12px; }
  body.compact-quote .phone small { font-size:10px; }
  body.compact-quote > nav li { font-size:10px; }
  body.compact-quote #fields h2 { font-size:24px; }
  body.compact-quote #fields .options { gap:8px; }
}
/* Optional art directions continue to work; none restores the large hero. */
html[data-style=editorial] body.compact-quote .welcome h1 { font-size:22px; }
html[data-style=editorial] body.compact-quote #fields h2 { font-size:30px; }
@media(max-width:600px) {
  html[data-style=editorial] body.compact-quote .welcome h1 { font-size:20px; }
  html[data-style=editorial] body.compact-quote #fields h2 { font-size:27px; }
}
