/* Shop specific */
.shop-main { padding: 8rem 0 4rem; }
.page-title { text-align: center; margin-bottom: 0.5rem; }
.page-subtitle { text-align: center; color: var(--text-muted); margin-bottom: 2.5rem; max-width: 600px; margin-left: auto; margin-right: auto; }
.page-subtitle a { color: var(--accent); text-decoration: underline; }

.shop-filters {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 3rem;
}
.filter-btn {
  background: transparent;
  border: 1px solid var(--glass-border);
  color: var(--text-muted);
  padding: 0.5rem 1rem;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: var(--transition);
  font-size: 0.9rem;
}
.filter-btn:hover, .filter-btn.active {
  border-color: var(--accent);
  color: var(--accent);
  background: rgba(201,123,61,0.08);
}

.products-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 2rem; }

.product-card { background: var(--surface); border: 1px solid var(--glass-border); border-radius: var(--radius); overflow: hidden; transition: var(--transition); display: flex; flex-direction: column; }
.product-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.product-image { position: relative; aspect-ratio: 4/3; overflow: hidden; background: var(--surface-2); }
.product-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.product-card:hover .product-image img { transform: scale(1.05); }
.product-overlay { position: absolute; inset: 0; background: rgba(9,9,11,0.7); display: flex; align-items: center; justify-content: center; opacity: 0; transition: var(--transition); }
.product-card:hover .product-overlay { opacity: 1; }
.product-info { padding: 1.5rem; flex: 1; display: flex; flex-direction: column; }
.product-category { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--accent); margin-bottom: 0.4rem; }
.product-title { font-family: 'Playfair Display', serif; font-size: 1.25rem; color: #fff; margin: 0 0 0.6rem; line-height: 1.3; }
.product-price { color: var(--text-muted); font-weight: 600; font-size: 1rem; margin-top: auto; }
.product-sku { font-size: 0.8rem; color: var(--text-muted); opacity: 0.7; }

.shop-note { text-align: center; color: var(--text-muted); font-size: 0.9rem; margin-top: 3rem; }

/* Contact page */
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: start; }
.contact-item { margin-bottom: 2rem; }
.contact-item strong { display: block; color: #fff; margin-bottom: 0.4rem; }
.contact-cta h3 { margin-bottom: 0.8rem; }
@media (max-width: 768px) { .contact-grid { grid-template-columns: 1fr; } }

/* Skeleton loading shimmer */
.skeleton .product-image { background: linear-gradient(90deg, var(--surface) 25%, var(--surface-2) 50%, var(--surface) 75%); background-size: 200% 100%; animation: shimmer 1.5s infinite; }
.skeleton .skeleton-line { height: 16px; background: var(--surface-2); border-radius: 4px; margin-bottom: 0.6rem; }
.skeleton .skeleton-line.short { width: 60%; }
@keyframes shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

/* Responsive */
@media (max-width: 768px) {
  .shop-main { padding-top: 6rem; }
  .page-title { font-size: 2rem; }
  .filter-btn { font-size: 0.85rem; padding: 0.45rem 0.85rem; }
}
