.masonry-grid{-moz-column-fill:balance;column-fill:balance;gap:1rem}.vendor-card{transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-block;width:100%;margin-bottom:0}.vendor-card:hover{transform:translateY(-2px);box-shadow:0 20px 25px -5px rgb(0 0 0/.1),0 8px 10px -6px rgb(0 0 0/.1)}.vendor-card .p-4{padding-bottom:1rem}.vendor-image{transition:transform .5s cubic-bezier(.4,0,.2,1)}.vendor-card:hover .vendor-image{transform:scale(1.05)}.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.vendor-card{animation:fadeInUp .6s ease-out forwards}.vendor-card:first-child{animation-delay:0s}.vendor-card:nth-child(2){animation-delay:50ms}.vendor-card:nth-child(3){animation-delay:.1s}.vendor-card:nth-child(4){animation-delay:.15s}.vendor-card:nth-child(5){animation-delay:.2s}.vendor-card:nth-child(6){animation-delay:.25s}.vendor-card:nth-child(n+7){animation-delay:.3s}.vendor-overlay{transition:opacity .3s ease-in-out}.vendor-button{transition:all .2s ease-in-out}.vendor-button:hover{transform:translateY(-1px);box-shadow:0 4px 8px rgb(0 0 0/.12)}.heart-button{transition:all .2s ease-in-out}.heart-button:hover{transform:scale(1.1)}.heart-button.liked{animation:heartPulse .3s ease-in-out}@keyframes heartPulse{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.skeleton-card{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:640px){.columns-2{-moz-column-gap:.75rem;column-gap:.75rem}.vendor-card{margin-bottom:.75rem}.integrated-header{padding:1rem}.quick-filters{gap:.5rem;justify-content:center}.quick-filters button{padding:.5rem .75rem;font-size:.75rem}.advanced-controls{flex-direction:column;gap:.75rem;width:100%}.advanced-controls>*{min-width:140px}}@media (min-width:641px) and (max-width:768px){.md\:columns-3{-moz-column-gap:1rem;column-gap:1rem}.vendor-card{margin-bottom:1rem}}@media (min-width:1024px){.lg\:columns-4{-moz-column-gap:1rem;column-gap:1rem}.vendor-card{margin-bottom:1rem}}@media (min-width:1280px){.xl\:columns-5{-moz-column-gap:1rem;column-gap:1rem}}.verified-badge{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 4px rgb(16 185 129/.3)}.premium-badge{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 2px 4px rgb(245 158 11/.3)}.expo-badge{background:linear-gradient(135deg,#374151,#1f2937);color:white;font-size:.65rem;padding:.25rem .5rem;border-radius:9999px;font-weight:500;display:inline-flex;align-items:center;margin:.125rem;box-shadow:0 1px 3px rgb(0 0 0/.3)}.expo-badge:hover{background:linear-gradient(135deg,#1f2937,#111827);transform:translateY(-1px)}.vendor-card-content{padding:1rem;padding-bottom:1rem!important}.vendor-card .flex.flex-wrap,.vendor-card .gap-1>*{margin:0}.search-bar{backdrop-filter:blur(10px);background:rgba(255,255,255,.95)}.search-bar:focus-within{transform:scale(1.02);box-shadow:0 10px 25px rgb(0 0 0/.1)}.filter-pill{backdrop-filter:blur(10px);background:rgba(255,255,255,.9);transition:all .2s ease-in-out}.filter-pill:hover{background:rgba(255,255,255,1);transform:translateY(-1px)}.sort-direction-btn{transition:all .2s ease-in-out}.sort-direction-btn:hover{background:rgba(243,244,246,1);transform:scale(1.05)}.sort-info{font-family:Inter,system-ui,sans-serif;font-weight:500;letter-spacing:.025em}@media (max-width:1024px){.filter-row{flex-direction:column;gap:1rem}.filter-row>div:not(.search-bar-mobile){width:100%;justify-content:center}.search-bar-mobile{max-width:none;width:100%}.quick-filters{justify-content:center;width:100%}}.popular-badge{background:linear-gradient(135deg,#f59e0b,#d97706);animation:popularGlow 2s ease-in-out infinite alternate}@keyframes popularGlow{0%{box-shadow:0 2px 4px rgb(245 158 11/.3)}to{box-shadow:0 4px 8px rgb(245 158 11/.4)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}