/* Catalog page styles */
.catalog-page { padding: 40px 0; }
.catalog-page .page-title { font-size: 28px; margin-bottom: 12px; }
.catalog-page p { margin-bottom: 24px; }

.catalog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
@media (max-width: 1024px) { .catalog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .catalog-grid { grid-template-columns: 1fr; } }

.catalog-card { border: 1px solid #e5e5e5; background: #fff; display: flex; flex-direction: column; }
.catalog-card__thumb { display: block; aspect-ratio: 16/9; background: #f7f7f7; position: relative; overflow: hidden; }
.catalog-card__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.catalog-card__thumb--placeholder { width: 100%; height: 100%; display: grid; place-items: center; color: #c00; font-size: 48px; }
.catalog-card__body { padding: 16px; display: flex; flex-direction: column; flex: 1; }
.catalog-card__title { font-size: 18px; line-height: 1.4; margin: 0 0 8px; }
.catalog-card__excerpt { color: #555; font-size: 14px; line-height: 1.7; margin-bottom: 12px; }
.catalog-card__btn { align-self: flex-start; background: #c00; color: #fff; padding: 10px 14px; text-decoration: none; border-radius: 2px; font-size: 14px; }
.catalog-card__btn:hover { background: #a30000; }
.catalog-card__btn.is-disabled { background: #999; pointer-events: none; }

