/* v12.1 contrast repair — generated from measured WCAG failures */
.saved-toggle span { color: var(--ink); }
.search-field label { color: var(--ink); }
.filter-bar__actions button.btn { color: var(--ink); }
.header-tools button.saved-toggle { color: var(--ink); }
/* literal colours: local scopes can redefine the token names, so pin the verified values */
.pathway-steps span.step-number { color: #dbbb8e; }
.gallery-grid button.gallery-frame { color: #dbbb8e; }
.safety-lead { color: #dbbb8e; }
.cta-tile h3 { color: #dbbb8e; }
.footer-title { color: #dbbb8e; }
.community-card a { color: #dbbb8e; }
.verify-step-number { background: #dbbb8e; color: #14261a; }
.drawer .btn-ghost { color: var(--ink); border-color: var(--line); }
/* the dusk theme was retired for AA compliance; the toggle must not render */
.theme-toggle { display: none !important; }
/* header tool cluster must never overflow the tablet breakpoint */
@media (max-width: 900px) {
  .header-inner { flex-wrap: wrap; row-gap: 10px; }
  .header-tools { flex-wrap: wrap; justify-content: flex-start; row-gap: 8px; }
  .header-tools .btn, .header-tools button { flex: 0 0 auto; }
}
@media (max-width: 620px) {
  .header-tools { width: 100%; justify-content: space-between; }
}

/* sticky header + sticky filter bar must not mask content scrolled into view */
.gallery-section, .gallery-grid, .gallery-frame, #gallery,
.directory-section, .directory-grid, .provider-card,
.calendar-section, .event-card, .community-section, .community-card,
.pathway-section, .support-section, .safety-section {
  scroll-margin-top: calc(var(--header-h, 72px) + 120px);
}
