@charset "UTF-8";

.directory-page--utility [hidden] { display: none !important; }
.directory-page--utility { --utility-editorial-accent: #2563eb; }

/* The FAQ shares the same blue accent as the editorial links. */
.directory-page--utility .faq-section--category {
  --cat-hsl-override: var(--utility-editorial-accent);
  --faq-gradient: linear-gradient(135deg, #2563eb, #2563eb);
  --color-primary: var(--utility-editorial-accent);
}
.directory-page--utility .faq-section__heading-accent {
  color: var(--cat-hsl-override);
  background: none;
  -webkit-text-fill-color: currentColor;
}
.directory-page--utility .faq-contact-btn:hover {
  color: var(--cat-hsl-override);
  border-color: color-mix(in srgb, var(--cat-hsl-override) 30%, var(--color-border));
  box-shadow: 0 6px 16px color-mix(in srgb, var(--cat-hsl-override) 13%, transparent);
}
.directory-page--utility .faq-contact-btn:active {
  box-shadow: 0 2px 7px color-mix(in srgb, var(--cat-hsl-override) 10%, transparent);
}
.directory-page--utility .faq-support-cta {
  background: color-mix(in srgb, var(--cat-hsl-override) 5%, var(--color-bg));
}
[data-theme="dark"] .directory-page--utility { --utility-editorial-accent: #a8c7ff; }
[data-theme="dark"] .directory-page--utility .faq-support-cta {
  background: color-mix(in srgb, var(--cat-hsl-override) 7%, var(--color-bg-secondary));
  border-color: color-mix(in srgb, var(--cat-hsl-override) 20%, var(--color-border));
}

/* Match the compact editorial cards and links used by the Text directory. */
.directory-page--utility .cat-utility-content {
  --editorial-surface: #fff;
  --editorial-accent: var(--utility-editorial-accent);
  --editorial-link-bg: #eff6ff;
  --editorial-link-border: #dbeafe;
  min-width: 0;
  margin: var(--space-6) 0 var(--space-8);
  padding: clamp(1.1rem, 2.2vw, 1.65rem);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  background: var(--editorial-surface);
  box-shadow: 0 4px 18px -2px rgb(15 23 42 / .05);
  scroll-margin-top: 90px;
}

.cat-utility-content__heading { margin-bottom: var(--space-4); }
.cat-utility-content__heading h2 {
  margin: 0 0 var(--space-2);
  color: var(--color-text);
  font-size: clamp(1.18rem, 2vw, 1.36rem);
  font-weight: 750;
  line-height: 1.35;
  letter-spacing: -.015em;
}
.cat-utility-content__heading p {
  margin: 0;
  color: var(--color-text-secondary);
  font-size: var(--text-base);
  line-height: 1.65;
}
.cat-utility-content__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
}
.cat-utility-path {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-bg-secondary);
}
.cat-utility-path h3 {
  margin: 0 0 .4rem;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
}
.cat-utility-path__description {
  margin: 0 0 var(--space-3);
  color: var(--editorial-copy, var(--color-text-secondary));
  font-size: var(--text-base);
  line-height: 1.65;
}
.cat-utility-path__check {
  margin: 0 0 var(--space-3);
  color: var(--editorial-copy, var(--color-text-secondary));
  font-size: var(--text-sm);
  line-height: 1.55;
}
.cat-utility-path__check strong { color: var(--color-text); }
.cat-utility-path__links { margin: auto -.1rem -.15rem; }
.directory-page--utility .cat-utility-path__links a[href] {
  display: inline-block;
  max-width: 100%;
  margin: .15rem .1rem;
  padding: .3rem .65rem;
  border: 1px solid var(--editorial-link-border);
  border-radius: .5rem;
  background: var(--editorial-link-bg);
  color: var(--editorial-accent);
  font-size: .85rem;
  font-weight: 650;
  line-height: 1.4;
  text-decoration: none;
  vertical-align: middle;
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}
.cat-utility-path__links .tool-editorial__link-tail {
  display: inline-block;
  white-space: nowrap;
}
.directory-page--utility .cat-utility-path__links a[href]:has(> .tool-editorial__link-tail)::after {
  content: none;
  display: none;
}
.directory-page--utility .cat-utility-path__links a[href]::after,
.directory-page--utility .cat-utility-path__links .tool-editorial__link-tail::after {
  content: "";
  display: inline-block;
  width: .9em;
  height: .9em;
  margin-inline-start: .3rem;
  background: currentColor;
  vertical-align: -.1em;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10v-4M14 4h6m0 0v6m0-6L10 14'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10v-4M14 4h6m0 0v6m0-6L10 14'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: transform .18s ease;
}
.directory-page--utility .cat-utility-path__links a[href]:hover {
  border-color: var(--editorial-accent);
  background: color-mix(in srgb, var(--editorial-accent) 15%, var(--editorial-surface));
  transform: translateY(-1px);
}
.directory-page--utility .cat-utility-path__links a[href]:is(:hover, :focus-visible) > .tool-editorial__link-tail::after {
  transform: translate(2px, -2px);
}
.directory-page--utility .cat-utility-content a:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--editorial-accent) 30%, transparent);
  outline-offset: 2px;
}
[data-theme="dark"] .directory-page--utility .cat-utility-content {
  --editorial-copy: #cbd5e1;
  --editorial-surface: var(--color-bg-elevated);
  background: var(--color-bg-elevated);
  box-shadow: none;
}
[data-theme="dark"] .directory-page--utility .cat-utility-path { background: var(--color-bg-tertiary); }
[data-theme="dark"] .directory-page--utility .cat-utility-path__links a[href] {
  border-color: #38517e;
  background: #1e3155;
  color: #a8c7ff;
}
@media (prefers-reduced-motion: reduce) {
  .directory-page--utility .cat-utility-path__links a[href],
  .directory-page--utility .cat-utility-path__links .tool-editorial__link-tail::after { transition: none; }
}
@media (max-width: 720px) {
  .directory-page--utility .cat-utility-content {
    margin-top: var(--space-5);
    padding: var(--space-4);
    border-radius: var(--radius-lg);
  }
  .cat-utility-content__grid { grid-template-columns: minmax(0, 1fr); }
  .cat-utility-content__heading h2 { font-size: 1.13rem; }
  .cat-utility-content__heading p,
  .cat-utility-path__description { font-size: .94rem; }
}
