*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Itim,sans-serif;color:#333;background-image:url(/imgs/bg2.jpg);background-repeat:no-repeat;background-position:center center;background-attachment:fixed;background-size:cover;overflow-x:hidden}.app-wrapper{display:flex;flex-direction:column;min-height:100vh}.app-main{flex:1;padding-top:72px}.page-loader{display:flex;align-items:center;justify-content:center;min-height:60vh;color:#8d493a;font-size:1.1rem;font-family:Itim,sans-serif;gap:8px}.loader-icon{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}header{position:fixed;top:0;left:0;right:0;height:72px;z-index:1000;background:#fff;box-shadow:0 4px 16px #0003;padding:0 20px;display:flex;align-items:center;justify-content:space-between;will-change:transform}.logo{display:flex;align-items:center;cursor:pointer;flex-shrink:0}header h1{font-size:1.8em;color:#8d493a;margin:0;white-space:nowrap;cursor:pointer}.nav-desktop{display:flex;align-items:center;gap:4px}.nav-links{display:flex;gap:4px;list-style:none;margin:0;padding:0}.nav-links li{white-space:nowrap}.nav-links li a{text-decoration:none;color:#8d493a;font-weight:700;font-size:1.05rem;display:inline-block;padding:6px 10px;border-radius:4px;white-space:nowrap;transition:color .2s}.nav-links li a span{display:inline-block;transition:text-shadow .3s}.nav-links li a:hover,.nav-links li a.active{color:#ac5922;background:#fdf0e8}.nav-links li a:hover span{text-shadow:0 0 5px #d0b8a8,0 0 10px #d0b8a8}.auth-buttons{display:flex;align-items:center;gap:8px;margin:0 10px}.auth-button{padding:7px 16px;background-color:transparent;color:#8d493a;font-weight:700;border:2px solid #8d493a;border-radius:5px;text-decoration:none;white-space:nowrap;font-family:Itim,sans-serif;font-size:.9rem;cursor:pointer;transition:background .2s,color .2s;display:inline-flex;align-items:center;gap:5px}.auth-button:hover{background-color:#8d493a;color:#fff}.user-greeting{color:#8d493a;font-weight:700;font-size:.9rem;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}.user-greeting .bi,.auth-button .bi{font-size:1.1rem}.cart-icon{position:relative;display:flex;align-items:center;color:#8d493a;font-size:26px;margin-left:6px;background:none;border:none;cursor:pointer;padding:4px;transition:color .2s;flex-shrink:0}.cart-icon:hover{color:#ac5922}.cart-count{position:absolute;top:-5px;right:-10px;background-color:#8d493a;color:#fff;border-radius:50%;min-width:18px;height:18px;padding:0 3px;font-size:.68rem;font-weight:700;display:flex;align-items:center;justify-content:center}.hamburger{display:none;background:none;border:none;cursor:pointer;color:#8d493a;font-size:28px;padding:4px;margin-left:6px}.nav-mobile-right{display:none;align-items:center;gap:4px}.mobile-menu{position:fixed;top:72px;left:0;right:0;background:#fff;box-shadow:0 8px 24px #00000026;z-index:999;display:flex;flex-direction:column;padding:12px 0;border-top:2px solid #f8e1d1}.mobile-menu a{padding:14px 24px;text-decoration:none;color:#8d493a;font-weight:700;font-size:1.1rem;border-bottom:1px solid #fdf0e8;transition:background .2s}.mobile-menu a:hover,.mobile-menu a.active{background:#fdf0e8;color:#ac5922}.mobile-auth{display:flex;gap:10px;padding:14px 24px;align-items:center;flex-wrap:wrap}.cta-button{display:inline-block;padding:10px 20px;background-color:#8d493a;color:#fff;font-weight:700;border-radius:5px;text-decoration:none;border:none;cursor:pointer;font-family:Itim,sans-serif;font-size:1rem;transition:background .2s,transform .2s;box-shadow:0 4px 8px #00000026}.cta-button:hover{background-color:#ac5922;transform:scale(1.04)}.cta-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.form-icon{text-align:center;margin-bottom:10px}.form-icon .bi{font-size:3rem;color:#8d493a}.hero{text-align:center;background:#00000080;color:#fff;padding:60px 20px;border-radius:10px;font-size:1.2rem;margin:20px;transition:background .3s}.hero:hover{background:#000000a6}.hero h2{font-size:2.5em;margin-bottom:10px}.highlights{display:flex;justify-content:space-around;flex-wrap:wrap;padding:40px 20px;max-width:1200px;margin:20px auto;gap:20px}.highlight-item{flex:1 1 200px;background:#fff;padding:20px;border-radius:8px;box-shadow:0 4px 8px #0000001a;text-align:center;border:2px solid transparent;text-decoration:none;color:#8d493a;cursor:pointer;transition:transform .2s,box-shadow .2s,border .2s}.highlight-item .material-icons{color:#8d493a;font-size:2rem}.highlight-item:hover{transform:translateY(-8px);box-shadow:0 8px 20px #00000026;border:2px solid #f18035}footer{text-align:center;padding:24px 16px;background-color:#f8e1d1;flex-shrink:0;width:100%}footer p{margin:0 0 8px;color:#5c3327;font-size:.95rem}.social-media{margin-top:8px}.social-media a{margin:0 10px;color:#8d493a;text-decoration:none;font-size:22px;transition:color .2s}.social-media a:hover{color:#ac5922}@media (max-width: 768px){.nav-desktop{display:none}.nav-mobile-right{display:flex}.hamburger{display:block}header{padding:0 16px}header h1{font-size:1.4em}.app-main{padding-top:72px}.hero{margin:12px;padding:40px 16px;font-size:1rem}.hero h2{font-size:1.8em}.highlights{padding:20px 16px;gap:14px}.highlight-item{flex:1 1 140px;padding:16px 12px}}@media (max-width: 480px){header h1{font-size:1.2em}.hero{margin:8px;padding:30px 12px}.hero h2{font-size:1.5em}.highlights{flex-direction:column;padding:16px}footer p{font-size:.85rem}.social-media a{margin:0 7px;font-size:18px}}@media (min-width: 1400px){header{padding:0 40px}.hero{margin:24px 40px;padding:80px 40px}}.menu-section{max-width:1300px;margin:0 auto;padding:24px 20px 40px}.menu-category{margin-bottom:48px}.image-row{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}.image-row .card{flex:0 1 200px;max-width:200px;border:1px solid #d0b8a8;border-radius:10px;overflow:hidden;text-align:center;background:#fff;transition:box-shadow .22s ease,border-color .22s ease}.image-row .card:hover{box-shadow:0 10px 28px #8d493a38;border-color:#ac5922}.card-img-wrapper{position:relative;width:100%;height:200px;background-color:#f8e1d1;overflow:hidden;flex-shrink:0}.card-img-wrapper.loading:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#f8e1d100,#ffe8d6e6,#f8e1d100);animation:shimmer 1.2s infinite ease-in-out;pointer-events:none;z-index:1}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.card-img-wrapper img{width:100%;height:100%;object-fit:cover;display:block;will-change:opacity;transition:opacity .3s ease}.card-img-wrapper.loading img{opacity:0}.card-img-wrapper.loaded img{opacity:1}.image-row .card .card-body{padding:10px}.image-row .card .card-title{color:#8d493a;font-weight:700;font-size:.95rem;margin-bottom:4px}.image-row .card .card-text{color:#666;font-size:.9rem;margin-bottom:8px}.image-row .card .btn-primary{background-color:#8d493a;border-color:#8d493a;font-family:Itim,sans-serif;font-size:.9rem;padding:6px 14px;transition:background-color .2s}.image-row .card .btn-primary:hover{background-color:#ac5922;border-color:#ac5922}.cart-message{position:fixed;top:80px;left:50%;transform:translate(-50%);background-color:#8d493a;color:#fff;padding:11px 24px;border-radius:8px;font-size:.95rem;font-weight:700;z-index:2000;white-space:nowrap;box-shadow:0 4px 16px #0003;animation:toastIn .2s ease}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 768px){.menu-section{padding:16px 12px 32px}.image-row{gap:14px}.image-row .card{flex:0 1 160px;max-width:160px}.card-img-wrapper{height:160px}}@media (max-width: 480px){.image-row .card{flex:0 1 140px;max-width:140px}.card-img-wrapper{height:140px}.image-row .card .card-title{font-size:.85rem}.cart-message{font-size:.85rem;padding:9px 16px;max-width:90vw;white-space:normal;text-align:center}}.cart-container{max-width:820px;width:92%;margin:32px auto 60px;padding:32px;background-color:#fff;border-radius:12px;box-shadow:0 6px 24px #0000001a;min-height:340px}.cart-container h1{text-align:center;color:#8d493a;font-size:2rem;margin-bottom:28px}.cart-items{display:flex;flex-direction:column;gap:14px;margin-bottom:28px;min-height:80px}.cart-items>p{text-align:center;color:#999;font-size:1.05rem;padding:24px 0}.cart-items .card{border:1px solid #e8d4c8;border-radius:10px;overflow:hidden}.cart-items .card .card-body{display:flex;align-items:center;gap:16px;padding:14px 16px;flex-wrap:wrap}.cart-item-img{width:90px;height:90px;object-fit:cover;border-radius:8px;flex-shrink:0;background-color:#f8e1d1}.cart-item-info{flex:1;min-width:0}.cart-item-info h4{color:#8d493a;font-size:1rem;font-weight:700;margin:0 0 5px}.cart-item-info p{margin:0 0 5px;font-size:.9rem;color:#555}.cart-item-info input[type=number]{width:60px;padding:3px 7px;border:1px solid #d0b8a8;border-radius:5px;font-family:Itim,sans-serif;font-size:.9rem;text-align:center;margin-left:6px}.remove-item{display:inline-block;margin-top:8px;background-color:#8d493a;color:#fff;border:none;padding:5px 14px;border-radius:5px;cursor:pointer;font-family:Itim,sans-serif;font-size:.88rem;transition:background-color .2s}.remove-item:hover{background-color:#c0392b}.cart-item-total{font-weight:700;color:#8d493a;font-size:1.05rem;min-width:68px;text-align:right;flex-shrink:0}.cart-summary{border-top:2px solid #f8e1d1;padding-top:20px}.cart-summary h3{color:#8d493a;font-size:1.4rem;text-align:right;margin-bottom:16px}.cart-summary-buttons{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}.checkout-button{background-color:#8d493a;color:#fff;border:none;padding:10px 28px;border-radius:6px;cursor:pointer;font-family:Itim,sans-serif;font-size:1rem;transition:background-color .2s}.checkout-button:hover{background-color:#ac5922}.clear-cart{background-color:transparent;color:#8d493a;border:2px solid #8d493a;padding:10px 20px;border-radius:6px;cursor:pointer;font-family:Itim,sans-serif;font-size:1rem;transition:all .2s}.clear-cart:hover{background-color:#8d493a;color:#fff}@media (max-width: 768px){.cart-container{width:96%;padding:20px 16px;margin:16px auto 40px}.cart-container h1{font-size:1.6rem;margin-bottom:20px}.cart-item-img{width:70px;height:70px}.cart-items .card .card-body{gap:10px;padding:10px 12px}}@media (max-width: 480px){.cart-container{padding:16px 12px}.cart-item-img{width:60px;height:60px}.cart-item-info h4{font-size:.9rem}.cart-item-total{min-width:50px;font-size:.95rem}.cart-summary h3{font-size:1.2rem}.checkout-button{padding:9px 20px;font-size:.95rem}.clear-cart{padding:9px 14px;font-size:.9rem}}.about-us{max-width:800px;margin:40px auto 60px;padding:32px 28px;background:#ffffffe0;border-radius:12px;box-shadow:0 4px 16px #0000001f;text-align:center}.about-us h2{font-size:2.2em;color:#8d493a;margin-bottom:20px}.about-us p{font-size:1.1em;line-height:1.7;margin-bottom:14px;color:#444}@media (max-width: 768px){.about-us{margin:20px 16px 40px;padding:24px 20px}.about-us h2{font-size:1.7em}.about-us p{font-size:1rem}}@media (max-width: 480px){.about-us{margin:12px 10px 32px;padding:20px 14px}.about-us h2{font-size:1.4em}}.contact{max-width:500px;width:92%;margin:50px auto 60px;padding:36px 32px;background-color:#ffffffed;border-radius:12px;box-shadow:0 6px 24px #0000001f;text-align:center}.contact h2{font-size:1.7em;color:#8d493a;margin-bottom:20px}.contact-form{display:flex;flex-direction:column;text-align:left}.contact-form label{margin-bottom:4px;color:#555;font-size:.9rem;font-weight:700}.contact-form input,.contact-form textarea{padding:10px 12px;margin-bottom:14px;border:1.5px solid #d0b8a8;border-radius:6px;font-size:1rem;font-family:Itim,sans-serif;transition:border-color .2s;width:100%}.contact-form input:focus,.contact-form textarea:focus{border-color:#8d493a;outline:none}.contact-form textarea{resize:vertical;min-height:120px;margin-bottom:14px}.contact-form .cta-button{width:100%;text-align:center;margin-top:4px}.email-wrapper{position:relative;margin-bottom:0}.email-wrapper input{margin-bottom:4px}.email-suggestion{font-size:.82rem;color:#8d493a;background:#fdf0e8;border:1px solid #d0b8a8;border-radius:5px;padding:5px 10px;margin-bottom:10px;cursor:pointer;transition:background .2s}.email-suggestion:hover{background:#f8e1d1}.email-suggestion strong{font-weight:700}.contact-toast{position:fixed;top:80px;left:50%;transform:translate(-50%);background-color:#8d493a;color:#fff;padding:11px 24px;border-radius:8px;font-size:.95rem;font-weight:700;z-index:2000;white-space:nowrap;box-shadow:0 4px 16px #0003;animation:toastIn .2s ease}@media (max-width: 480px){.contact-toast{font-size:.85rem;padding:9px 16px;max-width:90vw;white-space:normal;text-align:center}}@media (max-width: 480px){.contact{padding:28px 18px;margin:30px auto 40px}.contact h2{font-size:1.4em}}.login-section{background:#ffffffed;padding:36px 32px;margin:50px auto 60px;border-radius:12px;max-width:420px;width:92%;box-shadow:0 6px 24px #0000001f;text-align:center}.login-section h2{font-size:1.7em;margin-bottom:20px;color:#8d493a}.login-form{display:flex;flex-direction:column;text-align:left}.login-form label{margin-bottom:4px;color:#555;font-size:.9rem;font-weight:700}.login-form input{padding:10px 12px;margin-bottom:14px;border:1.5px solid #d0b8a8;border-radius:6px;font-size:1rem;font-family:Itim,sans-serif;transition:border-color .2s;width:100%}.login-form input:focus{border-color:#8d493a;outline:none}.login-form .cta-button{width:100%;margin-top:6px;text-align:center}.register-link{margin-top:16px;font-size:.95rem;color:#666}.register-link a{color:#8d493a;text-decoration:underline;font-weight:700}.register-link a:hover{color:#ac5922}@media (max-width: 480px){.login-section{padding:28px 18px;margin:30px auto 40px}.login-section h2{font-size:1.4em}}.signup-section{background:#ffffffed;padding:36px 32px;margin:50px auto 60px;border-radius:12px;max-width:420px;width:92%;box-shadow:0 6px 24px #0000001f;text-align:center}.signup-section h2{font-size:1.7em;margin-bottom:20px;color:#8d493a}.signup-form{display:flex;flex-direction:column;text-align:left}.signup-form label{margin-bottom:4px;color:#555;font-size:.9rem;font-weight:700}.signup-form input{padding:10px 12px;margin-bottom:14px;border:1.5px solid #d0b8a8;border-radius:6px;font-size:1rem;font-family:Itim,sans-serif;transition:border-color .2s;width:100%}.signup-form input:focus{border-color:#8d493a;outline:none}.signup-form .cta-button{width:100%;margin-top:6px;text-align:center}.login-link{margin-top:16px;font-size:.95rem;color:#666}.login-link a{color:#8d493a;text-decoration:underline;font-weight:700}.login-link a:hover{color:#ac5922}@media (max-width: 480px){.signup-section{padding:28px 18px;margin:30px auto 40px}.signup-section h2{font-size:1.4em}}.payment-container{width:92%;max-width:500px;margin:44px auto 60px;padding:36px 32px;background-color:#fff;border-radius:12px;box-shadow:0 6px 24px #0000001a;text-align:center}.payment-container h2{color:#8d493a;font-size:1.7em;margin-bottom:20px}.form-group{margin-bottom:16px;text-align:left}.form-group label{display:block;margin-bottom:4px;color:#555;font-weight:700;font-size:.9rem}.form-group input{width:100%;padding:10px 12px;border:1.5px solid #d0b8a8;border-radius:6px;font-family:Itim,sans-serif;font-size:1rem;transition:border-color .2s}.form-group input:focus{border-color:#8d493a;outline:none}.payment-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-error-banner{background:#fdecea;border:1px solid #f5c6cb;color:#c0392b;padding:10px 14px;border-radius:6px;margin-bottom:14px;font-size:.9rem;font-weight:700;text-align:left}.payment-container button[type=submit]{width:100%;margin-top:8px;background-color:#8d493a;color:#fff;padding:12px;border:none;border-radius:6px;cursor:pointer;font-family:Itim,sans-serif;font-size:1rem;font-weight:700;transition:background-color .2s}.payment-container button[type=submit]:hover{background-color:#ac5922}.payment-container button[type=submit]:disabled{opacity:.7;cursor:not-allowed}@media (max-width: 480px){.payment-container{padding:24px 16px}.payment-container h2{font-size:1.4em}.payment-row{grid-template-columns:1fr}}
