:root{--primary-color:#c59d5f;--secondary-color:#fff;--bg-color:#0f0f11;--card-bg-color:#18181c;--text-color:#f3f4f6;--text-muted-color:#9ca3af;--border-radius:16px;--font-family:"Outfit", sans-serif;--glow-color:#c59d5f4d}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:80px}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-color);line-height:1.6;overflow-x:hidden}.loader-wrapper{background-color:var(--bg-color);z-index:9999;justify-content:center;align-items:center;width:100vw;height:100vh;transition:opacity .6s cubic-bezier(.25,1,.5,1),visibility .6s;display:flex;position:fixed;top:0;left:0}.loader-wrapper.fade-out{opacity:0;visibility:hidden}.loader-content{text-align:center}.logo-spinner-container{width:120px;height:120px;margin:0 auto 20px;position:relative}.spinner-ring{border:3px solid #ffffff0d;border-top:3px solid var(--primary-color);border-radius:50%;width:100%;height:100%;animation:1.2s linear infinite spin;position:absolute;top:0;left:0}.loader-logo{object-fit:cover;border-radius:50%;width:100px;height:100px;animation:2s ease-in-out infinite logo-pulse;position:absolute;top:10px;left:10px}.loader-name{letter-spacing:2px;text-transform:uppercase;color:var(--secondary-color);-webkit-text-stroke:1.5px var(--bg-color);text-shadow:2px 2px 0px var(--primary-color);margin-bottom:5px;font-family:Bangers,cursive;font-size:2.2rem}.loader-slogan{color:var(--text-muted-color);font-size:.9rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes logo-pulse{0%,to{opacity:.8;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}.hero-header{text-align:center;justify-content:center;align-items:center;width:100%;height:75vh;min-height:480px;display:flex;position:relative;overflow:hidden}.hero-bg{background-position:50%;background-size:cover;width:100%;height:100%;position:absolute;top:0;left:0;transform:scale(1.05)}.hero-overlay{background:linear-gradient(to bottom, #0f0f1166 0%, #0f0f11cc 70%, var(--bg-color) 100%);width:100%;height:100%;position:absolute;top:0;left:0}.hero-content{z-index:10;flex-direction:column;align-items:center;max-width:600px;padding:20px;display:flex;position:relative}.logo-card-wrapper{perspective:1000px;margin-bottom:25px}.logo-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:120px;height:120px;box-shadow:0 10px 30px #00000080, 0 0 20px var(--glow-color);transform-style:preserve-3d;background:#18181c99;border:1px solid #ffffff1a;border-radius:50%;padding:5px;transition:transform .6s cubic-bezier(.2,.8,.2,1);animation:1.5s cubic-bezier(.175,.885,.32,1.275) forwards logo-intro}.logo-card:hover{transform:rotateY(180deg)scale(1.05)}.logo-card img{object-fit:cover;border-radius:50%;width:100%;height:100%}@keyframes logo-intro{0%{opacity:0;transform:rotateY(-270deg)scale(.3)}to{opacity:1;transform:rotateY(0)scale(1)}}.hero-content h1{letter-spacing:2px;color:var(--secondary-color);-webkit-text-stroke:1.5px #111827;text-shadow:4px 4px 0px var(--primary-color);text-transform:uppercase;margin-bottom:8px;font-family:Bangers,cursive;font-size:3.5rem}.hero-content .slogan{color:var(--text-muted-color);text-shadow:0 1px 5px #00000080;margin-bottom:25px;font-size:1.1rem;font-weight:300}.social-links{gap:15px;margin-bottom:35px;display:flex}.social-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:45px;height:45px;color:var(--text-color);background:#18181c99;border:1px solid #ffffff14;border-radius:50%;justify-content:center;align-items:center;font-size:1.3rem;text-decoration:none;transition:all .3s cubic-bezier(.25,.8,.25,1);display:flex}.social-btn:hover{color:var(--bg-color);background-color:var(--primary-color);border-color:var(--primary-color);box-shadow:0 10px 20px var(--glow-color);transform:translateY(-5px)}.scroll-down-indicator{color:var(--text-muted-color);letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;border:none;outline:none;flex-direction:column;align-items:center;font-size:.85rem;font-weight:600;text-decoration:none;transition:color .3s;display:flex}.scroll-down-indicator:hover{color:var(--primary-color)}.scroll-down-indicator svg{margin-top:5px;animation:2s infinite bounce}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}.category-nav-wrapper{z-index:100;-webkit-backdrop-filter:blur(20px)saturate(180%);background-color:#eaf7ffd9;border-bottom:1px solid #1e88c826;transition:all .3s;position:sticky;top:0;box-shadow:0 4px 20px #0000000d}.category-nav-container{width:100%;max-width:1200px;margin:0 auto}.category-nav-slider{scroll-behavior:smooth;white-space:nowrap;-ms-overflow-style:none;scrollbar-width:none;gap:10px;padding:12px 15px;display:flex;overflow-x:auto}.category-nav-slider::-webkit-scrollbar{display:none}.category-tab{color:var(--primary-color);text-transform:uppercase;letter-spacing:.5px;cursor:pointer;background:#1e88c80d;border:1px solid #1e88c826;border-radius:50px;align-items:center;padding:10px 18px;font-family:Anton,sans-serif;font-size:.95rem;text-decoration:none;transition:all .3s cubic-bezier(.25,.8,.25,1);display:inline-flex}.category-tab:hover{color:var(--primary-color);background:#1e88c81f}.category-tab.active{color:#111827;background-color:var(--secondary-color);border-color:var(--secondary-color);font-weight:600;box-shadow:0 4px 15px #f2c94c66}.menu-sections-container{max-width:1200px;margin:0 auto;padding:40px 15px 120px}.menu-loading-placeholder{text-align:center;color:var(--text-muted-color);flex-direction:column;justify-content:center;align-items:center;padding:60px 0;display:flex}.menu-loading-placeholder svg{color:var(--primary-color);margin-bottom:15px;animation:1s linear infinite spin}.category-section{margin-bottom:60px;scroll-margin-top:140px}.category-banner{border-radius:var(--border-radius);width:100%;height:180px;margin-bottom:25px;position:relative;overflow:hidden;box-shadow:0 10px 25px #0000004d}.category-banner-img{object-fit:cover;width:100%;height:100%;transition:transform 1.5s}.category-section:hover .category-banner-img{transform:scale(1.03)}.category-banner-overlay{background:linear-gradient(90deg,#0f0f11d9 0%,#0f0f1199 50%,#0f0f1133 100%);width:100%;height:100%;position:absolute;top:0;left:0}.category-banner-content{z-index:5;flex-direction:column;justify-content:center;width:100%;height:100%;padding:25px;display:flex;position:absolute;top:0;left:0}.category-banner-content h2{color:var(--secondary-color);letter-spacing:1px;text-transform:uppercase;text-shadow:2px 2px 4px #000c;margin-bottom:5px;font-family:Anton,sans-serif;font-size:2.2rem}.category-banner-content p{color:var(--text-muted-color);max-width:60%;font-size:.95rem}@media (width<=768px){.category-banner{height:140px}.category-banner-content p{max-width:100%;font-size:.85rem}}.dishes-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;display:grid}@media (width<=360px){.dishes-grid{grid-template-columns:1fr}}.dish-card{background-color:var(--card-bg-color);border-radius:var(--border-radius);border:1px solid #ffffff08;flex-direction:column;padding:18px;transition:all .3s cubic-bezier(.25,.8,.25,1);display:flex;position:relative;box-shadow:0 8px 20px #0000001f}.dish-card:hover{border-color:#ffffff14;transform:translateY(-3px);box-shadow:0 12px 25px #00000040,0 0 15px #ffffff03}.dish-badges-inline{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.badge{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:3px 7px;font-size:.65rem;font-weight:700}.badge-popular{background-color:var(--primary-color);color:var(--bg-color)}.badge-vegan,.badge-vegetariano{color:#fff;background-color:#2e7d32}.badge-picante{color:#fff;background-color:#d32f2f}.badge-generic{color:var(--text-color);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#ffffff26}.dish-soldout-overlay{z-index:10;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:var(--border-radius);background:#0f0f11cc;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.soldout-tag{color:#fff;text-transform:uppercase;letter-spacing:2px;border:2px solid #fff;border-radius:4px;padding:6px 14px;font-size:.95rem;font-weight:700;transform:rotate(-10deg);box-shadow:0 4px 10px #00000080}.dish-info{flex-direction:column;flex-grow:1;padding:0;display:flex}.dish-header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.dish-name{text-transform:uppercase;color:var(--primary-color);font-family:Oswald,sans-serif;font-size:1.2rem;font-weight:700}.dish-price{color:#111827;background-color:var(--secondary-color);white-space:nowrap;border-radius:50px;padding:4px 12px;font-family:Roboto Condensed,sans-serif;font-size:1.15rem;font-weight:700;box-shadow:0 2px 8px #00000014}.dish-description{color:var(--text-muted-color);-webkit-line-clamp:3;-webkit-box-orient:vertical;flex-grow:1;margin-bottom:20px;font-size:.88rem;display:-webkit-box;overflow:hidden}.dish-action-row{margin-top:auto}.add-to-cart-btn{border-radius:calc(var(--border-radius) - 6px);width:100%;color:var(--primary-color);cursor:pointer;background:#ffffff08;border:1px solid #ffffff0d;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:.9rem;font-weight:600;transition:all .3s;display:flex}.add-to-cart-btn:hover{background:var(--primary-color);color:var(--bg-color);border-color:var(--primary-color);box-shadow:0 5px 15px var(--glow-color)}.dish-qty-control{border:1px solid var(--primary-color);border-radius:calc(var(--border-radius) - 6px);background:#ffffff08;justify-content:space-between;align-items:center;width:100%;display:flex;overflow:hidden}.qty-btn{color:var(--primary-color);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:12px 18px;font-size:1.1rem;transition:background .2s;display:flex}.qty-btn:hover{background:#ffffff0d}.qty-num{color:var(--secondary-color);font-weight:700}.restaurant-footer{color:var(--text-color);background-color:#0b0b0d;padding-top:60px;padding-bottom:30px;position:relative}.footer-wave{width:100%;height:60px;line-height:0;position:absolute;top:-60px;left:0;overflow:hidden}.footer-wave svg{width:100%;height:60px;display:block;position:relative}.footer-wave path{fill:#0b0b0d}.footer-content{text-align:center;flex-direction:column;align-items:center;max-width:600px;margin:0 auto;padding:0 20px;display:flex}.footer-logo{object-fit:cover;border:1px solid #ffffff14;border-radius:50%;width:70px;height:70px;margin-bottom:15px}.footer-content h3{color:var(--secondary-color);margin-bottom:5px;font-size:1.5rem;font-weight:700}.footer-slogan{color:var(--text-muted-color);margin-bottom:25px;font-size:.9rem}.footer-divider{background-color:var(--primary-color);width:40px;height:2px;margin-bottom:25px}.thank-you-msg{color:var(--secondary-color);margin-bottom:40px;font-size:1rem;font-style:italic}.text-primary{color:var(--primary-color)}.developer-credit{color:var(--text-muted-color);font-size:.8rem}.developer-credit a{color:var(--primary-color);font-weight:500;text-decoration:none}.cart-floating-btn{z-index:99;background-color:var(--primary-color);color:var(--bg-color);box-shadow:0 10px 25px var(--glow-color);cursor:pointer;opacity:0;pointer-events:none;border:none;border-radius:50px;align-items:center;gap:15px;padding:12px 24px;transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:flex;position:fixed;bottom:25px;left:50%;transform:translate(-50%)translateY(20px)}.cart-floating-btn.show{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.cart-floating-btn:hover{box-shadow:0 15px 30px var(--glow-color);transform:translate(-50%)translateY(-3px)}.cart-icon-wrapper{position:relative}.cart-icon-wrapper svg{width:24px;height:24px}.cart-badge{color:var(--bg-color);background-color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.75rem;font-weight:800;animation:.3s badge-pop;display:flex;position:absolute;top:-8px;right:-8px}.cart-btn-details{flex-direction:column;align-items:flex-start;display:flex}.cart-btn-title{text-transform:uppercase;letter-spacing:.5px;opacity:.8;font-size:.75rem;font-weight:700}.cart-btn-total{font-size:1.05rem;font-weight:800}@keyframes badge-pop{0%{transform:scale(.5)}70%{transform:scale(1.2)}to{transform:scale(1)}}.cart-drawer-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;opacity:0;pointer-events:none;background-color:#0a0a0cb3;width:100vw;height:100vh;transition:opacity .4s;position:fixed;top:0;left:0}.cart-drawer-overlay.active{opacity:1;pointer-events:auto}.cart-drawer{background-color:var(--card-bg-color);z-index:1001;border-radius:28px 28px 0 0;flex-direction:column;width:100%;max-height:88vh;transition:transform .4s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;bottom:0;left:0;transform:translateY(100%);box-shadow:0 -15px 40px #00000080}.cart-drawer.active{transform:translateY(0)}.cart-drawer-header{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:20px;display:flex}.cart-drawer-title-area{color:var(--secondary-color);align-items:center;gap:10px;display:flex}.cart-drawer-title-area svg{color:var(--primary-color)}.cart-drawer-title-area h3{font-size:1.2rem;font-weight:700}.close-drawer-btn{width:36px;height:36px;color:var(--text-color);cursor:pointer;background:#ffffff08;border:1px solid #ffffff0d;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;transition:background .2s;display:flex}.close-drawer-btn:hover{background:#ffffff14}.cart-items-container{flex-grow:1;padding:20px;overflow-y:auto}.empty-cart-state{text-align:center;color:var(--text-muted-color);padding:40px 0}.empty-cart-state svg{opacity:.3;width:56px;height:56px;margin:0 auto 10px;display:block}.empty-cart-state p{color:var(--secondary-color);margin-bottom:4px;font-weight:600}.empty-cart-state span{font-size:.85rem}.cart-item{border-bottom:1px solid #ffffff08;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px;padding-bottom:15px;display:flex}.cart-item-info{flex-grow:1}.cart-item-name{color:var(--secondary-color);margin-bottom:2px;font-size:.95rem;font-weight:600}.cart-item-price{color:var(--primary-color);font-size:.9rem;font-weight:700}.cart-item-actions{align-items:center;gap:12px;display:flex}.cart-item-qty{color:var(--secondary-color);text-align:center;width:20px;font-size:.95rem;font-weight:700}.cart-item-btn{width:28px;height:28px;color:var(--text-color);cursor:pointer;background:#ffffff08;border:1px solid #ffffff0f;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.cart-item-btn:hover{background:var(--primary-color);color:var(--bg-color);border-color:var(--primary-color)}.cart-form-container{border-radius:var(--border-radius);background:#ffffff05;border:1px solid #ffffff08;margin-bottom:20px;padding:15px}.form-title{text-transform:uppercase;letter-spacing:.5px;color:var(--primary-color);margin-bottom:12px;font-size:.9rem;font-weight:700}.form-group{margin-bottom:12px}.form-group:last-child{margin-bottom:0}.form-group label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted-color);margin-bottom:5px;font-size:.78rem;font-weight:600;display:block}.form-group input,.form-group select,.form-group textarea{width:100%;color:var(--text-color);background:#0f0f1180;border:1px solid #ffffff14;border-radius:8px;outline:none;padding:10px;font-family:inherit;font-size:.9rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-color)}.cart-drawer-footer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#18181cf2;border-top:1px solid #ffffff0d;padding:20px}.cart-summary-line{color:var(--secondary-color);justify-content:space-between;margin-bottom:15px;font-size:1.05rem;font-weight:700;display:flex}.send-order-btn{color:#fff;cursor:pointer;background-color:#25d366;border:none;border-radius:50px;justify-content:space-between;align-items:center;width:100%;padding:14px 20px;font-size:1rem;font-weight:700;transition:all .3s;display:flex;box-shadow:0 8px 20px #25d36633}.send-order-btn:hover{background-color:#20ba5a;transform:translateY(-2px);box-shadow:0 12px 25px #25d36666}.send-order-btn svg{width:24px;height:24px}.send-order-btn span{text-align:left;flex-grow:1;padding-left:10px}@media (width>=768px){.cart-drawer{border-radius:0;width:400px;height:100vh;max-height:100vh;inset:0 0 auto auto;transform:translate(100%)}.cart-drawer.active{transform:translate(0)}}
