/* Shop page specific styles: minimal, leveraging base variables */

.shop-hero { padding-block: var(--space-16); }
.shop-controls { grid-template-columns: 1fr minmax(200px, 280px); align-items: center; gap: var(--space-4); margin-top: var(--space-4); }
@media (max-width: 720px) { .shop-controls { grid-template-columns: 1fr; } }

.shop-layout { display: grid; grid-template-columns: 280px 1fr; gap: var(--space-8); padding-block: var(--space-10); }
@media (max-width: 960px) { .shop-layout { grid-template-columns: 1fr; } }

.filters { position: sticky; top: calc(var(--space-8)); align-self: start; display: grid; gap: var(--space-6); }
.filters fieldset { border: 1px solid var(--gray-200); border-radius: var(--radius-lg); padding: var(--space-5); background: var(--color-surface); }
.filters legend { font-weight: 600; font-family: var(--font-serif); padding-inline: var(--space-2); }
.filter-check { display: block; margin-bottom: var(--space-2); }
.filters__actions { display: flex; gap: var(--space-3); }
.filters__count { color: var(--gray-600); margin-top: -4px; }

.section-block { margin-bottom: var(--space-16); }
.section-head { margin-bottom: var(--space-6); }
.section-head p { margin: 0; color: var(--gray-600); }

.products .grid-auto { align-items: stretch; }
.product-card { display: grid; grid-template-rows: auto 1fr; gap: var(--space-4); }
.product-media { border-radius: var(--radius-md); overflow: hidden; aspect-ratio: 4/3; background: var(--gray-100); }
.product-media img { width: 100%; height: 100%; object-fit: cover; }
.product-content { display: grid; gap: var(--space-3); }
.product-title { margin: 0; }
.product-meta { display: flex; justify-content: space-between; align-items: center; color: var(--gray-700); }
.product-meta .price { font-weight: 700; color: var(--color-primary); }
.product-meta .rating { letter-spacing: 1px; color: var(--color-accent); }
.product-actions { display: flex; gap: var(--space-3); flex-wrap: wrap; }

.categories-grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.category-card { display: grid; gap: var(--space-3); }
.category-card h3 { margin: 0; }
.category-card p { margin: 0; color: var(--gray-600); }

.secure-checkout { padding-block: var(--space-16); border-top: 1px solid var(--gray-200); }
.secure-checkout ul { margin-bottom: var(--space-6); }

/* Dialog styles */
dialog { border: none; border-radius: var(--radius-xl); padding: 0; width: min(100% - 2rem, 960px); box-shadow: var(--shadow-lg); }
dialog::backdrop { background: rgba(0,0,0,0.35); }
.dialog-head { display: flex; justify-content: space-between; align-items: center; padding: var(--space-5) var(--space-6); border-bottom: 1px solid var(--gray-200); background: var(--color-surface); }
.dialog-body { padding: var(--space-6); }
.dialog-grid { grid-template-columns: 1fr 1.2fr; gap: var(--space-6); }
@media (max-width: 768px) { .dialog-grid { grid-template-columns: 1fr; } }
.dialog-media { border-radius: var(--radius-lg); overflow: hidden; background: var(--gray-100); }
.dialog-media img { width: 100%; height: auto; object-fit: cover; }
.dialog-content { display: grid; gap: var(--space-4); }
.product-specs { display: grid; gap: var(--space-2); }
.spec-row { display: grid; grid-template-columns: 120px 1fr; gap: var(--space-3); }
.reviews-list { display: grid; gap: var(--space-3); }
.related-list { display: grid; gap: var(--space-2); }
.dialog-actions { display: flex; gap: var(--space-3); flex-wrap: wrap; }

/* Small refinements */
.skip-link { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.skip-link:focus { position: static; width: auto; height: auto; padding: var(--space-2) var(--space-3); background: var(--color-primary); color: #fff; border-radius: var(--radius-sm); }
