.categories-section.categories-section--text { padding: 32px 0; }
.categories-section.categories-section--text .section-heading { margin-bottom: 22px; }
.category-buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.category-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 48px; max-width: 100%; padding: 12px 24px; border: 1px solid #e5e7eb; border-radius: 999px; background: #fff; color: #333; font-size: 1.5rem; font-weight: 600; line-height: 1.4; text-align: center; text-decoration: none; overflow-wrap: anywhere; transition: background .2s, border-color .2s, color .2s; }
.category-button:hover, .category-button[aria-current="page"] { background: var(--sn-brand); border-color: var(--sn-brand); color: #fff; text-decoration: none; }
.category-button:focus-visible { outline: 2px solid var(--sn-brand); outline-offset: 4px; }
.category-button-count { flex-shrink: 0; padding: 2px 8px; border-radius: 999px; background: #f3f4f6; color: #555; font-size: 1.2rem; }
.category-button:hover .category-button-count, .category-button[aria-current="page"] .category-button-count { background: rgba(255,255,255,.2); color: #fff; }
.cat-card.cat-card--text { display: flex; align-items: center; justify-content: center; min-height: 260px; background: var(--sn-soft, #faf7f5); border: 1px solid #e5e7eb; }
.cat-card--text::before { display: none; }
.cat-card--text .cat-card-content { position: static; text-align: center; }
.cat-card--text .cat-card-name, .cat-card--text .cat-card-cta { color: #333; }
.cat-card--text .cat-card-count { color: #777; }
@media (max-width: 768px) {
    .categories-section.categories-section--text { padding: 24px 0; }
    .category-buttons { gap: 10px; }
    .category-button { padding: 12px 18px; }
    .cat-card.cat-card--text { min-height: 200px; }
}
