/* Shop page specific styles (lean; relies on base.css for utilities) */
.shop-header h1 { font-family: "Playfair Display", serif; }

.shop-filters .filters-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-5);
}
.shop-filters .filters-actions {
  margin-top: var(--space-4);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.shop-filters .quick-tags { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.qty-input { max-width: 90px; }

.products-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
}
.product-card .product-title { font-weight: 700; }
.product-card .product-meta { font-size: var(--text-size-sm); }

.category-navigation .cat-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--space-4);
}
.category-navigation .cat-tile {
  display: flex; flex-direction: column; gap: var(--space-2);
  align-items: center; justify-content: center;
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  cursor: pointer;
  transition: transform var(--transition-fast) var(--easing-default), box-shadow var(--transition-fast) var(--easing-default);
}
.category-navigation .cat-tile:hover { transform: translateY(-1px); box-shadow: var(--shadow-sm); }
.category-navigation .cat-tile i { font-size: 22px; color: var(--color-primary); }

/* Offers */
.offers-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }
.offer-banner { position: relative; overflow: hidden; border-radius: var(--radius-xl); box-shadow: var(--shadow-sm); }
.offer-banner img { width: 100%; height: 100%; object-fit: cover; }
.offer-banner .offer-overlay {
  position: absolute; inset: auto 0 0 0;
  display: flex; flex-direction: column; gap: var(--space-3);
  padding: var(--space-6);
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.55) 100%);
  color: #fff;
}
.offer-banner .btn-outline { --btn-fg: #fff; color: #fff; border-color: rgba(255,255,255,.6); }

/* Reviews */
.reviews-summary .rating { font-size: var(--text-size-xl); }
.reviews-list { display: grid; gap: var(--space-3); }

/* Details */
.details-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--space-4); }
.details-grid dt { font-weight: 600; color: var(--color-muted); }
.details-grid dd { margin: 0; }
.trust-list { display: grid; gap: var(--space-2); }
.trust-list i { color: var(--color-success); }

/* Recommendations */
.recommendations-list { display: grid; gap: var(--space-3); }
.recommendations-list .rec-item { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-3); border: 1px solid var(--color-border); border-radius: var(--radius-md); }

/* Responsive */
@media (max-width: 1024px) {
  .shop-filters .filters-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .category-navigation .cat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .offers-grid { grid-template-columns: 1fr; }
  .details-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .shop-filters .filters-grid { grid-template-columns: 1fr; }
  .products-grid { grid-template-columns: 1fr; }
  .category-navigation .cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .details-grid { grid-template-columns: 1fr; }
}
