Files
sst_site/.history/public/css/sticky-price_20251026095324.css
2025-10-26 14:44:10 +09:00

109 lines
2.5 KiB
CSS

/* Dynamic Island Style Sticky Price Display */
#priceDisplay {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
transform: translateX(-50%);
}
/* Enhanced visibility and Dynamic Island effects */
#priceDisplay.scrolled {
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
transform: translateX(-50%) scale(1.02);
}
/* Hover effects for Dynamic Island */
#priceDisplay:hover {
transform: translateX(-50%) scale(1.05);
box-shadow: 0 30px 60px -12px rgba(0, 0, 0, 0.6);
}
/* Animation for price updates */
#currentPrice {
transition: all 0.3s ease;
}
#currentPrice.updating {
transform: scale(1.1);
filter: brightness(1.2);
}
/* Enhanced 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;
bottom: auto !important;
left: auto !important;
transform: none !important;
margin: 1rem 0;
width: 100%;
}
#mobilePriceDisplay {
transform: none;
}
#mobilePriceDisplay:hover {
transform: scale(1.02);
}
}
/* Dark mode enhancements for Dynamic Island */
.dark #priceDisplay .bg-black\/80 {
background: rgba(17, 24, 39, 0.9);
-webkit-backdrop-filter: blur(24px);
backdrop-filter: blur(24px);
}
/* Dynamic Island entrance animation */
#priceDisplay.visible {
animation: slideInBottom 0.5s ease-out;
}
@keyframes slideInBottom {
from {
transform: translateX(-50%) translateY(100%);
opacity: 0;
}
to {
transform: translateX(-50%) translateY(0);
opacity: 1;
}
}
/* Enhanced shadow for Dynamic Island aesthetic */
#priceDisplay .shadow-2xl {
box-shadow:
0 25px 50px -12px rgba(0, 0, 0, 0.4),
0 0 0 1px rgba(255, 255, 255, 0.1),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.dark #priceDisplay .shadow-2xl {
box-shadow:
0 25px 50px -12px rgba(0, 0, 0, 0.6),
0 0 0 1px rgba(255, 255, 255, 0.05),
inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
/* Mobile Dynamic Island styling */
#mobilePriceDisplay .shadow-2xl {
box-shadow:
0 20px 40px -12px rgba(0, 0, 0, 0.4),
0 0 0 1px rgba(255, 255, 255, 0.1),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
}