.mod-catalog-section { padding-block: 50px; scroll-margin-top: 32px; }
.mod-catalog-section h2 { margin-block: 22px; }
.mod-catalog-intro { color: var(--muted); max-width: 760px; font-size: 13px; line-height: 1.8; }
.mod-catalog-controls { display: flex; flex-wrap: wrap; align-items: end; gap: 16px; margin-top: 24px; }
.mod-catalog-field { display: grid; gap: 7px; font-size: 12px; font-weight: 650; min-width: 0; }
.mod-catalog-field:first-child { flex: 1 1 260px; }
.mod-catalog-field:last-child { flex: 0 1 230px; }
.mod-catalog-search, .mod-catalog-filter { width: 100%; min-width: 0; min-height: 46px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 2px; background: var(--surface); color: var(--ink); font: inherit; }
.mod-catalog-search::placeholder { color: var(--muted); opacity: 1; }
.mod-catalog-filter:focus-visible { outline: 3px solid var(--orange); outline-offset: 5px; }
.mod-catalog-count { margin-block: 18px 12px; color: var(--muted); font-family: var(--mono-font); font-size: 10px; }
.mod-catalog-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; padding: 0; margin: 0; list-style: none; }
.mod-catalog-card { min-width: 0; padding: 20px; border: 1px solid var(--line); background: var(--surface); border-radius: 2px; }
.mod-catalog-name { font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; }
.mod-catalog-name a { text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 4px; }
.mod-catalog-name a:hover { text-decoration-color: var(--green); }
.mod-catalog-tags { display: flex; flex-wrap: wrap; gap: 5px 12px; margin-top: 9px; color: var(--green); font-family: var(--mono-font); font-size: 9px; line-height: 1.7; }
.mod-catalog-description { margin-top: 12px; font-size: 12px; line-height: 1.8; color: var(--muted); }
.mod-catalog-empty { border: 1px dashed var(--line); padding: 24px; font-size: 13px; color: var(--muted); }
@media (max-width: 900px) { .mod-catalog-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) {
  .mod-catalog-list { grid-template-columns: minmax(0, 1fr); }
  .mod-catalog-field:last-child { flex-basis: 100%; }
  .mod-catalog-section { padding-block: 34px; }
}
