.catalog-intro { margin: 0 0 36px; padding: 24px; border: 1px solid #dededb; border-radius: 16px; background: #fff; color: #252525; }
.catalog-intro h2 { font-size: clamp(1.25rem, 3vw, 1.65rem); line-height: 1.3; margin: 0 0 12px; }
.catalog-intro p { line-height: 1.65; }
.catalog-controls { margin: 20px 0; }
.catalog-controls label { display: block; font-weight: 600; margin-bottom: 8px; }
.catalog-controls select { max-width: 100%; padding: 10px 12px; font: inherit; color: inherit; background: white; border: 1px solid #777; border-radius: 8px; }
.catalog-guides { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,220px),1fr)); gap: 16px; margin-top: 20px; }
.catalog-guides .card { min-width: 0; }
.catalog-guides h3 { font-size: 1.05rem; line-height: 1.4; margin: 10px 0; }
[data-catalog-kind][hidden], .catalog-controls[hidden], .catalog-empty[hidden] { display: none !important; }
.catalog-intro :focus-visible { outline: 3px solid #2459c4; outline-offset: 4px; }
@media(max-width: 400px) { .catalog-intro { padding: 16px; } }
.catalog-controls input { width: min(100%, 36rem); min-height: 44px; padding: 10px 12px; margin-bottom: 16px; font: inherit; border: 1px solid #777; border-radius: 8px; }
.catalog-controls select { min-height: 44px; margin-bottom: 16px; }
.catalog-status { font-weight: 600; }
.catalog-prerequisites { font-size: .9rem; }
