/* Only this directory page. The established collection card rules are reused. */
.text-design-page .td-category-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin: 28px 0 40px;
}
.text-design-page .td-category { min-height: 232px; }
.text-design-page .td-section { margin-top: 36px; scroll-margin-top: 100px; }
.text-design-page #browse { scroll-margin-top: 100px; }
.text-design-page .td-section-heading {
  display: flex; justify-content: space-between; align-items: baseline;
  flex-wrap: wrap; gap: 8px 24px; margin-bottom: 20px;
  border-top: 1px solid #d4d9d3; padding-top: 24px;
}
.text-design-page .td-section-heading h2 { margin: 0; font-size: 24px; line-height: 1.3; }
.text-design-page .td-section-heading p { margin: 8px 0 0; color: #52616e; font-size: 15px; }
.text-design-page .td-section-heading > a {
  display: inline-flex; align-items: center; gap: 6px; min-height: 44px;
  color: #344b60; font-size: 14px; text-underline-offset: 3px;
}
.text-design-page .td-section-heading svg { width: 16px; height: 16px; flex: 0 0 16px; stroke-width: 1.8; }
.text-design-page .td-skip {
  position: fixed; top: 8px; left: 16px; z-index: 200; padding: 12px 18px;
  background: #fff; color: #1f2733; border: 2px solid; border-radius: 8px; transform: translateY(-180%);
}
.text-design-page .td-skip:focus { transform: none; }
@media (max-width: 1023px) {
  .text-design-page .td-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
  .text-design-page .td-category-grid { grid-template-columns: 1fr; gap: 18px; }
  .text-design-page .td-category { min-height: 0; }
}
