/* ================================================================
   READABILITY LAYER — Anthony Underwood Automotive
   ----------------------------------------------------------------
   Loaded after style.css. Our buyers skew older and are often
   reading on a phone in a driveway, so this layer only ever makes
   things larger, calmer or easier to hit. It never changes layout
   structure or class names.
   ================================================================ */

/* ── 1 · Prose measure and rhythm ─────────────────────────────── */
p, li, dd, blockquote { line-height: 1.7; }
.cx-open__lead, .cx-title__lead, .cx-head p { line-height: 1.62; }

/* Long prose never runs past a comfortable measure, whatever the
   container width happens to be. */
.cx-block p, .cx-prose p, .legal p, .cx-stage p { max-width: 74ch; }

/* ── 2 · Links in running text are underlined, not colour-only ── */
.cx-block p a, .cx-prose p a, .legal p a, .legal li a, main p a {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 2px;
}
/* …except where the element already carries its own rule. */
.btn, .cx-link, .cx-tags a, .cx-head__more, .cx-foot a,
.cta-band__phone, .cx-doc, .cx-index__item, .cx-back {
  text-decoration: none;
}

/* ── 3 · Tap targets ──────────────────────────────────────────── */
.btn, button, [role="button"], .nav-toggle,
.cx-rail__tel, .cx-rail__bartel, .cx-foot__tel {
  min-height: 48px;
}
.btn--sm { min-height: 44px; }
.cx-faq summary, .cx-index__item, .cx-tags a, .cx-foot nav a { min-height: 46px; }

/* ── 4 · Fields never below 16px — smaller than that and iOS
      zooms the whole page the moment the field is focused. ───── */
input, select, textarea { font-size: 17px; }
@media (max-width: 520px) { input, select, textarea { font-size: 16px; } }

/* Focus is unmistakable, including inside the dark bands. */
.cx-reg :focus-visible, .cta-band :focus-visible,
.cx-sec--dark :focus-visible, .cx-rail :focus-visible,
.cx-ask :focus-visible, .cx-sticky :focus-visible {
  outline-color: #F0B441;
}

/* ── 5 · Disabled and error states read as states, not decoration */
input:disabled, select:disabled, textarea:disabled, .btn:disabled {
  opacity: .55; cursor: not-allowed;
}
input:user-invalid, textarea:user-invalid {
  border-bottom-color: #A63A1C;
}

/* ── 6 · Respect the reader's own settings ────────────────────── */
@media (prefers-contrast: more) {
  :root { --ink-2: #2B362F; --ink-3: #3E4A43; --rule: #8E887C; --rule-2: #6E685E; }
  .btn { border-width: 2px; }
}
