main.container .category-grid { justify-content: flex-start; }

/* ---- Catalog overview (hub page) ---- */
.catalog-overview { padding-block: 60px 100px; }
.catalog-overview__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin-top: 40px; }
.catalog-card {
  position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: 8px;
  height: 320px; padding: 28px; border-radius: var(--radius-card); background-size: cover; background-position: center;
  background-color: var(--color-dark-card); color: var(--color-white); overflow: hidden;
  transition: transform .25s ease;
}
.catalog-card:hover { transform: translateY(-4px); }
.catalog-card::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(13,40,24,0.1) 0%, rgba(13,40,24,0.75) 100%); }
.catalog-card__count, .catalog-card h3, .catalog-card__link { position: relative; z-index: 1; }
.catalog-card__count { align-self: flex-start; background: rgba(255,255,255,0.15); backdrop-filter: blur(4px); border: 1px solid rgba(255,255,255,0.3); padding: 6px 14px; border-radius: 999px; font-size: 13px; font-weight: 600; margin-bottom: 12px; }
.catalog-card h3 { font-size: 22px; color: var(--color-white); }
.catalog-card__link { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; font-family: var(--font-heading); color: var(--color-white); }
.catalog-card__link img { filter: brightness(0) invert(1); transition: transform .2s ease; }
.catalog-card:hover .catalog-card__link img { transform: translateX(4px); }

@media (max-width: 960px) {
  .catalog-overview__grid { grid-template-columns: 1fr; }
}
.product-detail { max-width: 1050px; margin: 0 auto; padding-block: 60px; display: flex; flex-direction: column; gap: 43px; }
.product-detail__image { border-radius: 12px; overflow: hidden; }
.product-detail__image img { width: 100%; height: 629px; object-fit: cover; }
.product-detail__body, .product-detail__section { display: flex; flex-direction: column; gap: 20px; color: var(--color-text); line-height: 1.8; }
.product-detail__section h3 { color: var(--color-heading); font-size: 20px; }
.product-detail__specs { color: var(--color-text); line-height: 1.8; white-space: pre-line; }

@media (max-width: 960px) {
  .product-detail__image img { height: auto; aspect-ratio: 5/3; }
}
