/* /finder — Unclaimed Money Finder. Builds on components.css + tokens.css; no new tokens. */
.finder-nav { display: none; }
.finder-hero h1 { max-width: 16ch; }

.finder-form { display: grid; gap: var(--space-xl); }
.finder-step { min-width: 0; margin: 0; padding: 0; border: 0; border-block-start: var(--rule-thin) solid var(--color-ink); padding-block-start: var(--space-md); }
.finder-step legend { float: left; inline-size: 100%; display: flex; gap: var(--space-xs); align-items: baseline; padding: 0; font-family: var(--font-display); font-size: clamp(1.35rem, 3.4vw, 1.9rem); font-weight: 700; line-height: 1.2; text-wrap: balance; }
.step-num { flex: 0 0 auto; display: inline-grid; place-items: center; inline-size: 2rem; block-size: 2rem; border-radius: 50%; background: var(--color-accent); color: var(--color-accent-ink); font-family: var(--font-mono); font-size: var(--text-sm); line-height: 1; transform: translateY(-0.15em); }
.finder-step > .field-help { clear: both; padding-block-start: var(--space-2xs); margin-block: 0 var(--space-md); }

.state-picker .field { max-width: 26rem; margin-block-end: var(--space-sm); }
.state-picker select { appearance: auto; }

.chips { display: flex; flex-wrap: wrap; gap: var(--space-2xs); margin: 0; padding: 0; list-style: none; }
.chips:empty { display: none; }
.chip { display: inline-flex; align-items: center; gap: var(--space-3xs); min-height: 2.75rem; padding-inline: var(--space-sm) var(--space-3xs); border: var(--rule-thin) solid var(--color-rule-2); border-radius: 999px; background: var(--color-paper-2); font-weight: 700; }
.chip button { display: inline-grid; place-items: center; min-width: 2.75rem; min-height: 2.75rem; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--color-ink); font-size: 1.25rem; line-height: 1; cursor: pointer; }

.situations { display: grid; gap: var(--space-2xs); }
.situation { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-xs); align-items: start; min-height: 3.25rem; padding: var(--space-sm); border: var(--rule-thin) solid var(--color-rule); border-radius: var(--radius-sm); background: var(--color-paper); cursor: pointer; transition: border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out); }
.situation input { inline-size: 1.25rem; block-size: 1.25rem; margin: 0.15rem 0 0; accent-color: var(--color-accent); }
.situation strong { display: block; font-weight: 750; line-height: 1.35; }
.situation span { display: block; color: var(--color-muted); font-size: var(--text-sm); line-height: 1.45; }
.situation:has(input:checked) { border-color: var(--color-accent); background: var(--color-paper-2); }
.situation:has(input:focus-visible) { outline: 2px solid var(--color-focus); outline-offset: 2px; }

.finder-submit { display: grid; gap: var(--space-2xs); justify-items: start; }

.results { background: var(--color-paper-2); }
.results .section-head h2:focus { outline: none; }
.free-note { margin-block-end: var(--space-xl); background: var(--color-paper); }

.checklist { counter-reset: step; margin: 0 0 var(--space-xl); padding: 0; list-style: none; border-block-start: var(--rule-thin) solid var(--color-ink); }
.check-group { padding-block: var(--space-md); border-block-end: var(--rule-thin) solid var(--color-rule); }
.check-group > h3 { margin-block-end: var(--space-2xs); font-size: clamp(1.25rem, 3vw, 1.6rem); }
.check-group > p { max-width: var(--measure); margin-block-end: var(--space-sm); color: var(--color-ink-2); }
.check-items { display: grid; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
.check-item { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-xs); padding: var(--space-sm); border: var(--rule-thin) solid var(--color-rule); border-radius: var(--radius-sm); background: var(--color-paper); }
.check-item input { inline-size: 1.25rem; block-size: 1.25rem; margin: 0.2rem 0 0; accent-color: var(--color-accent); }
.check-item a { font-weight: 750; color: var(--color-accent); overflow-wrap: anywhere; }
.check-item .who { display: block; color: var(--color-muted); font-size: var(--text-sm); }
.check-item p { margin: var(--space-3xs) 0 0; color: var(--color-ink-2); font-size: var(--text-sm); }
.check-item .why { color: var(--color-ink); }
.check-item:has(input:checked) a { text-decoration: line-through; color: var(--color-muted); }
.tag { display: block; inline-size: fit-content; margin-block: var(--space-3xs); padding: 0 var(--space-2xs); border: var(--rule-thin) solid var(--color-rule-2); border-radius: var(--radius-sm); color: var(--color-ink-2); font-size: var(--text-xs); font-weight: 700; white-space: nowrap; }
.tag--warn { border-color: var(--color-signal); }
.tips { margin: 0; padding-inline-start: 1.2rem; color: var(--color-ink-2); }
.tips li + li { margin-block-start: var(--space-2xs); }

.results-actions { margin-block-end: var(--space-xl); }
.found-steps { margin-block-end: var(--space-xl); }
.finder-email { max-width: 38rem; padding: clamp(1.25rem, 4vw, 2rem); border: var(--rule-thin) solid var(--color-rule-2); border-radius: var(--radius-md); background: var(--color-paper); }
.finder-email h3 { margin-block-end: var(--space-2xs); font-size: var(--text-xl); }
.finder-email > p { color: var(--color-ink-2); }
.verified-line { margin-block-start: var(--space-lg); max-width: var(--measure); }

@media (min-width: 40rem) {
  .situations { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 48rem) {
  .finder-nav { display: flex; }
}
@media (max-width: 30rem) {
  .finder-submit .action, .results-actions .action, .finder-email .action { width: 100%; }
}
@media print {
  .site-header, .site-footer, .finder-hero, #check, #questions, .no-print, .skip-link { display: none !important; }
  .results { display: block !important; background: none; padding: 0; }
  .check-item { break-inside: avoid; }
  .check-item a::after { content: " (" attr(href) ")"; font-weight: 400; color: var(--color-ink); }
  .check-item:has(input:checked) a { text-decoration: none; }
}
