/* Tasty Bites — Custom Styles */
*,*::before,*::after{box-sizing:border-box}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;background:#f8f8f8}
a{text-decoration:none}
.no-scrollbar::-webkit-scrollbar{display:none}
.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}
.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* Ripple */
.ripple-btn,.rip-btn{position:relative;overflow:hidden}
.ripple-btn .rip,.rip-btn .rip{position:absolute;border-radius:50%;background:rgba(255,255,255,.3);transform:scale(0);animation:rippleOut .65s linear;pointer-events:none}
@keyframes rippleOut{to{transform:scale(4.5);opacity:0}}

/* Smooth transitions */
button,a{transition:opacity .15s ease,transform .15s ease}

/* Focus ring */
button:focus-visible,a:focus-visible{outline:2px solid var(--tp,#ff5a1f);outline-offset:2px}

/* Cart badge */
@keyframes badgePop{0%{transform:scale(1)}50%{transform:scale(1.5)}100%{transform:scale(1)}}

/* Safe area inset for mobile */
@media(max-width:640px){body{padding-bottom:env(safe-area-inset-bottom,0)}}
html{scroll-behavior:smooth}
