/* Shop page styles (extends base.css) */

/* Hero */
.shop-hero { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: var(--space-32); align-items: center; margin-top: var(--space-32); }
.shop-hero__cta { display: flex; gap: var(--space-12); margin-top: var(--space-16); flex-wrap: wrap; }
.shop-hero__figure img { border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
@media (max-width: 980px) { .shop-hero { grid-template-columns: 1fr; } }

/* Category quick nav */
.category-nav { margin-top: var(--space-32); }
.category-links { list-style: none; display: flex; gap: var(--space-12); padding: 0; margin: var(--space-12) 0 0; flex-wrap: wrap; }

/* Controls */
.shop-controls { margin-top: var(--space-32); }
.controls__row { display: grid; grid-template-columns: 1fr auto auto; gap: var(--space-12); align-items: center; }
.controls__search input { min-width: 260px; }
.controls__meta { margin-top: var(--space-12); color: var(--gray-700); }
@media (max-width: 780px) { .controls__row { grid-template-columns: 1fr; } }

/* Filters panel */
.filters { margin-top: var(--space-16); border: 1px solid var(--gray-200); border-radius: var(--radius-lg); background: var(--color-surface); padding: var(--space-20); box-shadow: var(--shadow-xs); }
.filters__form { display: grid; gap: var(--space-20); }
.filters__group { display: grid; gap: var(--space-8); grid-template-columns: repeat(2, minmax(180px, 1fr)); }
.filters__option { display: flex; gap: var(--space-8); align-items: center; }
.filters__range { display: grid; gap: var(--space-8); }
.filters__hint { color: var(--gray-600); margin: 0; font-size: var(--fs-sm); }
.filters__actions { display: flex; justify-content: flex-end; }

/* Products grid */
.products-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-20); margin-top: var(--space-24); }
@media (max-width: 1200px) { .products-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 900px) { .products-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .products-grid { grid-template-columns: 1fr; } }

.product-card { display: grid; grid-template-rows: auto 1fr; overflow: hidden; }
.product-media { position: relative; aspect-ratio: 4/3; overflow: hidden; border-radius: var(--radius-md); }
.product-media img { width: 100%; height: 100%; object-fit: cover; }
.product-media .badge { position: absolute; top: 10px; left: 10px; box-shadow: var(--shadow-xs); }
.product-body { margin-top: var(--space-16); display: grid; gap: 8px; align-content: start; }
.price-row { display: flex; gap: var(--space-12); align-items: baseline; margin-top: 2px; }
.price { font-weight: 700; }
.price--old { color: var(--gray-500); }
.product-actions { margin-top: var(--space-8); }
.rating { color: var(--gray-700); font-size: var(--fs-sm); }

/* Section headers */
.section-header { margin-top: var(--space-40); margin-bottom: var(--space-8); }

/* Offers */
offers .card, .offers__grid .card { height: 100%; }
.offers__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-20); }
@media (max-width: 900px) { .offers__grid { grid-template-columns: 1fr; } }

/* Reviews */
.reviews__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-20); }
@media (max-width: 900px) { .reviews__grid { grid-template-columns: 1fr; } }

/* Assurances */
.assurances { margin-top: var(--space-40); }
.assurances__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-20); }
@media (max-width: 980px) { .assurances__grid { grid-template-columns: 1fr; } }

/* Minor tweaks */
.results-summary { margin: 0; }
