/* Category media is intentionally absent until a licensed edition is registered. */
.directory-page > .directory-category-index{
 margin-block:var(--space-panel) var(--space-heading);
}
.directory-category-index{display:flex;flex-direction:column;align-items:center;gap:var(--space-card)}
.directory-category-overview-grid{
 display:grid;
 grid-template-columns:repeat(12,minmax(0,1fr));
 gap:var(--space-card);
 width:100%;
}
.directory-category-control{
 display:flex;
 flex-direction:column;
 justify-content:space-between;
 min-width:0;
 min-height:64px;
 padding:var(--space-card);
 background:var(--color-directory-surface);
 color:var(--color-text);
 text-decoration:none;
}
.directory-category-control:hover{background-color:var(--color-control-hover)}
.directory-category-control:not(.has-media){justify-content:center}
.directory-category-control:focus-visible{outline:2px solid var(--color-action);outline-offset:3px}
.directory-category-control[aria-current]{background-color:var(--color-selected-surface);background-image:var(--texture-panel);background-size:100% 100%;background-repeat:no-repeat;color:var(--color-selected-text);text-decoration:none}
.directory-category-control[aria-current] .directory-category-count{color:inherit}
.directory-category-overview-grid>.directory-category-control{grid-column:span 3}
.directory-category-overview-grid>.directory-category-control:nth-child(5),
.directory-category-overview-grid>.directory-category-control:nth-child(6),
.directory-category-overview-grid>.directory-category-control:nth-child(7){grid-column:span 4}
.directory-category-photo{display:block;order:-1;margin:calc(var(--space-card) * -1) calc(var(--space-card) * -1) var(--space-card);overflow:hidden;background:var(--color-panel)}
.directory-category-photo picture,.directory-category-photo img{display:block;width:100%;height:100%;object-fit:cover}
.directory-category-control.has-media{padding-top:0}
.directory-category-control.has-media .directory-category-photo{aspect-ratio:8/5}
.directory-category-copy{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);text-align:center}
.directory-category-title{font:500 var(--text-summary)/1.25 var(--font-ui)}
.directory-category-count{color:var(--color-text-muted);font-size:var(--text-caption);font-variant-numeric:tabular-nums}
.directory-category-all{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding-inline:var(--space-sm);color:var(--color-text);font:500 var(--text-utility)/1.4 var(--font-ui);text-underline-offset:.2em}
.directory-category-all[aria-current]{color:var(--color-action-text)}
.directory-category-index--compact{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:var(--space-copy)}
.directory-category-index--compact .directory-category-control{
 display:inline-flex;
 flex:0 0 auto;
 flex-direction:row;
 align-items:center;
 min-height:44px;
 padding:var(--space-sm) var(--space-md);
 background:transparent;
 text-align:center;
}
.directory-category-index--compact .directory-category-copy{justify-content:center;gap:var(--space-sm)}
.directory-category-index--compact .directory-category-title{font-size:var(--text-utility)}
.directory-category-index--compact .directory-category-control[aria-current],.directory-category-index--compact .directory-category-all[aria-current]{background-color:var(--color-selected-surface);background-image:var(--texture-panel);background-size:100% 100%;background-repeat:no-repeat;color:var(--color-selected-text);text-decoration:none}

.directory-search-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  column-gap: var(--space-xl);
  padding-block: var(--space-lg);
  border-top: 0;
  border-bottom: 1px solid var(--color-border);
}
.directory-page .directory-controls { grid-column: 1 / -1; grid-template-columns:minmax(0,2fr) minmax(0,1.25fr) minmax(0,1fr) auto; margin: 0; }
.directory-page .directory-controls label,
.directory-fixed-location { color: var(--color-text-muted); }
.directory-fixed-location { display: grid; gap: var(--space-xs); align-content: end; min-height: 72px; font-size: var(--text-utility); }
.directory-fixed-location strong { color: var(--color-text); font: 500 var(--text-body)/1.4 var(--font-ui); }
.directory-page .result-count { grid-column: 1 / -1; margin: var(--space-md) 0 0; font-variant-numeric: tabular-nums; }
.directory-page .result-count { scroll-margin-top:8rem; }
.directory-page .pagination { margin-block:var(--space-heading) var(--space-section); }
.directory-page .provider-list { display:block; margin-block: var(--space-sm) 0; }
.directory-page .provider-card {
  gap: var(--space-card) var(--grid-editorial-gap);
  height:auto;
  padding-block:var(--space-card);
}
.directory-page .provider-card .provider-summary { max-width:70ch; }
.directory-page .empty-state { margin-block: var(--space-lg) var(--space-section); border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); background: var(--color-directory-surface); }
.directory-page .directory-locations { display: flex; flex-wrap: wrap; gap: var(--space-sm) var(--space-lg); }
.directory-page .directory-locations a { min-height: 44px; text-underline-offset: .2em; }
.directory-page .content-section { margin-block: var(--space-section); }
.directory-page .content-section > h2 { max-width: 24ch; }

