/* Consistent icon geometry; semantic text labels remain the accessible names. */
.portal-icon{display:inline-block;width:20px;height:20px;flex:none;vertical-align:-.2em;pointer-events:none;overflow:visible}
.option-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;min-width:28px;height:28px;color:var(--accent);line-height:1}
.option-icon .portal-icon{width:25px;height:25px}
.option-card[aria-pressed=true] .option-icon{color:var(--accent-dark)}
.stage-preview .option-icon{color:#946512}
.small-btn .portal-icon{width:15px;height:15px}
.chip .portal-icon{width:15px;height:15px;vertical-align:-.2em;margin-right:4px}
.featured-heading .portal-icon{width:19px;height:19px;fill:none}
.search-field .portal-icon{width:19px;height:19px;color:var(--muted)}
.no-icon .portal-icon{width:32px;height:32px}
.service-link .portal-icon{width:14px;height:14px;margin-left:3px}
@media(max-width:600px){.needs-grid .option-icon{display:flex;margin-bottom:6px}.option-icon .portal-icon{width:23px;height:23px}}
@media(forced-colors:active){.option-icon,.stage-preview .option-icon{color:ButtonText}}

.star-badge{display:inline-flex;align-items:center;gap:4px}.star-badge .portal-icon{width:12px;height:12px}

.family-label{display:block;font-size:11px;font-weight:600;margin:0 0 10px;color:var(--ink,#42513f)}
.catalogue-entry{margin:12px 0 0 12px;vertical-align:middle}
@media(max-width:680px){.catalogue-entry{display:block;margin:12px 0 0}}

.family-group{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.result-card .org-mark{position:static;display:block;margin-bottom:8px}.result-card h3{max-width:none;padding-right:0}
@media(max-width:900px){.family-group{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.family-group{grid-template-columns:1fr}}
