/* Smooth scrolling */
html { scroll-behavior: smooth; }

/* Progress bar animation */
.progress-bar {
    transition: width 0.6s ease-in-out;
}

/* Success checkmark animation */
@keyframes checkmark-pop {
    0% { transform: scale(0); opacity: 0; }
    60% { transform: scale(1.2); }
    100% { transform: scale(1); opacity: 1; }
}
.animate-checkmark {
    animation: checkmark-pop 0.5s ease-out forwards;
}

/* Fade in animation */
@keyframes fade-in-up {
    0% { opacity: 0; transform: translateY(20px); }
    100% { opacity: 1; transform: translateY(0); }
}
.animate-fade-in {
    animation: fade-in-up 0.4s ease-out forwards;
}

/* Staggered fade in */
.animate-fade-in-delay-1 { animation-delay: 0.1s; opacity: 0; }
.animate-fade-in-delay-2 { animation-delay: 0.2s; opacity: 0; }
.animate-fade-in-delay-3 { animation-delay: 0.3s; opacity: 0; }

/* Sticky bottom bar safe area for iOS */
.sticky-bottom {
    padding-bottom: env(safe-area-inset-bottom, 0px);
}

/* Custom scrollbar */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* Wave divider */
.wave-divider {
    position: relative;
    margin-top: -1px;
}
.wave-divider svg {
    display: block;
    width: 100%;
    height: auto;
}

/* Podium styles */
.podium-item {
    transition: transform 0.2s ease;
}
.podium-item:hover {
    transform: translateY(-2px);
}

/* Print styles */
@media print {
    .no-print { display: none !important; }
    body { background: white !important; }
    .card { box-shadow: none !important; border: 1px solid #e5e7eb !important; }
}

/* Quantity button touch targets */
.qty-btn {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}
