/* Ohio Community Resource Map */
.resource-page{background:#eef3f9}
.resource-help{background:#0d1b4a;color:#fff}
.resource-help a{color:#7ee8f5;font-weight:700;text-decoration:underline;text-underline-offset:3px}

.resource-hero{
  padding:72px 0 68px;
  color:#fff;
  background:
    radial-gradient(circle at 86% 16%,rgba(0,180,216,.28),transparent 28%),
    linear-gradient(125deg,#0d1b4a 0%,#1a2b6b 64%,#2146a6 100%);
}
.resource-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:56px;align-items:end}
.resource-hero h1{color:#fff;margin-top:14px;max-width:10ch}
.resource-hero .lead{color:#dce9f6;margin-top:20px;max-width:64ch}
.resource-proof{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}
.resource-proof div{padding:22px;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.resource-proof div:nth-child(2n){border-right:0}
.resource-proof div:nth-last-child(-n+2){border-bottom:0}
.resource-proof strong{display:block;color:#fff;font-family:'DM Sans',sans-serif;font-size:31px;line-height:1;margin-bottom:8px}
.resource-proof span{display:block;color:#c8d9eb;font-size:12px;line-height:1.45}

.map-section{padding:70px 0 82px}
.map-intro{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:28px}
.map-intro h2{margin-top:12px;max-width:18ch}
.map-intro>p{max-width:54ch;font-size:14px}
.map-app{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:22px}
.resource-filters{display:grid;grid-template-columns:minmax(260px,1.7fr) minmax(180px,.7fr) auto;gap:12px;align-items:end}
.resource-filters label,.filter-label{display:block;font-family:'DM Sans',sans-serif;color:var(--navy);font-size:12px;font-weight:700;margin-bottom:7px}
.resource-filters input,.resource-filters select{width:100%;height:46px;border:1px solid #cbd8e6;background:#fff;color:var(--navy);padding:0 13px;font:inherit;border-radius:6px}
.resource-filters input:focus,.resource-filters select:focus{outline:3px solid rgba(0,180,216,.2);border-color:var(--teal)}
.filter-clear{height:46px;white-space:nowrap;border-radius:6px}
.filter-group{margin-top:20px}
.filter-pills{display:flex;flex-wrap:wrap;gap:8px}
.filter-pills button{border:1px solid #cbd8e6;background:#fff;color:var(--navy);font-family:'DM Sans',sans-serif;font-size:12px;font-weight:700;padding:8px 12px;border-radius:999px;cursor:pointer}
.filter-pills button:hover{border-color:var(--teal)}
.filter-pills button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.need-picker{margin-top:22px;border-top:1px solid var(--line);padding-top:20px}
.filter-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:14px}
.filter-title-row h3{font-size:17px;line-height:1.25;margin-top:4px}
.filter-title-row>span{font-size:11px;color:#687a96;text-align:right}
.filter-kicker{display:block;font-family:'DM Sans',sans-serif;font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.1em;color:var(--teal);font-weight:700}
.need-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.need-cards button{min-height:98px;border:1px solid #cbd8e6;border-top:4px solid #b9c7d9;background:#fff;color:var(--navy);padding:15px;text-align:left;cursor:pointer;border-radius:5px;transition:border-color .16s ease,transform .16s ease,background .16s ease}
.need-cards button:hover{border-color:var(--teal);transform:translateY(-1px)}
.need-cards button[aria-pressed="true"]{border-color:var(--teal);border-top-color:var(--teal);background:#eefbfc;box-shadow:inset 0 0 0 1px var(--teal)}
.need-cards strong,.need-cards span{display:block}
.need-cards strong{font-family:'DM Sans',sans-serif;font-size:14px}
.need-cards span{font-size:11px;line-height:1.45;margin-top:5px;color:#60738f}
.need-card-all{grid-column:1/-1;min-height:0!important;padding:11px 15px!important;display:flex;align-items:center;gap:12px}
.need-card-all span{margin-top:0}
.match-panel{margin-top:16px;padding:20px;background:#f5f8fc;border:1px solid #d6e0ec}
.clinical-selects{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.clinical-selects label,.housing-filter-grid label{display:block;font-family:'DM Sans',sans-serif;color:var(--navy);font-size:12px;font-weight:700;margin-bottom:7px}
.clinical-selects select,.housing-filter-grid select{width:100%;height:46px;border:1px solid #cbd8e6;background:#fff;color:var(--navy);padding:0 13px;font:inherit;border-radius:6px}
.facet-group{margin-top:17px}
.advanced-filters{margin-top:18px;border-top:1px solid #d6e0ec;padding-top:14px}
.advanced-filters summary{width:max-content;max-width:100%;cursor:pointer;color:var(--blue);font-family:'DM Sans',sans-serif;font-size:12px;font-weight:700}
.advanced-filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:5px}
.housing-filter-grid{display:grid;grid-template-columns:minmax(190px,.4fr) minmax(0,1.6fr);gap:20px;align-items:start}
.housing-filter-grid .facet-group{margin-top:0}
.match-truth{margin-top:14px;padding:10px 12px;border-left:3px solid var(--teal);background:#eefbfc;color:#4b617f;font-size:11px;line-height:1.5}
.match-truth strong{color:var(--navy)}

.map-layout{display:grid;grid-template-columns:minmax(320px,.78fr) minmax(0,1.5fr);min-height:630px;margin-top:22px;border-top:1px solid var(--line)}
.resource-results{min-width:0;border-right:1px solid var(--line);padding:18px 18px 0 0;display:flex;flex-direction:column}
.results-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.results-head strong{display:block;color:var(--navy);font-family:'DM Sans',sans-serif;font-size:16px}
.results-head span{display:block;font-size:11px;line-height:1.45}
.results-tools{display:flex;align-items:center;gap:8px;flex:none}
.results-tools button{border:0;background:transparent;color:var(--blue);font-family:'DM Sans',sans-serif;font-size:10px;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:5px}
.source-freshness{white-space:nowrap;background:var(--mist);color:var(--blue);padding:5px 8px;border-radius:999px;font-weight:700}
.resource-list{overflow:auto;max-height:550px;padding-right:10px;scrollbar-color:#bdcadd transparent}
.resource-card{border-top:1px solid var(--line);padding:16px 4px 17px;cursor:pointer}
.resource-card:first-child{border-top:0}
.resource-card:hover,.resource-card.is-selected{background:#f4f8fc}
.resource-card:focus-within{outline:3px solid rgba(0,180,216,.18);outline-offset:-3px}
.resource-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.resource-card h3{font-size:16px;line-height:1.25;margin:0;max-width:none}
.resource-type{flex:none;font-family:'DM Sans',sans-serif;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--blue);background:#e7eef8;padding:4px 6px;border-radius:999px}
.resource-type--treatment{color:#6e3812;background:#ffe8cf}
.resource-type--house{color:#086a79;background:#dff8fb}
.resource-place{font-size:12px;margin-top:5px;color:#526686}
.resource-facts{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.resource-facts span{font-size:11px;color:var(--navy);border:1px solid var(--line);background:#fff;padding:4px 7px;border-radius:999px}
.treatment-capabilities{margin-top:11px}
.capability-row{display:grid;grid-template-columns:74px 1fr;gap:7px;align-items:start;margin-top:7px}
.capability-row>b{font-family:'DM Sans',sans-serif;font-size:10px;color:#657894;padding-top:5px}
.capability-row>div{display:flex;flex-wrap:wrap;gap:5px}
.capability-row span{font-size:10.5px;color:var(--navy);border:1px solid var(--line);background:#fff;padding:4px 7px;border-radius:999px}
.card-details{margin-top:9px}
.card-details summary{width:max-content;max-width:100%;cursor:pointer;color:var(--blue);font-family:'DM Sans',sans-serif;font-size:10.5px;font-weight:700}
.group-locations{margin-top:10px}
.house-rows{list-style:none;margin:8px 0 0;padding:0;border:1px solid var(--line);border-radius:6px;max-height:240px;overflow:auto;scrollbar-color:#bdcadd transparent}
.house-rows li{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;gap:8px;align-items:baseline;padding:8px 10px;border-top:1px solid var(--line);cursor:pointer;font-size:11px;color:#526686}
.house-rows li:first-child{border-top:0}
.house-rows li:hover,.house-rows li.is-selected{background:#eefbfc}
.house-rows li.is-selected{box-shadow:inset 3px 0 0 var(--teal)}
.house-rows b{font-family:'DM Sans',sans-serif;font-size:11.5px;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.house-rows span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.house-rows span:last-child{color:var(--navy);white-space:nowrap}
.unknown-note,.provider-note{font-size:10.5px;line-height:1.45;margin-top:9px;padding:8px 9px;background:#fff7e8;color:#765b2e}
.provider-note{background:#f3f7fb;color:#60738f}
.resource-source{font-size:10.5px;margin-top:10px;color:#687a96}
.resource-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}
.resource-actions a{font-family:'DM Sans',sans-serif;font-size:11px;font-weight:700;color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.show-more{width:100%;margin:12px 0 18px;border-radius:6px}

.map-wrap{position:relative;min-width:0;padding-left:18px}
#resourceMap{width:100%;height:630px;background:#dce6ef}
.map-key{position:absolute;z-index:500;left:34px;bottom:16px;display:flex;gap:12px;flex-wrap:wrap;background:rgba(255,255,255,.94);border:1px solid var(--line);box-shadow:var(--shadow-sm);padding:8px 10px;font-size:10px;color:var(--navy)}
.map-key span{display:flex;align-items:center;gap:5px}
.key-dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.key-house{background:#00b4d8}.key-treatment{background:#e87525}.key-board{background:#1a2b6b}.key-community{background:#2e4db0}
.resource-marker-shell{background:transparent;border:0}
.resource-marker{display:block;width:13px;height:13px;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 7px rgba(13,27,74,.42)}
.resource-marker--house{background:#00b4d8}
.resource-marker--treatment{background:#e87525}
.resource-marker--board{background:#1a2b6b}
.resource-marker--community{background:#2e4db0}
.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background:rgba(0,180,216,.25)}
.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{background:#1a2b6b;color:#fff;font-family:'DM Sans',sans-serif;font-weight:700}
.leaflet-popup-content-wrapper{border-radius:6px}
.map-popup{min-width:190px;color:#526686}
.map-popup strong{display:block;color:#1a2b6b;font-family:'DM Sans',sans-serif;font-size:14px;line-height:1.25;margin-bottom:4px}
.map-popup span{display:block;font-size:11px;line-height:1.45}
.map-popup button{margin-top:8px;border:0;background:#1a2b6b;color:#fff;padding:7px 9px;border-radius:5px;font-family:'DM Sans',sans-serif;font-size:11px;font-weight:700;cursor:pointer}
.map-error{padding:20px;color:var(--navy);background:#fff2d8}

.map-trust-section{padding:82px 0;background:#fff}
.trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.trust-grid h2{margin-top:12px;max-width:18ch}
.trust-grid .lead{margin-top:18px}
.trust-steps{border-top:1px solid var(--line)}
.trust-steps article{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}
.trust-steps article>span{font-family:'DM Sans',sans-serif;font-size:11px;font-weight:700;color:var(--teal)}
.trust-steps strong{display:block;color:var(--navy);font-family:'DM Sans',sans-serif;margin-bottom:3px}
.trust-steps p{font-size:13px}

.community-tools-section{padding:82px 0}
.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tool-grid article{background:#fff;border-top:4px solid var(--teal);padding:24px;box-shadow:var(--shadow-sm)}
.tool-grid article:nth-child(2n){border-color:var(--blue)}
.tool-grid article>span{font-family:'DM Sans',sans-serif;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--blue)}
.tool-grid h3{margin:10px 0 9px;font-size:19px}
.tool-grid p{font-size:13.5px}

.ghost-bridge-section{padding:70px 0;background:#0d1b4a;color:#d6e2f0}
.ghost-bridge{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center}
.ghost-bridge h2{color:#fff;margin-top:12px;max-width:22ch}
.ghost-bridge p{margin-top:18px;max-width:76ch}
.ghost-actions{display:flex;flex-direction:column;gap:10px;min-width:230px}
.ghost-actions .btn{width:100%}

.source-section{padding:40px 0;background:#fff}
.source-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.source-grid div{border-left:3px solid var(--teal);padding-left:14px}
.source-grid strong,.source-grid a,.source-grid span{display:block}
.source-grid strong{font-family:'DM Sans',sans-serif;color:var(--navy);font-size:12px}
.source-grid a{color:var(--blue);font-weight:700;font-size:13px;margin-top:3px}
.source-grid span{font-size:11px;margin-top:4px}

.suggest-dialog{width:min(720px,calc(100% - 28px));max-height:90vh;border:0;padding:0;background:#fff;color:var(--muted);box-shadow:0 28px 90px rgba(13,27,74,.35)}
.suggest-dialog::backdrop{background:rgba(13,27,74,.64);backdrop-filter:blur(3px)}
.suggest-dialog form{padding:26px}
.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.dialog-head h2{font-size:30px;margin-top:8px;max-width:none}
.dialog-close{border:1px solid var(--line);background:#fff;color:var(--navy);font-size:28px;line-height:1;width:42px;height:42px;border-radius:50%;cursor:pointer}
.suggest-dialog>form>p{font-size:13px;margin-top:12px}
.dialog-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}
.dialog-fields .full{grid-column:1/-1}
.dialog-fields label{display:block;font-family:'DM Sans',sans-serif;color:var(--navy);font-size:12px;font-weight:700;margin-bottom:6px}
.dialog-fields input,.dialog-fields select,.dialog-fields textarea{width:100%;border:1px solid #cbd8e6;background:#fff;color:var(--navy);font:inherit;padding:11px;border-radius:6px}
.dialog-fields input,.dialog-fields select{height:44px}
.dialog-status{min-height:22px;margin-top:12px;font-size:12px}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.site-footer button{appearance:none;background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer}
.site-footer button:hover{color:#fff}

@media(max-width:1020px){
  .resource-hero-grid{grid-template-columns:1fr;gap:34px}
  .resource-proof{max-width:680px}
  .resource-filters{grid-template-columns:1fr 1fr}
  .filter-search{grid-column:1/-1}
  .need-cards{grid-template-columns:1fr 1fr}
  .advanced-filter-grid{grid-template-columns:1fr}
  .map-layout{grid-template-columns:1fr;min-height:0}
  .map-wrap{order:1;padding:18px 0 0}
  .resource-results{order:2;border-right:0;padding:18px 0 0}
  #resourceMap{height:520px}
  .resource-list{max-height:none;overflow:visible;display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
  .map-key{left:16px}
  .tool-grid{grid-template-columns:1fr 1fr}
  .ghost-bridge{grid-template-columns:1fr}
  .ghost-actions{flex-direction:row;flex-wrap:wrap}
  .ghost-actions .btn{width:auto}
  .source-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:720px){
  .resource-hero{padding:58px 0}
  .resource-page .nav-links{flex-wrap:nowrap}
  .resource-page .nav-links a{flex:none;white-space:nowrap}
  .resource-proof{grid-template-columns:1fr 1fr}
  .resource-proof div{padding:17px}
  .resource-proof strong{font-size:25px}
  .map-section{padding:54px 0 64px}
  .map-intro{display:block}
  .map-intro>p{margin-top:16px}
  .map-app{padding:16px}
  .resource-filters{grid-template-columns:1fr}
  .filter-search{grid-column:auto}
  .filter-clear{width:100%}
  .filter-title-row{display:block}
  .filter-title-row>span{display:block;text-align:left;margin-top:5px}
  .need-cards,.clinical-selects,.housing-filter-grid{grid-template-columns:1fr}
  .need-card-all{display:block}
  .need-card-all span{margin-top:5px}
  .match-panel{padding:16px}
  #resourceMap{height:440px}
  .map-key{right:12px;left:12px;bottom:12px}
  .resource-list{grid-template-columns:1fr}
  .trust-grid{grid-template-columns:1fr;gap:36px}
  .tool-grid{grid-template-columns:1fr}
  .source-grid{grid-template-columns:1fr}
  .dialog-fields{grid-template-columns:1fr}
  .dialog-fields .full{grid-column:auto}
}

@media(max-width:460px){
  .resource-proof{grid-template-columns:1fr}
  .resource-proof div{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)!important}
  .resource-proof div:last-child{border-bottom:0!important}
  .results-head{display:block}
  .results-tools{margin-top:8px;justify-content:space-between}
  .source-freshness{display:inline-block!important;margin-top:8px}
  #resourceMap{height:390px}
  .ghost-actions{display:grid;grid-template-columns:1fr}
  .ghost-actions .btn{width:100%}
}
