:root{--bg-dark:#f8fafc;--bg-card:#fff;--bg-hover:#f1f5f9;--accent-yellow:#ca8a04;--accent-yellow-dark:#a16207;--text-light:#111827;--text-muted:#4b5563;--border-dark:#e2e8f0;--font-primary:"Inter", system-ui, sans-serif}body{background-color:var(--bg-dark);color:var(--text-light);font-family:var(--font-primary);-webkit-font-smoothing:antialiased;margin:0;padding:0}*{box-sizing:border-box}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.w-full{width:100%}h1,h2,h3,h4,h5{margin:0;font-weight:700;line-height:1.2}.text-accent{color:var(--accent-yellow)}.text-muted{color:var(--text-muted)}.text-center{text-align:center}h1{font-size:3rem}h2{font-size:2.25rem}p{line-height:1.6}.btn-primary{background-color:var(--accent-yellow);color:#fff;border-radius:.5rem;padding:.75rem 1.5rem;font-weight:600;transition:all .2s}.btn-primary:hover{background-color:var(--accent-yellow-dark);transform:translateY(-2px)}.btn-dark{color:#fff;background-color:#1f2937;border:1px solid #1f2937;border-radius:.5rem;padding:.5rem 1rem;font-weight:600;transition:all .2s}.btn-dark:hover{color:#fff;background-color:#111827}.nav-header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:50;background-color:#1e293bf2;border-bottom:1px solid #334155;align-items:center;height:70px;padding:0;display:flex;position:sticky;top:0;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.nav-header .container{height:100%}.nav-header .text-light,.nav-header .cart-icon-btn{color:#f1f5f9}.nav-header .text-light:hover,.nav-header .cart-icon-btn:hover{color:var(--accent-yellow)}.logo{color:var(--accent-yellow);letter-spacing:1px;font-size:1.5rem;font-weight:800}.cart-icon-btn{color:var(--text-light);align-items:center;transition:color .2s;display:flex;position:relative}.cart-icon-btn:hover{color:var(--accent-yellow)}.cart-badge{background-color:var(--accent-yellow);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.75rem;font-weight:700;display:flex;position:absolute;top:-8px;right:-8px}.hero{text-align:center;justify-content:center;align-items:center;height:calc(100vh - 73px);min-height:calc(100vh - 73px);display:flex;position:relative;overflow:hidden}.hero-bg{z-index:-2;background-image:url(/images/hero/curry_chef_kitchen.png?v=2);background-position:50%;background-size:cover;position:absolute;inset:0}.hero-slides{z-index:-2;width:100%;height:100%;position:absolute;inset:0}.hero-slide{opacity:0;background-position:50%;background-repeat:no-repeat;background-size:cover;animation:15s ease-in-out infinite heroSlideshow;position:absolute;inset:0}.hero-slide:first-child{animation-delay:0s}.hero-slide:nth-child(2){animation-delay:5s}.hero-slide:nth-child(3){animation-delay:10s}@keyframes heroSlideshow{0%{opacity:0}8%{opacity:1}33%{opacity:1}41%{opacity:0}to{opacity:0}}.hero-overlay{z-index:-1;background:linear-gradient(#00000059,#000000a6);position:absolute;inset:0}.menu-grid{grid-template-columns:1fr;gap:1.5rem;padding:2rem 0;display:grid}@media (width>=640px){.menu-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.menu-grid{grid-template-columns:repeat(4,1fr)}}.menu-card{background-color:var(--bg-card);border:1px solid var(--border-dark);border-radius:1rem;flex-direction:column;height:420px;transition:all .3s;display:flex;position:relative;overflow:hidden}.menu-card:hover{color:#fff;background-color:#1e293b;transform:translateY(-5px);box-shadow:0 10px 25px #1e293b26}.menu-card:hover .card-title,.menu-card:hover .card-desc,.menu-card:hover .price{color:#f1f5f9}.menu-card:hover .card-desc{color:#cbd5e1}.menu-card .card-img{object-fit:cover;border-bottom:3px solid var(--accent-yellow);width:100%;height:60%}.menu-card .card-content{flex-direction:column;justify-content:space-between;height:40%;padding:1rem 1.25rem;display:flex}.menu-card .card-title{text-overflow:ellipsis;white-space:nowrap;margin-bottom:.25rem;font-size:1.15rem;font-weight:700;overflow:hidden}.menu-card .card-desc{color:var(--text-muted);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.5rem;font-size:.85rem;line-height:1.35;display:-webkit-box;overflow:hidden}.menu-card .card-footer{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.menu-card .price{font-size:1.25rem;font-weight:700}.add-btn{color:#fff;background-color:#1f2937;border-radius:.5rem;padding:.5rem 1rem;font-weight:600;transition:all .2s}.add-btn:hover{background-color:var(--accent-yellow);color:#fff}.menu-card:hover .add-btn{color:#1e293b;background-color:#fff}.section{padding:4rem 0}.section-title{text-align:center;border-bottom:2px solid var(--accent-yellow);margin-bottom:2rem;padding-bottom:.5rem;font-size:2.5rem;display:inline-block}.category-title{color:var(--accent-yellow);margin:3rem 0 1rem;font-size:1.8rem}.cart-backdrop{z-index:100;background-color:#000000b3;justify-content:flex-end;display:flex;position:fixed;inset:0}.cart-drawer{background-color:var(--bg-card);flex-direction:column;width:100%;max-width:400px;height:100vh;animation:.3s forwards slideIn;display:flex;box-shadow:-5px 0 25px #00000080}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.cart-header{border-bottom:1px solid var(--border-dark);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.cart-items{flex:1;padding:1.5rem;overflow-y:auto}.cart-item{border-bottom:1px solid var(--border-dark);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;display:flex}.cart-item-info h4{margin-bottom:.25rem}.cart-actions{align-items:center;gap:1rem;display:flex}.qty-btn{background-color:var(--bg-dark);color:var(--text-light);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.qty-btn:hover{background-color:var(--accent-yellow);color:var(--bg-dark)}.cart-footer{border-top:1px solid var(--border-dark);background-color:var(--bg-dark);padding:1.5rem}.cart-total{justify-content:space-between;margin-bottom:1.5rem;font-size:1.25rem;font-weight:700;display:flex}.footer{color:#f1f5f9;background-color:#1e293b;border-top:1px solid #334155;margin-top:auto;padding:1.8rem 0 1rem}.footer-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:1.5rem;display:grid}.footer-heading{color:var(--accent-yellow);margin-bottom:.85rem;font-size:1.25rem}.footer ul{margin:0;padding:0;list-style:none}.footer li{color:#cbd5e1;margin-bottom:.35rem}.hours-row{border-bottom:1px dashed #334155;justify-content:space-between;padding-bottom:.35rem;display:flex}.footer-bottom{text-align:center;color:#94a3b8;border-top:1px solid #334155;padding-top:1rem;font-size:.9rem}.success-container{flex-direction:column;justify-content:center;align-items:center;min-height:60vh;display:flex}.reservation-page{background-color:var(--bg-dark);min-height:calc(100vh - 80px);padding:4rem 1rem}.reservation-container{background:var(--bg-card);border:1px solid var(--border-dark);border-radius:1.5rem;flex-direction:row;max-width:1000px;margin:0 auto;display:flex;overflow:hidden;box-shadow:0 20px 40px #0000001a}@media (width<=768px){.reservation-container{flex-direction:column}}.reservation-info{color:#fff;background-color:#111827;flex-direction:column;flex:1;justify-content:center;padding:3rem;display:flex}.reservation-info h2{color:var(--accent-yellow);margin-bottom:1.5rem;font-size:2.5rem}.reservation-info p{color:#9ca3af;margin-bottom:2rem;font-size:1.1rem}.reservation-details{flex-direction:column;gap:1.5rem;display:flex}.reservation-detail-item{align-items:center;gap:1rem;display:flex}.reservation-detail-icon{color:var(--accent-yellow);width:24px}.reservation-form-container{flex:1.5;padding:3rem}.reservation-form{flex-direction:column;gap:1.5rem;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=480px){.form-row{grid-template-columns:1fr}}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--text-muted);font-size:.9rem;font-weight:600}.form-input{border:1px solid var(--border-dark);background-color:#f9fafb;border-radius:.5rem;padding:.75rem 1rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-input:focus{border-color:var(--accent-yellow);background-color:#fff;outline:none;box-shadow:0 0 0 3px #ca8a041a}.time-slots{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5rem;margin-top:.5rem;display:grid}.time-slot{text-align:center;border:1px solid var(--border-dark);cursor:pointer;background-color:#fff;border-radius:.375rem;padding:.5rem;font-weight:600;transition:all .2s}.time-slot:hover{border-color:var(--accent-yellow);color:var(--accent-yellow)}.time-slot.selected{background-color:var(--accent-yellow);border-color:var(--accent-yellow);color:#fff}.reservation-success{text-align:center;padding:4rem 2rem}.success-icon{color:#10b981;width:64px;height:64px;margin-bottom:2rem}.map-container:hover .map-overlay{opacity:1!important;background:#00000073!important}.item-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#000000a6;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.item-modal-card{background-color:var(--bg-card);border:1px solid var(--border-dark);border-radius:1.25rem;flex-direction:column;width:100%;max-width:500px;max-height:90vh;animation:.3s ease-out slideUp;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.item-modal-image-container{width:100%;height:260px;position:relative;overflow:hidden}.item-modal-image{object-fit:cover;width:100%;height:100%}.item-modal-close-btn{cursor:pointer;background-color:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:transform .2s,background-color .2s;display:flex;position:absolute;top:1rem;right:1rem;box-shadow:0 4px 6px #00000026}.item-modal-close-btn:hover{background-color:#f3f4f6;transform:scale(1.08)}.item-modal-body{flex-direction:column;flex:1;padding:1.5rem;display:flex;overflow-y:auto}.item-modal-title{color:var(--text-light);margin-bottom:.25rem;font-size:1.5rem;font-weight:700}.item-modal-price{color:var(--text-light);margin-bottom:.75rem;font-size:1.25rem;font-weight:600}.item-modal-details-btn{color:#330c12;cursor:pointer;align-items:center;gap:8px;width:fit-content;margin-bottom:1.5rem;font-size:.95rem;font-weight:500;transition:opacity .2s;display:flex}.item-modal-details-btn:hover{opacity:.8}.item-modal-section{border-top:1px solid var(--border-dark);flex-direction:column;gap:.75rem;margin-bottom:1.25rem;padding-top:1.25rem;display:flex}.item-modal-section-header{background-color:#f3f4f6;border-radius:4px;justify-content:space-between;align-items:center;padding:.6rem .85rem;display:flex}.item-modal-section-title{color:#1f2937;font-size:.95rem;font-weight:600}.item-modal-section-required{color:#b45309;font-size:.8rem;font-weight:600}.item-modal-error-message{color:#dc2626;margin:0;font-size:.85rem;font-weight:500}.item-modal-options-list{flex-direction:column;display:flex}.item-modal-option-label{cursor:pointer;color:var(--text-light);border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:.85rem .25rem;font-size:1rem;transition:background-color .2s;display:flex}.item-modal-option-label:hover{background-color:#f8fafc}.item-modal-option-left{align-items:center;gap:12px;width:100%;display:flex}.item-modal-radio{accent-color:#330c12;cursor:pointer;width:20px;height:20px}.item-modal-textarea{border:1px solid var(--border-dark);resize:none;width:100%;color:var(--text-light);background-color:#f9fafb;border-radius:.5rem;outline:none;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s,background-color .2s}.item-modal-textarea:focus{background-color:#fff;border-color:#330c12;box-shadow:0 0 0 3px #330c121a}.item-modal-footer{border-top:1px solid var(--border-dark);background-color:var(--bg-card);align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.item-modal-qty-container{border:1px solid var(--border-dark);background-color:#f9fafb;border-radius:9999px;align-items:center;padding:3px;display:flex}.item-modal-qty-btn{width:34px;height:34px;color:var(--text-light);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background-color .2s;display:flex}.item-modal-qty-btn:hover{background-color:#e2e8f0}.item-modal-qty-num{text-align:center;min-width:28px;color:var(--text-light);font-size:1rem;font-weight:600}.item-modal-submit-btn{color:#fff;cursor:pointer;background-color:#330c12;border:none;border-radius:9999px;flex:1;justify-content:space-between;align-items:center;padding:.9rem 1.5rem;font-size:1rem;font-weight:600;transition:background-color .2s,transform .1s;display:flex;box-shadow:0 4px 6px #330c1226}.item-modal-submit-btn:hover{background-color:#4a121a}.item-modal-submit-btn:active{transform:scale(.98)}.item-modal-submit-text{color:#fff}.item-modal-submit-price{color:#fff;font-weight:600}.hero-btn-primary{background-color:var(--accent-yellow);color:#fff;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;border:none;border-radius:9999px;padding:1rem 2.5rem;font-size:1.25rem;font-weight:700;transition:all .3s;display:inline-block;box-shadow:0 4px 12px #ca8a044d}.hero-btn-primary:hover{background-color:var(--accent-yellow-dark);transform:translateY(-2px);box-shadow:0 6px 16px #ca8a0466}.hero-btn-secondary{color:#fff;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;background-color:#ca8a04d9;border:none;border-radius:9999px;padding:1rem 2.5rem;font-size:1.25rem;font-weight:700;transition:all .3s;display:inline-block;box-shadow:0 4px 12px #0003}.hero-btn-secondary:hover{background-color:var(--accent-yellow-dark);transform:translateY(-2px);box-shadow:0 6px 16px #ca8a0466}.menu-toggle-btn{color:#fff;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;display:none}@media (width<=768px){.nav-header nav{display:none!important}.mobile-header-row{align-items:center;gap:1rem;display:flex!important}.menu-toggle-btn{display:flex!important}.mobile-nav-menu{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:2px solid var(--accent-yellow);z-index:100;background-color:#0f172afa;flex-direction:column;align-items:center;gap:1.25rem;width:100%;padding:1.5rem;animation:.25s ease-out slideDown;display:flex;position:absolute;top:70px;left:0;box-shadow:0 10px 15px -3px #0000004d}.mobile-nav-menu a{color:#f1f5f9;text-align:center;width:100%;padding:.5rem 0;font-size:1.15rem;font-weight:600;text-decoration:none;transition:color .2s}.mobile-nav-menu a:hover{color:var(--accent-yellow)}.mobile-divider{background-color:#334155;width:100%;height:1px;margin:.25rem 0}.mobile-order-btn{background-color:var(--accent-yellow);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:.75rem;font-size:1rem;font-weight:700}.mobile-user-section{flex-direction:column;align-items:center;gap:1rem;width:100%;display:flex}.mobile-user-name{color:var(--accent-yellow);font-size:1rem;font-weight:700}.mobile-logout-btn,.mobile-login-btn{color:#f1f5f9;cursor:pointer;background:0 0;border:1px solid #334155;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:.75rem;font-weight:600;display:flex}.mobile-admin-btn{cursor:pointer;color:#15803d;background-color:#dcfce7;border:1px solid #22c55e;border-radius:8px;width:100%;padding:.6rem;font-weight:700}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
