/* ==========================================================================
   Structured directories: conditions, medications, topics, people
   ========================================================================== */

.hp-directory { padding-block: var(--hp-space-lg) var(--hp-space-2xl); }
.hp-directory__search { display: flex; gap: var(--hp-space-2xs); flex-wrap: wrap; margin-bottom: var(--hp-space-md); }
.hp-directory__search .hp-input { flex: 1 1 260px; }
.hp-directory__group { margin-bottom: var(--hp-space-lg); }
.hp-directory__letter {
	font-family: var(--hp-font-display);
	font-size: var(--hp-text-2xl);
	padding-bottom: var(--hp-space-3xs);
	border-bottom: 2px solid var(--hp-color-text);
	margin-bottom: var(--hp-space-sm);
	scroll-margin-top: calc(var(--hp-header-height) + 16px);
}
.hp-directory__list { display: grid; gap: var(--hp-space-2xs) var(--hp-space-md); grid-template-columns: 1fr; }
@media (min-width: 640px) { .hp-directory__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .hp-directory__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.hp-directory__item a { display: block; padding: 0.4rem 0; font-size: var(--hp-text-sm); text-decoration: none; }
.hp-directory__item a:hover { color: var(--hp-color-primary-dark); text-decoration: underline; }
.hp-directory__item.is-hidden { display: none; }
.hp-directory__empty { padding: var(--hp-space-lg) 0; color: var(--hp-color-text-muted); }

.hp-entity-layout { display: grid; gap: var(--hp-space-xl); padding-block: var(--hp-space-md) var(--hp-space-2xl); }
@media (min-width: 1024px) { .hp-entity-layout { grid-template-columns: minmax(0, 1fr) 320px; gap: var(--hp-space-2xl); } }
.hp-entity__title { font-size: clamp(2rem, 4.5vw, 2.9rem); }
.hp-entity__section { margin-top: var(--hp-space-xl); }
.hp-entity__section h2 { font-size: var(--hp-text-2xl); padding-bottom: var(--hp-space-3xs); border-bottom: var(--hp-rule); margin-bottom: var(--hp-space-sm); scroll-margin-top: calc(var(--hp-header-height) + 24px); }
.hp-entity__section > div { max-width: 68ch; line-height: var(--hp-leading-relaxed); }
.hp-entity__section ul { padding-left: 1.25rem; display: grid; gap: var(--hp-space-3xs); }

.hp-people-grid { display: grid; gap: var(--hp-space-md); grid-template-columns: 1fr; }
@media (min-width: 640px) { .hp-people-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .hp-people-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.hp-people-card { display: flex; gap: var(--hp-space-sm); padding: var(--hp-space-sm); border: var(--hp-rule); border-radius: var(--hp-radius-md); height: 100%; }
.hp-people-card img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; background-color: var(--hp-color-surface-alt); }
