/* Sticky Price Display Styles */ #priceDisplay { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); transform: translateX(0); } /* Enhanced visibility on scroll */ #priceDisplay.scrolled { box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); transform: scale(1.02); } /* Hover effects */ #priceDisplay:hover { transform: translateX(-5px) scale(1.05); box-shadow: 0 30px 60px -12px rgba(0, 0, 0, 0.3); } /* Animation for price updates */ #currentPrice { transition: all 0.3s ease; } #currentPrice.updating { transform: scale(1.1); filter: brightness(1.2); } /* Pulse animation for live indicator */ .animate-pulse-soft { animation: pulse-soft 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; } @keyframes pulse-soft { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.7; transform: scale(1.1); } } /* Mobile responsiveness improvements */ @media (max-width: 1024px) { #priceDisplay { position: relative !important; top: auto !important; right: auto !important; margin: 1rem 0; width: 100%; } } /* Dark mode enhancements */ .dark #priceDisplay .bg-white { background: rgba(31, 41, 55, 0.95); backdrop-filter: blur(16px); } /* Scroll-triggered animations */ #priceDisplay.visible { animation: slideInRight 0.5s ease-out; } @keyframes slideInRight { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } } /* Enhanced shadow for better visibility */ #priceDisplay .shadow-2xl { box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(255, 255, 255, 0.1); } .dark #priceDisplay .shadow-2xl { box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.1); }