.profile-page > .provider-meta { margin-block: var(--space-card) var(--space-panel); }
.profile-page .source-checked { display: inline-block; margin-inline-start: var(--space-md); }
.profile-page .profile-intro { padding-block: var(--space-md); border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.profile-page .profile-intro p { max-width: 66ch; font-size: var(--text-summary); line-height: 1.65; }
.profile-page .profile-details { background: var(--color-panel); }
.profile-page .profile-details > .text-link { display:inline-block; margin-top:var(--space-card); }
.profile-page .profile-details > h2 { margin: 0; font: 500 var(--text-summary)/1.35 var(--font-ui); }
.profile-page .profile-details .button { width: 100%; text-align: center; }
.profile-page .profile-details .caption { max-width: 38ch; line-height: 1.55; }

@media (max-width: 800px) {
  .directory-page .directory-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .directory-category-overview-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .directory-category-overview-grid>.directory-category-control,
  .directory-category-overview-grid>.directory-category-control:nth-child(n) { grid-column:span 1; }
  .directory-category-overview-grid>.directory-category-control:last-child { grid-column:1 / -1;display:flex;justify-content:center;align-items:center;padding:var(--space-card);gap:var(--space-card) }
  .directory-category-overview-grid>.directory-category-control:last-child .directory-category-photo{margin:0}
  .directory-page .provider-card { gap: var(--space-lg); }
}
@media (max-width: 560px) {
  .directory-page > .directory-category-index { margin-block: var(--space-lg) var(--space-xl); }
  .directory-category-overview-grid { grid-template-columns:1fr; }
  .directory-category-overview-grid>.directory-category-control:last-child { grid-column:auto;display:flex;padding:var(--space-card) }
  .directory-category-overview-grid>.directory-category-control:last-child .directory-category-photo{margin:0 calc(var(--space-card) * -1) var(--space-card)}
  .directory-category-control { min-height:0; }
  .directory-category-index--compact { gap:var(--space-xs) var(--space-copy); }
  .directory-category-index--compact .directory-category-control { padding-inline:var(--space-sm); }
  .directory-page .directory-controls { grid-template-columns: 1fr; }
  .directory-page .provider-card,
  .directory-page .provider-card.has-image { gap: var(--space-md); }
  .profile-page .source-checked { display: block; margin: var(--space-xs) 0 0; }
}

.profile-opening{margin-bottom:var(--space-section)}
.profile-opening--photo{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--grid-editorial-gap);align-items:center}
.profile-opening-copy{min-width:0}
.profile-opening .page-heading{margin-bottom:var(--space-card)}
.profile-opening .provider-meta{margin:0;line-height:1.6}
.profile-opening>.profile-photo{width:100%;max-width:none;margin:0}
.profile-opening>.profile-photo img{width:100%;aspect-ratio:8/5;object-fit:cover}
.profile-page .profile-layout{margin-top:0}
.profile-layout>article>.content-section:first-child{margin-top:0}
.profile-details .fact-list{margin-top:var(--space-card)}
@media(max-width:700px){.profile-opening--photo{grid-template-columns:minmax(0,1fr)}.profile-opening .source-checked{display:block;margin-inline-start:0;margin-top:var(--space-copy)}}
.directory-topic-nav{display:flex;flex-wrap:wrap;gap:var(--space-copy);margin-block:var(--space-card) var(--space-panel)}
.directory-topic-nav a{padding:.5rem .75rem;border:1px solid var(--color-border);background:var(--color-control-white);font:500 var(--text-utility)/1.4 var(--font-ui);text-decoration:none}
.directory-topic-nav a[aria-current="page"]{background-color:var(--color-action);background-image:var(--texture-panel);background-size:100% 100%;background-repeat:no-repeat;border-color:var(--color-action);color:var(--color-action-label)}
