/* Stable directory styles. Intentionally scoped to .spd-directory only. */
.spd-directory{--spd-blue:#2f66e8;--spd-ink:#16213d;--spd-muted:#64748b;--spd-border:#dbe3f0;--spd-bg:#f4f7fd;font-family:inherit;color:var(--spd-ink);max-width:1200px;margin:0 auto;font-size:15px;line-height:1.5}
.spd-directory *{box-sizing:border-box}
.spd-hero{background:#f1f5fd;padding:56px 58px 48px;margin-bottom:38px}
.spd-eyebrow{font-size:10px;letter-spacing:.18em;font-weight:800;color:var(--spd-blue);margin-bottom:10px}
.spd-hero h1{font-size:42px;line-height:1.08;margin:0 0 12px;color:var(--spd-ink)}
.spd-hero p{margin:0 0 28px;color:var(--spd-muted);max-width:820px}
.spd-search{display:grid;grid-template-columns:minmax(0,1fr) 300px 128px;border:1px solid var(--spd-border);border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 8px 25px rgba(31,55,90,.06)}
.spd-search-field{padding:14px 18px;border-right:1px solid var(--spd-border)}
.spd-search-field label{display:block;font-size:9px;letter-spacing:.16em;font-weight:800;color:#64748b;margin-bottom:7px}
.spd-search-field input,.spd-search-field select{width:100%;border:0;outline:0;background:transparent;font:inherit;color:#64748b;padding:0}
.spd-search button{border:0;background:var(--spd-blue);color:#fff;font:inherit;font-weight:700;cursor:pointer}
.spd-layout{display:grid;grid-template-columns:275px minmax(0,1fr);gap:34px;padding:0 18px 50px}
.spd-sidebar{border:1px solid var(--spd-border);border-radius:12px;background:#fff;padding:24px 20px;align-self:start}
.spd-filter-group{padding:0 0 20px;margin:0 0 20px;border-bottom:1px solid #e8edf5}
.spd-filter-group:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.spd-filter-group h3{text-transform:uppercase;font-size:11px;letter-spacing:.13em;margin:0 0 13px}
.spd-filter-group label{display:flex;gap:10px;align-items:flex-start;margin:10px 0;color:#5e6d85;cursor:pointer}
.spd-filter-group input{margin-top:4px;accent-color:var(--spd-blue)}
.spd-muted{opacity:.7}
.spd-main{min-width:0}
.spd-panel,.spd-help{border:1px solid var(--spd-border);border-radius:12px;background:#fff;padding:24px 28px;margin-bottom:18px}
.spd-panel h2,.spd-help h2{font-size:18px;margin:0 0 14px}
.spd-pills{display:flex;flex-wrap:wrap;gap:10px}
.spd-pills a{display:inline-flex;align-items:center;gap:4px;border:1px solid #d7e0ef;border-radius:999px;padding:9px 14px;text-decoration:none;color:#22304a;background:#fff}
.spd-pills a:hover,.spd-pills a.is-active{border-color:#6b9cff;color:var(--spd-blue);background:#f5f8ff}
.spd-pills small{font-size:11px;color:#7a879c}
.spd-help{background:#f4f7fd}
.spd-help p{color:#66758d;margin:0}
.spd-results-head{display:flex;justify-content:space-between;align-items:end;margin:30px 0 12px}
.spd-results-head h2{margin:0;font-size:24px}
.spd-results-head>span{color:#7b879a;font-size:12px}
.spd-card{display:grid;grid-template-columns:70px 1fr;gap:18px;border:1px solid var(--spd-border);border-radius:12px;background:#fff;padding:20px;margin-bottom:14px}
.spd-avatar{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e4edff;color:var(--spd-blue);font-weight:800;font-size:22px}
.spd-name{font-size:18px;margin:0 0 2px}
.spd-credentials{font-size:11px;font-weight:800;color:var(--spd-blue);margin-bottom:8px;text-transform:uppercase}
.spd-description{color:#68768b;margin:0 0 12px}
.spd-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}
.spd-tag{font-size:11px;background:#f2f5fa;border-radius:999px;padding:5px 9px;color:#4c5b71}
.spd-meta{display:flex;flex-wrap:wrap;gap:12px;color:#738097;font-size:11px;margin-bottom:10px}
.spd-link{color:var(--spd-blue);font-size:12px;font-weight:700;text-decoration:none}
.spd-empty{border:1px dashed var(--spd-border);border-radius:12px;padding:38px;text-align:center;display:flex;flex-direction:column;gap:5px}
.spd-empty span{color:#7a879c;font-size:13px}
@media(max-width:900px){.spd-layout{grid-template-columns:1fr}.spd-sidebar{order:2}.spd-search{grid-template-columns:1fr}.spd-search-field{border-right:0;border-bottom:1px solid var(--spd-border)}.spd-search button{min-height:52px}.spd-hero{padding:38px 28px}.spd-hero h1{font-size:34px}}
@media(max-width:600px){.spd-layout{padding-left:0;padding-right:0}.spd-card{grid-template-columns:1fr}.spd-hero{margin-left:-12px;margin-right:-12px}.spd-hero h1{font-size:30px}}

/* Search results: horizontal reference-style practitioner cards. */
.spd-directory .occ-search-results-grid{display:grid;grid-template-columns:1fr;gap:16px}
.spd-directory .occ-search-result-card{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:24px;padding:22px;border:1px solid #cfdcf0;border-radius:14px;background:#fff;box-shadow:0 2px 10px rgba(31,79,143,.035)}
.spd-directory .occ-search-result-main{display:grid;grid-template-columns:74px minmax(0,1fr);gap:20px;min-width:0}
.spd-directory .occ-search-result-avatar{width:74px;height:74px;border-radius:50%;background:#dfe9f8;color:#5d89ca;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:25px;font-weight:700}
.spd-directory .occ-search-result-avatar a{display:block;width:100%;height:100%}
.spd-directory .occ-search-result-avatar-img{display:block;width:100%;height:100%;object-fit:cover}
.spd-directory .occ-search-result-top{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:2px 0 5px}
.spd-directory .occ-search-result-top h3{margin:0;font-size:19px;line-height:1.25;color:#17213b;font-weight:700}
.spd-directory .occ-search-result-top h3 a{color:inherit;text-decoration:none}
.spd-directory .occ-search-result-top h3 a:hover{color:var(--spd-blue)}
.spd-directory .occ-search-badge{display:inline-flex;padding:5px 9px;border:1px solid #d8e3f3;border-radius:999px;background:#f7faff;color:#4f6380;font-size:11px;line-height:1;font-weight:600}
.spd-directory .occ-search-confirmed{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eaf7ef;color:#17833d;font-size:10px;line-height:1;font-weight:800;letter-spacing:.5px}
.spd-directory .occ-search-credential{color:#2865e6;font-size:12px;font-weight:800;line-height:1.4;text-transform:uppercase;letter-spacing:.2px}
.spd-directory .occ-search-description{margin:11px 0 10px;color:#66758c;font-size:14px;line-height:1.55;max-width:720px}
.spd-directory .occ-search-tags{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 12px}
.spd-directory .occ-search-tags span{display:inline-flex;padding:6px 10px;border-radius:999px;background:#f1f4f8;color:#44546c;font-size:11px;line-height:1.1}
.spd-directory .occ-search-meta{display:flex;flex-wrap:wrap;gap:14px;color:#718098;font-size:12px;line-height:1.4}
.spd-directory .occ-search-result-side{border:1px solid #dce5f2;border-radius:12px;padding:16px 14px;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:10px;min-width:0}
.spd-directory .occ-search-status{display:flex;align-items:center;gap:7px;padding:9px 11px;border-radius:999px;background:#eaf7ef;color:#17833d;font-size:11px;line-height:1.1;font-weight:800;letter-spacing:.3px}
.spd-directory .occ-search-status i{width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block;flex:0 0 7px}
.spd-directory .occ-search-status.waitlist{background:#fff5e9;color:#b75a08}
.spd-directory .occ-search-status.full{background:#f1f3f7;color:#26334c}
.spd-directory .occ-search-side-line{color:#69778e;font-size:12px;line-height:1.45}
.spd-directory .occ-search-contact,.spd-directory .occ-search-profile{display:flex;align-items:center;justify-content:center;min-height:36px;border-radius:8px;text-decoration:none;font-size:12px;font-weight:700}
.spd-directory .occ-search-contact{background:var(--spd-blue);color:#fff}
.spd-directory .occ-search-contact:hover{background:#2057d2;color:#fff}
.spd-directory .occ-search-profile{border:1px solid #dce5f2;background:#fff;color:#17213b}
.spd-directory .occ-search-profile:hover{border-color:#8fb0ed;color:var(--spd-blue)}
@media(max-width:760px){
  .spd-directory .occ-search-result-card{grid-template-columns:1fr;gap:16px}
  .spd-directory .occ-search-result-side{width:100%}
}
@media(max-width:560px){
  .spd-directory .occ-search-result-main{grid-template-columns:58px minmax(0,1fr);gap:14px}
  .spd-directory .occ-search-result-avatar{width:58px;height:58px}
  .spd-directory .occ-search-result-top h3{font-size:17px}
  .spd-directory .occ-search-meta{flex-direction:column;gap:6px}
}
