.bg-gradient-blue{background:linear-gradient(135deg,#4f46e5,#3b82f6)}.bg-gradient-card{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,0))}.bg-gradient-header{background:linear-gradient(90deg,#f8fafc,#f1f5f9)}.dark .bg-gradient-header{background:linear-gradient(90deg,#0f172a,#1e293b)}.hover-shadow{transition:all .3s ease}.hover-shadow:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.dark .hover-shadow:hover{box-shadow:0 10px 25px -5px rgba(0,0,0,.5),0 10px 10px -5px rgba(0,0,0,.2)}.filter-chip{transition:all .2s ease}.filter-chip:hover{background-color:#f1f5f9}.dark .filter-chip:hover{background-color:#1e293b}.filter-sticky{position:sticky;top:1rem;z-index:10;backdrop-filter:blur(8px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.floating-card{animation:float 6s ease-in-out infinite}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.product-card-glow{position:relative;overflow:hidden}.product-card-glow:before{content:"";position:absolute;top:0;left:-100%;width:200%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:.5s}.product-card-glow:hover:before{left:100%}.dark .product-card-glow:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}.pulse-loader{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.stats-dialog-backdrop{backdrop-filter:blur(12px);background:rgba(0,0,0,.3)}.stats-card-glow{position:relative;overflow:hidden}.stats-card-glow:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.stats-card-glow:hover:before{left:100%}.dark .stats-card-glow:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}.gradient-bg-primary{background:linear-gradient(135deg,#667eea,#764ba2)}.gradient-bg-success{background:linear-gradient(135deg,#4facfe,#00f2fe)}.gradient-bg-warning{background:linear-gradient(135deg,#fa709a,#fee140)}.gradient-bg-purple{background:linear-gradient(135deg,#a8edea,#fed6e3)}.chart-container{position:relative;border-radius:16px;overflow:hidden}.chart-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.05));pointer-events:none;z-index:1}.floating-card{transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.floating-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px -12px rgba(0,0,0,.15)}.dark .floating-card:hover{box-shadow:0 20px 40px -12px rgba(0,0,0,.4)}@keyframes countUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.stats-number{animation:countUp .6s ease-out}.chart-glow{position:relative;border-radius:12px}.chart-glow:after{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(45deg,#3b82f6,#8b5cf6,#06b6d4,#10b981);border-radius:14px;z-index:-1;opacity:0;transition:opacity .3s ease}.chart-glow:hover:after{opacity:.7;animation:rotate 2s linear infinite}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.glass-effect{background:rgba(255,255,255,.1);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.2)}.dark .glass-effect{background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.1)}@keyframes pulse-glow{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.pulse-glow{animation:pulse-glow 2s ease-in-out infinite}.gradient-text{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dark .gradient-text{background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.image-container-stable{position:relative;width:100%;height:0;padding-bottom:100%;overflow:hidden;background-color:#f8fafc;border-radius:8px}.dark .image-container-stable{background-color:rgba(0,0,0,.2)}.image-container-stable img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;transition:opacity .3s ease-in-out}.product-detail-image{backface-visibility:hidden;transform:translateZ(0);will-change:opacity;transition:opacity .3s ease-in-out!important}.prevent-layout-shift{contain:paint}@media (min-width:768px){.prevent-layout-shift{contain:layout style size;transform:translateZ(0)}}.stable-image-container{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:transparent;contain:layout style;overflow:hidden}.stable-image-container img{max-width:100%;max-height:100%;width:auto!important;height:auto!important;position:static!important;object-fit:contain;transform:translateZ(0)}.fixed-image-container{position:relative;width:100%;height:400px;overflow:hidden;background:#f8fafc;border-radius:8px;contain:strict}.dark .fixed-image-container{background:rgba(0,0,0,.1)}.stable-next-image{position:absolute!important;inset:0!important;object-fit:contain!important;transition:opacity .3s ease-in-out!important}.thumbnail-container{position:relative;width:100%;height:64px;overflow:hidden;background:#f8fafc;border-radius:6px;contain:strict}.dark .thumbnail-container{background:rgba(0,0,0,.1)}.thumbnail-scroll{position:relative;-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior-x:contain}.thumbnail-scroll::-webkit-scrollbar{display:none}.thumbnail-scroll:after,.thumbnail-scroll:before{content:"";position:absolute;top:0;bottom:0;width:24px;pointer-events:none;transition:opacity .2s ease}.thumbnail-scroll:before{left:0;background:linear-gradient(90deg,var(--thumbnail-scroll-fade,rgba(15,23,42,.12)),transparent);opacity:0}.thumbnail-scroll:after{right:0;background:linear-gradient(270deg,var(--thumbnail-scroll-fade,rgba(15,23,42,.12)),transparent);opacity:1}.dark .thumbnail-scroll:before{background:linear-gradient(90deg,rgba(15,23,42,.3),transparent)}.dark .thumbnail-scroll:after{background:linear-gradient(270deg,rgba(15,23,42,.3),transparent)}.thumbnail-scroll.is-scroll-end:after,.thumbnail-scroll.is-scroll-start:before{opacity:0}@media (min-width:768px){.thumbnail-scroll{overflow-x:visible}.thumbnail-scroll:after,.thumbnail-scroll:before{display:none}}.image-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(45deg,#f3f4f6,#e5e7eb);background-size:20px 20px;animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{0%{background-position:0 0}to{background-position:100% 100%}}.dark .image-placeholder{background:linear-gradient(45deg,#374151,#4b5563);background-size:20px 20px}.findmestore-button{background:linear-gradient(135deg,#3b82f6,#6366f1 50%,#8b5cf6);position:relative;overflow:hidden;box-shadow:0 4px 15px rgba(59,130,246,.3);transition:all .3s cubic-bezier(.4,0,.2,1)}.findmestore-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.findmestore-button:hover:before{left:100%}.findmestore-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(59,130,246,.4)}.findmestore-button:active{transform:translateY(0);transition:transform .1s}.dark .findmestore-button{box-shadow:0 4px 15px rgba(59,130,246,.2)}.dark .findmestore-button:hover{box-shadow:0 8px 25px rgba(59,130,246,.3)}