/* Developer directory: shared blue accent for controls, editorial content and FAQ. */
body .directory-page--developer { --developer-accent: var(--color-info); --developer-soft: #eff6ff; --developer-surface: #fff; }
body .directory-page--developer [hidden] { display: none !important; }
body .directory-page--developer .cat-tool-card__desc { display: block; -webkit-line-clamp: unset; }
.developer-directory { padding: var(--space-5); margin-bottom: var(--space-5); background: var(--developer-surface); border: 1px solid var(--color-border); border-radius: var(--radius-xl); }
.developer-directory__search-row { display: flex; align-items: flex-end; gap: var(--space-4); }
.developer-directory__search { flex: 1; max-width: 38rem; min-width: 0; }
.developer-directory__search label { display: block; margin-bottom: var(--space-2); color: var(--color-text); font-size: var(--text-sm); font-weight: 650; }
.developer-directory__search input { width: 100%; min-height: 46px; padding: var(--space-3); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-bg); color: var(--color-text); font-family: var(--font-body); font-size: var(--text-base); }
.developer-directory__status { margin: 0 0 var(--space-3) auto; color: var(--color-text-secondary); font-size: var(--text-sm); white-space: nowrap; }
.developer-directory__filters { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-4); }
.developer-directory__filters button, .developer-directory__empty button { min-height: 42px; padding: var(--space-2) var(--space-3); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-bg); color: var(--color-text-secondary); font: inherit; font-size: var(--text-sm); cursor: pointer; }
.developer-directory__filters button span { margin-inline-start: var(--space-2); font-size: var(--text-xs); opacity: .8; }
.developer-directory__filters button[aria-pressed="true"] { border-color: var(--developer-accent); color: var(--developer-accent); background: var(--developer-soft); font-weight: 650; }
.developer-directory__empty { margin-top: var(--space-4); color: var(--color-text-secondary); }
.developer-directory__empty p { margin: 0 0 var(--space-3); }
body .directory-page--developer :is(.developer-directory, .cat-developer-content) :is(a, button, input):focus-visible { outline: 3px solid var(--developer-accent); outline-offset: 3px; }
.cat-developer-content { display: grid; gap: var(--space-4); margin: var(--space-6) 0 var(--space-8); }
body .directory-page--developer .cat-developer-content > .tool-editorial {
  --editorial-surface: var(--developer-surface); --editorial-subtle: var(--color-bg-secondary);
  --editorial-accent: var(--developer-accent); --editorial-link-bg: var(--developer-soft); --editorial-link-border: color-mix(in srgb, var(--developer-accent) 20%, var(--color-border));
  min-width: 0; margin: 0;
}
body .directory-page--developer .cat-developer-content .tool-editorial .tool-editorial__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body .directory-page--developer .cat-developer-content .tool-editorial .tool-editorial__grid > :last-child:nth-child(odd) { grid-column: auto; }
body .directory-page--developer .cat-developer-content .tool-editorial__table-wrap td p { margin: var(--space-2) 0 0; }
body .directory-page--developer .cat-developer-content__links { margin-top: var(--space-4); }
body .directory-page--developer .faq-section--category {
  --cat-hsl-override: var(--developer-accent); --faq-gradient: linear-gradient(135deg, var(--color-info), var(--color-info)); --color-primary: var(--color-info);
}
body .directory-page--developer .faq-section__heading-accent { color: var(--developer-accent); background: none; -webkit-text-fill-color: currentColor; }
body .directory-page--developer .faq-contact-btn:hover { color: var(--developer-accent); border-color: var(--developer-accent); box-shadow: 0 6px 16px color-mix(in srgb, var(--developer-accent) 13%, transparent); }
body .directory-page--developer .faq-contact-btn:active { box-shadow: 0 2px 7px color-mix(in srgb, var(--developer-accent) 10%, transparent); }
body .directory-page--developer .faq-support-cta { background: var(--developer-surface); border-color: color-mix(in srgb, var(--developer-accent) 20%, var(--color-border)); }
[data-theme="dark"] body .directory-page--developer { --developer-accent: #93c5fd; --developer-soft: #1e3155; --developer-surface: var(--color-bg-elevated); }
[data-theme="dark"] body .directory-page--developer .cat-developer-content > .tool-editorial {
  --editorial-surface: var(--developer-surface); --editorial-subtle: var(--color-bg-tertiary);
  --editorial-accent: var(--developer-accent); --editorial-link-bg: var(--developer-soft); --editorial-link-border: #38517e;
}
@media (max-width: 1000px) { body .directory-page--developer .cat-developer-content .tool-editorial .tool-editorial__grid { grid-template-columns: 1fr; } }
@media (max-width: 720px) {
  .developer-directory { padding: var(--space-4); }
  .developer-directory__search-row { display: block; }
  .developer-directory__status { margin: var(--space-3) 0 0; }
  .developer-directory__filters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: var(--space-2); }
  .developer-directory__filters button { flex: 0 0 auto; }
  body .directory-page--developer .cat-developer-content .tool-editorial > h2 { flex-wrap: wrap; }
}
@media (max-width: 480px) { body .directory-page--developer .cat-tools__grid { grid-template-columns: minmax(0, 1fr); } }
