.vendors{position:relative;padding:8rem 0;overflow:hidden}.vendors-bg{position:absolute;inset:0;z-index:0}.vendors-glow{position:absolute;inset:0;background:radial-gradient(ellipse 60% 40% at 30% 20%,rgba(201,165,90,.05) 0,transparent 50%),radial-gradient(ellipse 60% 40% at 70% 80%,rgba(201,165,90,.05) 0,transparent 50%)}[data-theme=light] .vendors-glow{background:radial-gradient(ellipse 60% 40% at 30% 20%,rgba(184,134,11,.08) 0,transparent 50%),radial-gradient(ellipse 60% 40% at 70% 80%,rgba(184,134,11,.08) 0,transparent 50%)}.vendors-header{text-align:center;margin-bottom:3rem}.vendors-header .section-subtitle{margin:0 auto}.vendor-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:3rem}.filter-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:100px;color:var(--text-secondary);font-family:Space Grotesk,sans-serif;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease}.filter-btn:hover{border-color:var(--accent-primary);color:var(--text-primary);transform:translateY(-2px);box-shadow:0 5px 20px rgba(0,0,0,.15)}.filter-btn.active{background:var(--gradient-premium);border-color:transparent;color:#fff;box-shadow:0 5px 20px rgba(201,165,90,.3)}.filter-btn.active:hover{transform:translateY(-2px)}.filter-count{font-size:.75rem;opacity:.8}.vendors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));grid-gap:2rem;gap:2rem}.vendor-card{perspective:1200px;cursor:pointer}.vendor-card-inner{background:var(--bg-card);border-radius:24px;overflow:hidden;border:1px solid var(--border-subtle);transition:box-shadow .4s ease,border-color .4s ease;transform-style:preserve-3d}.vendor-card:hover .vendor-card-inner{box-shadow:var(--shadow-premium);border-color:var(--border-hover)}.vendor-image{position:relative;height:300px;overflow:hidden}.vendor-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.4,0,.2,1)}.vendor-card:hover .vendor-image img{transform:scale(1.1)}.vendor-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:1rem;text-align:center;position:relative;transition:transform .6s cubic-bezier(.4,0,.2,1)}.vendor-image-placeholder:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 20%,rgba(255,255,255,.15) 0,transparent 40%),radial-gradient(circle at 80% 80%,rgba(0,0,0,.2) 0,transparent 40%)}.vendor-image-placeholder-name{position:relative;z-index:1;font-family:Playfair Display,serif;font-size:1.75rem;font-weight:700;color:#fff;letter-spacing:.5px;text-shadow:0 2px 12px rgba(0,0,0,.4)}.vendor-card:hover .vendor-image-placeholder{transform:scale(1.05)}.vendor-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.6));transition:background .4s ease}.vendor-card:hover .vendor-overlay{background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.8))}.vendor-cuisine-tag{position:absolute;top:1rem;right:1rem;padding:.5rem 1rem;border-radius:100px;font-family:Space Grotesk,sans-serif;font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:1px;box-shadow:0 4px 15px rgba(0,0,0,.3)}.vendor-content{padding:1.75rem}.vendor-header{margin-bottom:.75rem}.vendor-header h3{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:600;margin-bottom:.25rem;color:var(--text-primary)}.vendor-tagline{font-size:.8rem;color:var(--accent-primary);font-style:italic}.vendor-description{font-size:.95rem;color:var(--text-secondary);line-height:1.6;margin-bottom:1rem}.vendor-specialties{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.specialty-tag{padding:.375rem .75rem;background:rgba(201,165,90,.08);border-radius:100px;font-size:.75rem;color:var(--accent-primary);border:1px solid rgba(201,165,90,.15)}[data-theme=light] .specialty-tag{background:rgba(184,134,11,.08);border-color:rgba(184,134,11,.15)}.vendor-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid var(--border-subtle)}.vendor-price{display:flex;flex-direction:column}.price-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.price-value{font-size:.95rem;color:var(--text-primary)}.price-value,.visit-btn{font-family:Space Grotesk,sans-serif;font-weight:600}.visit-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:transparent;border:1px solid var(--border-hover);border-radius:100px;color:var(--accent-primary);font-size:.85rem;cursor:pointer;transition:all .3s ease}.visit-btn:hover{background:var(--gradient-premium);border-color:transparent;color:#fff}.visit-btn svg{width:16px;height:16px;transition:transform .3s ease}.visit-btn:hover svg{transform:translateX(3px)}.no-results{grid-column:1/-1;text-align:center;padding:4rem 2rem;background:var(--bg-card);border-radius:24px;border:1px solid var(--border-subtle)}.no-results p{color:var(--text-secondary);font-size:1.1rem}@media (max-width:768px){.vendors{padding:5rem 0}.vendors-grid{grid-template-columns:1fr;gap:1.5rem}.vendor-image{height:180px}.vendor-content{padding:1.25rem}.filter-btn{padding:.625rem 1rem;font-size:.85rem}}@media (max-width:480px){.vendor-filters{gap:.5rem}.filter-btn{padding:.5rem .875rem;font-size:.8rem}.vendor-footer{flex-direction:column;gap:1rem;align-items:stretch}.visit-btn{justify-content:center}}