/* Interactive tools: return picker (home) and county listing check (town pages) */
.tool-section{background:var(--manila-light);border-block:1px solid var(--manila-line);padding-block:var(--section)}
.tool-layout{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,1.2rem + 3vw,4.5rem);align-items:start}
.tool-head h2{margin-bottom:.45em}
.tool-head p{max-width:46ch}
.tool-head .tool-note{font-size:var(--fs-small);color:var(--muted);margin-top:1.25rem}
.tool-card{background:#fff;border:1px solid var(--manila-line);border-top:4px solid var(--navy);border-radius:var(--radius);padding:clamp(1.25rem,.9rem + 1.6vw,2.25rem);box-shadow:0 18px 32px -26px rgba(8,40,61,.55)}
.tool-fieldset{border:0;padding:0;margin:0 0 1.6rem;min-width:0}
.tool-legend{display:block;padding:0;margin:0 0 .8rem;font-family:var(--serif);font-size:clamp(1.125rem,1.05rem + .3vw,1.3125rem);font-weight:560;color:var(--navy);line-height:1.3}
.chip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:.6rem}
.chip{display:flex;gap:.7rem;align-items:flex-start;min-height:44px;padding:.75rem .9rem;border:1px solid var(--control-line);border-radius:var(--radius);background:#fff;color:var(--ink);font-size:.9375rem;line-height:1.4;cursor:pointer;text-decoration:none;transition:border-color var(--ease),background-color var(--ease)}
.chip:hover{border-color:var(--navy)}
.chip input{flex:none;width:20px;height:20px;margin:.05rem 0 0;accent-color:var(--green)}
.chip:has(input:checked){border-color:var(--navy);background:var(--manila-light);box-shadow:inset 0 0 0 1px var(--navy)}
.chip:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}
.tool-select-label{display:block;margin:0 0 .45rem;color:var(--navy);font-weight:650;font-size:1rem;text-decoration:none}
.tool-select-wrap{position:relative;max-width:30rem}
.tool-select{appearance:none;-webkit-appearance:none;width:100%;min-height:48px;padding:.7rem 2.75rem .7rem .9rem;border:1px solid var(--control-line);border-radius:var(--radius);background:#fff;color:var(--ink);font:inherit;font-size:var(--fs-control);cursor:pointer}
.tool-select:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-color:var(--navy)}
.tool-select-wrap .icon-chevron{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--navy);pointer-events:none}
.tool-submit{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem}
.tool-submit .button{background:var(--navy);border-color:var(--navy);color:#fff}
.tool-submit .button:hover{background:var(--navy-deep);border-color:var(--navy-deep);color:#fff}
.tool-reset{background:none;border:0;padding:.5rem 0;font:inherit;font-size:.9375rem;color:var(--green);text-decoration:underline;text-underline-offset:.25em;cursor:pointer;min-height:44px}
.tool-results{margin-top:2rem;padding-top:1.75rem;border-top:2px solid var(--navy)}
.tool-results:focus{outline:none}
.tool-results h3{font-size:var(--fs-h3);margin:0 0 1rem}
.tool-results h4{font-family:var(--sans);font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase;font-weight:650;color:var(--green);margin:1.75rem 0 .75rem}
.result-forms{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.result-forms li{padding:.9rem 1rem;border:1px solid var(--line);border-left:3px solid var(--manila-deep);border-radius:var(--radius);background:#fff}
.result-forms strong{display:block;color:var(--navy);font-family:var(--serif);font-size:1.125rem;font-weight:560;line-height:1.3;margin-bottom:.2rem}
.result-forms p{margin:0;font-size:.9375rem;line-height:1.55}
.result-forms a{display:inline-block;margin-top:.35rem;font-size:.9375rem;font-weight:650;color:var(--green)}
.result-dates{list-style:none;margin:0;padding:0;border-top:1px solid var(--ledger)}
.result-dates li{display:grid;grid-template-columns:minmax(7.5rem,auto) 1fr;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--ledger);font-size:.9375rem;line-height:1.5}
.result-dates time{font-weight:700;color:var(--navy);white-space:nowrap}
.result-checklist{margin:0;padding-left:1.25rem;font-size:.9375rem;line-height:1.6}
.result-checklist li{margin-bottom:.35rem}
.result-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:1.75rem}
.result-actions .button{background:var(--navy);border-color:var(--navy);color:#fff}
.result-actions .button:hover{background:var(--navy-deep);border-color:var(--navy-deep);color:#fff}
.result-actions .text-link{font-weight:650;color:var(--green)}
.tool-fineprint{margin-top:1.25rem;font-size:var(--fs-small);color:var(--muted);line-height:1.55}

/* County listing check */
.county-tool{margin-top:1.25rem;padding:clamp(1.1rem,.9rem + 1vw,1.75rem);background:var(--manila-light);border:1px solid var(--manila-line);border-left:4px solid var(--navy);border-radius:var(--radius)}
.county-switch{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem;padding:0;list-style:none}
.county-switch button{min-height:44px;padding:.55rem 1rem;border:1px solid var(--navy);border-radius:var(--radius);background:#fff;color:var(--navy);font:inherit;font-size:.9375rem;font-weight:650;cursor:pointer}
.county-switch button[aria-pressed="true"]{background:var(--navy);color:#fff}
.county-switch button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.county-panel h3{font-size:clamp(1.25rem,1.15rem + .4vw,1.5rem);margin:0 0 .75rem}
.county-panel + .county-panel{margin-top:1.75rem;padding-top:1.75rem;border-top:1px solid var(--manila-line)}
.county-tool.is-enhanced .county-panel + .county-panel{margin-top:0;padding-top:0;border-top:0}
.county-facts{margin:0;display:grid;gap:.75rem}
.county-facts div{display:grid;grid-template-columns:minmax(8.5rem,auto) 1fr;gap:.25rem 1rem;padding-bottom:.75rem;border-bottom:1px solid var(--manila-line);font-size:.9375rem;line-height:1.55}
.county-facts dt{font-weight:700;color:var(--navy)}
.county-facts dd{margin:0}
.county-links{margin:1rem 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.9375rem;font-weight:650}
.county-links a{color:var(--green)}

@media (max-width:899px){.tool-layout{grid-template-columns:1fr}}
@media (max-width:520px){.result-dates li,.county-facts div{grid-template-columns:1fr;gap:.15rem}}
@media print{.tool-card form,.county-switch{display:none!important}.county-tool .county-panel[hidden]{display:block!important}}

.county-switch[hidden],.tool-results[hidden],.county-panel[hidden]{display:none!important}
