:root{--green-dark:#1B4332;--green-mid:#2D5A3D;--green-light:#3A7D53;--gold:#C9A227;--gold-light:#D4AF37;--gold-pale:#E8D48B;--ivory:#FAF6EE;--cream:#F5F0E3;--charcoal:#2C2C2C;--text-body:#3A3A3A;--text-light:#6B6B6B;--white:#FFFFFF;--red:#C0392B;--red-light:#E74C3C;--success:#27AE60;--shadow-sm:0 2px 8px rgba(0,0,0,0.08);--shadow-md:0 4px 20px rgba(0,0,0,0.12);--shadow-lg:0 8px 40px rgba(0,0,0,0.18);--radius:12px;--radius-lg:20px;--transition:0.3s cubic-bezier(0.4,0,0.2,1)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:'Inter',sans-serif;background:var(--ivory);color:var(--text-body);line-height:1.6;overflow-x:hidden;padding-bottom:90px}h1,h2,h3,h4,h5,h6{font-family:'Playfair Display',serif;color:var(--green-dark);line-height:1.2}img{max-width:100%;height:auto;display:block}button{cursor:pointer;font-family:'Inter',sans-serif}.order-header{background:var(--green-dark);color:var(--white);padding:16px 20px;position:sticky;top:0;z-index:100;box-shadow:0 2px 12px rgba(0,0,0,0.2)}.order-header-inner{max-width:600px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.order-logo{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;color:var(--gold)}.order-table-badge{background:rgba(201,162,39,0.15);border:1px solid rgba(201,162,39,0.4);color:var(--gold-pale);font-size:0.78rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;padding:5px 14px;border-radius:50px}.order-welcome{background:linear-gradient(135deg,var(--green-dark),var(--green-mid));color:var(--white);padding:24px 20px 28px;text-align:center}.order-welcome h1{color:var(--white);font-size:1.6rem;margin-bottom:6px}.order-welcome h1 em{font-style:normal;color:var(--gold)}.order-welcome p{color:rgba(255,255,255,0.7);font-size:0.9rem}.category-tabs{position:sticky;top:56px;z-index:90;background:var(--white);border-bottom:1px solid rgba(0,0,0,0.06);padding:0 16px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.category-tabs::-webkit-scrollbar{display:none}.category-tabs-inner{max-width:600px;margin:0 auto;display:flex;gap:4px;padding:8px 0}.cat-tab{flex-shrink:0;padding:8px 18px;border:none;border-radius:50px;background:transparent;color:var(--text-light);font-size:0.85rem;font-weight:600;transition:all var(--transition);white-space:nowrap}.cat-tab:hover{color:var(--green-dark)}.cat-tab.active{background:var(--green-dark);color:var(--white)}.menu-content{max-width:600px;margin:0 auto;padding:16px 16px 24px}.menu-category{margin-bottom:28px}.menu-category-title{font-size:1.15rem;margin-bottom:14px;display:flex;align-items:center;gap:8px;color:var(--green-dark);padding-bottom:8px;border-bottom:2px solid var(--cream)}.menu-category-title .cat-emoji{font-size:1.2rem}.menu-item-card{display:flex;gap:14px;background:var(--white);border-radius:var(--radius);padding:14px;margin-bottom:12px;box-shadow:var(--shadow-sm);transition:all var(--transition);position:relative}.menu-item-card:hover{box-shadow:var(--shadow-md)}.menu-item-thumb{width:80px;height:80px;min-width:80px;border-radius:10px;overflow:hidden;background:var(--cream);display:flex;align-items:center;justify-content:center;font-size:2.2rem}.menu-item-thumb img{width:100%;height:100%;object-fit:cover}.menu-item-details{flex:1;display:flex;flex-direction:column;justify-content:center}.menu-item-name{font-family:'Inter',sans-serif;font-size:0.95rem;font-weight:700;color:var(--charcoal);margin-bottom:3px}.menu-item-desc{font-size:0.8rem;color:var(--text-light);margin-bottom:8px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.menu-item-bottom{display:flex;align-items:center;justify-content:space-between}.menu-item-price{font-weight:700;color:var(--green-dark);font-size:0.95rem}.veg-badge,.non-veg-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:3px;border:1.5px solid;margin-right:6px;position:relative;top:-1px;flex-shrink:0}.veg-badge{border-color:var(--success)}.veg-badge::after{content:'';width:8px;height:8px;border-radius:50%;background:var(--success)}.non-veg-badge{border-color:var(--red)}.non-veg-badge::after{content:'';width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:8px solid var(--red)}.add-btn{display:flex;align-items:center;gap:4px;background:var(--white);color:var(--green-dark);border:1.5px solid var(--green-dark);padding:5px 16px;border-radius:8px;font-size:0.8rem;font-weight:700;transition:all var(--transition);text-transform:uppercase;letter-spacing:0.5px}.add-btn:hover{background:var(--green-dark);color:var(--white)}.qty-controls{display:flex;align-items:center;gap:0;background:var(--green-dark);border-radius:8px;overflow:hidden}.qty-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:var(--green-dark);color:var(--white);font-size:1.1rem;font-weight:700;transition:background var(--transition)}.qty-btn:hover{background:var(--green-mid)}.qty-value{width:28px;text-align:center;color:var(--white);font-weight:700;font-size:0.9rem;background:var(--green-dark)}.cart-bar{position:fixed;bottom:0;left:0;right:0;z-index:200;padding:12px 16px;background:transparent;pointer-events:none;transition:transform var(--transition);transform:translateY(100%)}.cart-bar.visible{transform:translateY(0);pointer-events:auto}.cart-bar-inner{max-width:600px;margin:0 auto;background:var(--green-dark);border-radius:16px;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 -4px 30px rgba(0,0,0,0.25);cursor:pointer;transition:all var(--transition);pointer-events:auto}.cart-bar-inner:hover{background:var(--green-mid)}.cart-bar-left{display:flex;align-items:center;gap:10px}.cart-count-badge{background:var(--gold);color:var(--green-dark);font-weight:800;font-size:0.8rem;width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center}.cart-bar-text{color:var(--white);font-weight:600;font-size:0.9rem}.cart-bar-total{color:var(--white);font-weight:800;font-size:1.05rem}.cart-overlay{display:none;position:fixed;inset:0;z-index:300;background:rgba(0,0,0,0.5);animation:fadeIn 0.25s ease}.cart-overlay.active{display:block}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.cart-drawer{display:none;position:fixed;bottom:0;left:0;right:0;z-index:310;background:var(--white);border-radius:24px 24px 0 0;max-height:85vh;overflow-y:auto;animation:slideUp 0.35s cubic-bezier(0.4,0,0.2,1)}.cart-drawer.active{display:block}@keyframes slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}.cart-drawer-handle{text-align:center;padding:12px 0 4px}.cart-drawer-handle span{display:inline-block;width:40px;height:4px;background:#D0D0D0;border-radius:4px}.cart-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:8px 24px 16px;border-bottom:1px solid rgba(0,0,0,0.06)}.cart-drawer-header h2{font-size:1.3rem}.cart-close-btn{background:none;border:none;font-size:1.5rem;color:var(--text-light);padding:4px}.cart-items-list{padding:16px 24px}.cart-item-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid rgba(0,0,0,0.05)}.cart-item-row:last-child{border-bottom:none}.cart-item-info{flex:1}.cart-item-name{font-weight:700;font-size:0.95rem;color:var(--charcoal);margin-bottom:2px}.cart-item-unit{font-size:0.8rem;color:var(--text-light)}.cart-item-qty{margin:0 16px}.cart-item-total{font-weight:700;font-size:0.95rem;color:var(--green-dark);min-width:60px;text-align:right}.cart-summary{padding:16px 24px;background:var(--cream);border-top:1px solid rgba(0,0,0,0.06)}.cart-summary-row{display:flex;justify-content:space-between;margin-bottom:8px;font-size:0.9rem;color:var(--text-body)}.cart-summary-row.total{font-weight:800;font-size:1.1rem;color:var(--green-dark);border-top:2px solid rgba(0,0,0,0.08);padding-top:12px;margin-top:8px;margin-bottom:0}.cart-checkout-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:calc(100% - 48px);margin:16px 24px 24px;padding:16px;background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--green-dark);font-weight:800;font-size:1rem;border:none;border-radius:14px;transition:all var(--transition);box-shadow:0 4px 15px rgba(201,162,39,0.3);letter-spacing:0.3px}.cart-checkout-btn:hover{transform:translateY(-2px);box-shadow:0 6px 25px rgba(201,162,39,0.45)}.payment-screen{display:none;position:fixed;inset:0;z-index:400;background:var(--ivory);overflow-y:auto;animation:fadeIn 0.3s ease}.payment-screen.active{display:block}.payment-header{background:var(--green-dark);padding:16px 20px;display:flex;align-items:center;gap:12px}.payment-back-btn{background:none;border:none;color:var(--white);font-size:1.5rem;padding:4px}.payment-header h2{color:var(--white);font-size:1.2rem}.payment-body{max-width:500px;margin:0 auto;padding:24px 20px}.payment-amount-card{background:var(--white);border-radius:var(--radius-lg);padding:28px 24px;text-align:center;box-shadow:var(--shadow-sm);margin-bottom:24px}.payment-amount-label{font-size:0.85rem;color:var(--text-light);margin-bottom:8px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.payment-amount-value{font-size:2.4rem;font-weight:800;color:var(--green-dark);font-family:'Playfair Display',serif}.payment-methods{margin-bottom:24px}.payment-methods h3{font-family:'Inter',sans-serif;font-size:0.9rem;font-weight:700;color:var(--text-body);margin-bottom:12px;text-transform:uppercase;letter-spacing:0.5px}.payment-method-card{background:var(--white);border:2px solid transparent;border-radius:var(--radius);padding:16px 18px;margin-bottom:10px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:all var(--transition);box-shadow:var(--shadow-sm)}.payment-method-card:hover{border-color:var(--gold)}.payment-method-card.selected{border-color:var(--green-dark);background:rgba(27,67,50,0.03)}.payment-method-icon{width:44px;height:44px;border-radius:10px;background:var(--cream);display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0}.payment-method-info h4{font-family:'Inter',sans-serif;font-size:0.95rem;font-weight:700;color:var(--charcoal)}.payment-method-info p{font-size:0.8rem;color:var(--text-light)}.payment-method-radio{margin-left:auto;width:20px;height:20px;border:2px solid #CCC;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition)}.payment-method-card.selected .payment-method-radio{border-color:var(--green-dark)}.payment-method-card.selected .payment-method-radio::after{content:'';width:10px;height:10px;border-radius:50%;background:var(--green-dark)}.pay-now-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px;background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--green-dark);font-weight:800;font-size:1.05rem;border:none;border-radius:14px;transition:all var(--transition);box-shadow:0 4px 15px rgba(201,162,39,0.3);margin-top:24px}.pay-now-btn:hover{transform:translateY(-2px);box-shadow:0 6px 25px rgba(201,162,39,0.45)}.pay-now-btn:disabled{opacity:0.5;cursor:not-allowed;transform:none}.payment-processing{display:none;position:fixed;inset:0;z-index:500;background:var(--white);justify-content:center;align-items:center;flex-direction:column;gap:24px}.payment-processing.active{display:flex}.spinner{width:56px;height:56px;border:4px solid var(--cream);border-top-color:var(--green-dark);border-radius:50%;animation:spin 0.8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.payment-processing p{font-size:1.05rem;color:var(--text-body);font-weight:600}.order-confirmed{display:none;position:fixed;inset:0;z-index:500;background:var(--ivory);overflow-y:auto}.order-confirmed.active{display:block}.order-confirmed-inner{max-width:500px;margin:0 auto;padding:40px 20px;text-align:center}.success-icon{width:90px;height:90px;border-radius:50%;background:linear-gradient(135deg,var(--success),#2ECC71);display:flex;align-items:center;justify-content:center;margin:0 auto 24px;font-size:2.8rem;color:var(--white);animation:bounceIn 0.6s ease-out;box-shadow:0 8px 25px rgba(39,174,96,0.3)}@keyframes bounceIn{0%{transform:scale(0)}50%{transform:scale(1.2)}100%{transform:scale(1)}}.order-confirmed h2{font-size:1.6rem;margin-bottom:8px}.order-confirmed-sub{color:var(--text-light);margin-bottom:28px;font-size:0.95rem}.order-id-badge{display:inline-block;background:var(--green-dark);color:var(--gold);padding:8px 24px;border-radius:50px;font-weight:800;font-size:0.9rem;letter-spacing:1.5px;margin-bottom:28px}.order-receipt{background:var(--white);border-radius:var(--radius-lg);padding:24px;text-align:left;box-shadow:var(--shadow-sm);margin-bottom:24px}.order-receipt h3{font-family:'Inter',sans-serif;font-size:0.85rem;font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:1px;margin-bottom:16px}.receipt-item{display:flex;justify-content:space-between;padding:8px 0;font-size:0.9rem;border-bottom:1px solid rgba(0,0,0,0.05)}.receipt-item:last-child{border-bottom:none}.receipt-item-name{color:var(--text-body)}.receipt-item-name span{color:var(--text-light);font-size:0.82rem}.receipt-item-price{font-weight:700;color:var(--green-dark)}.receipt-total{display:flex;justify-content:space-between;padding-top:14px;margin-top:8px;border-top:2px solid var(--cream);font-weight:800;font-size:1.1rem;color:var(--green-dark)}.order-confirmed-note{background:var(--cream);border-radius:var(--radius);padding:16px;font-size:0.85rem;color:var(--text-body);line-height:1.6;margin-bottom:24px}.order-confirmed-note strong{color:var(--green-dark)}.order-again-btn{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--green-dark);font-weight:700;padding:14px 32px;border:none;border-radius:50px;font-size:1rem;transition:all var(--transition);box-shadow:0 4px 15px rgba(201,162,39,0.3)}.order-again-btn:hover{transform:translateY(-2px);box-shadow:0 6px 25px rgba(201,162,39,0.45)}@media (max-width:400px){.menu-item-thumb{width:70px;height:70px;min-width:70px}.menu-item-card{padding:12px;gap:12px}}