:root{--bg:#FFF8F0;--bg-soft:#FFF;--card:#fff;--ink:#1d1710;--muted:#7a6a58;--brand:#E04E1A;--brand-ink:#fff;--line:#f0e2d3;--ok:#1a7f37;--radius:16px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu;letter-spacing:-.01em}
.top{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:.7rem 1rem;background:rgba(255,248,240,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.brand{display:flex;gap:.6rem;align-items:center}.logo{width:38px;height:38px;border-radius:12px;background:var(--brand);color:var(--brand-ink);display:grid;place-items:center;font-weight:900;font-size:22px}
.brand strong{display:block;line-height:1}.brand small{color:var(--muted)}
.btn{border:1px solid var(--line);background:var(--bg-soft);padding:.65rem 1rem;border-radius:999px;font-weight:700;cursor:pointer}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff;min-height:48px}
.btn.ghost{text-decoration:none;color:var(--ink);font-size:.9rem}
.btn.icon{width:48px;height:48px;border-radius:50%;font-size:22px}
.hero{margin:0 auto;padding:1.2rem max(1rem,4vw) .6rem}
.hero h1{font-size:clamp(28px,6vw,52px);line-height:1.02;margin:.2em 0;font-weight:900;letter-spacing:-.04em}
.hero h1 em{color:var(--brand);font-style:normal}
.hero p{color:var(--muted);margin:.2em 0 1em}
.search{background:var(--bg-soft);border:1px solid var(--line);border-radius:20px;padding:.8rem;box-shadow:0 12px 40px rgba(224,78,26,.08)}
.row{display:flex;gap:.6rem;margin-bottom:.6rem;flex-wrap:wrap}.grow{flex:1;display:flex;gap:.5rem;align-items:center;border:1px solid var(--line);border-radius:999px;padding:.2rem .9rem;background:#fff}
.grow input{border:0;outline:0;flex:1;font-size:1rem;min-height:44px;background:transparent}
.chips button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.55rem .9rem;font-weight:700;cursor:pointer}
.chips button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.filters select{border:1px solid var(--line);border-radius:999px;padding:.6rem .8rem;background:#fff;min-height:48px}
.check{display:flex;align-items:center;gap:.4rem;font-weight:700;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.6rem .9rem}
.hint{font-size:.85rem;color:var(--muted);margin:.2rem}
.layout{margin:0 auto;display:grid;grid-template-columns:1fr;gap:1rem;padding:.8rem max(1rem,4vw) 5rem}
.list{display:grid;gap:.8rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:grid;grid-template-columns:148px 1fr}
.card-media{display:block;position:relative;width:148px;min-height:148px;overflow:hidden;background:#eee}
.card .b{padding:.7rem .8rem}.card h3{margin:0;font-size:1.05rem;letter-spacing:-.02em}
.meta{display:flex;gap:.5rem;flex-wrap:wrap;font-size:.85rem;color:var(--muted);margin:.3rem 0}
.meta .open{color:var(--ok);font-weight:800}.meta .closed{color:#a00;font-weight:800}
.price{font-weight:800}.upd{font-size:.78rem;color:var(--muted)}
.mapwrap{position:sticky;top:70px}.mapwrap #map{height:62vh;min-height:320px;border-radius:20px;border:1px solid var(--line)}
.attr{font-size:.75rem;color:var(--muted)}
.empty{background:#fff;border:1px dashed var(--line);border-radius:20px;padding:1.2rem}
.tabbar{position:fixed;bottom:0;left:0;right:0;display:flex;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-top:1px solid var(--line)}
.tabbar a{flex:1;text-align:center;padding:.9rem;text-decoration:none;color:var(--ink);font-weight:800}.tabbar a.on{color:var(--brand)}
:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
@media(min-width:900px){.layout{grid-template-columns:1.1fr .9fr}.tabbar{display:none}.mapwrap #map{height:78vh}}
.count{color:var(--muted);font-weight:700;margin:.2rem 0 .6rem}
.card-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.cover-fallback{position:absolute;inset:0;display:grid;place-items:center;font-size:44px;font-weight:900;color:rgba(255,255,255,.9);background:linear-gradient(135deg,#E04E1A,#7a2d10)}
.card h3 a{color:inherit;text-decoration:none}.card h3 a:hover{text-decoration:underline}
.stars{color:#B7791F;font-weight:800}
.sk{pointer-events:none}.sk-media{min-height:120px;background:linear-gradient(90deg,#f0e2d3 25%,#faf3ea 50%,#f0e2d3 75%);background-size:200% 100%;animation:sh 1.2s infinite}
.sk-line{height:16px;border-radius:8px;background:#f0e2d3;margin:.4rem 0}.sk-line.short{width:55%}
@keyframes sh{to{background-position:-200% 0}}
.sheet{background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden}
.sheet .b{padding:1rem 1.1rem 1.4rem}.crumbs{font-size:.85rem;color:var(--muted)}.crumbs a{color:var(--muted)}
.sheet h1{font-size:clamp(24px,5.4vw,38px);letter-spacing:-.03em;margin:.2em 0}
.cta-row{display:flex;gap:.5rem;flex-wrap:wrap;margin:.7rem 0}.cta-row .btn{text-decoration:none;font-size:.92rem}
.cover-hero{display:grid;place-items:center;font-size:72px;font-weight:900;color:#fff;border-radius:14px;margin:.8rem 0;background:linear-gradient(135deg,#E04E1A,#7a2d10);min-height:170px}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem;margin:.8rem 0}
.gallery img{width:100%;border-radius:12px;aspect-ratio:1;object-fit:cover}
table.hours{border-collapse:collapse;margin:.4rem 0}table.hours td{padding:.35rem .9rem .35rem 0;border-bottom:1px solid var(--line)}
ul.menu{list-style:none;padding:0}ul.menu li{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid var(--line)}
.review{border:1px solid var(--line);border-radius:12px;padding:.6rem .8rem;margin:.5rem 0}
.near{display:grid;gap:.4rem}.near a{color:var(--ink);text-decoration:none;border:1px solid var(--line);border-radius:12px;padding:.55rem .8rem;font-weight:700}
.sheet h2{font-size:1.15rem;margin:1.1em 0 .4em;letter-spacing:-.02em}
.loved-wrap{margin:0 auto;padding:.4rem max(1rem,4vw)}.loved-head{display:flex;justify-content:space-between;align-items:baseline}.loved-head h2{margin:.4em 0}.loved-head a{font-weight:800;color:var(--brand);text-decoration:none}
.top-row{display:grid;grid-auto-flow:column;grid-auto-columns:min(78vw,300px);gap:.7rem;overflow-x:auto;padding:.2rem 0 .8rem;scroll-snap-type:x mandatory}
.top-row .card{scroll-snap-align:start}
.rank{display:inline-grid;place-items:center;min-width:30px;height:30px;border-radius:10px;background:var(--ink);color:#fff;font-weight:900;padding:0 .4rem}
.loved{display:inline-block;background:#FFF3D6;border:1px solid #E8C86A;color:#7A5B00;font-weight:800;font-size:.8rem;border-radius:999px;padding:.15rem .6rem;margin:.2rem 0}
.cat-cafeteria{background:linear-gradient(135deg,#8a5fbf,#4a2d7a)}.cat-restaurante{background:linear-gradient(135deg,#E04E1A,#7a2d10)}.cat-parrilla{background:linear-gradient(135deg,#8c2f0e,#3d1305)}.cat-pizzeria{background:linear-gradient(135deg,#c0392b,#6e1f16)}.cat-heladeria{background:linear-gradient(135deg,#2e9db4,#145968)}.cat-bar{background:linear-gradient(135deg,#3b3b4d,#14141c)}.cat-panaderia{background:linear-gradient(135deg,#b7791f,#6b4a08)}
.hist{margin:.5rem 0}.hrow{display:grid;grid-template-columns:34px 1fr 30px;gap:.5rem;align-items:center;font-size:.9rem}.hbar{background:#f0e2d3;border-radius:6px;height:10px;overflow:hidden}.hbar i{display:block;height:100%;background:var(--brand)}
.reserve{border:1px solid var(--line);border-radius:14px;padding:.7rem .9rem;margin:.8rem 0;background:#FFFBF5}.reserve label{font-weight:700;font-size:.9rem;display:grid;gap:.2rem}.reserve input,.reserve select{border:1px solid var(--line);border-radius:10px;padding:.5rem;min-height:44px;background:#fff}
.guide-item{border:1px solid var(--line);border-radius:14px;padding:.7rem .9rem;background:#fff}.guide-item a{color:var(--ink)}
.hero-video{position:relative;display:grid;align-items:end;overflow:hidden;background:#1d1710 url(../video/hero.jpg) center/cover;min-height:620px;border-radius:0}
.hero-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,10,5,.55),rgba(20,10,5,.35) 40%,rgba(20,10,5,.78))}
.hero-inner{position:relative;width:100%;margin:0 auto;padding:3.4rem max(1rem,4vw) 1.6rem;color:#fff}
.kicker{font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;color:#FFD9C4;margin:0}
.hero-inner h1{font-size:clamp(34px,7vw,64px);line-height:1;margin:.15em 0;letter-spacing:-.04em;font-weight:900}
.hero-inner h1 em{color:#FF8A3D;font-style:normal}
.hero-inner .sub{color:#F5E7DA;margin:.2em 0 1em;font-size:clamp(15px,2.4vw,18px)}
.hero-inner .search{box-shadow:0 24px 60px rgba(0,0,0,.35)}
.hero-inner .hint{color:#E8D9C9}
.foot{margin:0 auto;padding:1.4rem max(1rem,4vw) 5rem;color:var(--muted)}
.foot a{color:var(--ink);font-weight:700}
@media(max-width:719px){.hero-video{min-height:540px}.hero-video video{display:none}}
.gal-hero{position:relative;margin:.8rem 0 .5rem}.gal-hero img{width:100%;max-height:440px;object-fit:cover;border-radius:16px;cursor:zoom-in;background:#eee}
.gal-count{position:absolute;right:.7rem;bottom:.7rem;background:rgba(20,10,5,.75);color:#fff;font-weight:800;font-size:.82rem;border-radius:999px;padding:.2rem .7rem}
.gal-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:.5rem;margin-bottom:.4rem}
.gal-strip button{border:2px solid transparent;border-radius:12px;overflow:hidden;padding:0;cursor:pointer;background:#eee}
.gal-strip button:focus-visible{border-color:var(--brand)}
.gal-strip img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.lightbox{position:fixed;inset:0;background:rgba(10,5,2,.92);display:grid;place-items:center;z-index:100}
.lightbox[hidden]{display:none}
.lightbox img{max-width:94vw;max-height:88vh;border-radius:12px}
.lb-x,.lb-p,.lb-n{position:absolute;background:rgba(255,255,255,.14);color:#fff;border:0;font-size:28px;width:52px;height:52px;border-radius:50%;cursor:pointer}
.lb-x{top:1rem;right:1rem}.lb-p{left:.6rem;top:50%}.lb-n{right:.6rem;top:50%}
@media(max-width:600px){.card{grid-template-columns:118px 1fr}.card-media{width:118px;min-height:118px}.gal-hero img{max-height:300px}}
