/* STM Catalog Styles — stm-catalog.css */
.stm-catalog-page { max-width: 1200px; margin: 0 auto; padding: var(--space-l); font-family: var(--font-family); }
.stm-catalog-hero { position: relative; padding: 48px 24px 56px; text-align: center; border-radius: 0; overflow: hidden; }
.stm-catalog-hero[data-stage="seed"] { background: linear-gradient(135deg, var(--seed-base) 0%, var(--seed-tint3) 100%); }
.stm-catalog-hero h1 { font: var(--font-page-title); color: white; margin: 0 0 8px; }
.stm-catalog-hero p { font: var(--font-body); color: rgba(255,255,255,0.9); margin: 0; }
.stm-catalog-filters { display: flex; gap: var(--space-m); margin: var(--space-l) 0; flex-wrap: wrap; }
.stm-search-input { flex: 1; min-width: 200px; padding: 10px 16px 10px 40px; border: 2px solid var(--stm-navy); border-radius: 12px; font-family: var(--font-family); }
.stm-filter-select { padding: 10px 16px; border: 2px solid var(--stm-navy); border-radius: 12px; font-family: var(--font-family); min-width: 160px; }
.stm-catalog-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 28px; }
.stm-catalog-card { position: relative; width: 100%; height: 525px; border-radius: var(--radius-catalog-card); border: 2px solid var(--stm-navy); overflow: hidden; cursor: pointer; display: flex; flex-direction: column; transition: var(--transition-lift); box-shadow: var(--shadow-rest); }
.stm-catalog-card:hover { transform: var(--catalog-hover-lift); box-shadow: 0 6px 20px rgba(0,0,0,0.12); }
.stm-catalog-card .top-panel { flex: 0 0 65%; display: flex; flex-direction: column; justify-content: space-between; padding: 18px 20px 20px; text-align: center; }
.stm-catalog-card .bottom-panel { flex: 0 0 35%; display: flex; flex-direction: column; justify-content: space-between; align-items: center; padding: 16px 20px 20px; position: relative; }
.stm-load-more { text-align: center; margin: var(--space-xl) 0; }
@media (max-width: 768px) { .stm-catalog-grid { grid-template-columns: 1fr; } }
