/* Shop page specific styles (avoid duplicating base.css) */

.shop-hero { padding-block: var(--space-12) var(--space-10); background: linear-gradient(135deg, rgba(140,27,42,0.18), rgba(212,175,55,0.12)) no-repeat; }
.hero-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: var(--space-10); align-items: center; }
.hero-copy p { color: var(--color-text-muted); }
.hero-search { display: grid; grid-template-columns: 1fr auto; gap: var(--space-4); margin-top: var(--space-7); }
.hero-highlights { display: flex; gap: var(--space-4); margin-top: var(--space-6); flex-wrap: wrap; }
.hero-media img { border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }

@media (max-width: 900px) {
  .hero-grid { grid-template-columns: 1fr; }
  .hero-search { grid-template-columns: 1fr; }
}

/* Filters */
.filters-section { margin-top: var(--space-10); }
.filters-toolbar { display: flex; justify-content: space-between; align-items: center; gap: var(--space-6); padding-block: var(--space-5); border-top: 1px solid rgba(255,255,255,0.08); border-bottom: 1px solid rgba(255,255,255,0.08); }
.filters-toolbar .sorter { display: inline-flex; align-items: center; gap: var(--space-4); }

.filters-panel { margin-top: var(--space-6); }
.filters-summary { cursor: pointer; padding: 0.75rem 1rem; border: 1px solid rgba(255,255,255,0.12); border-radius: var(--radius-md); background: var(--color-elevated); }
.filters-panel[open] .filters-summary { border-color: var(--color-accent); }
.filters-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-8); padding: var(--space-8); background: var(--color-elevated); border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius-lg); margin-top: var(--space-5); }
.filter-options { display: grid; gap: var(--space-3); margin-top: var(--space-3); }
.filter-row-two { display: grid; grid-template-columns: auto 1fr auto 1fr; align-items: center; gap: var(--space-4); }
.filters-actions { display: flex; gap: var(--space-4); align-items: end; }

@media (max-width: 900px) {
  .filters-grid { grid-template-columns: 1fr; }
}

/* Products */
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--space-8); margin-top: var(--space-8); }
@media (max-width: 1100px) { .product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px) { .product-grid { grid-template-columns: 1fr; } }

.product-card { display: grid; gap: var(--space-5); }
.product-img-wrap { position: relative; }
.product-media { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: var(--radius-md); border: 1px solid rgba(255,255,255,0.06); }
.product-img-wrap .badge { position: absolute; left: 10px; top: 10px; backdrop-filter: blur(6px); }
.product-header .product-title { font-size: var(--text-xl); }
.product-meta { color: var(--color-text-muted); }
.product-actions { display: flex; gap: var(--space-4); flex-wrap: wrap; }

/* Seasonal */
.seasonal-section { margin-top: var(--space-15); }
.seasonal-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-10); align-items: center; }
.seasonal-media img { border-radius: var(--radius-lg); border: 1px solid rgba(255,255,255,0.08); }
@media (max-width: 900px) { .seasonal-grid { grid-template-columns: 1fr; } }

/* Offers */
.offers-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--space-8); margin-top: var(--space-6); }
.offer-card h3 { margin-bottom: var(--space-3); }
@media (max-width: 900px) { .offers-grid { grid-template-columns: 1fr; } }

/* Reviews */
.reviews-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--space-8); margin-top: var(--space-6); }
.review p { color: var(--color-text); }
.review footer { margin-top: var(--space-4); color: var(--color-text-muted); }
@media (max-width: 900px) { .reviews-grid { grid-template-columns: 1fr; } }

/* Tour */
.tour-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-10); align-items: center; margin-top: var(--space-8); }
.tour-media img { border-radius: var(--radius-lg); border: 1px solid rgba(255,255,255,0.08); }
@media (max-width: 900px) { .tour-grid { grid-template-columns: 1fr; } }

dialog { max-width: 920px; width: calc(100% - 2*var(--container-pad)); background: var(--color-elevated); color: var(--color-text); border: 1px solid rgba(255,255,255,0.12); border-radius: var(--radius-lg); padding: 0; box-shadow: var(--shadow-lg); }
.dialog-header { display: flex; justify-content: space-between; align-items: center; padding: var(--space-6) var(--space-7); border-bottom: 1px solid rgba(255,255,255,0.08); }
.dialog-body { padding: var(--space-7); }
.tour-slides { display: grid; gap: var(--space-5); }
dialog::backdrop { background: rgba(0,0,0,0.6); backdrop-filter: blur(2px); }

/* Personal Shopper */
.shopper-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-10); align-items: start; }
.shopper-form { display: grid; gap: var(--space-5); margin-top: var(--space-4); }
.form-row { display: grid; gap: var(--space-3); }
.recommendations { display: grid; gap: var(--space-4); margin-top: var(--space-4); }
.recommendations .rec-item { padding: var(--space-5); border-radius: var(--radius-md); border: 1px solid rgba(255,255,255,0.08); background: rgba(255,255,255,0.04); }
@media (max-width: 900px) { .shopper-grid { grid-template-columns: 1fr; } }

/* Guides */
.guides-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--space-8); margin-top: var(--space-6); align-items: stretch; }
.guide h3 { margin-bottom: var(--space-3); }
@media (max-width: 900px) { .guides-grid { grid-template-columns: 1fr; } }

/* FAQ */
.faq-grid { display: grid; gap: var(--space-4); margin-top: var(--space-6); }
.faq-item { padding: var(--space-5); border-radius: var(--radius-md); border: 1px solid rgba(255,255,255,0.08); background: rgba(255,255,255,0.03); }
.faq-item > summary { cursor: pointer; font-weight: 600; }
.faq-item[open] { background: rgba(212,175,55,0.06); }
