/* Shop page specific styles — minimal, complements base.css */
.shop-hero { padding-block: var(--space-16) var(--space-10); text-align: center; }
.shop-filters { padding-block: var(--space-8); }
.filters-grid { display: grid; gap: var(--space-4); grid-template-columns: 1.2fr repeat(3, 1fr) 1fr auto; align-items: center; }
.price-fields { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); }
.filters-actions { display: flex; gap: var(--space-3); justify-content: flex-end; }
.filters-feedback { margin-top: var(--space-3); color: var(--gray-700); }

@media (max-width: 1000px) {
  .filters-grid { grid-template-columns: 1fr 1fr; }
  .filters-actions { grid-column: 1 / -1; justify-content: flex-start; }
}

.product-grid { align-items: stretch; }
.product-card { display: flex; flex-direction: column; gap: var(--space-4); }
.product-media { position: relative; border-radius: var(--radius-lg); overflow: hidden; aspect-ratio: 4 / 5; background: var(--gray-100); }
.product-media .badge { position: absolute; left: var(--space-3); top: var(--space-3); box-shadow: var(--shadow-soft); }
.product-title { font-size: 1.125rem; }
.product-meta { color: var(--gray-700); margin-top: -4px; }
.product-bottom { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4);flex-direction: column; }
.product-price { font-family: var(--font-heading); font-size: 1.125rem; }
.old-price { color: var(--gray-500); text-decoration: line-through; margin-left: .5rem; font-weight: 500; }
.product-actions { display: flex; gap: var(--space-3); }

.deals { padding-block: var(--space-12); }
.deals-grid { align-items: stretch; }
.deal-card { display: grid; gap: var(--space-3); border-left: 4px solid color-mix(in srgb, var(--color-primary) 60%, white); }

.reviews { padding-block: var(--space-12); }
.reviews-grid { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.reviews blockquote footer { margin-top: var(--space-3); color: var(--gray-700); }

.guide { padding-block: var(--space-12); }
.guide-steps { display: grid; gap: .75rem; }

.virtual { padding-block: var(--space-12); }
.security { padding-block: var(--space-12); }
.shipping { padding-block: var(--space-12); }
.contact { padding-block: var(--space-12); }

/* Try-on dialog */
.tryon-dialog { width: min(92vw, 880px); border: none; padding: 0; border-radius: var(--radius-xl); box-shadow: var(--shadow-lg); background: var(--color-surface); }
.tryon-dialog::backdrop { background: rgba(0,0,0,0.45); backdrop-filter: blur(2px); }
.tryon-header { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-5) var(--space-6); border-bottom: 1px solid var(--gray-200); }
.tryon-content { padding: var(--space-6); }
.tryon-stage { background: var(--gray-100); border: 1px solid var(--gray-200); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-soft); }
.tryon-stage img { display: block; width: 100%; height: auto; }
