/* ===== SHOPS PAGE ===== */
.shops-filter-bar { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-8); flex-wrap: wrap; }
.shops-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); }

/* ===== SHOP DETAIL PAGE ===== */
.shop-header { background: white; border-radius: var(--radius-xl); overflow: hidden; box-shadow: var(--shadow-md); margin-bottom: var(--space-8); }
.shop-header-banner { height: 160px; background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%); position: relative; overflow: hidden; }
.shop-header-banner-pattern { position: absolute; inset: 0; opacity: 0.1; background-image: repeating-linear-gradient(45deg, white 0, white 1px, transparent 0, transparent 50%); background-size: 15px 15px; }
.shop-header-body { padding: var(--space-6); display: flex; align-items: flex-end; gap: var(--space-6); margin-top: -40px; position: relative; }
.shop-header-logo { width: 80px; height: 80px; border-radius: var(--radius-xl); border: 4px solid white; background: white; display: flex; align-items: center; justify-content: center; font-size: 36px; box-shadow: var(--shadow-md); flex-shrink: 0; overflow: hidden; }
.shop-header-info { flex: 1; padding-top: var(--space-6); }
.shop-header-name { font-size: var(--font-size-2xl); font-weight: 700; color: var(--color-title); margin-bottom: var(--space-2); }
.shop-header-meta { display: flex; align-items: center; gap: var(--space-5); flex-wrap: wrap; }
.shop-header-meta-item { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); color: var(--color-muted); }
.shop-header-actions { display: flex; gap: var(--space-3); align-items: flex-start; padding-top: var(--space-6); }
.shop-header-desc { padding: 0 var(--space-6) var(--space-6); font-size: var(--font-size-sm); color: var(--color-body); border-top: 1px solid var(--color-border-light); padding-top: var(--space-5); margin-top: var(--space-2); }

.shop-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-4); margin-bottom: var(--space-8); }
.shop-stat-card { background: white; border-radius: var(--radius-lg); padding: var(--space-5); text-align: center; box-shadow: var(--shadow-sm); }
.shop-stat-value { font-size: var(--font-size-2xl); font-weight: 900; color: var(--color-primary); }
.shop-stat-label { font-size: var(--font-size-xs); color: var(--color-muted); margin-top: 4px; }
