:root{--hue-red:355;--hue-gold:45;--hue-teal:180;--hue-dark:240;--color-primary:hsl(var(--hue-red), 75%, 50%);--color-primary-dark:hsl(var(--hue-red), 80%, 40%);--color-primary-light:hsl(var(--hue-red), 75%, 65%);--color-secondary:hsl(var(--hue-gold), 85%, 55%);--color-accent:hsl(var(--hue-teal), 65%, 55%);--color-success:hsl(145, 65%, 45%);--color-danger:hsl(355, 75%, 55%);--color-white:#ffffff;--color-black:#0a0a0a;--bg-body:hsl(222, 14%, 9%);--bg-surface:hsl(222, 13%, 12%);--bg-surface-2:hsl(222, 12%, 16%);--bg-glass:rgba(15, 19, 27, 0.92);--bg-overlay:rgba(0, 0, 0, 0.75);--text-main:hsl(210, 40%, 98%);--text-muted:hsl(215, 20%, 72%);--text-light:hsl(215, 16%, 47%);--border-color:hsl(217, 19%, 20%);--ring-color:rgba(220, 50, 50, 0.35);--shadow-sm:0 2px 8px rgba(0, 0, 0, 0.5);--shadow-md:0 8px 24px rgba(0, 0, 0, 0.6);--shadow-lg:0 16px 48px rgba(0, 0, 0, 0.7);--shadow-xl:0 24px 64px rgba(0, 0, 0, 0.8);--shadow-glow:0 0 40px rgba(255, 70, 70, 0.5);--shadow-hover:0 12px 32px rgba(0, 0, 0, 0.7);--font-sans:'Lato',system-ui,-apple-system,sans-serif;--font-serif:'Playfair Display',Georgia,serif;--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:2rem;--spacing-lg:4rem;--spacing-xl:8rem;--radius-sm:8px;--radius:16px;--radius-lg:24px;--radius-xl:32px;--nav-height:85px;--transition-fast:0.2s cubic-bezier(0.4, 0, 0.2, 1);--transition:0.3s cubic-bezier(0.4, 0, 0.2, 1);--transition-slow:0.5s cubic-bezier(0.4, 0, 0.2, 1);--transition-bounce:0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);--color-red:var(--color-primary);--color-red-hover:var(--color-primary-dark);--color-white:#fff;--color-dark:#121212;--muted:var(--text-muted);--surface:var(--bg-surface);--brand:var(--color-primary);--border:var(--border-color)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);background-color:var(--bg-body);color:var(--text-main);line-height:1.7;overflow-x:hidden;transition:background-color var(--transition),color var(--transition);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);margin:0 0 var(--spacing-sm) 0;line-height:1.15;letter-spacing:-.02em;font-weight:700}h1{font-size:clamp(2.5rem, 6vw, 5rem);animation:fadeInUp var(--transition-slow) ease-out}h2{font-size:clamp(2rem, 4.5vw, 3.5rem);color:var(--color-primary);position:relative;padding-bottom:1rem}h2::after{content:'';position:absolute;bottom:0;left:0;width:60px;height:4px;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));border-radius:2px;animation:slideIn var(--transition-slow) ease-out}h3{font-size:clamp(1.3rem, 3vw, 1.8rem)}p{margin-bottom:var(--spacing-sm);line-height:1.8}a{color:inherit;text-decoration:none;transition:all var(--transition);position:relative}img{max-width:100%;display:block;height:auto}.hidden{display:none!important}.skip-link{position:absolute;top:-40px;left:0;background:var(--color-primary);color:#fff;padding:8px 16px;text-decoration:none;z-index:10000;transition:top .3s;font-weight:600}.skip-link:focus{top:0}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 var(--spacing-md)}.section{padding:var(--spacing-xl) 0;position:relative;animation:fadeIn var(--transition-slow) ease-out}.mt{margin-top:var(--spacing-md)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.9em 2.2em;border-radius:var(--radius-xl);font-weight:600;letter-spacing:.03em;text-transform:uppercase;font-size:.95rem;cursor:pointer;border:none;transition:all var(--transition);position:relative;overflow:hidden;isolation:isolate}.btn::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.2);transform:translate(-50%,-50%);transition:width var(--transition-bounce),height var(--transition-bounce)}.btn:hover::before{width:300px;height:300px}.btn.primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:var(--color-white);box-shadow:0 4px 20px rgba(220,50,50,.35)}.btn.primary:hover{transform:translateY(-3px) scale(1.02);box-shadow:var(--shadow-hover)}.btn.primary:active{transform:translateY(-1px) scale(.98)}.btn.ghost{background:0 0;border:2px solid var(--color-primary);color:var(--color-primary)}.btn.ghost:hover{background:var(--color-primary);color:var(--color-white);transform:translateY(-3px);box-shadow:var(--shadow-md)}.app-header{position:sticky;top:0;z-index:1000;height:var(--nav-height);background:var(--bg-glass);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border-bottom:1px solid var(--border-color);transition:all var(--transition);box-shadow:var(--shadow-sm)}.app-header.scrolled{height:70px;box-shadow:var(--shadow-md)}.header-content{display:flex;justify-content:space-between;align-items:center;height:100%;gap:2rem}.brand{display:flex;align-items:center;gap:.75rem;transition:all var(--transition);cursor:pointer}.brand-icon{height:55px;width:55px;transition:transform var(--transition);filter:drop-shadow(0 2px 4px rgba(0, 0, 0, .3));transform:rotate(-15deg)}.brand:hover .brand-icon{transform:rotate(-20deg)}.footer-brand{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.footer-sombrero{height:60px;width:60px;filter:drop-shadow(0 2px 4px rgba(0, 0, 0, .5));transform:rotate(-15deg)}.footer-brand-text{font-family:var(--font-serif);font-size:1.8rem;font-weight:700;color:var(--color-primary)}.brand-text{display:flex;flex-direction:column;gap:.2rem}.brand-title{font-family:var(--font-serif);font-size:2rem;font-weight:700;color:var(--color-primary);letter-spacing:-.02em;line-height:1;background:linear-gradient(135deg,#dc3232 0,#ff6b6b 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.brand-subtitle{font-family:var(--font-sans);font-size:.65rem;font-weight:600;color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;line-height:1}.nav{display:flex;gap:2.5rem;align-items:center}.nav a{font-size:.95rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-main);position:relative;padding:8px 0;transition:color var(--transition)}.nav a::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%) scaleX(0);width:100%;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));border-radius:2px;transition:transform var(--transition-bounce)}.nav a.active,.nav a:hover{color:var(--color-primary)}.nav a.active::after,.nav a:hover::after{transform:translateX(-50%) scaleX(1)}.nav .admin-link{padding:8px 20px;background:linear-gradient(135deg,rgba(220,50,50,.1),rgba(220,50,50,.05));border-radius:var(--radius-lg);color:var(--color-primary);border:1px solid transparent;transition:all var(--transition)}.nav .admin-link:hover{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.hero-graffiti{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;background-color:#1a1a2e}.hero-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center 25%;display:block}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(0,0,0,.7) 0,rgba(0,0,0,.4) 40%,rgba(0,0,0,.3) 60%,rgba(0,0,0,.6) 100%);z-index:2}.hero-inner{position:relative;z-index:3;padding:4rem 2rem;text-align:left;max-width:1200px}.hero-copy{max-width:700px;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.5)}.neon-title{font-size:clamp(3rem, 8vw, 6rem);font-family:var(--font-serif);font-weight:700;margin-bottom:1rem;color:#fff;line-height:1.1;letter-spacing:-.02em;text-shadow:0 0 20px rgba(220,50,50,.8),0 0 40px rgba(220,50,50,.6),0 2px 8px rgba(0,0,0,.8);animation:fadeInUp .8s cubic-bezier(.4,0,.2,1)}.hero-subtitle{font-size:clamp(1.2rem, 3vw, 1.8rem);font-weight:500;margin-bottom:1.5rem;color:var(--color-secondary);font-style:italic;animation:fadeInUp .8s cubic-bezier(.4,0,.2,1) .2s backwards}.hero-description{font-size:clamp(1rem, 2vw, 1.2rem);line-height:1.7;margin-bottom:2.5rem;color:rgba(255,255,255,.95);max-width:600px;animation:fadeInUp .8s cubic-bezier(.4,0,.2,1) .4s backwards}.actions{display:flex;gap:1.5rem;flex-wrap:wrap;animation:fadeInUp .8s cubic-bezier(.4,0,.2,1) .6s backwards}.btn-primary{background:var(--color-primary);color:#fff;padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;text-decoration:none;border-radius:var(--radius);transition:all .3s cubic-bezier(.4, 0, .2, 1);cursor:pointer;border:none;box-shadow:0 4px 16px rgba(220,50,50,.4)}.btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 8px 24px rgba(220,50,50,.5)}.btn-secondary{background:0 0;color:#fff;border:2px solid #fff;padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;text-decoration:none;border-radius:var(--radius);transition:all .3s cubic-bezier(.4, 0, .2, 1);cursor:pointer}.btn-secondary:hover{background:var(--bg-surface);color:var(--color-primary);transform:translateY(-2px);border-color:var(--color-primary)}@media (max-width:768px){.hero-graffiti{min-height:80vh}.hero-image{object-position:35% center}.hero-overlay{background:linear-gradient(180deg,rgba(0,0,0,.5) 0,rgba(0,0,0,.7) 100%)}.hero-copy{text-align:center;margin:0 auto}.actions{justify-content:center}.btn-primary,.btn-secondary{padding:.875rem 2rem;font-size:1rem}}@media (max-width:480px){.hero-graffiti{min-height:70vh}.actions{flex-direction:column;width:100%}.btn-primary,.btn-secondary{width:100%;text-align:center}}.cards,.events-grid,.menu-sections{display:grid;gap:2.5rem}.cards{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.card,.contact-item,.event-card,.menu-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow-sm);transition:all var(--transition);position:relative;overflow:hidden;isolation:isolate}.card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));transform:scaleX(0);transform-origin:left;transition:transform var(--transition)}.card:hover::before{transform:scaleX(1)}.card:hover,.contact-item:hover,.event-card:hover,.menu-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-hover);border-color:rgba(220,50,50,.25)}.contact-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3rem}.events-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.event-card{padding:1.8rem}.event-icon{width:60px;height:60px;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;font-size:2.5rem}.event-date{margin-bottom:1rem;font-family:var(--font-serif)}.event-date .day{display:block;font-size:1.3rem;font-weight:700;color:var(--color-primary);margin-bottom:.3rem}.event-date .time{font-size:.9rem;color:var(--text-muted);font-weight:600}.event-content h3{margin-bottom:.8rem;color:var(--text-main);transition:color var(--transition)}.event-card:hover .event-content h3{color:var(--color-primary)}.party-section{background:linear-gradient(135deg,var(--bg-surface) 0,var(--bg-surface-2) 100%);padding:4rem 0;border-radius:var(--radius-lg);margin:3rem 0}.party-content{max-width:900px;margin:0 auto;padding:2rem}.party-text{text-align:center}.party-text p{margin-bottom:1.25rem;line-height:1.8;color:var(--text-main);font-size:1.05rem}.party-intro{font-size:1.3rem;font-family:var(--font-serif);color:var(--color-primary);margin-bottom:1.5rem!important}.party-cta{margin:2.5rem 0;padding:2rem;background:var(--bg-surface-2);border-radius:var(--radius);border:2px solid var(--border-color)}.party-highlight{font-size:1.4rem;font-weight:700;color:var(--color-primary);margin-bottom:1rem!important}.party-closing{font-size:1.15rem;margin-bottom:.75rem!important}.party-signature{font-family:var(--font-serif);font-size:1.2rem;color:var(--color-secondary);font-style:italic}.party-contact{margin-top:2rem}.party-contact .btn{display:inline-flex;align-items:center;justify-content:center;padding:1rem 2rem;font-size:1.1rem}.party-contact .btn:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.menu-container{max-width:1200px;margin:0 auto;padding:2rem 0}.menu-category{margin-bottom:5rem;animation:fadeInUp .6s ease-out}.category-header{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:1.5rem;margin-bottom:2rem;border-bottom:3px solid var(--color-primary);position:relative}.category-header::after{content:'';position:absolute;bottom:-3px;left:0;width:80px;height:3px;background:linear-gradient(90deg,var(--color-secondary),transparent)}.category-title{font-size:clamp(1.8rem, 4vw, 2.5rem);font-family:var(--font-serif);font-weight:700;color:var(--color-primary);margin:0;letter-spacing:-.02em}.category-count{font-size:.95rem;color:var(--text-muted);font-weight:500;padding:.5rem 1rem;background:var(--bg-surface-2);border-radius:var(--radius)}.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.menu-card{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius);transition:all .3s cubic-bezier(.4, 0, .2, 1);position:relative;overflow:hidden}.menu-card::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;background:var(--color-primary);transform:scaleY(0);transition:transform .3s ease}.menu-card:hover{transform:translateX(8px);box-shadow:var(--shadow-md);border-color:var(--color-primary)}.menu-card:hover::before{transform:scaleY(1)}.card-content{flex:1}.drink-name{font-size:1.15rem;font-weight:700;color:var(--text-main);margin:0 0 .5rem 0;transition:color .3s}.menu-card:hover .drink-name{color:var(--color-primary)}.drink-description{font-size:.85rem;color:var(--text-muted);margin:0;font-style:italic;line-height:1.5}.price-tag{display:flex;align-items:baseline;gap:.25rem;padding:.5rem 1rem;background:linear-gradient(135deg,rgba(220,50,50,.1),rgba(220,100,10,.05));border-radius:var(--radius-lg);border:2px solid var(--color-primary);transition:all .3s}.menu-card:hover .price-tag{background:var(--color-primary);transform:scale(1.05)}.price-amount{font-size:1.25rem;font-weight:700;font-family:var(--font-serif);color:var(--color-primary);transition:color .3s}.menu-card:hover .price-amount{color:#fff}.price-currency{font-size:1.1rem;color:var(--color-primary);font-weight:600;transition:color .3s}.menu-card:hover .price-currency{color:#fff}.loading{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:2rem;color:var(--text-muted);font-size:1.1rem}.loading::before{content:'';width:24px;height:24px;border:3px solid var(--border-color);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--bg-surface) 0,var(--bg-surface-2) 50%,var(--bg-surface) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.skeleton-text{height:1rem;width:80%;margin-bottom:.5rem}.skeleton-title{height:1.5rem;width:60%;margin-bottom:1rem}.skeleton-card{height:120px;width:100%}@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.menu-sections{gap:4rem}.menu-item{display:flex;justify-content:space-between;align-items:flex-start;padding:1.2rem;border-bottom:1px dashed var(--border-color);transition:all var(--transition);border-radius:var(--radius-sm)}.menu-item:hover{background:var(--bg-surface-2);border-color:var(--color-primary);transform:translateX(5px);box-shadow:var(--shadow-sm)}.item-name{font-weight:700;font-size:1.1rem;color:var(--text-main);transition:color var(--transition)}.menu-item:hover .item-name{color:var(--color-primary)}.item-price{font-weight:700;color:var(--color-primary);font-size:1.15rem;white-space:nowrap;margin-left:1.5rem;font-family:var(--font-serif)}.item-ingredients{display:block;width:100%;font-size:.88rem;color:var(--text-muted);margin-top:.5rem;font-style:italic;line-height:1.5}@media (max-width:768px){.menu-grid{grid-template-columns:1fr}.category-header{flex-direction:column;align-items:flex-start;gap:1rem}.menu-card{flex-direction:column;align-items:flex-start;gap:1rem}.price-tag{align-self:flex-end}}.form-group{margin-bottom:1.5rem}label{display:block;margin-bottom:.6rem;font-weight:600;font-size:.95rem;color:var(--text-main);transition:color var(--transition)}input:focus+label,select:focus+label,textarea:focus+label{color:var(--color-primary)}input,select,textarea{width:100%;padding:1rem 1.2rem;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-main);font-family:inherit;font-size:1rem;transition:all var(--transition)}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(220,50,50,.1);background:var(--bg-surface);transform:translateY(-2px)}input.invalid,select.invalid,textarea.invalid{border-color:var(--color-danger)!important;box-shadow:0 0 0 3px rgba(220,50,50,.15)}input.valid,select.valid,textarea.valid{border-color:var(--color-success)!important}.field-error{display:block;color:var(--color-danger);font-size:.85rem;margin-top:.5rem;animation:fadeIn .2s ease-out}input:hover,select:hover,textarea:hover{border-color:var(--color-primary)}.app-footer{background:linear-gradient(135deg,var(--bg-surface) 0,var(--bg-surface-2) 100%);border-top:1px solid var(--border-color);padding:4rem 0 2rem;margin-top:4rem;position:relative}.app-footer::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary),var(--color-primary))}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:3rem;margin-bottom:3rem}.footer-section h3,.footer-section h4{font-size:1.2rem;margin-bottom:1.5rem;color:var(--text-main)}.footer-section p{color:var(--text-muted);font-size:.95rem;line-height:1.8}.footer-section a{transition:all var(--transition)}.footer-section a:hover{color:var(--color-primary);transform:translateX(3px);display:inline-block}.footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid var(--border-color);color:var(--text-light);font-size:.9rem}.social-links{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.social-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius-sm);background:var(--bg-surface-2);color:var(--text-main);text-decoration:none;font-weight:500;transition:all var(--transition);border:1px solid var(--border-color)}.social-link:hover{background:var(--bg-surface);border-color:var(--color-primary);transform:translateX(5px);box-shadow:var(--shadow-md)}.social-icon{width:18px;height:18px;flex-shrink:0}.social-link:first-child:hover{background:linear-gradient(135deg,#833ab4 0,#fd1d1d 50%,#fcb045 100%);color:#fff;border-color:transparent}.social-link:nth-child(2):hover{background:#1877f2;color:#fff;border-color:transparent}.social-link:nth-child(3):hover{background:#1db954;color:#fff;border-color:transparent}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{from{width:0}to{width:60px}}@keyframes glow{0%,100%{filter:drop-shadow(0 0 20px rgba(220, 50, 50, .2))}50%{filter:drop-shadow(0 0 40px rgba(220, 50, 50, .4))}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.8}}.loading{display:inline-block;animation:pulse 2s ease-in-out infinite}.view{display:none;opacity:0;transition:opacity var(--transition-slow)}.view.active{display:block;opacity:1;animation:fadeInUp .6s ease-out}.toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(100px);background:var(--bg-surface);color:var(--text-main);padding:1.2rem 2.5rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);border:1px solid var(--border-color);z-index:2000;opacity:0;transition:all var(--transition-bounce);font-weight:500}.toast:not(.hidden){transform:translateX(-50%) translateY(0);opacity:1}.toast.success{background:linear-gradient(135deg,var(--color-success),#1f934f);color:#fff;border-color:var(--color-success)}.toast.error{background:linear-gradient(135deg,var(--color-danger),#c81c2b);color:#fff;border-color:var(--color-danger)}.toast.warning{background:linear-gradient(135deg,var(--color-secondary),#d4a311);color:var(--bg-body);border-color:var(--color-secondary)}.toast-undo{margin-left:1rem;padding:.5rem 1rem;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.4);border-radius:var(--radius-sm);color:inherit;cursor:pointer;font-weight:600;transition:all var(--transition)}.toast-undo:hover{background:rgba(255,255,255,.3);transform:scale(1.05)}@media (max-width:768px){.app-header{height:auto;padding:1rem 0}.header-content{flex-direction:column;gap:1rem}.nav{gap:1rem;flex-wrap:wrap;justify-content:center}.nav a{font-size:.85rem}.hero{min-height:80vh}h1{font-size:2.5rem}.menu-grid{grid-template-columns:1fr}.events-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}}@media (prefers-contrast:high){.card,.event-card,input,select,textarea{border-width:2px}}:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.brand-logo{height:50px;width:auto;max-width:200px;aspect-ratio:auto;transition:transform var(--transition);display:block;mix-blend-mode:multiply}.footer-section img[src*=logo]{max-width:200px;height:auto;aspect-ratio:auto;display:block;mix-blend-mode:multiply}[data-theme=dark] .brand-logo,[data-theme=dark] .footer-section img[src*=logo]{mix-blend-mode:screen;filter:invert(1)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;padding:3rem 2rem;text-align:center;color:var(--text-muted);animation:fadeIn var(--transition-slow) ease-out}.empty-state__icon{font-size:4rem;opacity:.3;margin-bottom:1.5rem;filter:grayscale(100%);animation:pulse 3s ease-in-out infinite}.empty-state__title{font-size:1.3rem;font-weight:600;color:var(--text-main);margin-bottom:.8rem;font-family:var(--font-serif)}.empty-state__description{font-size:1rem;color:var(--text-muted);margin-bottom:2rem;max-width:400px;line-height:1.6}.empty-state__cta{margin-top:1rem}.whatsapp{position:fixed;bottom:2rem;left:2rem;width:60px;height:60px;background:linear-gradient(135deg,#25d366 0,#128c7e 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.8rem;text-indent:-9999px;overflow:hidden;z-index:900;box-shadow:0 4px 20px rgba(37,211,102,.4);transition:all var(--transition);text-decoration:none;cursor:pointer}.whatsapp::before{content:'💬';position:absolute;text-indent:0;font-size:1.8rem;display:flex;align-items:center;justify-content:center}.whatsapp:hover{transform:scale(1.15) rotate(5deg);box-shadow:0 8px 32px rgba(37,211,102,.6)}.whatsapp:active{transform:scale(.95)}.whatsapp:focus-visible{outline:3px solid #25D366;outline-offset:4px}@media (max-width:768px){.whatsapp{width:55px;height:55px;bottom:1.5rem;left:1.5rem}.whatsapp::before{font-size:1.6rem}.empty-state{min-height:250px;padding:2rem 1rem}.empty-state__icon{font-size:3rem}}@media (max-width:1024px){.container{padding:0 1.5rem}}@media (max-width:768px){:root{--spacing-xs:0.375rem;--spacing-sm:0.75rem;--spacing-md:1.25rem;--spacing-lg:2rem;--spacing-xl:3rem;--nav-height:60px}html{font-size:15px}body{overflow-x:hidden}h1{font-size:clamp(2rem, 8vw, 3rem)}h2{font-size:clamp(1.75rem, 6vw, 2.5rem);padding-bottom:.75rem}h2::after{width:50px;height:3px}h3{font-size:clamp(1.15rem, 4vw, 1.5rem)}.body-text,p{font-size:.95rem;line-height:1.65}.container{padding:0 1.25rem}.section{padding:3rem 0}.app-header{height:60px}.header-content{gap:1rem}.brand{gap:.5rem}.brand-icon{height:40px;width:40px}.brand-title{font-size:1.4rem}.brand-subtitle{font-size:.55rem;letter-spacing:.1em}.nav{position:fixed;top:60px;left:-100%;width:100%;height:calc(100vh - 60px);background:var(--bg-glass);backdrop-filter:blur(20px);flex-direction:column;gap:0;padding:2rem 0;transition:left .3s cubic-bezier(.4, 0, .2, 1);overflow-y:auto;z-index:999}.nav.mobile-open{left:0}.nav a{font-size:1.25rem;padding:1.25rem 2rem;width:100%;border-bottom:1px solid var(--border-color);min-height:56px}.nav a::after{display:none}.nav .admin-link{border-radius:0;margin:.5rem 1rem;width:calc(100% - 2rem)}.cards,.contact-info,.events-grid{grid-template-columns:1fr;gap:1.5rem}.menu-grid{grid-template-columns:1fr;gap:1rem}.card,.contact-item,.event-card{padding:1.5rem}.story-grid{grid-template-columns:1fr;gap:2rem}.story-visual{order:-1}.story-highlights{grid-template-columns:1fr;gap:1rem}.menu-category{margin-bottom:3rem}.category-header{flex-direction:column;align-items:flex-start;gap:.75rem;padding-bottom:1rem}.menu-card{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1.25rem}.drink-price{font-size:1.5rem;align-self:flex-end}.reservation-content{flex-direction:column}.reservation-form,.reservation-info{width:100%;padding:1.5rem}.reservation-details{gap:1.5rem}.form .grid{grid-template-columns:1fr;gap:1rem}.form-group input,.form-group select,.form-group textarea,input[type=date],input[type=datetime-local],input[type=email],input[type=number],input[type=tel],input[type=text],input[type=time],select,textarea{font-size:16px!important;padding:.875rem 1rem;min-height:48px}textarea{min-height:100px}.btn,a.btn,button{min-height:48px;padding:.875rem 1.75rem;font-size:1rem}.btn.small{min-height:44px;padding:.75rem 1.5rem;font-size:.9rem}.footer-content{grid-template-columns:1fr;gap:2rem;text-align:center}.footer-brand{justify-content:center}.footer-sombrero{height:50px;width:50px}.social-links{flex-direction:column;gap:1rem}.social-link{padding:.75rem 1.5rem;min-height:48px}.footer-section h4{font-size:1.1rem;margin-bottom:1rem}}@media (max-width:480px){.container{padding:0 1rem}.section{padding:2.5rem 0}.brand-title{font-size:1.2rem}.brand-subtitle{font-size:.5rem}.brand-icon{height:35px;width:35px}h2{font-size:clamp(1.5rem, 7vw, 2rem)}.card,.event-card{padding:1.25rem}}@media (max-width:900px) and (orientation:landscape){.hero-graffiti{min-height:100vh}.section{padding:2rem 0}}.burger-menu{display:none;background:0 0;border:none;cursor:pointer;padding:.5rem;z-index:1001;position:relative}.burger-menu span{display:block;width:25px;height:3px;background:var(--text-main);margin:4px 0;transition:all .3s cubic-bezier(.4, 0, .2, 1);border-radius:2px}.burger-menu.active span:first-child{transform:translateY(7px) rotate(45deg)}.burger-menu.active span:nth-child(2){opacity:0;transform:translateX(-20px)}.burger-menu.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media (max-width:768px){.burger-menu{display:flex;flex-direction:column;justify-content:center;align-items:center}}@media (min-width:769px){.burger-menu{display:none!important}.nav{position:static!important;display:flex!important;flex-direction:row!important;height:auto!important;width:auto!important;background:0 0!important;backdrop-filter:none!important}}.social-proof-section{background:var(--bg-surface);padding:4rem 0;border-bottom:1px solid var(--border-color);animation:fadeIn .8s ease-out}.social-proof-section .container{display:grid;grid-template-columns:1fr 1fr;gap:3rem;max-width:1200px}.google-reviews{display:flex;flex-direction:column;gap:1.5rem}.reviews-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.reviews-badge{background:linear-gradient(135deg,var(--bg-surface-2) 0,rgba(66,133,244,.05) 100%);border:2px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;transition:all var(--transition);box-shadow:var(--shadow-sm)}.reviews-badge:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#4285f4}.badge-content{display:flex;align-items:center;gap:1.5rem}.google-icon{width:48px;height:48px;flex-shrink:0}.google-icon svg{width:100%;height:100%;filter:drop-shadow(0 2px 4px rgba(0, 0, 0, .2))}.badge-text{display:flex;flex-direction:column;gap:.5rem}.rating-stars{font-size:1.5rem;color:#fbbc05;letter-spacing:2px;text-shadow:0 1px 2px rgba(0,0,0,.3)}.rating-text{font-size:1.1rem;color:var(--text-main);font-weight:500}.rating-text strong{font-size:1.5rem;color:var(--color-primary);font-family:var(--font-serif)}.review-count{font-size:.9rem;color:var(--text-muted)}.view-all-link{color:var(--color-primary);font-weight:600;font-size:.95rem;transition:all var(--transition);text-decoration:none;padding:.5rem 1rem;border-radius:var(--radius)}.view-all-link:hover{color:var(--color-primary-light);transform:translateX(5px)}.reviews-slider{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;animation:fadeInUp .6s ease-out .2s backwards}.review-card{background:var(--bg-surface-2);border:1px solid var(--border-color);border-radius:var(--radius);padding:1.5rem;transition:all var(--transition);position:relative;overflow:hidden}.review-card::before{content:'"';position:absolute;top:-10px;left:10px;font-size:6rem;color:rgba(220,50,50,.1);font-family:Georgia,serif;font-weight:700;line-height:1}.review-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--color-primary)}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;position:relative;z-index:1}.review-author{font-weight:700;color:var(--text-main);font-size:1.05rem}.review-rating{color:#fbbc05;font-size:1.1rem;letter-spacing:1px}.review-text{color:var(--text-main);line-height:1.7;margin-bottom:.75rem;font-style:italic;position:relative;z-index:1}.review-date{color:var(--text-muted);font-size:.85rem}.instagram-section{display:flex;flex-direction:column;gap:1.5rem}.instagram-header{text-align:center}.instagram-header h3{display:flex;align-items:center;justify-content:center;gap:.75rem;font-size:1.5rem;margin-bottom:.5rem;background:linear-gradient(45deg,#f09433 0,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.instagram-icon{width:32px;height:32px;background:linear-gradient(45deg,#f09433 0,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.instagram-handle{color:var(--color-primary);font-weight:600;font-size:1.1rem;transition:all var(--transition);text-decoration:none}.instagram-handle:hover{color:var(--color-primary-light);transform:scale(1.05);display:inline-block}.instagram-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;animation:fadeInUp .6s ease-out .3s backwards}.instagram-image{aspect-ratio:1;overflow:hidden;border-radius:var(--radius);position:relative;cursor:pointer;transition:all var(--transition)}.instagram-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition)}.instagram-image:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.instagram-image:hover img{transform:scale(1.1)}.instagram-image::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(240,148,51,.3),rgba(188,24,136,.3));opacity:0;transition:opacity var(--transition)}.instagram-image:hover::after{opacity:1}.instagram-placeholder{grid-column:1/-1;display:flex;justify-content:center;align-items:center;padding:2rem}.instagram-cta-button{display:inline-flex;align-items:center;gap:1rem;padding:1.25rem 2.5rem;background:linear-gradient(45deg,#f09433 0,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);color:#fff;font-weight:700;font-size:1.15rem;border-radius:var(--radius-xl);text-decoration:none;transition:all var(--transition);box-shadow:0 4px 20px rgba(220,39,67,.4);position:relative;overflow:hidden}.instagram-cta-button svg{width:28px;height:28px;flex-shrink:0}.instagram-cta-button::before{content:'';position:absolute;inset:0;background:linear-gradient(45deg,transparent,rgba(255,255,255,.2),transparent);transform:translateX(-100%);transition:transform .6s}.instagram-cta-button:hover::before{transform:translateX(100%)}.instagram-cta-button:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 8px 32px rgba(220,39,67,.5)}.static-info-section{padding:3rem 0;animation:fadeIn .8s ease-out}.info-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;max-width:1200px;margin:0 auto}.info-card{background:linear-gradient(135deg,var(--bg-surface) 0,var(--bg-surface-2) 100%);border:2px solid var(--border-color);border-radius:var(--radius-lg);padding:2.5rem;text-align:center;transition:all var(--transition);position:relative;overflow:hidden}.info-card::before{content:'';position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));transform:scaleX(0);transform-origin:left;transition:transform var(--transition)}.info-card:hover::before{transform:scaleX(1)}.info-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:var(--color-primary)}.info-icon{font-size:4rem;margin-bottom:1.5rem;display:block;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.info-card:hover .info-icon{animation:none;transform:scale(1.2);transition:transform var(--transition)}.info-card h3{font-size:clamp(1.5rem, 3vw, 2rem);color:var(--color-primary);margin-bottom:1rem;font-family:var(--font-serif)}.info-card p{color:var(--text-main);font-size:1.05rem;line-height:1.7;margin-bottom:0}@media (max-width:1024px){.social-proof-section .container{grid-template-columns:1fr;gap:2.5rem}.instagram-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.social-proof-section{padding:2.5rem 0}.badge-content{flex-direction:column;text-align:center;gap:1rem}.reviews-slider{grid-template-columns:1fr}.instagram-cta-button{padding:1rem 2rem;font-size:1rem}.info-cards-grid{grid-template-columns:1fr;gap:1.5rem}.info-card{padding:2rem}}@media (max-width:480px){.instagram-grid{grid-template-columns:1fr}.reviews-header{flex-direction:column;align-items:flex-start}}