/* Hemera katalog — kit üzerine katalog bileşenleri. Eski libraries.css yok. */

.cat-footer-lede {
  margin-top: var(--k-4);
  font-size: var(--k-text-sm);
}
.cat-footer-links { gap: var(--k-5); }

.cat-seo {
  margin: 0 0 var(--k-6);
  padding: var(--k-5);
  background: var(--k-bg-2);
  border-radius: var(--k-radius);
  color: var(--k-ink-3);
  font-size: var(--k-text-sm);
  max-width: var(--k-prose);
}
.cat-seo h2 { font-size: var(--k-h4); margin-bottom: var(--k-3); }
.cat-seo p { margin: 0 0 var(--k-3); }
.cat-seo p:last-child { margin-bottom: 0; }

.cat-search { margin: 0 0 var(--k-6); max-width: 36rem; }
.cat-search__row { position: relative; }
.cat-search__row input { width: 100%; padding-right: 2.5rem; }
.cat-search__clear {
  position: absolute;
  right: var(--k-2);
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: 0;
  color: var(--k-ink-3);
  cursor: pointer;
  font-size: 1.25rem;
  line-height: 1;
  padding: var(--k-2);
}
#search-results[hidden],
#favorites-empty[hidden],
#favorites-content[hidden],
.cat-search__clear[hidden] { display: none !important; }
.cat-empty { text-align: center; padding: var(--k-8); color: var(--k-ink-3); }
.cat-empty-card {
  text-align: center;
  padding: var(--k-8) var(--k-5);
  background: var(--k-bg-2);
  border-radius: var(--k-radius);
}
.cat-empty-card p { margin: 0 0 var(--k-5); color: var(--k-ink-3); }

.cat-brand-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--k-5);
}
.cat-brand-head__logo img {
  max-height: 4rem;
  width: auto;
}

.cat-models { margin-bottom: var(--k-6); }
.cat-models h2 { font-size: var(--k-h4); }
.cat-models__list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--k-2);
  margin-top: var(--k-3);
}

.model-filter-btn {
  display: inline-flex;
  align-items: center;
  padding: var(--k-2) var(--k-4);
  border: 1px solid var(--k-line);
  border-radius: var(--k-radius-full);
  background: var(--k-bg);
  color: var(--k-ink-2);
  font-size: var(--k-text-sm);
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}
.model-filter-btn:hover { border-color: var(--k-brand); color: var(--k-brand-ink); }
.model-filter-btn.active {
  background: var(--k-brand);
  border-color: var(--k-brand);
  color: var(--k-brand-on);
}

.brands-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: var(--k-4);
}
.brand-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--k-2);
  padding: var(--k-5);
  background: var(--k-bg);
  border: 1px solid var(--k-line);
  border-radius: var(--k-radius);
  text-decoration: none;
  color: inherit;
  text-align: center;
  transition: border-color var(--k-fast), box-shadow var(--k-fast);
}
.brand-card:hover {
  border-color: var(--k-brand);
  box-shadow: var(--k-shadow-sm);
}
.brand-card h2 { margin: 0; font-size: var(--k-text); }
.brand-card .count { margin: 0; font-size: var(--k-text-xs); color: var(--k-ink-3); }
.brand-card .brand-logo {
  max-height: 3.5rem;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}

.products-grid,
.related-products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: var(--k-4);
}

.product-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--k-bg);
  border: 1px solid var(--k-line);
  border-radius: var(--k-radius);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: border-color var(--k-fast), box-shadow var(--k-fast);
}
.product-card > a {
  display: flex;
  flex-direction: column;
  flex: 1;
  text-decoration: none;
  color: inherit;
}
.product-image-wrapper {
  aspect-ratio: 4 / 3;
  background: var(--k-bg-2);
  display: grid;
  place-items: center;
}
.product-image-img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.product-info { padding: var(--k-4); }
.product-info h3 {
  margin: 0 0 var(--k-2);
  font-size: var(--k-text-sm);
  font-weight: 650;
}
.product-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--k-1) var(--k-3);
  font-size: var(--k-text-xs);
  color: var(--k-ink-3);
}
.product-meta-item strong { color: var(--k-ink-2); font-weight: 600; }

.favorite-heart {
  position: absolute;
  top: var(--k-3);
  right: var(--k-3);
  z-index: 2;
  width: 2.25rem;
  height: 2.25rem;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: rgb(255 255 255 / .9);
  color: var(--k-ink-4);
  cursor: pointer;
  box-shadow: var(--k-shadow-sm);
}
.favorite-heart:hover,
.favorite-heart.active { color: var(--k-brand); }
.favorite-heart i { display: grid; place-items: center; }

.favorites-sticky-btn {
  position: fixed;
  right: var(--k-5);
  bottom: var(--k-8);
  z-index: var(--k-z-header);
  width: 3.25rem;
  height: 3.25rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--k-brand);
  color: var(--k-brand-on);
  text-decoration: none;
  box-shadow: var(--k-shadow-lg);
}
.favorites-sticky-btn:hover { background: var(--k-brand-ink); color: var(--k-brand-on); }
.favorite-count {
  position: absolute;
  top: -.25rem;
  right: -.25rem;
  min-width: 1.25rem;
  height: 1.25rem;
  padding: 0 .3rem;
  border-radius: 99px;
  background: var(--k-deep);
  color: #fff;
  font-size: .7rem;
  font-weight: 700;
  display: none;
  place-items: center;
}
.favorite-count[style*="inline"] { display: grid; }

.product-detail { position: relative; }
.product-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--k-6);
  align-items: start;
}
@media (max-width: 800px) {
  .product-detail-grid { grid-template-columns: 1fr; }
  .cat-brand-head { flex-direction: column; align-items: flex-start; }
}
.product-detail .favorite-heart { position: absolute; top: 0; right: 0; }
.product-detail-info { display: flex; flex-direction: column; gap: var(--k-3); }
.detail-row {
  display: grid;
  grid-template-columns: 8rem 1fr;
  gap: var(--k-3);
  padding: var(--k-3) 0;
  border-bottom: 1px solid var(--k-line);
  font-size: var(--k-text-sm);
}
.detail-label { color: var(--k-ink-3); font-weight: 600; }
.detail-value { color: var(--k-ink); }

.related-products-section { margin-top: var(--k-8); }
.related-products-section h2 { font-size: var(--k-h3); }

.cat-b2b {
  margin-top: var(--k-8);
  text-decoration: none;
}
.cat-fav-actions { margin: var(--k-6) 0; justify-content: center; }
.cat-form {
  margin-top: var(--k-6);
  padding: var(--k-6);
  background: var(--k-bg-2);
  border-radius: var(--k-radius);
  display: flex;
  flex-direction: column;
  gap: var(--k-4);
  max-width: 40rem;
}
.cat-form h2 { margin: 0; font-size: var(--k-h4); }

.k-crumbs { margin-bottom: var(--k-4); }
