@import"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css";.quantity-selector{display:flex;flex-direction:column;gap:8px;font-family:inherit}.quantity-selector__availability{display:flex;gap:8px;margin-bottom:4px}.availability-badge{font-size:12px;padding:4px 8px;border-radius:12px;font-weight:500}.availability-badge--pre-order{background-color:#fff3e0;color:#ff9800;border:1px solid #ffcc80}.availability-badge--go-grab{background-color:#e8f5e8;color:#4caf50;border:1px solid #81c784}.quantity-selector__controls{display:flex;align-items:center;gap:12px}.quantity-selector__display{min-width:40px;text-align:center}.quantity-number{font-size:18px;font-weight:600;color:#191a26}.quantity-selector__buttons{display:flex;align-items:center;background-color:#000;border-radius:25px;padding:4px;gap:4px}.quantity-btn{width:36px;height:36px;border:none;border-radius:50%;background-color:transparent;color:#111;background-color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;outline:none}.quantity-btn:hover:not(:disabled){transform:scale(1.05)}.quantity-btn:active:not(:disabled){transform:scale(.95)}.quantity-btn:disabled{background-color:#ddd;cursor:not-allowed}.quantity-btn--increment{background-color:#fff;color:#191a26}.quantity-btn--increment:hover:not(:disabled){background-color:#f0f0f0}.quantity-btn svg{width:12px;height:12px;pointer-events:none}.quantity-selector--small{gap:6px;margin-left:auto}.menu-listing .menu-list .listing-page-picker .picker-select{padding:4px 5px;font-size:12px;border-radius:6px;border:1px solid #e0e0e0;background:#f8f9fa;min-height:20px}.quantity-selector--small .quantity-selector__controls{gap:8px}.quantity-selector--small .quantity-selector__display{min-width:32px}.quantity-selector--small .quantity-number{font-size:14px;font-weight:600}.quantity-selector--small .quantity-selector__buttons{padding:2px;gap:8px}.quantity-selector--small .quantity-btn{width:20px;height:20px}.quantity-selector--small .quantity-btn svg{width:8px;height:8px}.quantity-selector--medium .quantity-number{font-size:18px;font-weight:600}.quantity-selector--medium .quantity-btn{width:36px;height:36px}.quantity-selector--medium .quantity-btn svg{width:12px;height:12px}.quantity-selector--large{gap:10px}.quantity-selector--large .quantity-selector__controls{gap:16px}.quantity-selector--large .quantity-selector__display{min-width:48px}.quantity-selector--large .quantity-number{font-size:24px;font-weight:700}.quantity-selector--large .quantity-selector__buttons{padding:2px;gap:12px}.quantity-selector--large .quantity-btn{width:32px;height:32px;background-color:#fff;color:#111}.quantity-selector--large .quantity-btn svg{width:16px!important;height:16px!important}.quantity-selector--disabled{opacity:.6;pointer-events:none}.quantity-selector--unavailable .quantity-btn{background-color:#ccc;color:#666}.quantity-selector__warning,.quantity-selector__error{margin-top:4px;font-size:12px;padding:4px 8px;border-radius:4px}.quantity-selector__warning{background-color:#fff3e0;color:#f57c00;border:1px solid #ffcc80}.quantity-selector__error{background-color:#ffebee;color:#d32f2f;border:1px solid #ffcdd2}.warning-text,.error-text{font-weight:500}@media (max-width: 480px){.quantity-selector__controls{gap:8px}.quantity-selector--small .quantity-btn{width:24px;height:24px}.quantity-selector--small .quantity-number{font-size:12px}.quantity-selector--small .quantity-btn svg{width:8px;height:8px}.quantity-selector--medium .quantity-btn{width:32px;height:32px}.quantity-selector--medium .quantity-number{font-size:16px}.quantity-selector--medium .quantity-btn svg{width:10px;height:10px}.quantity-selector--large .quantity-btn{width:40px;height:40px}.quantity-selector--large .quantity-number{font-size:20px}.quantity-selector--large .quantity-btn svg{width:14px;height:14px}.quantity-selector--large .quantity-selector__controls{gap:12px}}.mobile-loader-overlay{position:fixed;inset:0;background-color:#fffffff2;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;justify-content:center;align-items:center;z-index:9999}.mobile-loader-content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.mobile-loader-content.inline{min-height:200px}.mobile-loader-content.overlay{background:#ffffffe6;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:30px;margin:20px;max-width:280px;width:90%}.loader-spinner-wrapper{display:flex;flex-direction:column;align-items:center;gap:16px}.custom-spinner{position:relative;display:inline-block}.custom-spinner.spinner-sm{width:32px;height:32px}.custom-spinner.spinner-md{width:48px;height:48px}.custom-spinner.spinner-lg{width:64px;height:64px}.spinner-ring{position:absolute;border:3px solid transparent;border-radius:50%;animation:spin 1.2s linear infinite}.custom-spinner.spinner-sm .spinner-ring{width:32px;height:32px}.custom-spinner.spinner-md .spinner-ring{width:48px;height:48px}.custom-spinner.spinner-lg .spinner-ring{width:64px;height:64px}.spinner-ring:nth-child(1){border-top-color:#007bff;animation-delay:-.45s}.spinner-ring:nth-child(2){border-top-color:#28a745;animation-delay:-.3s}.spinner-ring:nth-child(3){border-top-color:#ffc107;animation-delay:-.15s}.loader-text{margin:0;font-size:14px;font-weight:500;color:#212226;text-align:center;letter-spacing:.5px}@media (max-width: 576px){.mobile-loader-content.overlay{margin:15px;padding:25px;max-width:260px}.loader-text{font-size:13px}.loader-spinner-wrapper{gap:12px}}@media (max-width: 375px){.mobile-loader-content.overlay{margin:12px;padding:20px}}.mobile-loader-error{color:#dc3545}.mobile-loader-error .spinner-ring:nth-child(1),.mobile-loader-error .spinner-ring:nth-child(2),.mobile-loader-error .spinner-ring:nth-child(3){border-top-color:#dc3545}.mobile-loader-success{color:#28a745}.mobile-loader-success .spinner-ring:nth-child(1),.mobile-loader-success .spinner-ring:nth-child(2),.mobile-loader-success .spinner-ring:nth-child(3){border-top-color:#28a745}.date-time-picker{display:flex;flex-direction:column;gap:16px;width:100%}.p .date-time-picker .picker-select option:disabled{color:#ccc}.date-time-picker .picker-select option[data-recommended=true]{background-color:#e8f5e8;font-weight:600;color:#2e7d2e}ld{display:flex;flex-direction:column;gap:8px}.picker-select{width:100%;padding:12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;font-family:inherit;background:#fff;color:#333;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.picker-select:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033}.picker-select:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.picker-value{padding:12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;background:#fff;color:#333;display:flex;align-items:center;justify-content:space-between}.picker-value.disabled{background-color:#f5f5f5;color:#999}.picker-value.error{background-color:#ffebee;color:#d32f2f;border-color:#d32f2f}.time-value{display:flex;align-items:center;gap:8px}.time-value svg{flex-shrink:0}.date-time-picker.disabled{opacity:.6;pointer-events:none}.date-time-picker.no-dates .picker-value{background-color:#ffebee;color:#d32f2f;border-color:#d32f2f}.date-time-picker .picker-select option:disabled{color:#ccc}.picker-select:not(:disabled):hover{border-color:#4caf50}.picker-select.loading{background-image:url("data:image/svg+xml,%3csvg width='16' height='16' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M8 1.5a6.5 6.5 0 1 0 6.5 6.5' stroke='%23666' stroke-width='2' stroke-linecap='round'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pickup-details .date-time-picker{margin-top:8px}.pickup-details .date-time-picker .picker-field{margin-bottom:0}.pickup-details .date-time-picker .picker-label{font-size:13px;color:#666;margin-bottom:4px}.pickup-details .date-time-picker .picker-select,.pickup-details .date-time-picker .picker-value{padding:8px 12px;font-size:13px;border-radius:6px;border:1px solid #ddd}.listing-page-picker{margin-top:8px}.listing-page-picker .picker-field{margin-bottom:8px}.listing-page-picker .picker-label{font-size:12px;color:#666;margin-bottom:4px;font-weight:500}.listing-page-picker .picker-select{padding:6px 8px;font-size:12px;border-radius:6px;border:1px solid #e0e0e0;background:#f8f9fa;min-height:32px}.listing-page-picker .picker-select:focus{border-color:#4caf50;box-shadow:0 0 0 1px #4caf5033;background:#fff}.pickup-time-section{padding-top:0}.pickup-time-section .date-time-picker{flex-direction:column;gap:6px}.pickup-time-section .picker-field{margin-bottom:0}@media (max-width: 767px){.listing-page-picker .picker-select{font-size:11px;padding:5px 6px;min-height:28px}.listing-page-picker .picker-label{font-size:11px}.pickup-time-section{margin-top:0;padding-top:0%}}.pickup-edit-section{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:12px;margin-top:8px}.pickup-edit-section .date-time-picker,.pickup-edit-section .picker-field{margin-bottom:8px}.pickup-edit-section .picker-label{font-size:12px;color:#333;font-weight:500;margin-bottom:4px}.pickup-edit-section .picker-select{width:100%;padding:8px 12px;font-size:12px;border:1px solid #ddd;border-radius:6px;background:#fff}.pickup-edit-section .picker-select:focus{border-color:#4caf50;box-shadow:0 0 0 1px #4caf5033}.edit-actions button:hover{opacity:.9}.picker-value.date-value{background-color:#fff2e6;color:#ff6b35;border-color:#ff6b35;font-weight:500}.picker-value.time-value{background-color:#e8f5e8;color:#4caf50;border-color:#4caf50;font-weight:500}.picker-select.date-select:focus{border-color:#ff6b35;box-shadow:0 0 0 2px #ff6b3533}.picker-select.time-select:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033}.date-input-wrapper{position:relative;width:100%}.picker-select.date-input{opacity:0;position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer;z-index:2}.date-display-text{width:100%;padding:4px 18px 4px 5px;font-size:12px;border-radius:6px;border:1px solid #e0e0e0;background:#f8f9fa;cursor:pointer;font-family:inherit;line-height:1.4;min-height:20px;display:flex;align-items:center;transition:border-color .3s ease;pointer-events:none}.date-input-wrapper:hover .date-display-text{border-color:#ccc}.picker-select.date-input:focus+.date-display-text{border-color:#3fc045}.picker-select.date-input:disabled+.date-display-text{background-color:#f5f5f5;color:#999;cursor:not-allowed}.date-input-wrapper .picker-arrow{position:absolute;width:10px!important;right:4px;top:50%;transform:translateY(-50%);pointer-events:none;color:#666;z-index:1}.date-input-wrapper:hover .picker-arrow{color:#3fc045}.picker-select.date-input:focus+.date-display-text+.picker-arrow{color:#3fc045}@media (max-width: 480px){.date-input-wrapper .picker-arrow{right:10px}}@media (prefers-color-scheme: dark){.date-display-text{color:#000}.picker-select.date-input:focus+.date-display-text{border-color:#3fc045;box-shadow:0 0 0 2px #3fc04533}.picker-select.date-input:disabled+.date-display-text{color:#000}}.picker-select.date-input[readonly]{background-color:#f8f9fa;cursor:not-allowed;color:#6c757d}.picker-select.date-input[readonly]+.date-display-text{background-color:#f8f9fa;cursor:not-allowed;color:#6c757d;border-color:#dee2e6}.picker-select.date-input[readonly]:focus+.date-display-text{border-color:#dee2e6;box-shadow:none}.date-time-picker[data-order-type=PRE_ORDER] .date-input-wrapper{position:relative}.date-input-wrapper input{padding:4px 5px;font-size:12px;border-radius:6px;border:1px solid #e0e0e0;background:#f8f9fa;min-height:20px}.date-time-picker[data-order-type=PRE_ORDER] .date-input-wrapper:before{content:"📅";position:absolute;left:4px;top:50%;transform:translateY(-50%);z-index:1;pointer-events:none;opacity:.7}.date-time-picker[data-order-type=PRE_ORDER] .date-display-text{padding-left:24px}.mobile-date-picker-overlay{position:fixed;inset:0;background-color:#00000080;z-index:1000;display:flex;align-items:flex-end;animation:fadeIn .3s ease-out}.mobile-date-picker-content{background:#fff;width:100%;max-height:80vh;border-radius:20px 20px 0 0;padding:0;animation:slideUp .3s ease-out;overflow-y:auto}.mobile-date-picker-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e5e5;position:sticky;top:0;background:#fff;z-index:10}.mobile-picker-btn{background:none;border:none;font-size:16px;font-weight:600;color:#007aff;padding:8px 12px;border-radius:8px;cursor:pointer}.mobile-picker-btn.cancel{color:#ff3b30}.mobile-picker-btn:active{background-color:#007aff1a}.mobile-date-picker-header h3{margin:0;font-size:18px;font-weight:600;color:#1a1a1a}.mobile-calendar-container{padding:20px}.mobile-calendar-month-header{text-align:center;margin-bottom:20px}.mobile-calendar-month-header h4{margin:0;font-size:20px;font-weight:600;color:#1a1a1a}.mobile-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:12px}.mobile-weekday-header{text-align:center;font-size:12px;font-weight:600;color:#666;padding:8px 4px}.mobile-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:30px}.mobile-calendar-day{aspect-ratio:1;border:none;background:none;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease;position:relative;min-height:44px}.mobile-calendar-day.current-month{color:#1a1a1a}.mobile-calendar-day.other-month{color:#ccc;opacity:.5}.mobile-calendar-day.today{background-color:#007aff;color:#fff;font-weight:600}.mobile-calendar-day.selected{background-color:#34c759;color:#fff;font-weight:600}.mobile-calendar-day.past{color:#ccc;opacity:.4;cursor:not-allowed}.mobile-calendar-day.unavailable{cursor:not-allowed}.mobile-calendar-day.available:hover{background-color:#f0f0f0}.mobile-calendar-day.available:active{transform:scale(.95)}.day-number{font-size:16px}.today-indicator{font-size:10px;font-weight:500;margin-top:2px}.mobile-quick-dates{border-top:1px solid #e5e5e5;padding-top:20px}.mobile-quick-dates h5{margin:0 0 16px;font-size:16px;font-weight:600;color:#1a1a1a}.quick-date-buttons{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch}.quick-date-btn{flex-shrink:0;background:#fff;border:2px solid #e5e5e5;border-radius:12px;padding:12px 16px;text-align:center;cursor:pointer;transition:all .2s ease;min-width:70px}.quick-date-btn.selected{border-color:#34c759;background-color:#34c759;color:#fff}.quick-date-btn.today{border-color:#007aff}.quick-date-btn:active{transform:scale(.95)}.quick-date-day{font-size:20px;font-weight:700;line-height:1}.quick-date-month{font-size:12px;font-weight:500;margin:4px 0 2px;opacity:.8}.quick-date-weekday{font-size:11px;font-weight:500;opacity:.6}.quick-date-today{font-size:10px;font-weight:600;margin-top:2px;color:#007aff}.quick-date-btn.selected .quick-date-today{color:#fff}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media screen and (max-width: 414px){.mobile-calendar-day{min-height:40px;font-size:14px}.day-number{font-size:14px}.quick-date-btn{min-width:60px;padding:10px 12px}.quick-date-day{font-size:18px}}@supports (padding-bottom: env(safe-area-inset-bottom)){.mobile-date-picker-content{padding-bottom:env(safe-area-inset-bottom)}}.mobile-calendar-navigation{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:0 10px}.calendar-nav-section{display:flex;gap:8px}.nav-btn{background:#fff;border:2px solid #e5e5e5;border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;color:#007aff;cursor:pointer;transition:all .2s ease}.nav-btn:hover{background-color:#f0f8ff;border-color:#007aff}.nav-btn:active{transform:scale(.95)}.nav-btn.year-nav{font-size:14px;color:#666}.nav-btn.month-nav{font-size:20px;color:#007aff}.mobile-calendar-navigation .mobile-calendar-month-header{margin-bottom:0;text-align:center;flex:1}.mobile-calendar-navigation .mobile-calendar-month-header h4{margin:0;font-size:18px;font-weight:600;color:#1a1a1a;cursor:pointer;padding:8px 16px;border-radius:8px;transition:background-color .2s ease}.mobile-calendar-navigation .mobile-calendar-month-header h4:hover{background-color:#f0f0f0}.mobile-calendar-day.future-disabled{color:#ccc;opacity:.3;cursor:not-allowed}@media screen and (max-width: 414px){.mobile-calendar-navigation{padding:0 5px}.nav-btn{width:36px;height:36px;font-size:16px}.nav-btn.year-nav{font-size:12px}.nav-btn.month-nav{font-size:18px}.mobile-calendar-navigation .mobile-calendar-month-header h4{font-size:16px;padding:6px 12px}}.mobile-calendar-grid{transition:opacity .2s ease}.mobile-calendar-grid.loading{opacity:.7}.landing-page{min-height:100vh;background:linear-gradient(135deg,#198754,#20c997);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:20px}.background-animation{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.floating-food{position:absolute;font-size:2.5rem;opacity:.1;animation:float 6s ease-in-out infinite}.floating-food.food-1{top:10%;left:15%;animation-delay:0s}.floating-food.food-2{top:20%;right:20%;animation-delay:1s}.floating-food.food-3{top:60%;left:10%;animation-delay:2s}.floating-food.food-4{bottom:25%;right:15%;animation-delay:3s}.floating-food.food-5{top:40%;left:80%;animation-delay:4s}.floating-food.food-6{bottom:10%;left:60%;animation-delay:5s}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(5deg)}}.landing-content{background:#fffffff2;backdrop-filter:blur(10px);border-radius:24px;padding:40px 30px;text-align:center;max-width:500px;width:100%;box-shadow:0 20px 60px #0000001a;border:1px solid rgba(255,255,255,.2)}.logo-section{margin-bottom:40px}.logo-circle{width:80px;height:80px;background:linear-gradient(135deg,#198754,#20c997);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;box-shadow:0 10px 30px #1987544d;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 10px 30px #1987544d}50%{box-shadow:0 15px 40px #19875480}to{box-shadow:0 10px 30px #1987544d}}.logo-icon{font-size:2.5rem;filter:brightness(0) invert(1)}.brand-name{font-size:2.5rem;font-weight:700;color:#191a26;margin:0;font-family:Urbanist,sans-serif}.accent-text{color:#198754}.coming-soon-section{margin-bottom:30px}.coming-soon-title{font-size:2rem;font-weight:700;color:#191a26;margin-bottom:20px;line-height:1.2}.gradient-text{background:linear-gradient(135deg,#198754,#20c997);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{font-size:1.1rem;color:#6c757d;margin-bottom:40px;min-height:60px;display:flex;align-items:center;justify-content:center;line-height:1.5}.cursor{animation:blink 1s infinite;color:#198754;font-weight:700}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.feature-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:40px}@media (min-width: 480px){.feature-grid{grid-template-columns:repeat(3,1fr)}}.feature-card{padding:20px 15px;background:#1987540d;border-radius:16px;border:1px solid rgba(25,135,84,.1);transition:all .3s ease}.feature-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #19875426}.feature-icon{font-size:2rem;margin-bottom:10px}.feature-card h3{font-size:1rem;font-weight:700;color:#191a26;margin-bottom:8px}.feature-card p{font-size:.85rem;color:#6c757d;margin:0;line-height:1.4}.live-clock{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:30px;padding:15px;background:#19875414;border-radius:12px;border:1px solid rgba(25,135,84,.15)}.clock-icon{font-size:1.2rem}.time-display{font-family:monospace;font-size:1.1rem;font-weight:700;color:#198754}.cta-section{margin-bottom:30px}.launch-text{color:#6c757d;margin-bottom:20px;font-size:.95rem}.explore-btn{display:inline-flex;align-items:center;gap:10px;padding:15px 30px;background:linear-gradient(135deg,#198754,#20c997);color:#fff;text-decoration:none;border-radius:50px;font-weight:600;transition:all .3s ease;box-shadow:0 8px 20px #1987544d}.explore-btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px #19875466;color:#fff}.btn-arrow{background:#fff3;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:transform .3s ease}.explore-btn:hover .btn-arrow{transform:translate(3px)}.progress-container{margin-bottom:20px}.progress-label{font-size:.85rem;color:#6c757d;margin-bottom:10px}.progress-bar{width:100%;height:8px;background:#1987541a;border-radius:10px;overflow:hidden;margin-bottom:8px}.progress-fill{width:95%;height:100%;background:linear-gradient(90deg,#198754,#20c997);border-radius:10px;animation:progressAnimation 3s ease-out}@keyframes progressAnimation{0%{width:0%}to{width:95%}}.progress-text{font-size:.75rem;color:#198754;font-weight:600}.landing-footer{border-top:1px solid rgba(25,135,84,.1);padding-top:20px}.landing-footer p{color:#6c757d;font-size:.9rem;margin:0}@media (max-width: 576px){.landing-content{margin:20px;padding:30px 20px}.coming-soon-title{font-size:1.6rem}.brand-name,.floating-food{font-size:2rem}.feature-grid{gap:15px}.feature-card{padding:15px 10px}}.lazy-image-container{position:relative;width:100%;height:100%;overflow:hidden}.image-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-color:#f8f9fa;border-radius:8px}.image-skeleton{width:100%;height:100%;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:8px;position:relative}.image-skeleton:after{content:"🖼️";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px;opacity:.3}@keyframes skeleton-loading{0%{background-position:-200% 0}to{background-position:200% 0}}.lazy-image-container img{width:100%;height:100%;object-fit:cover;border-radius:8px;transition:opacity .3s ease-in-out}.lazy-image-container img.loading{opacity:0}.lazy-image-container img.loaded{opacity:1}.image-error-indicator{position:absolute;bottom:4px;right:4px;background:#dc3545cc;color:#fff;padding:2px 6px;border-radius:4px;font-size:10px;backdrop-filter:blur(4px)}@media (max-width: 576px){.image-skeleton:after{font-size:20px}.image-error-indicator{font-size:9px;padding:1px 4px}}@media (max-width: 375px){.image-skeleton:after{font-size:18px}}.product-image{position:relative}.product-image .lazy-image-container{border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000001a}.product-image .image-placeholder{min-height:200px;background:linear-gradient(135deg,#f8f9fa,#e9ecef)}@media (max-width: 576px){.product-image .image-placeholder{min-height:180px}}.star-rating{display:inline-flex;align-items:center;gap:6px}.stars-container{display:inline-flex;align-items:center}.star-container{position:relative;display:inline-block;line-height:0}.star-empty{display:block}.star-filled{transition:width .3s ease-in-out}.rating-info{display:flex;align-items:center;gap:4px;font-size:14px;color:#212226;white-space:nowrap}.rating-value{font-weight:600}.review-count{color:#6b7280;font-size:13px}.star-rating.small .rating-info{font-size:12px}.star-rating.small .review-count{font-size:11px}.star-rating.medium .rating-info{font-size:14px}.star-rating.medium .review-count{font-size:13px}.star-rating.large .rating-info{font-size:16px}.star-rating.large .review-count{font-size:14px}@media (max-width: 576px){.star-rating{gap:4px}.rating-info{font-size:12px}.review-count{font-size:11px}}.order-type-info{text-align:center;margin:16px 0}.order-type-badge{display:inline-block;padding:4px 12px;border-radius:16px;font-size:.75rem;font-weight:500;text-transform:uppercase}.order-type-badge.pre-order{background-color:#fff3e0;color:#bf5700;border:1px solid #ff9800}.add-to-cart-action .button.disabled{background-color:#ccc;color:#666;cursor:not-allowed;opacity:.6}.add-to-cart-action .button.disabled:hover{background-color:#ccc;transform:none}.quantity-warpper{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-top:16px}.quantity-warpper .price,.food-detail-quantity{flex-shrink:0}.heart-icon{cursor:pointer;transition:all .3s ease;border-radius:50%;display:flex;align-items:center;justify-content:center;user-select:none}.heart-icon:hover{transform:scale(1.1);background-color:#ff55551a}.heart-icon:active{transform:scale(.95)}.heart-icon.liked{animation:heartBeat .6s ease-in-out}@keyframes heartBeat{0%{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(1)}75%{transform:scale(1.1)}to{transform:scale(1)}}.product-image .heart-icon{position:absolute;top:15px;right:15px;background-color:#fff;width:40px;height:40px;border-radius:50%;box-shadow:0 2px 8px #0000001a;z-index:2}.pickup-details{margin-top:16px;display:flex;flex-direction:column;gap:12px}.pickup-field{display:flex;align-items:center;gap:8px}.pickup-label{font-size:14px;color:#666;font-weight:500;min-width:80px}.pickup-value{background-color:#f8f9fa;padding:8px 12px;border-radius:6px;border:1px solid #e9ecef;font-size:14px;font-weight:600;color:#191a26;display:flex;align-items:center;gap:6px}.date-value{color:#dc3545;background-color:#fff5f5;border-color:#fed7d7;margin-left:auto}.time-value{color:#198754;background-color:#f0f8f4;border-color:#c6f6d5;margin-left:auto}.time-value svg{width:14px;height:14px}@media (max-width: 480px){.pickup-field{flex-direction:column;align-items:flex-start;gap:4px}.pickup-label{min-width:unset}.pickup-value{width:100%;justify-content:center}}.custom-slider{position:relative;width:100%;height:200px;border-radius:12px;overflow:hidden;margin-bottom:20px}.slider-container{position:relative;width:100%;height:100%;overflow:hidden;border-radius:12px}.slider-track{display:flex;width:100%;height:100%;transition:transform .5s ease-in-out}.slider-slide{min-width:100%;height:100%;position:relative}.slider-image{width:100%;height:100%;object-fit:cover;border-radius:12px}.custom-slider .heart-icon{position:absolute;top:12px;left:12px;background:#ffffffe6;backdrop-filter:blur(10px);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:20;transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.custom-slider .heart-icon:hover{background:#fff;transform:scale(1.1);box-shadow:0 4px 12px #00000026}.custom-slider .heart-icon.liked{background:#ff55551a}.slider-btn{position:absolute;top:50%;transform:translateY(-50%);background:#fffffff2;backdrop-filter:blur(10px);border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:15;transition:all .3s ease;box-shadow:0 2px 8px #00000026;color:#333;font-size:0}.slider-btn:hover{background:#fff;transform:translateY(-50%) scale(1.1);box-shadow:0 4px 12px #0003}.slider-btn:active{transform:translateY(-50%) scale(.95)}.slider-btn:focus{outline:2px solid #3fc045;outline-offset:2px}.slider-prev{left:12px}.slider-next{right:12px}.slider-btn svg{width:20px;height:20px;stroke-width:2;stroke:currentColor;fill:none}.slider-dots{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:15;background:#0000004d;padding:8px 12px;border-radius:20px;backdrop-filter:blur(10px)}.slider-dot{width:10px;height:10px;border-radius:50%;border:none;background:#fff9;cursor:pointer;transition:all .3s ease}.slider-dot:hover{background:#ffffffe6;transform:scale(1.2)}.slider-dot.active{background:#3fc045;width:16px;height:10px;border-radius:5px;box-shadow:0 0 0 2px #fffc}@media (max-width: 768px){.custom-slider{height:160px}.custom-slider .heart-icon{width:32px;height:32px;top:10px;right:10px}.slider-btn{width:36px;height:36px}.slider-btn svg{width:18px;height:18px}.slider-prev{left:10px}.slider-next{right:10px}.slider-dots{bottom:12px;padding:6px 10px}.slider-dot{width:8px;height:8px}.slider-dot.active{width:12px;height:8px;border-radius:4px}}.custom-slider.auto-sliding .slider-track{transition:transform .8s ease-in-out}.slider-slide img[data-loading=true]{opacity:.7;filter:blur(2px)}.slider-slide img[data-loaded=true]{opacity:1;filter:none;transition:opacity .3s ease,filter .3s ease}.custom-slider .slider-btn,.custom-slider .slider-dots{display:flex!important;position:absolute!important}.wechat-auth-dialog-overlay{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.wechat-auth-dialog{background:#fff;border-radius:16px;max-width:400px;width:100%;box-shadow:0 20px 40px #00000026;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.wechat-auth-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 16px;border-bottom:1px solid #f0f0f0}.wechat-auth-header h3{margin:0;font-size:20px;font-weight:600;color:#333}.wechat-auth-close{background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:4px;line-height:1;transition:color .2s ease;border-radius:4px}.wechat-auth-close:hover{color:#666;background:#f5f5f5}.wechat-auth-content{padding:32px 24px;text-align:center}.wechat-auth-icon{width:64px;height:64px;margin:0 auto 24px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#07c160,#00b853);border-radius:16px;box-shadow:0 8px 24px #07c16040}.wechat-auth-icon img{width:32px;height:32px;filter:brightness(0) invert(1)}.wechat-auth-message{font-size:16px;color:#666;margin:0 0 32px;line-height:1.5}.wechat-auth-button{width:100%;background:linear-gradient(135deg,#07c160,#00b853);color:#fff;border:none;border-radius:12px;padding:16px 24px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;transition:all .2s ease;box-shadow:0 4px 16px #07c16040}.wechat-auth-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #07c16059}.wechat-auth-button:active{transform:translateY(0)}.wechat-auth-button img{width:20px;height:20px;filter:brightness(0) invert(1)}.wechat-auth-note{font-size:14px;color:#999;margin:16px 0 0;line-height:1.4}@media (max-width: 480px){.wechat-auth-dialog-overlay{padding:16px}.wechat-auth-dialog{border-radius:12px}.wechat-auth-header{padding:20px 20px 12px}.wechat-auth-header h3{font-size:18px}.wechat-auth-content{padding:24px 20px}.wechat-auth-icon{width:56px;height:56px;margin-bottom:20px}.wechat-auth-icon img{width:28px;height:28px}.wechat-auth-message{font-size:15px;margin-bottom:28px}.wechat-auth-button{padding:14px 20px;font-size:15px}}.diagnostic-panel{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}:root{--bs-body-bg: #ffffff;--bs-body-color: #191a26;--bs-primary: #8d93a1;--app-border-radius: .65rem;--body-font: "Urbanist", sans-serif;font-size:15.2px}body{-webkit-font-smoothing:antialiased;font-family:Urbanist,sans-serif}html,body,#root{height:100%}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#3fc045;border-radius:12px}*{margin:0;padding:0}.mb-8{margin-bottom:8px!important}.mb-10{margin-bottom:10px!important}.mb-12{margin-bottom:12px!important}.mb-16{margin-bottom:16px!important}.mb-18{margin-bottom:18px!important}.mb-20{margin-bottom:20px!important}.mobile-container{max-width:376px;width:100%;background-color:#fffefe;margin:0 auto;border-radius:2px}.padding-20{padding:20px}.mobile-container .back-link{height:36px;width:36px;border-radius:50%;display:flex;justify-content:center;align-items:center;background-color:#f8f8f8;cursor:pointer;text-decoration:none;margin-bottom:20px}.back-link-title{display:flex;align-items:center;margin-bottom:24px;width:100%}.back-link-title .back-link{margin-bottom:0}.back-link-title .title{font-size:18px;font-weight:700;color:#212226;margin:0;margin-left:calc(40% - 36px)}.back-link-title .listing-page-title{font-size:18px;font-weight:700;color:#212226;margin:0 0 0 12px}.product-detail .title{font-weight:700;color:var(--bs-body-color);font-size:24px;margin-bottom:5px;line-height:1.1}.product-detail .text{font-weight:400;font-family:var(--body-font);color:var(--bs-primary);font-size:14px;margin-bottom:8px;line-height:1.1}.product-detail .review-info{padding:10px 14px;border-radius:67px;margin:auto auto 20px;background-color:#ecf9ed;width:max-content;border:1px solid #eaedf3;max-width:100%;width:100%;display:flex;justify-content:center;align-items:center;gap:8px}.product-detail .review-info .line{height:15px;width:1px;background-color:#eaedf3}.product-detail .review-info .left{display:flex;align-items:center;gap:6px}.product-detail .review-info .left.flex-0{flex-shrink:0}.product-detail .review-info .left .text{font-size:13px;color:var(--bs-body-color);margin-bottom:0}.product-detail .review-info .left .text .strong{font-weight:700}.product-detail .product-image{width:100%;height:auto;margin-bottom:20px;border-radius:12px;position:relative}.product-detail .product-image img{width:100%;height:auto;max-height:200px;border-radius:12px;object-fit:cover}.product-detail .product-image .icon{position:absolute;width:32px;height:32px;z-index:1;border-radius:50%;left:16px;top:16px;display:flex;justify-content:center;align-items:center;background-color:#f8f8f8;cursor:pointer}.quantity-warpper{display:flex;justify-content:space-between;align-items:center}.quantity-warpper .price{font-size:30px;font-weight:700;color:var(--bs-body-color);padding-left:4px}.quantity-warpper .price sup{font-size:14px;font-weight:700;top:-10px;left:-5px;color:#3fc045}.quantity-warpper .right{display:flex;align-items:center;gap:10px}.quantity-warpper .right .count{width:36px;height:36px;display:flex;font-size:11px;background-color:#f7f7fa;border-radius:50%;justify-content:center;align-items:center;font-weight:600;flex-shrink:0;color:var(--bs-body-color);user-select:none}.quantity-warpper .right .counter{height:39px;display:flex;align-items:center;justify-content:space-between;box-shadow:7.3px 14.61px 21.91px #00000003;background-color:#282a33;border-radius:67px;gap:3px;width:max-content;padding:6px 3px 6px 6px}.quantity-warpper .right .counter .button{cursor:pointer;width:36px;height:36px;border-radius:50%;user-select:none;display:flex;justify-content:center;align-items:center;border:none;background-color:transparent}.quantity-warpper .right .counter .button.dark{background-color:#363944;box-shadow:7.3px 14.61px 21.91px #00000003}.hr{height:1px;width:100%;background-color:#eaedf3}.small-title{font-size:14px;font-weight:700;color:var(--bs-body-color)}.medium-title{font-size:16px;font-weight:700;color:var(--bs-body-color)}.body-text{font-size:12px;font-weight:400;line-height:1.3;color:#646568}.body-text-med{font-size:14px;font-weight:400;line-height:1.3;color:#646568}.product-detail .product-info{font-weight:500;color:var(--bs-body-color);border-radius:12px;font-size:12px;padding:10px 10px 30px;line-height:16px;border:1px solid #eaedf3;background-color:#f8f8f8}.custom-accordian{display:flex;align-items:center;padding:6px;border-radius:67px;background-color:#3fc0451a}.custom-accordian .button{border:none;background-color:transparent;font-size:12px;font-weight:500;padding:10px;border-radius:67px;max-width:50%;transition:all .3s ease-in-out;flex:auto;color:#000}.custom-accordian .button:focus{border:none!important;outline:none!important;background-color:transparent}.custom-accordian .button:hover{border:none!important;outline:none!important;color:#fff;background-color:#3fc045}.custom-accordian .button.active{background-color:#3fc045;color:#fff}.accordian-content{min-height:150px;padding:20px 0}.accordian-content .description-content{font-size:14px;line-height:22px;color:#797d81}.accordian-content .reviews-content .overall-reviews{border:1px solid #eaedf3ea;padding:8px 10px;border-radius:12px;margin-bottom:20px;display:flex;align-items:center;gap:14px}.accordian-content .reviews-content .overall-reviews .line{height:120px;width:1px;background-color:#eee}.accordian-content .reviews-content .overall-reviews .left{width:100px;text-align:center}.accordian-content .reviews-content .overall-reviews .left .bold{font-size:38px;color:var(--bs-body-color);line-height:1;font-weight:700;margin-bottom:6px}.accordian-content .reviews-content .overall-reviews .left .ratings{display:flex;align-items:center;margin-bottom:6px;justify-content:center;gap:4.5px}.accordian-content .reviews-content .overall-reviews .right{flex:1 1 auto}.accordian-content .reviews-content .overall-reviews .right .review{display:flex;align-items:center;gap:7px;padding:2px 0}.accordian-content .reviews-content .overall-reviews .right .review .text{font-size:12.5px;font-weight:600;color:var(--bs-body-color);margin:0;line-height:1.6}.accordian-content .reviews-content .overall-reviews .right .review .progress-bar{height:6px;border-radius:40px;background-color:#e0e0e0;width:100%;position:relative}.accordian-content .reviews-content .overall-reviews .right .review .progress-bar .fill{transition:all .3s ease-in-out;height:100%;background-color:#3fc045;border-radius:40px;z-index:1;left:0;top:0}.reviews-list .review-item{border:1px solid #eaedf3;border-radius:12px;margin-bottom:20px;padding:14px}.reviews-list .review-item .header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.reviews-list .review-item .header .profile{display:flex;align-items:center;gap:8px}.reviews-list .review-item .header .profile .image{height:48px;width:48px;border-radius:50%;object-fit:cover}.reviews-list .review-item .header .profile .data .name{font-size:16px;font-weight:700;color:#212121;line-height:1.5;margin-bottom:1px}.reviews-list .review-item .header .profile .data .rating{display:flex;align-items:center;margin-bottom:4px;gap:7px}.reviews-list .review-item .header .profile .data .date{font-size:12px;font-weight:500;color:#616161;line-height:1;margin-bottom:2px}.reviews-list .review-item .header .icon{cursor:pointer;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.reviews-list .review-item .description{font-weight:500;font-size:16px;line-height:160%;letter-spacing:.2px;color:#212121}.add-to-cart-action.mt-2{margin-top:12px}.add-to-cart-action{display:flex;align-items:center;max-width:340px;width:100%;margin:90px auto 20px;gap:12px}.add-to-cart-action .button{flex:1 1 auto;height:42px;border-radius:67px;text-align:center;font-size:14px;font-weight:700;color:#fff;padding:8px 16px;background-color:#3fc045;border:none}.add-to-cart-action .sold-out{background-color:#bebdbd;color:#fff}.add-to-cart-action .icon{height:42px;width:42px;border-radius:50%;display:flex;justify-content:center;align-items:center;background-color:#191a26;cursor:pointer}.order-page .orders-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.order-page{min-height:100vh;display:flex;flex-direction:column;justify-content:space-between}.order-count{display:flex;justify-content:space-between;margin:11px 0;font-weight:600}.action-button{width:100%;height:42px;background-color:#3fc045;font-size:14px;border-radius:67px;color:#fff;font-size:16px;font-weight:600;text-align:center;border:none;cursor:pointer;padding:14px;display:flex;justify-content:center;align-items:center}.order-page .orders-top .text{font-size:16px;color:#212226;margin:0;font-weight:600}.order-page .orders-top .action{color:#3fc045;font-weight:600;font-size:14px;cursor:pointer}.order-page .order-item{padding:12px;border:1px solid #eaedf3;border-radius:8px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.order-page .order-item .left{display:flex;align-items:center;gap:15px}.order-page .order-item .left .image{width:72px;height:72px;border-radius:8px}.order-page .order-item .left .image img{width:100%;height:100%;border-radius:8px;object-fit:cover}.order-page .order-item .left .data .title{font-size:14px;font-weight:600;color:#212226;line-height:1.2;margin-bottom:4px}.order-page .order-item .left .data .cusine{font-size:12px;font-weight:500;color:#212226;line-height:1.2;margin-bottom:4px}.order-page .order-item .left .data .price{font-size:14px;font-weight:600;color:#3fc045;line-height:1.2;margin-bottom:0}.order-page .order-item .counter{display:flex;flex-direction:column;gap:2px}.order-page .order-item .counter .action{height:20px;width:20px;display:flex;justify-content:center;align-items:center;border-radius:6px;cursor:pointer;user-select:none;border:none}.order-page .order-item .counter .count{height:24px;font-size:14px;font-weight:700;user-select:none;cursor:text;color:#212226;display:flex;justify-content:center;align-items:center}.order-page .order-item .counter .action.inc{background-color:#3fc045}.order-page .order-item .counter .action.dec{background-color:#ecf9ec}.order-page .order-item .counter .action:focus{outline:none;border:none}.date-selection{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.date-selection .left{display:flex;align-items:center;gap:12px}.date-selection .left .data .title{font-size:13px;font-weight:400;line-height:1.2;color:#646568;margin-bottom:6px}.date-selection .left .data .date{font-size:15px;font-weight:600;line-height:1.2;color:var(--bs-body-color);margin-bottom:0}.date-selection .action{width:40px;height:40px;border-radius:50%;display:flex;justify-content:center;align-items:center;cursor:pointer;border:none}.date-selection .action img{width:20px;height:auto}.date-selection .action:focus{outline:none;border:none}.map-container{height:110px;width:100%;border-radius:12px;margin-bottom:18px}.map-container iframe,.map-container img{width:100%;object-fit:cover;height:100%;border-radius:12px}.add-address{background-color:transparent;border:none;font-size:12px;font-weight:400;color:#3fc045;display:flex;gap:5px;align-items:center}.add-address:focus{outline:none;border:none}.payment-method{border-radius:12px;margin-bottom:16px;padding:16px;border:1px solid #eaedf3}.payment-method .item-flex{display:flex;line-height:1.4;justify-content:space-between;align-items:center;margin-bottom:12px;color:#646568;font-size:16px;font-weight:600}.payment-method .item-flex.bold{font-weight:700;color:var(--bs-body-color)}.other-payment-fee{display:flex;justify-content:space-between;align-items:center}.other-payment-fee .left{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#646568}.other-payment-fee .left .icon{height:20px;width:20px;border:1px solid #191a26;display:flex;justify-content:center;border-radius:50%;align-items:center;font-size:14px;font-weight:700;color:var(--bs-body-color)}.other-payment-fee .input{height:24px;width:24px;border-radius:50%;appearance:none;background-color:transparent;border:1px solid #3fc045;padding:4px;cursor:pointer;position:relative}.other-payment-fee .input:before{height:18px;width:18px;background-color:transparent;left:2px;top:2px;position:absolute;content:"";border-radius:50%;z-index:1}.other-payment-fee .input:checked:before{background-color:#3fc045}.other-payments-wrapper{padding:16px;border-radius:12px;margin-bottom:20px;border:1px solid #eaedf3}.other-payments-wrapper .title{font-size:14px;font-weight:600;color:#3fc045;margin-bottom:16px}.other-payments-wrapper .item-flex{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.other-payments-wrapper .item-flex .left .text{font-size:12px;color:var(--bs-body-color);margin-bottom:0;line-height:1;font-weight:600}.other-payments-wrapper .item-flex .left .email{font-size:12px;color:var(--bs-body-color);text-decoration:underline;margin-bottom:0;line-height:1;font-weight:600}.other-payments-wrapper .item-flex .copy{cursor:pointer;font-size:12px;width:max-content;background-color:#3fc045;color:#fff;display:flex;padding:4px 8px;border-radius:6px;align-items:center;gap:5px}.other-payments-wrapper .item-flex .copy svg{width:12px}.pickup-items-list{margin-top:16px}.pickup-item-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #f0f0f0}.pickup-item-row:last-child{border-bottom:none}.item-info{display:flex;align-items:center;gap:12px;flex:1}.food-image{width:40px;height:40px;border-radius:8px;overflow:hidden;background-color:#f5f5f5;display:flex;align-items:center;justify-content:center}.food-image img{width:100%;height:100%;object-fit:cover}.food-details{flex:1}.food-name{font-size:16px;font-weight:600;color:#191a26;margin:0 0 4px;line-height:1.2}.pickup-time{font-size:14px;color:#646568;margin:0;line-height:1.2}.edit-icon{padding:8px;cursor:pointer;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:32px;min-height:32px}.edit-icon:hover{background-color:#f0f8f0;transform:scale(1.05)}.edit-icon:active{transform:scale(.98);background-color:#e8f5e8}.edit-icon:focus{outline:2px solid #3fc045;outline-offset:2px}.edit-icon img{width:16px;height:16px;opacity:.6;transition:opacity .2s ease}.edit-icon:hover img{opacity:.8}.order-items-title{font-size:16px;font-weight:600;color:#191a26;margin-bottom:8px}.empty-cart-message{text-align:center;padding:40px 20px;color:#646568}.empty-cart-message p{margin:0;font-size:14px}.item-quantity{font-size:12px;color:#8d93a1;margin-top:2px;font-weight:500}.map-container{position:relative;width:100%;height:200px;border-radius:12px;overflow:hidden;margin-bottom:18px}.success-image-wrapper{text-align:center}.success-image-wrapper img{max-width:120px;display:block;margin:auto auto 20px}.interactive-map{width:100%;height:100%;position:relative}.map-fallback{position:relative;width:100%;height:100%}.map-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.map-pin{display:flex;flex-direction:column;align-items:center;animation:bounce 1s ease-in-out infinite alternate}.pin-icon{font-size:24px;margin-bottom:4px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.pin-label{background-color:#ffffffe6;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600;color:#191a26;white-space:nowrap;box-shadow:0 2px 4px #0000001a}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-8px)}}.menu-listing .menu-list{padding:12px;margin-bottom:16px;border-radius:12px;border:1px solid #eaedf3;display:flex;align-items:center;gap:16px}.menu-listing .menu-list .left{flex:1 1 60%;display:flex;gap:8px;align-items:center}.menu-listing .menu-list .left .image img{width:70px;height:80px;border-radius:12px;object-fit:cover}.menu-listing .menu-list .left .data .title{font-size:12px;font-weight:700;text-align:left;margin-bottom:4px;color:var(--bs-body-color)}.menu-listing .menu-list .left .data .text{font-size:11px;font-weight:400;text-align:left;margin-bottom:4px;color:#7e8ca0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.menu-listing .menu-list .left .data .price{font-size:12px;font-weight:700;text-align:left;color:#3fc045}.menu-listing .menu-list .quantity-warpper{flex:0 0 auto;display:initial}.menu-listing .menu-list .quantity-warpper .icon{width:24px;height:24px;background-color:#f8f8f8;border-radius:50%;flex-shrink:0;display:flex;justify-content:center;align-items:center;cursor:pointer}.menu-listing .menu-list .quantity-warpper .icon img{width:12px}.menu-listing .menu-list .quantity-warpper .bottom{display:flex;align-items:center;gap:4px;justify-content:space-between}.menu-listing .menu-list .quantity-warpper .bottom .time{font-size:13px;font-weight:700;color:var(--bs-body-color)}.menu-listing .menu-list .quantity-warpper .title{font-size:13px;font-weight:700;margin-bottom:4px;color:var(--bs-body-color)}.menu-listing .menu-list .quantity-warpper .right .count{width:24px;height:24px;display:flex;font-size:8px}.menu-listing .menu-list .quantity-warpper .right .counter{height:26px;padding:3px}.menu-listing .menu-list .quantity-warpper .right .counter .button{width:24px;height:24px}.menu-listing .menu-list .quantity-warpper .right .counter .button svg{width:12px!important;height:12px!important}.scanner-bottom{display:flex;align-items:center;gap:16px}.scanner-bottom .text{font-size:12px;font-weight:400;font-style:italic;color:#3fc045;margin-bottom:0}.scanner-bottom .qr{height:60px;width:60px;border-radius:12px;flex-shrink:0;border:1px solid #eaedf3}.scanner-bottom .qr img{width:100%;height:100%;object-fit:cover}.order-items-section{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:20px;margin-bottom:20px}.pickup-summary-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:0;overflow:hidden;box-shadow:0 1px 3px #0000000d}.pickup-summary-content{display:flex;align-items:center;padding:16px 20px;gap:16px}.pickup-icon{width:36px;height:36px;background:#f0f8f0;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pickup-icon img{width:18px;height:18px;filter:brightness(0) saturate(100%) invert(42%) sepia(93%) saturate(1352%) hue-rotate(87deg) brightness(119%) contrast(119%)}.pickup-text{flex:1}.pickup-title{font-size:15px;font-weight:600;color:#212529;margin-bottom:4px;line-height:1.2}.pickup-dates{font-size:14px;color:#6c757d;font-weight:400;line-height:1.3}.pickup-item{color:#495057}.pickup-edit{width:36px;height:36px;background:#f0f8f0;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .2s ease;border:1px solid transparent}.pickup-edit:hover{background:#e8f5e8;border-color:#28a745}.pickup-edit img{width:16px;height:16px;filter:brightness(0) saturate(100%) invert(42%) sepia(93%) saturate(1352%) hue-rotate(87deg) brightness(119%) contrast(119%)}@media (max-width: 767px){.pickup-summary-content{padding:14px 16px;gap:12px}.pickup-icon,.pickup-edit{width:32px;height:32px}.pickup-icon img{width:16px;height:16px}.pickup-edit img{width:14px;height:14px}.pickup-title{font-size:14px}.pickup-dates{font-size:13px}}.order-items-title{font-size:18px;font-weight:600;color:#212529;margin-bottom:20px;margin-top:0}.pickup-section{margin-bottom:20px}.pickup-section:last-child{margin-bottom:0}.pickup-section-title{font-size:15px;font-weight:500;color:#6c757d;margin-bottom:12px;margin-top:0;padding-bottom:8px;border-bottom:1px solid #f0f0f0}.order-item-card{background:#fff;border:none;border-radius:0;margin-bottom:16px;padding:16px 0;border-bottom:1px solid #f5f5f5}.order-item-card:last-child{margin-bottom:0;border-bottom:none}.order-item-content{display:flex;justify-content:space-between;align-items:flex-start}.item-details{flex:1}.item-name{font-size:16px;font-weight:600;color:#212529;margin-bottom:6px;margin-top:0;line-height:1.3}.item-meta{margin-bottom:8px}.item-quantity{font-size:14px;color:#6c757d;font-weight:400}.item-price{font-size:16px;font-weight:600;color:#212529}.pickup-details{text-align:right;flex-shrink:0;margin-left:16px;min-width:120px}.pickup-date-info{font-size:14px;color:#6c757d;margin-bottom:4px;font-weight:400;line-height:1.3}.pickup-time-info{font-size:16px;color:#28a745;font-weight:600;line-height:1.3}@media (max-width: 767px){.order-item-content{flex-direction:column;align-items:flex-start}.pickup-details{text-align:left;margin-left:0;margin-top:12px;width:100%;display:flex;justify-content:space-between;align-items:center}.pickup-date-info{margin-bottom:0}}.upload-section{margin-bottom:24px}.upload-dropzone{border:2px dashed #d1d5db;border-radius:12px;padding:32px 16px;text-align:center;background-color:#f9fafb;transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden}.upload-dropzone:hover{border-color:#3fc045;background-color:#f0f9f0;transform:translateY(-1px)}.upload-dropzone.active{border-color:#3fc045;background-color:#f0f9f0;box-shadow:0 0 0 3px #3fc0451a}.upload-content{display:flex;flex-direction:column;align-items:center;gap:12px}.upload-icon{color:#6b7280;margin-bottom:8px;transition:color .3s ease}.upload-dropzone:hover .upload-icon{color:#3fc045}.upload-title{font-size:18px;font-weight:600;color:#374151;margin:0}.upload-description{font-size:14px;color:#6b7280;margin:0;line-height:1.5}.upload-link{color:#3fc045;font-weight:500;text-decoration:underline}.upload-formats{font-size:12px;color:#9ca3af;margin:0}.upload-preview-container{display:flex;flex-direction:column;gap:12px}.upload-preview{position:relative;border-radius:12px;overflow:hidden;background-color:#f3f4f6;border:2px solid #e5e7eb}.preview-image{width:100%;max-height:220px;object-fit:cover;display:block}.remove-image-btn{position:absolute;top:8px;right:8px;background-color:#000000b3;color:#fff;border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease}.remove-image-btn:hover{background-color:#ef4444cc}.file-info{display:flex;flex-direction:column;gap:12px;padding:12px 16px;background-color:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.file-details{display:flex;justify-content:space-between;align-items:center}.file-name{font-size:14px;font-weight:500;color:#374151;margin:0 12px 0 0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{font-size:12px;color:#6b7280;margin:0;flex-shrink:0}.upload-status{display:flex;flex-direction:column;gap:8px}.status-item{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500}.status-item.uploading{color:#3f83f8}.status-item.success{color:#10b981}.status-item.error{color:#ef4444}.upload-status-overlay{position:absolute;inset:0;background-color:#000000b3;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:12px;color:#fff;font-size:14px;font-weight:500}.upload-spinner{width:24px;height:24px;border:3px solid rgba(255,255,255,.3);border-top:3px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:8px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.firebase-url{padding:8px 12px;background-color:#eff6ff;border-radius:6px;border:1px solid #dbeafe}.url-label{font-size:12px;color:#6b7280;margin:0 0 4px;font-weight:500}.url-link{font-size:13px;color:#3f83f8;text-decoration:none;font-weight:500;word-break:break-all}.url-link:hover{text-decoration:underline}.action-button:disabled{background-color:#9ca3af!important;cursor:not-allowed!important;opacity:.6}.action-button:disabled:hover{background-color:#9ca3af!important;transform:none!important}.order-summary-card{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:20px;margin:20px 0;text-align:left}.order-summary-title{font-size:18px;font-weight:600;color:#1a202c;margin-bottom:16px;text-align:center}.order-detail-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e2e8f0}.order-detail-row:last-child{border-bottom:none;margin-bottom:0}.detail-label{font-size:14px;color:#4a5568;font-weight:500}.detail-value{font-size:14px;color:#1a202c;font-weight:600}.success-actions{display:flex;flex-direction:column;gap:12px;width:100%}.action-button.secondary{background-color:#fff;color:#3fc045;text-decoration:none;border:2px solid #3fc045}.action-button.secondary:hover{background-color:#f0f9f0;transform:translateY(-1px)}@media (max-width: 767px){.order-summary-card{padding:16px;margin:16px 0}.order-summary-title{font-size:16px;margin-bottom:12px}.detail-label,.detail-value{font-size:13px}.success-actions{gap:10px}}.success-image-wrapper+h2.small-title{margin-top:24px}.quantity-text,.pickup-time-display{font-size:13px;font-weight:600}.success-image-wrapper .menu-listing .quantity-text{font-size:14px;font-weight:600;color:#3fc045;margin-bottom:4px}.success-image-wrapper .pickup-time-display{font-size:12px;color:#666;margin-top:4px}.order-summary-card{background:#f8f9fa;padding:16px;border-radius:8px;margin-bottom:16px}.order-summary-title{font-size:16px;font-weight:600;margin-bottom:12px;color:#212226}.order-detail-row{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px}.detail-label{color:#666}.detail-value{font-weight:500;color:#212226}@media (max-width: 767px){.upload-dropzone{padding:24px 12px}.upload-title{font-size:16px}.upload-description{font-size:13px}.file-details{flex-direction:column;align-items:flex-start;gap:4px}.file-name{margin-right:0}.upload-status-overlay{font-size:13px}.firebase-url{padding:6px 10px}.url-link{font-size:12px}}.modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:modalFadeIn .3s ease-out}.modal-container{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:350px;width:100%;height:max-content;animation:modalSlideIn .3s ease-out}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid #e5e5e5;margin-bottom:0}.modal-title{font-size:16px;font-weight:600;color:#191a26;margin:0}.modal-close-btn{background:none;border:none;cursor:pointer;padding:0;border-radius:8px;color:#666;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.modal-close-btn:hover{background-color:#f5f5f5;color:#333}.modal-content{padding:24px;overflow-y:auto;max-height:50vh}.editing-item-info{background:#f8f9fa;padding:16px;border-radius:12px;margin-bottom:24px}.editing-item-info h4{font-size:16px;font-weight:600;color:#191a26;margin:0 0 8px}.editing-item-info p{font-size:14px;color:#666;margin:0}.date-time-picker-container{display:flex;flex-direction:column;gap:20px}.picker-field{display:flex;flex-direction:column;gap:2px}.picker-label{font-size:14px;font-weight:500;color:#333;margin:0}.picker-input{width:100%;padding:12px 16px;border:2px solid #e5e5e5;border-radius:8px;font-size:14px;font-family:inherit;background:#fff;color:#333;transition:border-color .2s ease,box-shadow .2s ease}.picker-input:focus{outline:none;border-color:#3fc045;box-shadow:0 0 0 3px #3fc0451a}.picker-input:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.time-slots-container{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px}.time-slot{padding:10px 12px;border:2px solid #e5e5e5;border-radius:6px;background:#fff;color:#333;font-size:13px;text-align:center;cursor:pointer;transition:all .2s ease}.time-slot:hover{border-color:#3fc045;background-color:#f8fdf8}.time-slot.selected{border-color:#3fc045;background-color:#3fc045;color:#fff}.time-slot.disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed;border-color:#e5e5e5}.time-slot.disabled:hover{border-color:#e5e5e5;background-color:#f5f5f5}.modal-footer{display:flex;gap:12px;padding:8px 16px;justify-content:center}.btn-secondary{padding:12px 24px;border:2px solid #e5e5e5;background:#fff;color:#666;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{border-color:#ccc;background-color:#f8f9fa}.btn-primary{padding:12px 24px;border:none;background:#3fc045;color:#fff;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-primary:hover{background:#36a83a;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 480px){.modal-overlay{padding:16px}.modal-container{max-height:95vh}.modal-header{padding:20px 20px 0}.modal-content{padding:20px}.modal-footer{padding:0 20px 20px;flex-direction:column}.btn-secondary,.btn-primary{width:100%;justify-content:center}}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;padding:0;min-width:300px;max-width:300px;margin:20px;box-shadow:0 4px 20px #00000026}.modal-header{padding:20px 20px 10px;border-bottom:1px solid #eee}.modal-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.modal-body{padding:20px}.modal-body p{margin:0;color:#666;line-height:1.5}.modal-footer{padding:10px 20px 20px;display:flex;justify-content:flex-end;gap:10px}.btn-secondary:hover{background-color:#f8f9fa}.btn-danger:hover{background-color:#c82333}
