:root{--primary: #FF5C00;--primary-light: #FF8A3D;--primary-dark: #E04E00;--primary-bg: rgba(255, 92, 0, .08);--secondary: #1A1A1A;--bg: #FAFAFA;--surface: #FFFFFF;--surface-hover: #F5F5F5;--border: #EBEBEB;--text-primary: #1A1A1A;--text-secondary: #6B7280;--text-tertiary: #9CA3AF;--success: #00C853;--success-bg: rgba(0, 200, 83, .1);--danger: #EF4444;--danger-bg: rgba(239, 68, 68, .1);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .12);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .16);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 22px;--radius-full: 100px;--nav-height: 72px;--header-height: 56px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Outfit,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text-primary);line-height:1.5;overflow-x:hidden;max-width:430px;margin:0 auto;min-height:100vh;position:relative}#root{min-height:100vh;display:flex;flex-direction:column}a{text-decoration:none;color:inherit}button{border:none;cursor:pointer;font-family:inherit}img{display:block;max-width:100%}input,textarea{font-family:inherit}ul{list-style:none}.h1{font-size:28px;font-weight:700;letter-spacing:-.5px}.h2{font-size:22px;font-weight:700;letter-spacing:-.3px}.h3{font-size:18px;font-weight:600}.body{font-size:15px;font-weight:400}.caption{font-size:13px;font-weight:500;color:var(--text-secondary)}.small{font-size:11px;font-weight:500;color:var(--text-tertiary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border-radius:var(--radius-full);font-size:15px;font-weight:600;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active{transform:scale(.97)}.btn-secondary{background:var(--surface);color:var(--text-primary);border:1.5px solid var(--border)}.btn-secondary:hover{background:var(--surface-hover)}.btn-ghost{background:transparent;color:var(--primary);padding:8px 16px}.btn-ghost:hover{background:var(--primary-bg)}.btn-sm{padding:8px 18px;font-size:13px}.btn-block{width:100%}.btn-icon{width:40px;height:40px;padding:0;border-radius:12px;background:var(--surface);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.card{background:var(--surface);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:all .25s ease}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.chip{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-full);font-size:14px;font-weight:500;background:var(--surface);color:var(--text-secondary);border:1.5px solid var(--border);transition:all .2s ease;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent}.chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.chip:hover:not(.active){border-color:var(--primary);color:var(--primary)}.chip .chip-icon{font-size:18px}.badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:6px;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.badge-hit{background:var(--danger-bg);color:var(--danger)}.badge-new{background:var(--primary-bg);color:var(--primary)}.badge-promo{background:var(--success-bg);color:var(--success)}.header{position:sticky;top:0;z-index:100;background:#ffffffd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;height:auto;min-height:var(--header-height);border-bottom:1px solid rgba(0,0,0,.04)}.header-left{display:flex;flex-direction:column;gap:4px}.header-location{display:flex;align-items:center;gap:6px;cursor:pointer}.header-location .address{font-size:16px;font-weight:700;color:var(--text-primary)}.header-info{display:flex;align-items:center;gap:12px}.info-item{font-size:12px;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:4px}.info-item.phone{color:var(--primary);text-decoration:none}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:430px;z-index:200;background:#ffffffe6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(0,0,0,.06);display:flex;align-items:flex-end;justify-content:space-around;padding:6px 12px 12px;height:var(--nav-height)}.nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 12px;border-radius:12px;background:none;color:var(--text-tertiary);font-size:11px;font-weight:500;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.nav-item.active{color:var(--primary)}.nav-item .nav-icon{font-size:22px}.nav-item.center-btn{position:relative;top:-16px;width:56px;height:56px;border-radius:50%;background:var(--primary);color:#fff;box-shadow:0 4px 20px #ff5c0066;font-size:12px;font-weight:600;gap:0;padding:0;justify-content:center}.nav-item.center-btn .nav-icon{font-size:24px}.nav-item.center-btn:active{transform:scale(.92)}.banner-section{padding:16px}.banner-carousel{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:8px}.banner-carousel::-webkit-scrollbar{display:none}.banner-card{flex:0 0 calc(100% - 16px);scroll-snap-align:start;height:160px;border-radius:var(--radius-lg);overflow:hidden;position:relative;background:linear-gradient(135deg,var(--primary),var(--primary-dark))}.banner-card img{width:100%;height:100%;object-fit:cover}.banner-overlay{position:absolute;bottom:0;left:0;right:0;padding:16px 20px;background:linear-gradient(transparent,#0009);color:#fff}.banner-overlay h3{font-size:18px;font-weight:700}.banner-overlay p{font-size:13px;opacity:.85;margin-top:2px}.banner-dots{display:flex;justify-content:center;gap:6px;margin-top:12px}.banner-dot{width:6px;height:6px;border-radius:50%;background:var(--border);transition:all .3s ease}.banner-dot.active{width:20px;border-radius:3px;background:var(--primary)}.categories-section{padding:0 16px 16px}.categories-section .section-title{font-size:20px;font-weight:700;margin-bottom:12px}.categories-scroll{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}.categories-scroll::-webkit-scrollbar{display:none}.products-section{padding:0 16px 100px}.products-section .section-title{font-size:20px;font-weight:700;margin-bottom:16px}.products-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.product-card{background:var(--surface);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:all .25s ease;position:relative}.product-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.product-card-img{width:100%;aspect-ratio:1;object-fit:cover;background:var(--surface-hover)}.product-card-body{padding:10px 12px 12px}.product-card-name{font-size:14px;font-weight:600;line-height:1.3;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card-desc{font-size:12px;color:var(--text-tertiary);line-height:1.3;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.product-card-footer{display:flex;align-items:center;justify-content:space-between}.product-card-price{font-size:16px;font-weight:700;color:var(--text-primary)}.product-card-price .currency{font-size:13px;font-weight:500}.product-card-add{width:34px;height:34px;border-radius:10px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:300;transition:all .15s ease}.product-card-add:active{transform:scale(.88)}.product-card-fav{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:50%;background:#ffffffd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--text-tertiary);transition:all .2s ease}.product-card-fav.liked{color:#ef4444}.product-card-fav:active{transform:scale(.85)}.product-card-badges{position:absolute;top:8px;left:8px;display:flex;flex-direction:column;gap:4px}.search-bar{margin:8px 16px 0;position:relative}.search-bar input{width:100%;padding:12px 16px 12px 44px;border-radius:var(--radius-md);border:1.5px solid var(--border);background:var(--surface);font-size:15px;color:var(--text-primary);outline:none;transition:all .2s ease}.search-bar input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-bg)}.search-bar input::placeholder{color:var(--text-tertiary)}.search-bar .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:18px;color:var(--text-tertiary)}.product-detail{padding-bottom:100px}.product-detail-img{width:100%;height:300px;object-fit:cover;background:var(--surface-hover)}.product-detail-content{padding:20px 16px}.product-detail-content h1{font-size:24px;font-weight:700;margin-bottom:8px}.product-detail-content .desc{font-size:15px;color:var(--text-secondary);line-height:1.6;margin-bottom:20px}.product-detail-price{font-size:28px;font-weight:800;color:var(--primary);margin-bottom:24px}.product-detail-options{margin-bottom:24px}.product-detail-options h3{font-size:16px;font-weight:600;margin-bottom:12px}.option-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--surface-hover);border-radius:var(--radius-sm);margin-bottom:8px;cursor:pointer;transition:all .15s ease}.option-item.selected{background:var(--primary-bg);border:1.5px solid var(--primary)}.option-item .option-name{font-size:14px;font-weight:500}.option-item .option-price{font-size:13px;color:var(--text-secondary)}.quantity-control{display:flex;align-items:center;gap:16px;margin-bottom:24px}.qty-btn{width:44px;height:44px;border-radius:14px;background:var(--surface-hover);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:500;transition:all .15s ease}.qty-btn:active{background:var(--border);transform:scale(.92)}.qty-value{font-size:20px;font-weight:700;min-width:30px;text-align:center}.add-to-cart-bar{position:fixed;bottom:var(--nav-height);left:50%;transform:translate(-50%);width:100%;max-width:430px;padding:12px 16px;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(0,0,0,.04)}.cart-page{padding:16px 16px 220px}.cart-page h1{margin-bottom:20px}.cart-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);align-items:center}.cart-item-img{width:72px;height:72px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0;background:var(--surface-hover)}.cart-item-info{flex:1}.cart-item-name{font-size:14px;font-weight:600}.cart-item-price{font-size:15px;font-weight:700;margin-top:4px}.cart-item-remove{background:none;color:var(--text-tertiary);font-size:18px;padding:8px}.promo-input{display:flex;gap:8px;margin:20px 0}.promo-input input{flex:1;padding:12px 16px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:14px;outline:none;text-transform:uppercase;letter-spacing:1px}.promo-input input:focus{border-color:var(--primary)}.cart-summary{background:var(--surface);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow-sm);margin-top:20px}.cart-summary-row{display:flex;justify-content:space-between;padding:6px 0;font-size:14px;color:var(--text-secondary)}.cart-summary-row.total{font-size:18px;font-weight:700;color:var(--text-primary);border-top:1.5px solid var(--border);margin-top:8px;padding-top:12px}.cart-summary-row .discount{color:var(--success)}.cart-footer{position:fixed;bottom:var(--nav-height);left:50%;transform:translate(-50%);width:100%;max-width:430px;padding:12px 16px;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(0,0,0,.06)}.page-header{display:flex;align-items:center;gap:12px;padding:12px 16px;position:sticky;top:0;z-index:100;background:#ffffffd9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.page-header .back-btn{width:36px;height:36px;border-radius:10px;background:var(--surface-hover);display:flex;align-items:center;justify-content:center;font-size:18px}.page-header h2{font-size:18px;font-weight:600}.checkout-page{padding:16px 16px 100px}.checkout-page h1{margin-bottom:20px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 16px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:15px;outline:none;transition:border-color .2s;background:var(--surface)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-bg)}.payment-options{margin:20px 0}.payment-option{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1.5px solid var(--border);border-radius:var(--radius-sm);margin-bottom:8px;cursor:pointer;transition:all .2s ease}.payment-option.selected{border-color:var(--primary);background:var(--primary-bg)}.payment-radio{width:20px;height:20px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0}.payment-option.selected .payment-radio{border-color:var(--primary)}.payment-option.selected .payment-radio:after{content:"";width:10px;height:10px;border-radius:50%;background:var(--primary)}.payment-label{font-size:14px;font-weight:500}.auth-page{padding:40px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:100vh;justify-content:center}.auth-page .logo{font-size:48px;margin-bottom:8px}.auth-page h1{margin-bottom:8px}.auth-page .subtitle{color:var(--text-secondary);margin-bottom:32px}.auth-page .form-group{width:100%;text-align:left}.otp-inputs{display:flex;gap:12px;justify-content:center;margin:24px 0}.otp-input{width:56px;height:60px;border-radius:var(--radius-sm);border:2px solid var(--border);font-size:24px;font-weight:700;text-align:center;outline:none;transition:border-color .2s}.otp-input:focus{border-color:var(--primary)}.success-page{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 24px;min-height:80vh}.success-icon{width:100px;height:100px;border-radius:50%;background:var(--success-bg);display:flex;align-items:center;justify-content:center;font-size:48px;margin-bottom:24px;animation:pop .4s ease}@keyframes pop{0%{transform:scale(0)}70%{transform:scale(1.1)}to{transform:scale(1)}}.success-page h1{margin-bottom:8px}.success-page .order-num{font-size:14px;color:var(--text-secondary);margin-bottom:24px}.profile-page{padding:16px 16px 100px}.profile-header{display:flex;align-items:center;gap:16px;padding:20px 0}.profile-avatar{width:64px;height:64px;border-radius:50%;background:var(--primary-bg);display:flex;align-items:center;justify-content:center;font-size:28px}.profile-name{font-size:20px;font-weight:700}.profile-phone{font-size:14px;color:var(--text-secondary)}.profile-menu{margin-top:16px}.profile-menu-item{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s ease}.profile-menu-item:active{background:var(--surface-hover)}.profile-menu-icon{width:40px;height:40px;border-radius:12px;background:var(--surface-hover);display:flex;align-items:center;justify-content:center;font-size:18px}.profile-menu-text{flex:1;font-size:15px;font-weight:500}.profile-menu-arrow{color:var(--text-tertiary);font-size:14px}.promo-page{padding:16px 16px 100px}.promo-card{background:linear-gradient(135deg,var(--primary),var(--primary-dark));border-radius:var(--radius-md);padding:20px;color:#fff;margin-bottom:12px;position:relative;overflow:hidden}.promo-card:before{content:"";position:absolute;right:-20px;top:-20px;width:80px;height:80px;border-radius:50%;background:#ffffff26}.promo-card-code{font-size:20px;font-weight:800;letter-spacing:2px;margin-bottom:4px}.promo-card-desc{font-size:13px;opacity:.85;margin-bottom:8px}.promo-card-expires{font-size:11px;opacity:.6}.promo-card-copy{position:absolute;top:16px;right:16px;background:#fff3;color:#fff;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600}.favorites-page{padding:16px 16px 100px}.mini-cart{position:fixed;bottom:calc(var(--nav-height) + 8px);left:50%;transform:translate(-50%);width:calc(100% - 32px);max-width:398px;padding:12px 16px;background:var(--primary);color:#fff;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 20px #ff5c0066;z-index:150;cursor:pointer;transition:all .2s ease}.mini-cart:hover{transform:translate(-50%) translateY(-2px)}.mini-cart-count{width:24px;height:24px;background:#ffffff40;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.mini-cart-text{font-size:14px;font-weight:600}.mini-cart-price{font-size:15px;font-weight:700}.skeleton{background:linear-gradient(90deg,var(--surface-hover) 0%,#e8e8e8 50%,var(--surface-hover) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite ease-in-out;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center}.empty-state .emoji{font-size:64px;margin-bottom:16px}.empty-state h3{margin-bottom:8px}.empty-state p{color:var(--text-secondary);margin-bottom:24px}.toast{position:fixed;top:24px;left:50%;transform:translate(-50%) translateY(-100px);padding:12px 20px;border-radius:var(--radius-sm);background:var(--secondary);color:#fff;font-size:14px;font-weight:500;box-shadow:var(--shadow-xl);z-index:999;transition:transform .3s ease}.toast.show{transform:translate(-50%) translateY(0)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.p-4{padding:16px}.w-full{width:100%}.text-center{text-align:center}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:flex-end;justify-content:center}.modal.bottom-sheet{width:100%;max-width:430px;background:var(--surface);border-radius:24px 24px 0 0;padding:24px;animation:slide-up .3s cubic-bezier(.16,1,.3,1);box-shadow:0 -8px 30px #00000026}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.modal-header h2{font-size:20px;font-weight:700}.modal-close{background:var(--surface-hover);width:32px;height:32px;border-radius:50%;border:none;font-size:16px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.city-list{display:grid;gap:8px}.city-item{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);transition:all .2s ease;cursor:pointer}.city-item:active{transform:scale(.98)}.city-item.active{border-color:var(--primary);background:var(--primary-bg)}.city-item .city-name{font-size:16px;font-weight:600;color:var(--text-primary)}.city-item.active .city-name{color:var(--primary)}.city-item .check{color:var(--primary);font-size:18px;font-weight:700}
