/* find-district.css - "Find your district" box and result card (prefix fd-), shared by the registration and House hubs. */
.fd-form { margin: 0; max-width: 680px; }
.fd-label { display: block; font-family: var(--pc-sans); font-size: 13px; color: var(--pc-text-secondary); margin-bottom: 6px; }
.fd-row { display: flex; gap: 8px; }
.fd-input.pc-input { flex: 1 1 auto; min-width: 0; height: 40px; font-size: 14px; }
.fd-btn.pc-btn { height: 40px; padding: 0 16px; }
.fd-privacy { margin: 8px 0 0; max-width: 680px; }
.fd-result { max-width: 680px; margin-top: 12px; }
.fd-card { border: 1px solid var(--pc-border); background: var(--pc-surface); padding: 12px 14px; font-family: var(--pc-sans); font-size: 14px; color: var(--pc-text); }
.fd-card p { margin: 0; }
.fd-card-h { font-family: var(--pc-serif); font-size: 17px; font-weight: 700; margin: 0 0 6px; }
.fd-card-h + .fd-card-h, .fd-kv + .fd-card-h { margin-top: 12px; }
.fd-sub { color: var(--pc-text-secondary); margin: 0 0 8px !important; }
.fd-kv { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; padding: 5px 0; border-top: 1px solid var(--pc-border-light); line-height: 1.45; }
.fd-kv:first-child, .fd-card-h + .fd-kv { border-top: 0; }
.fd-kv > span { color: var(--pc-text-meta); font-size: 12px; min-width: 96px; }
.fd-kv small { color: var(--pc-text-meta); font-size: 12px; }
.fd-kv a { color: var(--pc-text); text-decoration: underline; text-underline-offset: 2px; }
.fd-m { display: inline-flex; align-items: center; gap: 5px; }
.fd-m .us-party-dot { background: var(--party-color, var(--pc-text-meta)); }
.fd-p-r { --party-color: var(--pc-party-rep); }
.fd-p-d { --party-color: var(--pc-party-dem); }
.fd-p-i { --party-color: var(--pc-party-usind); }
.fd-wait, .fd-hint { color: var(--pc-text-secondary); }
.fd-card-fail { border-color: var(--pc-text-meta); color: var(--pc-text-secondary); }
.fd-result[hidden] { display: none; }
@media (max-width: 600px) { .fd-kv > span { min-width: 100%; } }
