:root{--theme:#6d28d9;}
html{scroll-behavior:smooth}
body.bb-body{font-family:'Poppins','Noto Sans Malayalam',system-ui,sans-serif}
:focus-visible{outline:3px solid var(--theme);outline-offset:2px}
.bb-btn{display:inline-block;border-radius:9999px;padding:.7rem 1.25rem;font-weight:600;transition:transform .15s,box-shadow .15s,opacity .15s}
.bb-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.18)}
.bb-btn:active{transform:translateY(0)}
.bb-btn[disabled],.bb-btn.is-loading{opacity:.6;pointer-events:none}
.bb-btn.is-loading::after{content:"";display:inline-block;width:1em;height:1em;margin-left:.5em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-.15em;animation:bb-spin .7s linear infinite}
@keyframes bb-spin{to{transform:rotate(360deg)}}
.bb-card{transition:transform .2s,box-shadow .2s}
.bb-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.1)}
.bb-fade-in{animation:bb-fade .6s ease both}
@keyframes bb-fade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.bb-float-wa{position:fixed;right:16px;bottom:16px;z-index:45;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.3);transition:transform .2s}
.bb-float-wa:hover{transform:scale(1.08)}
.bb-body.has-cart .bb-float-wa{bottom:88px}
.bb-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,40px);background:#111827;color:#fff;padding:.7rem 1.1rem;border-radius:.6rem;font-size:.9rem;opacity:0;pointer-events:none;z-index:100;transition:opacity .25s,transform .25s;max-width:90vw}
.bb-toast.show{opacity:1;transform:translate(-50%,0)}
.bb-stars{color:#f59e0b;letter-spacing:1px}
/* Reviews carousel */
.bb-carousel{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.75rem;-webkit-overflow-scrolling:touch}
.bb-review-card{flex:0 0 min(85%,320px);scroll-snap-align:start;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.9rem;padding:1rem}
.bb-clamp{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bb-hours th{font-weight:500}
.bb-today{background:rgba(0,0,0,.04)}
/* Cart */
.bb-cart-fab{position:fixed;left:50%;transform:translateX(-50%);bottom:16px;z-index:46;display:none;align-items:center;gap:.75rem;padding:.8rem 1.3rem;border-radius:9999px;color:#fff;background:var(--theme);box-shadow:0 8px 22px rgba(0,0,0,.3);font-weight:600}
.bb-cart-fab.show{display:flex}
.bb-drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:60;opacity:0;pointer-events:none;transition:opacity .25s}
.bb-drawer-backdrop.open{opacity:1;pointer-events:auto}
.bb-drawer{position:fixed;left:0;right:0;bottom:0;max-height:92vh;z-index:61;background:#fff;border-radius:1.25rem 1.25rem 0 0;transform:translateY(100%);transition:transform .3s ease;display:flex;flex-direction:column}
.bb-drawer.open{transform:none}
@media(min-width:640px){.bb-drawer{left:auto;top:0;max-height:none;width:420px;border-radius:0;transform:translateX(100%)}.bb-drawer.open{transform:none}}
.bb-qty button{width:2rem;height:2rem;border-radius:9999px;border:1px solid #cbd5e1;font-weight:700}
.bb-veg-dot{display:inline-block;width:14px;height:14px;border:2px solid;border-radius:3px;position:relative;vertical-align:middle}
.bb-veg-dot::after{content:"";position:absolute;inset:2px;border-radius:50%;background:currentColor}
.bb-veg{color:#16a34a}.bb-nonveg{color:#b91c1c}
.bb-unavailable{filter:grayscale(1);opacity:.55}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Print standee (A5 table tent) */
@page{size:A5 landscape;margin:0}
@media print{
  .no-print{display:none!important}
  body{background:#fff!important}
  .standee{width:210mm;height:148mm;page-break-after:always;display:flex;align-items:center;justify-content:center}
}
