/* Products page specific styles (minimal, leveraging base.css) */
.products-hero { padding: var(--space-16) 0 var(--space-12); background: linear-gradient(180deg, rgba(15,39,72,0.04), rgba(15,39,72,0) 60%); }
.products-hero .hero-cta { display: flex; gap: var(--space-4); flex-wrap: wrap; }

.promo { padding: var(--space-6) 0; }
.promo__text { margin: 0; font-weight: 500; }

.filters { padding: var(--space-8) 0; border-top: 1px solid var(--gray-200); border-bottom: 1px solid var(--gray-200); background-color: var(--gray-50); }
.filters__form { display: grid; gap: var(--space-6); }
.filters__grid { display: grid; gap: var(--space-6); grid-template-columns: 1fr; }
.filters__block { display: grid; gap: var(--space-2); }
.filters__checks { display: grid; gap: var(--space-2); grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.filters__range { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); }
.filters__actions { display: flex; align-items: center; gap: var(--space-4); flex-wrap: wrap; }
.filters__count { margin: 0; color: var(--gray-600); }

@media (min-width: 768px) {
  .filters__grid { grid-template-columns: 2fr 2fr 1fr 1fr 1fr; }
}

.products-list { padding: var(--space-12) 0; }
.no-results { padding: var(--space-6); border: 1px dashed var(--gray-300); border-radius: var(--radius-md); color: var(--gray-700); margin-bottom: var(--space-6); }

.product-card { display: grid; gap: var(--space-5); }
.product-card__media { position: relative; overflow: hidden; border-radius: var(--radius-md); }
.product-card__media img { width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; }
.product-card__zoom { position: absolute; bottom: var(--space-4); right: var(--space-4); }
.product-card__title { margin: 0 0 var(--space-2); }
.product-card__desc { margin: 0 0 var(--space-4); color: var(--gray-700); }
.product-card__meta { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); }
.price { font-weight: 700; color: var(--color-primary); }
.rating { color: var(--color-accent); letter-spacing: 2px; font-weight: 700; }
.product-card__actions { display: flex; gap: var(--space-3); flex-wrap: wrap; }

/* Guide, specs, reviews, related, checkout-info, support, faqs */
.guide, .specs, .reviews, .related, .checkout-info, .support, .faqs { padding: var(--space-12) 0; }
.specs__list { display: grid; grid-template-columns: 1fr; gap: var(--space-2); }
.specs__list dt { font-weight: 600; }
.specs__list dd { margin: 0 0 var(--space-3); color: var(--gray-700); }

.review { margin-bottom: var(--space-6); }
.review__head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-3); margin-bottom: var(--space-2); }
.review__rating { color: var(--color-accent); font-weight: 700; letter-spacing: 2px; }
.review__meta { color: var(--gray-600); }

.related__list { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--space-3); grid-template-columns: 1fr; }
@media (min-width: 640px) { .related__list { grid-template-columns: repeat(3, 1fr); } }

/* Zoom modal */
.zoom[hidden] { display: none !important; }
.zoom { position: fixed; inset: 0; z-index: 60; }
.zoom__backdrop { position: absolute; inset: 0; background: rgba(17,24,39,0.6); }
.zoom__dialog { position: relative; z-index: 1; margin: 5vh auto; max-width: min(960px, 92vw); background: var(--color-surface); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); overflow: hidden; }
.zoom__header { display: flex; justify-content: space-between; align-items: center; padding: var(--space-4) var(--space-5); border-bottom: 1px solid var(--gray-200); }
.zoom__body { padding: var(--space-5); }
.zoom__body img { width: 100%; height: auto; object-fit: contain; }
