@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--primary: #FF6B35;--primary-hover: #E85A2A;--secondary: #2B2D42;--accent: #F7C59F;--background: #FAFAFA;--surface: #FFFFFF;--text-main: #2B2D42;--text-secondary: #8D99AE;--text-light: #EDF2F4;--danger: #EF233C;--success: #2A9D8F;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--font-main: "Outfit", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -2px rgba(0,0,0,.05);--shadow-color: rgba(43, 45, 66, .1);--transition: all .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--background);color:var(--text-main);line-height:1.5;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer;border:none;outline:none}a{text-decoration:none;color:inherit}ul{list-style:none}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-secondary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--primary)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.grid{display:grid}.gap-md{gap:var(--spacing-md)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .5s ease-out forwards}.btn{display:inline-flex;align-items:center;justify-content:center;font-weight:500;border-radius:var(--radius-full);transition:var(--transition);gap:var(--spacing-sm)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:active{transform:scale(.98)}.btn-primary{background-color:var(--primary);color:var(--text-light);box-shadow:0 4px 14px #ff6b3563}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover);box-shadow:0 6px 20px #ff6b353b;transform:translateY(-1px)}.btn-secondary{background-color:var(--surface);color:var(--text-main);border:1px solid var(--text-secondary)}.btn-secondary:hover:not(:disabled){background-color:var(--background);border-color:var(--text-main)}.btn-ghost{background-color:transparent;color:var(--text-main)}.btn-ghost:hover:not(:disabled){background-color:#0000000d}.btn-sm{padding:.4rem 1rem;font-size:var(--text-sm)}.btn-md{padding:.6rem 1.5rem;font-size:var(--text-md)}.btn-lg{padding:.8rem 2rem;font-size:var(--text-lg)}.btn-icon{padding:.5rem;border-radius:50%}.navbar{background-color:var(--surface);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:1000;padding:var(--spacing-md) 0}.navbar-content{display:flex;align-items:center;justify-content:space-between}.logo{font-size:var(--text-xl);font-weight:700;color:var(--text-main)}.text-primary{color:var(--primary)}.nav-links{display:flex;gap:var(--spacing-xl)}.nav-link{font-weight:500;color:var(--text-main);transition:color .2s}.nav-link:hover,.nav-link.active{color:var(--primary)}.nav-actions{display:flex;align-items:center;gap:var(--spacing-md)}.action-icon{color:var(--text-main);padding:var(--spacing-xs);border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;transition:color .2s}.action-icon:hover{color:var(--primary)}.cart-badge{position:absolute;top:-5px;right:-5px;background-color:var(--primary);color:#fff;font-size:10px;font-weight:700;height:18px;width:18px;border-radius:50%;display:flex;align-items:center;justify-content:center}.mobile-only{display:none}.menu-toggle{background:none;border:none;color:var(--text-main)}.mobile-menu-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:1001;opacity:0;visibility:hidden;transition:opacity .3s}.mobile-menu-overlay.open{opacity:1;visibility:visible}.mobile-menu{position:absolute;top:0;right:-300px;width:300px;height:100%;background-color:var(--surface);transition:right .3s ease-in-out;padding:var(--spacing-lg);display:flex;flex-direction:column}.mobile-menu-overlay.open .mobile-menu{right:0}.mobile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.close-btn{background:none;border:none;color:var(--text-main)}.mobile-links{display:flex;flex-direction:column;gap:var(--spacing-md)}.mobile-link{font-size:var(--text-lg);font-weight:500;color:var(--text-main)}@media(max-width:768px){.desktop-only{display:none}.mobile-only{display:block}}.user-menu-desktop{display:flex;align-items:center;gap:var(--spacing-md)}.user-greeting{font-weight:600;color:var(--primary)}.logout-btn{background:transparent;border:1px solid var(--text-secondary);color:var(--text-secondary);padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--text-xs);transition:var(--transition)}.logout-btn:hover{border-color:var(--danger);color:var(--danger)}.logout-mobile-btn{text-align:left;background:none;border:none;font-size:var(--text-lg);font-weight:500;color:var(--danger)}.footer{background-color:var(--secondary);color:var(--text-light);padding:var(--spacing-2xl) 0 var(--spacing-lg);margin-top:auto}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.footer-logo{font-size:var(--text-2xl);margin-bottom:var(--spacing-md);color:var(--surface)}.footer-section h4{margin-bottom:var(--spacing-md);color:var(--primary)}.footer-section ul li{margin-bottom:var(--spacing-sm)}.footer-section ul li a:hover{color:var(--primary)}.social-links{display:flex;gap:var(--spacing-md)}.social-links a:hover{color:var(--primary)}.footer-bottom{text-align:center;padding-top:var(--spacing-lg);border-top:1px solid rgba(255,255,255,.1);font-size:var(--text-sm);color:var(--text-secondary)}.product-card{background:var(--surface);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:var(--transition);display:flex;flex-direction:column;height:100%;position:relative;border:1px solid transparent}.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:#0000000d}.product-image-container{position:relative;padding-top:65%;overflow:hidden}.product-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.product-card:hover .product-image{transform:scale(1.05)}.product-rating{position:absolute;top:10px;right:10px;background:#ffffffe6;padding:4px 8px;border-radius:var(--radius-full);display:flex;align-items:center;gap:4px;font-size:var(--text-xs);font-weight:600;box-shadow:var(--shadow-sm)}.product-content{padding:var(--spacing-md);flex:1;display:flex;flex-direction:column;justify-content:space-between}.product-title{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--spacing-xs);color:var(--text-main)}.product-desc{color:var(--text-secondary);font-size:var(--text-sm);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:var(--spacing-md)}.product-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto}.product-price{font-size:var(--text-xl);font-weight:700;color:var(--primary)}.add-btn{width:40px;height:40px;border-radius:50%;background-color:var(--surface);color:var(--text-main);border:1px solid var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:var(--transition)}.add-btn:hover{background-color:var(--primary);color:#fff;border-color:var(--primary)}.hero{padding:var(--spacing-2xl) 0;min-height:80vh;display:flex;align-items:center}.hero-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-2xl);align-items:center}.hero-title{font-size:3.5rem;line-height:1.1;margin-bottom:var(--spacing-lg);font-weight:800}.hero-subtitle{font-size:var(--text-lg);color:var(--text-secondary);margin-bottom:var(--spacing-xl);max-width:90%}.hero-actions{display:flex;gap:var(--spacing-md)}.hero-image img{width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);transform:rotate(2deg);transition:var(--transition)}.hero-image img:hover{transform:rotate(0)}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xl);padding:var(--spacing-2xl);margin:var(--spacing-2xl) auto;background-color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.feature-item{text-align:center;padding:var(--spacing-lg)}.feature-icon{display:inline-flex;padding:var(--spacing-md);background-color:#ff6b351a;color:var(--primary);border-radius:50%;margin-bottom:var(--spacing-md)}.feature-item h3{margin-bottom:var(--spacing-xs);font-size:var(--text-lg)}.feature-item p{color:var(--text-secondary)}.popular-items{padding-bottom:var(--spacing-2xl)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.see-all{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--primary);font-weight:600}@media(max-width:768px){.hero-content{grid-template-columns:1fr;text-align:center}.hero-title{font-size:2.5rem}.hero-subtitle{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.hero-image{order:-1}.features{grid-template-columns:1fr}}.menu-page{padding:var(--spacing-2xl) 0;min-height:80vh}.menu-header{text-align:center;margin-bottom:var(--spacing-xl)}.menu-header h1{font-size:var(--text-3xl);margin-bottom:var(--spacing-sm)}.menu-header p{color:var(--text-secondary)}.category-filter{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-2xl)}.category-btn{padding:.5rem 1.5rem;border-radius:var(--radius-full);background-color:var(--surface);border:1px solid rgba(0,0,0,.1);color:var(--text-main);font-weight:500;transition:var(--transition)}.category-btn:hover{border-color:var(--primary);color:var(--primary)}.category-btn.active{background-color:var(--primary);color:#fff;border-color:var(--primary)}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-xl)}.loading-state{display:flex;justify-content:center;padding:var(--spacing-2xl)}.spinner{width:40px;height:40px;border:3px solid rgba(0,0,0,.1);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.product-details-page{padding:var(--spacing-xl) 0}.back-btn{margin-bottom:var(--spacing-lg)}.product-details-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-2xl);align-items:start}.product-image-large img{width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.product-category{text-transform:uppercase;color:var(--primary);font-weight:600;font-size:var(--text-sm);letter-spacing:1px;margin-bottom:var(--spacing-sm);display:block}.product-title-large{font-size:2.5rem;margin-bottom:var(--spacing-md)}.product-meta{display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.rating-badge,.time-badge{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:500;color:var(--text-secondary)}.product-description-large{font-size:var(--text-lg);color:var(--text-secondary);line-height:1.6;margin-bottom:var(--spacing-xl)}.product-price-section{margin-bottom:var(--spacing-lg);display:flex;align-items:baseline;gap:var(--spacing-sm)}.price-large{font-size:2rem;font-weight:700;color:var(--primary)}.price-unit{color:var(--text-secondary)}.product-actions{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.quantity-selector{display:flex;align-items:center;background-color:var(--surface);border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-full);padding:.25rem}.qty-btn{width:40px;height:40px;border-radius:50%;background:transparent;border:none;color:var(--text-main);display:flex;align-items:center;justify-content:center}.qty-btn:hover{background-color:#0000000d}.qty-value{width:40px;text-align:center;font-weight:600;font-size:var(--text-lg)}.add-to-cart-btn{flex:1}@media(max-width:768px){.product-details-content{grid-template-columns:1fr}}.cart-page{padding:var(--spacing-2xl) 0;min-height:80vh}.empty-cart{text-align:center;padding:var(--spacing-2xl);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg)}.cart-content{display:grid;grid-template-columns:2fr 1fr;gap:var(--spacing-2xl);margin-top:var(--spacing-xl)}.cart-items{display:flex;flex-direction:column;gap:var(--spacing-lg)}.cart-item{display:flex;gap:var(--spacing-lg);background:var(--surface);padding:var(--spacing-md);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);align-items:center}.cart-item-image{width:100px;height:100px;flex-shrink:0}.cart-item-image img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-md)}.cart-item-info{flex:1}.cart-item-header{display:flex;justify-content:space-between;margin-bottom:var(--spacing-xs)}.cart-item-header h3{font-size:var(--text-lg);font-weight:600}.cart-item-price{font-weight:700;color:var(--primary)}.cart-item-desc{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--spacing-md)}.cart-item-actions{display:flex;justify-content:space-between;align-items:center}.quantity-controls{display:flex;align-items:center;gap:var(--spacing-md);background:var(--background);padding:.25rem;border-radius:var(--radius-full)}.quantity-controls button{width:24px;height:24px;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.1);display:flex;align-items:center;justify-content:center;transition:var(--transition)}.quantity-controls button:disabled{opacity:.5;cursor:default}.quantity-controls button:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.remove-btn{color:var(--text-secondary);background:none;padding:var(--spacing-xs);border-radius:50%;transition:var(--transition)}.remove-btn:hover{color:var(--danger);background-color:#ef233c1a}.cart-summary{background:var(--surface);padding:var(--spacing-xl);border-radius:var(--radius-lg);height:fit-content;box-shadow:var(--shadow-sm)}.cart-summary h2{margin-bottom:var(--spacing-lg);font-size:var(--text-xl)}.summary-row{display:flex;justify-content:space-between;margin-bottom:var(--spacing-md);color:var(--text-secondary)}.summary-row.total{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid rgba(0,0,0,.1);color:var(--text-main);font-weight:700;font-size:var(--text-xl)}.checkout-btn{width:100%;margin-top:var(--spacing-lg);justify-content:center}@media(max-width:768px){.cart-content{grid-template-columns:1fr}}.checkout-page{padding:var(--spacing-2xl) 0;min-height:80vh}.checkout-content{display:grid;grid-template-columns:2fr 1fr;gap:var(--spacing-2xl);margin-top:var(--spacing-xl)}.checkout-form-section{background:var(--surface);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.checkout-form-section h2{margin-bottom:var(--spacing-lg);font-size:var(--text-xl);color:var(--secondary)}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;margin-bottom:var(--spacing-sm);font-weight:500;color:var(--text-main)}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-md);font-family:inherit;transition:var(--transition)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #ff6b351a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.checkout-summary{background:var(--surface);padding:var(--spacing-xl);border-radius:var(--radius-lg);height:fit-content;box-shadow:var(--shadow-sm)}.order-items{margin-bottom:var(--spacing-lg);border-bottom:1px solid rgba(0,0,0,.1);padding-bottom:var(--spacing-md)}.order-item{display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm);color:var(--text-secondary);font-size:var(--text-sm)}.place-order-btn{width:100%;justify-content:center}@media(max-width:768px){.checkout-content{grid-template-columns:1fr}}.auth-page{min-height:80vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);background-image:radial-gradient(circle at top right,rgba(255,107,53,.05),transparent)}.auth-container{background:var(--surface);padding:var(--spacing-2xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:450px;text-align:center}.auth-container h1{margin-bottom:var(--spacing-xs);font-size:var(--text-2xl)}.auth-subtitle{color:var(--text-secondary);margin-bottom:var(--spacing-xl)}.auth-form{text-align:left}.auth-btn{width:100%;margin-top:var(--spacing-lg);justify-content:center}.auth-footer{margin-top:var(--spacing-xl);font-size:var(--text-sm);color:var(--text-secondary)}.auth-error{background-color:#ef233c1a;color:var(--danger);padding:var(--spacing-sm);border-radius:var(--radius-sm);margin-bottom:var(--spacing-md);font-size:var(--text-sm)}.mock-credentials{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px dashed rgba(0,0,0,.1);color:var(--text-secondary);font-size:var(--text-xs)}
