/* Homepage and report layout. Loaded after the legacy homepage styles. */
.hero { padding: 48px 24px 38px; min-height: 0; }
.hero h1 { font-size: clamp(28px, 3.2vw, 44px); line-height: 1.12; letter-spacing: -1.5px; max-width: 1050px; margin: 18px auto; }
.hero h1 em { font-style: normal; }
.hero .hero-sub { max-width: 620px; margin: 0 auto 24px; color: #b8b8b3; font-size: 17px; line-height: 1.55; }
.hero-label { color: #d6c25b; font: 500 11px/1.6 'DM Mono', monospace; letter-spacing: 1.4px; }
.hero .intent-toggle { display: flex; width: fit-content; margin: 0 auto 18px; }
.hero .intent-btn { min-height: 44px; min-width: 140px; font: 600 14px 'DM Sans', sans-serif; color: #c5c5c0; }
.hero .intent-btn.active { color: #111; }
.hero .search-wrap { max-width: 670px; width: 100%; margin: 0 auto; display: flex; overflow: hidden; border: 2px solid var(--yellow); }
.hero .search-left { flex: 1; min-width: 0; text-align: left; padding: 9px 18px; }
.search-left > label { display: block; color: #c5c5c0; font-size: 12px; margin-bottom: 3px; }
.hero #regInput { width: 100%; height: 43px; padding: 0; font-size: 22px; color: #fff; background: transparent; }
.hero #regInput::placeholder { color: #a5a5a0; font-size: 16px; letter-spacing: 1px; }
.hero #searchBtn { min-height: 64px; flex: 0 0 auto; padding: 16px 22px; width: auto; font: 700 15px 'DM Sans', sans-serif; }
.hero .search-error { min-height: 0; margin: 6px auto; }
.hero .search-error:empty { display: none; }
.check-scope { color: #b1b1ad; font: 400 13px/1.6 'DM Sans', sans-serif; margin: 14px auto 0; }
.hero .recent-searches { justify-content: center; margin: 14px auto 0; }
.home-proof { position: relative; max-width: 1120px; margin: 24px auto 70px; padding: 32px; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; border-top: 1px solid #333; }
.proof-intro h2 { font-size: clamp(25px, 3vw, 38px); line-height: 1.2; margin: 18px 0; }
.proof-intro p, .home-benefits p { color: #b8b8b3; font: 400 16px/1.65 'DM Sans', sans-serif; margin-bottom: 18px; }
.home-proof a, #results a { color: #ebd96a; text-underline-offset: 4px; }
.sample-report { border: 1px solid #414034; border-radius: 14px; background: #191a16; padding: 26px; }
.sample-label, .sample-evidence { display: block; color: #bebaa2; font: 12px/1.6 'DM Mono', monospace; }
.sample-report h3 { margin: 16px 0; font-size: 22px; }
.sample-report p { color: #c3c3ba; font-size: 15px; line-height: 1.6; margin: 12px 0; }
.sample-report strong { display: block; color: #f0eee0; }
.home-benefits { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3,1fr); gap: 32px; }
.home-benefits h3 { margin-bottom: 10px; font-size: 19px; }
.has-report #particleCanvas { opacity: .18; }
.has-report .home-proof { display: none; }
#results { width: calc(100% - 40px); max-width: 1100px; padding: 0 0 64px; scroll-margin-top: 24px; }
.results-header { align-items: flex-start; gap: 18px; }
.vehicle-name { font-size: 24px; margin-top: 16px; overflow-wrap: anywhere; }
.report-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.report-actions button { min-height: 44px; font: 600 13px 'DM Sans', sans-serif; color: #d0d0ca; }
.report-actions .share-btn { display: inline-flex; }
.report-note { color: #b3b3ad; font: 400 13px/1.6 'DM Sans', sans-serif; margin: 10px 0; }
.report-freshness { margin-bottom: 22px; }
.report-freshness a { display: inline-block; margin-left: 12px; }
#results .cards-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-bottom: 24px; }
#results .report-key-facts { grid-template-columns: repeat(4,minmax(0,1fr)); }
#results .card { padding: 20px; background: #181916; border: 1px solid #37382f; }
#results .card-label { color: #b7b7ae; font: 500 12px 'DM Sans', sans-serif; letter-spacing: .2px; }
#results .card-value { font: 600 20px/1.35 'DM Sans', sans-serif; overflow-wrap: anywhere; }
.report-section-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin: 30px 0 16px; }
.report-section-heading h2 { font-size: 25px; }
.report-section-heading span { color: #b7b7ae; font: 12px 'DM Mono', monospace; }
.findings-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(250px,1fr)); gap: 14px; }
.finding { border: 1px solid #363632; border-radius: 12px; padding: 22px; background: #161715; }
.finding-number { color: var(--yellow); font: 13px 'DM Mono', monospace; }
.finding h3 { font: 600 17px/1.5 'DM Sans', sans-serif; margin: 12px 0; }
.finding p { font: 400 15px/1.65 'DM Sans', sans-serif; color: #bdbdb5; }
.finding-action { margin-top: 18px; }
.finding-action strong { display: block; color: #f2f2e8; }
.evidence-links { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 4px 12px; }
.evidence-links a { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; }
.mot-history-section { scroll-margin-top: 24px; }
#results .mot-row { display: block; padding: 0; border-bottom: 1px solid #333; }
#results .mot-row summary { display: grid; grid-template-columns: 12px 125px 1fr auto; gap: 14px; align-items: center; padding: 20px; cursor: pointer; min-height: 64px; }
#results .mot-row summary::after { content: none; }
#results .mot-year, #results .mot-mileage { color: #c3c3bb; font-size: 13px; margin: 0; width: auto; }
#results .mot-details { font: 500 15px/1.5 'DM Sans', sans-serif; }
#results .mot-row .mot-items-list { display: block; padding: 0; margin: 0; }
.mot-test-body { padding: 0 24px 20px; }
#results .mot-item { color: #d0d0c8; line-height: 1.6; }
#results .mot-item strong { color: #e7d373; margin-right: 8px; }
.empty-history { padding: 24px; }
.vehicle-details { margin: 28px 0; }
.vehicle-details > summary, .variant-refinement > summary { cursor: pointer; min-height: 44px; padding: 12px 0; font: 600 17px 'DM Sans', sans-serif; }
.variant-refinement { margin: 20px 0; }
.variant-refinement input { max-width: 420px; display: block; margin: 10px 0; }
.variant-refinement label { display: block; }
#results .ai-summary-card { background: #171817; border: 1px solid #383a35; padding: 24px; }
#results .ai-summary-title { font-size: 22px; color: #f2f2ea; }
#results .ai-summary-opener { font: 500 17px/1.65 'DM Sans', sans-serif; }
#results .ai-section-label { color: #c8c8bd; font: 600 13px 'DM Sans', sans-serif; }
#results .ai-bullets li { color: #c7c7be; font: 400 16px/1.7 'DM Sans', sans-serif; }
#results .ai-summary-badge { color: #d3c477; }
#results .ai-chips { color: #b5b5ac; font: 13px/1.5 'DM Sans', sans-serif; }
#results .affiliate-mot-card { margin-top: 24px; }
@media(max-width: 760px) {
  .hero { padding: 32px 20px 28px; }
  .hero h1 { font-size: 30px; }
  .hero .hero-sub { font-size: 16px; }
  .hero .search-wrap { flex-direction: column; }
  .hero #searchBtn { width: 100%; min-height: 50px; }
  .home-proof { grid-template-columns: 1fr; padding: 24px 20px; gap: 28px; }
  .home-benefits { grid-template-columns: 1fr; gap: 22px; }
  #results .report-key-facts, #results .cards-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .findings-grid { grid-template-columns: 1fr; }
  .finding { padding: 20px; }
  .results-header { flex-direction: column; }
  #results .mot-row summary { grid-template-columns: 10px 1fr auto; gap: 8px; padding: 16px; }
  #results .mot-details { grid-column: 2 / -1; grid-row: 2; }
  .report-freshness a { margin-left: 0; display: block; padding: 8px 0; }
}
@media(max-width: 380px) {
  .hero h1 { font-size: 28px; letter-spacing: -.8px; }
  .hero .intent-btn { min-width: 120px; }
  #results .card { padding: 14px; }
  #results .card-value { font-size: 17px; }
  #results .ai-summary-header { flex-wrap: wrap; gap: 10px; }
}
