/* Funding Explorer (public pages). Built on hc-theme.css tokens: cream paper, navy, copper accents.
   Status chips never rely on color alone: each carries a symbol and words. */
.fx-chip { display: inline-flex; align-items: center; gap: .4em; padding: .2rem .65rem .2rem .45rem; border-radius: var(--r-pill); font-size: var(--fs-small); font-weight: 600; line-height: 1.35; border: 1px solid; white-space: normal; }
.fx-chip i { display: inline-grid; place-items: center; width: 1.2em; height: 1.2em; border-radius: 50%; font-style: normal; font-size: .8em; flex: none; color: #fff; }
.fx-ok { color: #3E5A2C; background: #EEF3E7; border-color: #B9CBA5; } .fx-ok i { background: #4F6B3A; } .fx-ok i::before { content: "\2713"; }
.fx-ask { color: #87461A; background: #FBEFE4; border-color: #E5BE9C; } .fx-ask i { background: #A5592A; } .fx-ask i::before { content: "?"; }
.fx-no { color: #8A2B1F; background: #F9EAE7; border-color: #E2B3AA; } .fx-no i { background: #8A2B1F; } .fx-no i::before { content: "\2715"; }
.fx-unk { color: #474D5C; background: #F2F4F7; border-color: #B5BDC8; border-style: dashed; } .fx-unk i { background: #6B7080; } .fx-unk i::before { content: "\2026"; }
.fx-chips { display: flex; flex-wrap: wrap; gap: .4rem; margin: .5rem 0; }
.fx-note { border-left: 4px solid var(--copper); }
.fx-cards { list-style: none; padding: 0; margin: 1rem 0 2rem; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.fx-card { background: var(--paper, #FFFFFF); border: 1px solid var(--line); border-radius: var(--r-3); padding: 1.1rem 1.2rem; display: flex; flex-direction: column; gap: .15rem; box-shadow: 0 1px 0 rgba(255,255,255,.6) inset, 0 6px 18px -14px rgba(27,42,65,.45); }
.fx-card h3 { font-family: var(--font-head); font-size: 1.15rem; line-height: 1.25; margin: 0; color: var(--navy); }
.fx-card p { margin: .2rem 0; font-size: var(--fs-small); }
.fx-feat { border-top: 4px solid var(--copper); }
.fx-meta { color: var(--muted, #5C6170); }
.fx-act { margin-top: auto !important; padding-top: .6rem; }
.btn.sm { min-height: 44px; padding: .5rem 1.05rem; font-size: var(--fs-small); }
.fx-filter { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .75rem 1rem; padding: 1rem; margin: 1rem 0; background: var(--stone); border-radius: var(--r-3); position: sticky; top: 0; z-index: 2; }
.fx-filter label { display: flex; flex-direction: column; gap: .25rem; font-weight: 600; font-size: var(--fs-small); color: var(--navy); }
.fx-filter select { min-height: 44px; padding: .4rem .6rem; border: 1px solid rgba(27,42,65,.35); border-radius: var(--r-1); background: #fff; font: inherit; color: var(--ink); min-width: 11rem; }
.fx-filter .fx-cb { flex-direction: row; align-items: center; min-height: 44px; gap: .5rem; }
.fx-filter input[type=checkbox] { width: 1.25rem; height: 1.25rem; accent-color: var(--navy); }
.fx-count { margin: 0 0 0 auto; font-size: var(--fs-small); color: var(--muted, #5C6170); align-self: center; }
.fx-state h2 { margin-top: 1.6rem; }
.fx-tbl { width: 100%; border-collapse: collapse; margin: .8rem 0 1.4rem; font-size: var(--fs-small); background: var(--paper, #FFFFFF); }
.fx-tbl th, .fx-tbl td { text-align: left; vertical-align: top; padding: .6rem .7rem; border-bottom: 1px solid var(--line); }
.fx-tbl thead th { background: var(--navy); color: var(--on-navy); font-weight: 600; }
.fx-tbl tbody th { font-weight: 600; color: var(--navy); }
.fx-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.fx-cats td:nth-child(2) { min-width: 11rem; }
.fx-ul { padding-left: 1.2rem; } .fx-ul li { margin: .35rem 0; }
.fx-src { font-size: .8em; text-decoration: none; white-space: nowrap; }
.fx-srcs { font-size: var(--fs-small); padding-left: 1.2rem; } .fx-srcs li { margin: .45rem 0; overflow-wrap: anywhere; }
.fx-srcs li:target { background: #FBEFE4; outline: 2px solid var(--copper); outline-offset: 2px; }
@media (max-width: 600px) {
  .fx-filter { position: static; } .fx-filter label, .fx-filter select { width: 100%; } .fx-count { margin: 0; }
  .fx-cats thead { display: none; } .fx-cats tr { display: block; border-bottom: 1px solid var(--line); padding: .5rem 0; } .fx-cats th, .fx-cats td { display: block; border: 0; padding: .2rem .5rem; }
}
@media print { .fx-filter, .cta, .masthead { display: none !important; } .fx-chip { border: 1px solid #000; } }

/* the finder (Oct 2026): pick a state, then the programs appear below */
.fx-finder { background: var(--navy); color: var(--on-navy); border-radius: var(--r-4); padding: 1.25rem 1.4rem 1rem; margin: 1.25rem 0 1.5rem; box-shadow: var(--sh-navy); background-image: radial-gradient(120% 90% at 100% 0, rgba(255,255,255,.07), transparent 60%); }
.fx-form { display: grid; grid-template-columns: minmax(0, 1.4fr) auto minmax(0, 1fr); gap: 1rem 1.25rem; align-items: end; }
.fx-form label { display: flex; flex-direction: column; gap: .35rem; font-weight: 650; font-size: var(--fs-small); color: var(--on-navy); }
.fx-form select { min-height: 48px; padding: .5rem .75rem; border-radius: var(--r-2); border: 1.5px solid rgba(255, 255, 255,.35); background: var(--ivory); color: var(--ink); font: inherit; font-size: 1rem; width: 100%; }
.fx-big select { min-height: 54px; font-size: 1.08rem; font-weight: 600; }
.fx-form select:focus-visible { outline: 3px solid var(--copper-soft); outline-offset: 2px; }
.fx-seg { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0; }
.fx-seg legend { font-weight: 650; font-size: var(--fs-small); margin-bottom: .35rem; padding: 0; color: var(--on-navy); }
.fx-seg label { flex-direction: row; align-items: center; gap: .45rem; min-height: 48px; padding: 0 .9rem; border: 1.5px solid rgba(255, 255, 255,.35); cursor: pointer; font-weight: 600; white-space: nowrap; }
.fx-seg label:first-of-type { border-radius: var(--r-pill) 0 0 var(--r-pill); } .fx-seg label:last-of-type { border-radius: 0 var(--r-pill) var(--r-pill) 0; border-left: 0; }
.fx-seg label:has(input:checked) { background: var(--ivory); color: var(--navy); border-color: var(--ivory); }
.fx-seg input { accent-color: var(--copper); width: 1.05rem; height: 1.05rem; margin: 0; }
.fx-seg label:focus-within { outline: 3px solid var(--copper-soft); outline-offset: 2px; }
.fx-quick { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin-top: .9rem; font-size: var(--fs-small); }
.fx-quick span { opacity: .85; margin-right: .2rem; }
.fx-pick { min-height: 36px; padding: .3rem .8rem; border-radius: var(--r-pill); border: 1px solid rgba(255, 255, 255,.4); background: transparent; color: var(--on-navy); font: inherit; font-weight: 600; cursor: pointer; }
.fx-pick:hover, .fx-pick:focus-visible { background: var(--copper); border-color: var(--copper); color: #fff; }
.fx-finder noscript a { color: var(--copper-soft); }
.fx-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; margin: .5rem 0 .8rem; }
.fx-tiles div { background: var(--paper, #FFFFFF); border: 1px solid var(--line); border-radius: var(--r-3); padding: .9rem 1rem; display: flex; flex-direction: column; }
.fx-tiles b { font-family: var(--font-head); font-size: 2rem; color: var(--navy); line-height: 1.1; }
.fx-tiles span { font-size: var(--fs-small); color: var(--muted, #5C6170); }
.fx-hint { font-size: var(--fs-small); }
.linkbtn { display: inline; text-align: left; background: none; border: 0; padding: 0; font: inherit; color: var(--copper-2, #93501F); text-decoration: underline; text-underline-offset: .18em; cursor: pointer; font-weight: 600; }
.fx-head { display: flex; justify-content: space-between; align-items: baseline; gap: .75rem; flex-wrap: wrap; margin: .5rem 0 0; }
.fx-head h2 { margin: 0; }
.fx-head .fx-count { margin: 0; }
.fx-more summary { cursor: pointer; font-size: var(--fs-small); font-weight: 600; color: var(--navy); min-height: 32px; display: flex; align-items: center; }
.fx-more p { font-size: var(--fs-small); margin: .3rem 0 0; }
.fx-list td { vertical-align: middle; }
.fx-how { margin: 1rem 0; } .fx-how summary { cursor: pointer; font-weight: 600; min-height: 40px; display: flex; align-items: center; }
@media (max-width: 760px) { .fx-form { grid-template-columns: 1fr; } .fx-seg label { flex: 1; justify-content: center; } .fx-tiles { grid-template-columns: 1fr; } .fx-tiles div { flex-direction: row; align-items: baseline; gap: .6rem; } .fx-tiles b { font-size: 1.5rem; } }
.fx-rows { list-style: none; padding: 0; margin: .5rem 0 1rem; border-top: 1px solid var(--line); }
.fx-rows li { display: grid; grid-template-columns: 3rem minmax(0, 1fr) auto auto; gap: .4rem .9rem; align-items: center; padding: .7rem 0; border-bottom: 1px solid var(--line); }
.fx-st { min-width: 44px; min-height: 44px; border-radius: 12px; border: 1.5px solid var(--navy); background: transparent; color: var(--navy); font: inherit; font-weight: 700; cursor: pointer; }
.fx-st:hover, .fx-st:focus-visible { background: var(--navy); color: var(--on-navy); }
.fx-rn { display: flex; flex-direction: column; min-width: 0; } .fx-rn span { font-size: var(--fs-small); color: var(--muted, #5C6170); }
.fx-rl { font-size: var(--fs-small); font-weight: 600; white-space: nowrap; }
@media (max-width: 640px) { .fx-rows li { grid-template-columns: 3rem minmax(0, 1fr); } .fx-rc, .fx-rl { grid-column: 2; } }
@media (max-width: 760px) {
  .fx-seg { display: grid; grid-template-columns: 1fr 1fr; }
  .fx-seg legend { grid-column: 1 / -1; }
  .fx-seg label { white-space: normal; text-align: left; font-size: .9rem; line-height: 1.2; padding: .4rem .7rem; justify-content: flex-start; }
  .fx-quick { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .4rem; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
  .fx-quick span, .fx-pick { flex: none; white-space: nowrap; }
}
/* funding tools (7 Oct 2026): tool links, checker, calculators, national page */
.fx-tools { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); margin: 1rem 0 1.5rem; }
.fx-tools a { display: flex; flex-direction: column; gap: .2rem; padding: .9rem 1rem; border: 1px solid var(--line); border-radius: var(--r-3); background: var(--paper, #FFFFFF); text-decoration: none; color: var(--ink); min-height: 44px; }
.fx-tools a b { color: var(--navy); font-family: var(--font-head); font-size: 1.05rem; }
.fx-tools a span { font-size: var(--fs-small); color: var(--muted, #5C6170); }
.fx-tools a:hover { border-color: var(--copper); }
.fx-ck { display: grid; gap: 1rem; margin: 1.2rem 0; padding: 1.1rem; background: var(--stone); border-radius: var(--r-3); }
.fx-ck fieldset { border: 0; margin: 0; padding: 0; display: grid; gap: .35rem; }
.fx-ck legend { font-weight: 600; color: var(--navy); margin-bottom: .35rem; }
.fx-ck fieldset > label { display: flex; align-items: flex-start; gap: .55rem; min-height: 44px; padding: .55rem .7rem; background: #fff; border: 1px solid rgba(27,42,65,.18); border-radius: var(--r-1); }
.fx-ck input[type=radio] { width: 1.2rem; height: 1.2rem; margin-top: .15rem; accent-color: var(--navy); flex: none; }
.fx-ck select, .fx-ck input[type=number], .fx-calc input, .fx-calc select { min-height: 44px; padding: .4rem .6rem; border: 1px solid rgba(27,42,65,.35); border-radius: var(--r-1); background: #fff; font: inherit; color: var(--ink); width: 100%; max-width: 22rem; box-sizing: border-box; }
.fx-ck .fx-big, .fx-row label { display: flex; flex-direction: column; gap: .3rem; font-weight: 600; color: var(--navy); }
.fx-row { display: flex; flex-wrap: wrap; gap: .8rem; }
.ck-why { list-style: none; padding: 0; margin: .4rem 0; display: grid; gap: .35rem; font-size: var(--fs-small); }
.ck-why li { padding-left: 1.4rem; position: relative; }
.ck-why li::before { position: absolute; left: 0; font-weight: 700; }
.ck-no::before { content: "\2715"; color: #8A2B1F; } .ck-look::before { content: "?"; color: #A5592A; } .ck-ok::before { content: "\2713"; color: #4F6B3A; }
details.ck-nomatch > summary { cursor: pointer; font-weight: 600; min-height: 44px; display: flex; align-items: center; color: var(--navy); }
.fx-calc { margin: 1.4rem 0; padding: 1.1rem 1.2rem; border: 1px solid var(--line); border-radius: var(--r-3); background: var(--paper, #FFFFFF); }
.fx-calc h2 { margin: 0 0 .2rem; font-size: 1.25rem; }
.fx-calc-in { display: grid; gap: .7rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); margin: .8rem 0; }
.fx-calc-in label { display: flex; flex-direction: column; gap: .3rem; font-weight: 600; font-size: var(--fs-small); color: var(--navy); }
.fx-calc-in label[hidden] { display: none; }
.fx-calc-out { font-weight: 600; color: var(--navy); background: #EEF3E7; border-left: 4px solid #4F6B3A; padding: .7rem .9rem; border-radius: var(--r-1); }
.fx-calc details, .fx-nat details { margin-top: .5rem; } .fx-calc summary, .fx-nat summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; font-weight: 600; color: var(--navy); }
.fx-jump { font-size: var(--fs-small); line-height: 2; }
.fx-nat { margin: 1.8rem 0; }
.fx-hsq { background: var(--stone); padding: .7rem .9rem; border-radius: var(--r-1); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.fx-ck .tiny { color: var(--ink); margin: 0; }
.fx-official { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; margin: .25rem 0 1rem; }
.fx-official b { margin-right: .2rem; }
.calc-err { font-weight: 600; color: #9B2C1F; font-size: var(--fs-small); }
.calc-err:empty { display: none; }
.fx-calc-in input[aria-invalid="true"] { border-color: #9B2C1F; outline: 2px solid #9B2C1F; outline-offset: 1px; }
.fx-calc-out.calc-hold { background: #FBEDEA; border-left-color: #9B2C1F; }
