:root{--bg:#06080d;--surface:#0d1118;--surface-alt:#121826;--surface-soft:#171e2b;--text:#f5f7fb;--text-muted:#bac4d6;--line:#ffffff17;--primary:#0f4fb3;--primary-hover:#0b3f90;--primary-soft:#0f4fb32e;--white-soft:#ffffffeb;--shadow:0 20px 48px #00000059;--radius-xl:32px;--radius-lg:24px;--radius-md:18px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--text);background:radial-gradient(circle at top,#0f4fb333,#0000 28%),linear-gradient(#090c12 0%,#05070a 100%);font-family:Inter,sans-serif;line-height:1.5}body::selection{background:#0f4fb359}h1,h2,h3,.hero-title{font-family:Playfair Display,serif}img{max-width:100%;display:block}button,a{-webkit-tap-highlight-color:transparent}.container{max-width:1200px;margin:0 auto;padding:0 24px}.site-header{z-index:100;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#06080ddb;position:sticky;top:0}.navbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;display:flex}.logo{color:var(--text);align-items:center;gap:14px;text-decoration:none;display:inline-flex}.logo-image{object-fit:cover;border:1px solid #ffffff14;border-radius:50%;width:62px;height:62px;box-shadow:0 10px 30px #0f4fb340}.logo-text{flex-direction:column;line-height:1.05;display:flex}.logo-text strong{letter-spacing:.01em;font-size:1.35rem;font-weight:700}.logo-text small{color:var(--text-muted);text-transform:uppercase;letter-spacing:.18em;font-size:.8rem}.nav-links{gap:28px;list-style:none;display:flex}.nav-links a{color:var(--text-muted);font-weight:600;text-decoration:none;transition:color .2s}.nav-links a:hover,.nav-links .router-link-active{color:var(--white-soft)}.lang-switch{color:var(--text-muted);align-items:center;gap:8px;font-weight:600;display:flex}.lang-btn{color:var(--text-muted);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff26;border-radius:999px;padding:8px 12px;transition:transform .2s,border-color .2s,background-color .2s,color .2s}.lang-btn.active,.lang-btn:hover{background:var(--primary);color:#fff;border-color:#0f4fb3b3;transform:translateY(-1px)}.hero{padding:84px 0 96px}.hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:center;gap:48px;display:grid}.hero-kicker{background:var(--primary-soft);color:#d8e6ff;letter-spacing:.12em;text-transform:uppercase;border:1px solid #0f4fb359;border-radius:999px;margin-bottom:16px;padding:8px 14px;font-size:.85rem;font-weight:700;display:inline-block}.hero-title{color:#fff;margin-bottom:20px;font-size:clamp(2.8rem,6vw,4.8rem);font-weight:700;line-height:1.06}.hero-title i{color:#cfe0ff;font-size:clamp(2rem,4vw,3rem);font-style:italic;font-weight:400}.hero-text{color:var(--text-muted);max-width:560px;margin-bottom:32px;font-size:1.08rem}.btn-group{flex-wrap:wrap;gap:16px;display:flex}.btn{border-radius:999px;justify-content:center;align-items:center;padding:13px 28px;font-size:1rem;font-weight:700;text-decoration:none;transition:transform .25s,background-color .25s,color .25s,border-color .25s,box-shadow .25s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-primary{background-color:var(--primary);color:#fff;box-shadow:0 10px 30px #0f4fb347}.btn-primary:hover{background-color:var(--primary-hover)}.btn-outline{color:var(--white-soft);background:#ffffff08;border:1px solid #ffffff2e}.btn-outline:hover{background:#0f4fb31f;border-color:#0f4fb38c}.btn-dark{color:#07090d;box-shadow:none;background:#fff}.hero-image{border-radius:var(--radius-xl);border:1px solid var(--line);min-height:420px;box-shadow:var(--shadow);background:radial-gradient(circle,#0f4fb347,#0000 45%),linear-gradient(135deg,#0b1018 0%,#090d15 35%,#111b31 100%);position:relative;overflow:hidden}.hero-image:before,.hero-image:after{content:"";border:2px solid #0f4fb32e;border-radius:50%;position:absolute}.hero-image:before{inset:46px}.hero-image:after{inset:92px}.hero-logo-wrap{justify-content:center;align-items:center;padding:42px;display:flex;position:absolute;inset:0}.hero-logo{aspect-ratio:1;object-fit:cover;border-radius:50%;width:min(100%,370px);box-shadow:0 22px 40px #0000006b}.about,.contact,.menu-section{background:0 0;padding:84px 0}.section-title{text-align:center;color:#fff;margin-bottom:48px;font-size:clamp(2.1rem,4vw,3rem);font-weight:600}.section-title:after{content:"";background:linear-gradient(90deg,#0f4fb380,#0f4fb3);border-radius:4px;width:78px;height:4px;margin:14px auto 0;display:block}.about-text{text-align:center;max-width:860px;color:var(--text-muted);border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(#ffffff08,#ffffff05);margin:0 auto;padding:34px;font-size:1.08rem;line-height:1.75}.about-meta{margin-top:18px}.about-meta i{color:#7fb0ff;margin-right:8px}.menu-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px;margin-top:20px;display:grid}.allergen-legend{border:1px solid var(--line);background:#ffffff05;border-radius:16px;max-width:980px;margin:0 auto 22px;padding:14px 16px}.allergen-legend-title{color:var(--text-muted);margin-bottom:10px;font-size:.92rem}.allergen-legend-list{flex-wrap:wrap;gap:10px 16px;list-style:none;display:flex}.allergen-legend-list li{color:#d7e5ff;align-items:center;gap:8px;font-size:.9rem;display:inline-flex}.allergen-legend-list i{background:#0f4fb33d;border:1px solid #0f4fb352;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.8rem;display:inline-flex}.menu-card{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(#ffffff0a,#ffffff06);border-radius:26px;transition:transform .25s,box-shadow .3s,border-color .25s;overflow:hidden}.menu-card:hover{border-color:#0f4fb359;transform:translateY(-6px);box-shadow:0 26px 56px #0000006b}.card-img{background-position:50%;background-size:cover;height:220px}.card-content{padding:24px 20px 28px}.card-title{color:#fff;margin-bottom:8px;font-size:1.55rem;font-weight:700}.price{color:#7fb0ff;margin:12px 0;font-size:1.35rem;font-weight:800}.desc{color:var(--text-muted);margin-bottom:16px;line-height:1.55}.allergens-icons{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.allergen-icon{color:#d9e7ff;background:#0f4fb333;border:1px solid #0f4fb34d;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.allergen-icon i{font-size:.86rem}.order-badge{color:#d9e7ff;background-color:#0f4fb324;border:1px solid #0f4fb342;border-radius:50px;align-items:center;gap:8px;padding:7px 14px;font-size:.85rem;font-weight:600;display:inline-flex}.contact-wrapper{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;display:grid}.contact-info,.map-placeholder{border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(#ffffff08,#ffffff05);padding:32px}.contact-info h3{color:#fff;margin-bottom:24px;font-size:1.8rem}.contact-detail{color:var(--text-muted);align-items:center;gap:16px;margin-bottom:22px;display:flex}.contact-detail i{color:#7fb0ff;width:22px;font-size:1.15rem}.contact-buttons{margin-top:30px}.map-placeholder{text-align:center;background-color:#0000;background-image:linear-gradient(#04080e73,#04080e9e),url(https://placehold.co/900x600/0f1726/0f4fb3?text=La+Esquinita);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;justify-content:center;align-items:center;min-height:280px;display:flex}.map-placeholder p{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#090d16d1;border:1px solid #ffffff14;border-radius:999px;padding:12px 22px}footer{border-top:1px solid var(--line);color:var(--text-muted);text-align:center;background:#020407cc;padding:32px 0;font-size:.95rem}.footer-links{margin-top:8px}@media (width<=980px){.hero-grid,.contact-wrapper{grid-template-columns:1fr}.hero-image{min-height:360px}}@media (width<=900px){.navbar{flex-direction:column;align-items:flex-start}.nav-links{flex-wrap:wrap;gap:16px}.lang-switch{width:100%}}@media (width<=768px){.container{padding:0 18px}.navbar{align-items:stretch}.logo{width:100%}.hero{padding:58px 0 72px}.hero-title{font-size:2.5rem}.hero-image{min-height:300px}.about-text,.contact-info,.map-placeholder{padding:24px}}
