/* --- START OF FILE style.css --- */

/* Smooth Scrolling & Base Settings */
html { scroll-behavior: smooth; -webkit-tap-highlight-color: transparent; }
body { 
    -webkit-font-smoothing: antialiased; 
    font-family: 'Inter', sans-serif; 
    transition: background-color 0.3s, color 0.3s;
}

/* Hide Scrollbar */
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* Animations */
.fade-in { animation: fadeIn 0.4s ease-in-out; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

.animate-fade-in-up { animation: fadeInUp 0.3s ease-out forwards; }
@keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }

.animate-pulse { animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; }
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: .5; } }

/* Sidebar Transition */
.sidebar { transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); will-change: transform; }

/* Payment Radio Customization */
.payment-radio:checked + div { border-color: #0d9488; background-color: #f0fdfa; position: relative; }
.dark .payment-radio:checked + div { background-color: #115e59; border-color: #2dd4bf; }

.payment-radio:checked + div::after {
    content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0;
    border: 2px solid #0d9488; border-radius: 0.75rem; pointer-events: none;
}

/* Loader */
.loader { border: 2px solid #e5e7eb; border-top: 2px solid #0d9488; border-radius: 50%; width: 20px; height: 20px; animation: spin 0.8s linear infinite; }
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

.line-clamp-1 { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* Toast Notification */
.toast-enter { transform: translateX(100%); opacity: 0; }
.toast-active { transform: translateX(0); opacity: 1; }
.toast-exit { transform: translateX(100%); opacity: 0; }

/* Glassmorphism */
.glass { background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.dark .glass { background: rgba(15, 23, 42, 0.95); border-color: rgba(255,255,255,0.05); }

/* --- PWA & LAYOUT FIXES --- */
.bottom-nav { display: none; }
.cart-action-bar { bottom: 0; transition: bottom 0.3s ease; }
#cart-view { padding-bottom: 100px; } 

@media all and (display-mode: standalone) {
    .bottom-nav { display: flex; height: 65px; bottom: 0; z-index: 50; padding-bottom: 5px; }
    body { padding-bottom: 65px; } 
    .cart-action-bar { bottom: 65px !important; border-bottom: 1px solid #e5e7eb; z-index: 40; }
    #cart-view { padding-bottom: 160px !important; }
    #whatsapp-btn { bottom: 85px !important; }
}