:root{--bg-dark: #0a0c10;--bg-surface: #12141a;--bg-card: #181b23;--bg-card-hover: #1e2130;--text-main: #f0f1f4;--text-secondary: #9599a6;--text-muted: #5f6370;--accent: #22c55e;--accent-dark: #16a34a;--accent-glow: rgba(34, 197, 94, .15);--accent-glow-strong: rgba(34, 197, 94, .35);--border: rgba(255,255,255,.06);--border-hover: rgba(34, 197, 94, .25);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--shadow-card: 0 2px 8px rgba(0,0,0,.3);--shadow-hover: 0 16px 40px rgba(0,0,0,.5);--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .35s cubic-bezier(.175, .885, .32, 1.275)}body.light-mode{--bg-dark: #f8fafc;--bg-surface: #ffffff;--bg-card: #ffffff;--bg-card-hover: #f1f5f9;--text-main: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--border: rgba(0,0,0,.1);--border-hover: rgba(34, 197, 94, .4);--shadow-card: 0 4px 12px rgba(0,0,0,.05);--shadow-hover: 0 16px 40px rgba(0,0,0,.1)}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg-dark);color:var(--text-main);font-family:Outfit,system-ui,sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased;line-height:1.5}.accent,.accent-text{color:var(--accent)}.hero{position:relative;text-align:center;padding:3rem 1.5rem 2rem;overflow:hidden;background:linear-gradient(180deg,rgba(34,197,94,.08) 0%,rgba(6,182,212,.03) 50%,transparent 100%)}.glow-orb{position:absolute;border-radius:50%;filter:blur(120px);pointer-events:none;z-index:0}.theme-toggle{position:absolute;top:1.5rem;right:1.5rem;background:var(--bg-surface);border:1px solid var(--border);color:var(--text-main);border-radius:50%;width:44px;height:44px;font-size:1.2rem;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);box-shadow:var(--shadow-card)}.theme-toggle:hover{transform:scale(1.1);border-color:var(--accent)}.orb-1{top:-30%;left:20%;width:500px;height:500px;background:var(--accent);opacity:.07;animation:float-orb 8s ease-in-out infinite alternate}.orb-2{bottom:-20%;right:10%;width:300px;height:300px;background:#06b6d4;opacity:.05;animation:float-orb 10s ease-in-out infinite alternate-reverse}.orb-3{top:20%;right:30%;width:200px;height:200px;background:#a855f7;opacity:.04;animation:float-orb 12s ease-in-out infinite alternate}@keyframes float-orb{0%{transform:translateY(0) scale(1)}to{transform:translateY(-30px) scale(1.15)}}.hero-content{position:relative;z-index:1}.logo-container{margin-bottom:1rem}.hero-logo{width:220px;height:auto;border-radius:20px;filter:drop-shadow(0 8px 32px rgba(34,197,94,.2));animation:logo-enter 1s cubic-bezier(.34,1.56,.64,1) both;transition:transform .4s ease}.hero-logo:hover{transform:scale(1.05) rotate(-1deg)}@keyframes logo-enter{0%{opacity:0;transform:scale(.8) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.tagline{color:var(--text-secondary);font-size:.95rem;margin-top:.3rem;font-weight:400;animation:fade-up .8s .3s both}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.info-cards{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;margin-top:1.5rem;animation:fade-up .8s .5s both}.info-card{display:flex;align-items:center;gap:.7rem;background:#ffffff0a;border:1px solid var(--border);border-radius:var(--radius-md);padding:.7rem 1.1rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all var(--transition-fast)}.info-card:hover{border-color:var(--border-hover);background:#22c55e0f}.info-card.clickable{cursor:pointer}.info-card.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 16px #22c55e26}.info-icon{font-size:1.4rem;flex-shrink:0}.info-text{text-align:left;display:flex;flex-direction:column}.info-label{font-size:.65rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);font-weight:600}.info-value{font-size:.85rem;font-weight:500;color:var(--text-main)}.status-badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600}.status-badge.open{color:var(--accent)}.status-badge.closed{color:#ef4444}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.status-badge.open .status-dot{background:var(--accent);box-shadow:0 0 8px var(--accent);animation:pulse-dot 2s infinite}.status-badge.closed .status-dot{background:#ef4444}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.schedule-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.4rem;max-width:700px;margin:1.2rem auto 0;animation:fade-up .8s .7s both}@media (max-width: 640px){.schedule-grid{grid-template-columns:repeat(4,1fr)}}.schedule-row{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.6rem .3rem;border-radius:var(--radius-sm);background:#ffffff08;border:1px solid transparent;transition:all var(--transition-fast)}.schedule-row .day{font-size:.65rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-weight:600}.schedule-row .hours{font-size:.75rem;font-weight:500;color:var(--text-secondary)}.schedule-row.closed .hours{color:#ef4444;font-size:.7rem}.schedule-row.today{background:#22c55e1a;border-color:var(--accent)}.schedule-row.today .day{color:var(--accent)}.schedule-row.today .hours{color:var(--text-main);font-weight:600}.featured-section{max-width:1200px;margin:1rem auto 2rem;padding:0 1.5rem}.featured-title{font-size:1.1rem;font-weight:700;margin-bottom:1rem;color:var(--text-main)}.carousel-container{position:relative;display:flex;align-items:center}.carousel-track{display:flex;gap:1rem;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:.5rem}.carousel-track::-webkit-scrollbar{display:none}.carousel-track .card{min-width:180px;max-width:180px;flex-shrink:0}.carousel-btn{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-main);width:36px;height:36px;border-radius:50%;cursor:pointer;position:absolute;z-index:10;display:none;align-items:center;justify-content:center;transition:all var(--transition-fast)}@media (min-width: 768px){.carousel-btn{display:flex}}.carousel-btn:hover{background:var(--accent);color:#000;border-color:var(--accent)}.carousel-btn.prev{left:-18px}.carousel-btn.next{right:-18px}.search-section{padding:.5rem 1.5rem .8rem;max-width:700px;margin:0 auto;position:sticky;top:0;z-index:100;background:linear-gradient(180deg,var(--bg-dark) 70%,transparent 100%)}.search-container{display:flex;flex-direction:column;gap:.5rem}.search-input-wrapper{position:relative;width:100%}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);font-size:1rem;pointer-events:none;z-index:2;color:var(--text-muted)}#search-input{width:100%;padding:.85rem 1.2rem .85rem 2.8rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-main);font-family:inherit;font-size:.95rem;outline:none;transition:all var(--transition-fast)}#search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}#search-input::placeholder{color:var(--text-muted)}.search-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.search-controls{display:flex;align-items:center;gap:.5rem}.product-count{font-size:.7rem;color:var(--text-muted);background:var(--bg-card);padding:.25rem .6rem;border-radius:100px;white-space:nowrap}.sort-select{background:var(--bg-card);border:1px solid var(--border);color:var(--text-main);font-family:inherit;font-size:.7rem;padding:.25rem .6rem;border-radius:100px;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:all var(--transition-fast)}.sort-select:hover{border-color:var(--accent)}.smart-filters{display:flex;flex-wrap:wrap;gap:.4rem}.smart-toggle input{display:none}.smart-toggle-btn{display:inline-block;padding:.35rem .8rem;background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);border-radius:100px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.smart-toggle:hover .smart-toggle-btn{border-color:var(--border-hover);color:var(--text-main);background:#22c55e0f}.smart-toggle input:checked+.smart-toggle-btn{background:#22c55e26;border-color:var(--accent);color:var(--accent);box-shadow:0 0 10px #22c55e33}.filters{display:flex;gap:.4rem;padding:.3rem 1.5rem .8rem;overflow-x:auto;scrollbar-width:none;max-width:700px;margin:0 auto;justify-content:center;flex-wrap:wrap}.filters::-webkit-scrollbar{display:none}.filter-btn{background:transparent;color:var(--text-muted);border:1px solid var(--border);padding:.3rem .7rem;border-radius:100px;font-family:inherit;font-size:.7rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);flex-shrink:0}.filter-btn:hover{border-color:var(--border-hover);color:var(--text-main);background:#22c55e0f}.filter-btn.active{background:var(--accent);color:#000;border-color:var(--accent);font-weight:600;box-shadow:0 2px 10px var(--accent-glow-strong)}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:.8rem;padding:0 1.5rem 3rem;min-height:40vh}@media (min-width: 640px){.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}}@media (min-width: 1024px){.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));padding:0 4% 4rem;gap:1.1rem}}@media (min-width: 1400px){.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}.loading-state{grid-column:1 / -1;text-align:center;color:var(--text-muted);padding:3rem 0}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{grid-column:1 / -1;text-align:center;color:var(--text-muted);padding:4rem 1rem;font-size:1.1rem}.card{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column;transition:transform var(--transition-bounce),box-shadow var(--transition-fast),border-color var(--transition-fast);cursor:pointer;opacity:0;animation:card-in .4s ease forwards}@keyframes card-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover);border-color:var(--border-hover);background:var(--bg-card-hover)}.card-badge{position:absolute;top:.6rem;left:.6rem;background:var(--bg-card);color:var(--text-main);border:1px solid var(--border);font-size:.6rem;font-weight:700;padding:.2rem .6rem;border-radius:100px;text-transform:uppercase;letter-spacing:.5px;z-index:2;box-shadow:0 4px 10px #00000080}.card-badge.nuevo{background:#3b82f6;color:#fff;border:none}.card-badge.fuego{background:#ef4444;color:#fff;border:none}.card-img-container{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;background:linear-gradient(135deg,var(--bg-surface) 0%,#1a1d26 100%);display:flex;align-items:center;justify-content:center}.card-img-container img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.card:hover .card-img-container img{transform:scale(1.06)}.placeholder-initial{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:3.5rem;font-weight:800;color:#ffffff1f;letter-spacing:-2px;-webkit-user-select:none;user-select:none}.card-content{padding:.7rem .8rem .9rem;display:flex;flex-direction:column;flex-grow:1}.card-brand{font-size:.65rem;color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:.6px;margin-bottom:.15rem}.card-title{font-size:.85rem;font-weight:600;line-height:1.3;margin-bottom:.25rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-desc{font-size:.72rem;color:var(--text-muted);margin-bottom:.6rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex-grow:1}.card-footer{display:flex;justify-content:space-between;align-items:center}.card-price{color:var(--accent);font-weight:700;font-size:1rem}.card-price.consultar{color:var(--text-muted);font-size:.75rem;font-weight:500}.card-action{background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border);border-radius:8px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:.9rem;cursor:pointer;transition:all var(--transition-fast)}.card:hover .card-action{background:var(--accent);color:#000;border-color:var(--accent)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;pointer-events:none;transition:opacity .25s ease;padding:1.5rem}.modal-overlay.active{opacity:1;pointer-events:all}.modal{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);max-width:500px;width:100%;max-height:85vh;overflow-y:auto;position:relative;transform:scale(.95) translateY(20px);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.modal-overlay.active .modal{transform:scale(1) translateY(0)}.modal-close{position:absolute;top:1rem;right:1rem;background:#00000080;color:#fff;border:none;border-radius:50%;width:36px;height:36px;font-size:1rem;cursor:pointer;z-index:10;transition:background var(--transition-fast)}.modal-close:hover{background:var(--accent);color:#000}.modal-body{padding:0}.modal-header{padding:2rem 1.5rem 1rem}.modal-brand{color:var(--accent);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1px}.modal-title{font-size:1.5rem;font-weight:700;margin:.3rem 0}.modal-desc{color:var(--text-secondary);font-size:.95rem;line-height:1.6;padding:0 1.5rem}.modal-meta{display:flex;gap:1rem;align-items:center;padding:1.5rem;border-top:1px solid var(--border);margin-top:1.5rem}.modal-price{font-size:1.8rem;font-weight:800;color:var(--accent)}.modal-price.consultar{font-size:1rem;color:var(--text-muted)}.whatsapp-btn{display:inline-flex;align-items:center;gap:.5rem;background:#25d366;color:#fff;padding:.7rem 1.5rem;border-radius:var(--radius-sm);text-decoration:none;font-weight:600;font-size:.9rem;margin-left:auto;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.whatsapp-btn:hover{transform:scale(1.05);box-shadow:0 6px 20px #25d3664d}.modal-img-container{width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:24px 24px 0 0;background:#111}.modal-img-container img{width:100%;height:100%;object-fit:contain}.modal-content-inner{padding:0}.modal-section{padding:.8rem 1.5rem;border-top:1px solid var(--border)}.section-title{font-size:.8rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.8px;margin-bottom:.5rem}.ingredients-list{font-size:.85rem;color:var(--text-secondary);line-height:1.6}.nutri-table{display:grid;gap:0}.nutri-row{display:flex;justify-content:space-between;padding:.35rem 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:.82rem}.nutri-row span:first-child{color:var(--text-secondary)}.nutri-row span:last-child{color:var(--text-main);font-weight:600}.sellos-container{display:flex;flex-wrap:wrap;gap:.4rem}.sello-badge{display:inline-flex;align-items:center;gap:.3rem;background:#ef444426;color:#fca5a5;border:1px solid rgba(239,68,68,.25);padding:.3rem .7rem;border-radius:100px;font-size:.72rem;font-weight:600}.alergenos-container{display:flex;flex-wrap:wrap;gap:.4rem}.alergeno-badge{display:inline-flex;align-items:center;gap:.3rem;background:#fbbf241f;color:#fcd34d;border:1px solid rgba(251,191,36,.2);padding:.3rem .7rem;border-radius:100px;font-size:.72rem;font-weight:600}.vegan-verdict{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.5rem;border-radius:0;border-bottom:1px solid var(--border)}.vegan-verdict.is-vegan{background:#22c55e14}.vegan-verdict.not-vegan{background:#fbbf2414}.vegan-icon{font-size:1.2rem}.vegan-text{font-weight:700;font-size:.85rem}.is-vegan .vegan-text{color:var(--accent)}.not-vegan .vegan-text{color:#fbbf24}.vegan-confidence{margin-left:auto;font-size:.7rem;color:var(--text-muted);background:#ffffff0f;padding:.15rem .5rem;border-radius:100px}.vegan-notes{font-size:.8rem;color:var(--text-secondary);padding:.6rem 1.5rem;line-height:1.5;font-style:italic;border-top:1px solid var(--border)}.footer{border-top:1px solid var(--border);padding:3rem 1.5rem 2rem;background:var(--bg-surface)}.footer-inner{display:grid;grid-template-columns:1fr;gap:2rem;max-width:1000px;margin:0 auto 2rem}@media (min-width: 768px){.footer-inner{grid-template-columns:1.2fr 1fr .8fr}}.footer-brand{display:flex;flex-direction:column;gap:.8rem}.footer-logo{width:140px;height:auto;border-radius:12px;filter:drop-shadow(0 4px 12px rgba(34,197,94,.15))}.footer-brand p{color:var(--text-secondary);font-size:.9rem;max-width:300px}.footer-links h4,.footer-schedule h4{font-size:.8rem;text-transform:uppercase;letter-spacing:1px;color:var(--accent);margin-bottom:.8rem;font-weight:600}.footer-schedule p{color:var(--text-secondary);font-size:.85rem;margin-bottom:.3rem}.social-link{display:flex;align-items:center;gap:.6rem;color:var(--text-secondary);text-decoration:none;font-size:.88rem;margin-bottom:.7rem;transition:all var(--transition-fast);padding:.4rem 0}.social-link:hover{color:var(--text-main);transform:translate(4px)}.social-icon{width:20px;height:20px;flex-shrink:0;transition:all var(--transition-fast)}.social-link:first-child .social-icon{color:#ef4444}.social-link:first-child:hover .social-icon{color:#f87171;filter:drop-shadow(0 0 6px rgba(239,68,68,.4))}.ig-icon{color:#e1306c}.ig-link:hover .ig-icon{color:#e1306c;filter:drop-shadow(0 0 8px rgba(225,48,108,.5))}.ig-link:hover{color:#e1306c}.wsp-icon{color:#25d366}.whatsapp-link:hover .wsp-icon{filter:drop-shadow(0 0 8px rgba(37,211,102,.5))}.whatsapp-link:hover{color:#25d366}.footer-copy{text-align:center;color:var(--text-muted);font-size:.7rem;border-top:1px solid var(--border);padding-top:1.5rem}.placeholder-initial{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:5rem;font-weight:800;color:#fff6;text-shadow:0 4px 12px rgba(0,0,0,.3);box-shadow:inset 0 0 40px #00000080;-webkit-user-select:none;user-select:none}.modal-img-container .placeholder-initial{height:300px;font-size:8rem;border-radius:12px}.tour-3d-btn{background:linear-gradient(135deg,#4ade8033,#22d3ee33);border:1px solid #4ade80!important}.tour-3d-btn:hover{background:linear-gradient(135deg,#4ade8066,#22d3ee66);box-shadow:0 0 15px #4ade804d}.tour-content{max-width:1000px!important;width:95%!important}
