:root{
  --accent:#B51F18;--accent-strong:#8E1712;--paper:#FFF6DF;--surface:#fff;--ink:#242018;--muted:#786B58;--line:#eadfd7;
  --heading:"Roboto Slab",serif;--body:"DM Sans",sans-serif;--radius:18px;--max:1100px;--header-h:72px;--language-h:42px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}button,a{font:inherit}.app-shell{min-height:100svh;background:var(--paper)}
.topbar{height:var(--header-h);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));background:rgba(255,250,243,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;backdrop-filter:blur(14px)}
.icon-btn{width:42px;height:42px;display:grid;place-items:center;color:var(--ink);text-decoration:none;font-size:31px;line-height:1;border-radius:50%}.icon-btn:hover{background:#f4ebe4}.brand-lockup{justify-self:center;display:grid;place-items:center;text-decoration:none;min-width:60px;height:56px}.brand-lockup img{max-height:52px;max-width:112px;object-fit:contain}.brand-lockup span{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(150deg,#ff8c3f,#e25318);color:#fff;font-weight:900;letter-spacing:-.04em;box-shadow:0 7px 18px rgba(184,70,18,.16)}
.cta{justify-self:end;text-decoration:none;color:var(--accent-strong);border:2px solid var(--accent-strong);border-radius:999px;padding:8px 15px;font-weight:800;background:#fff;font-size:14px}.language{height:var(--language-h);display:flex;align-items:center;justify-content:center;gap:7px;color:#9d897e;background:#fff;border-bottom:1px solid var(--line);font-size:15px}.language span{font-size:21px}.language b{font-weight:600}
.section-title{background:var(--ink);color:#fff;text-align:center;padding:10px 18px 11px}.section-title span{display:block;font-size:9px;letter-spacing:.2em;font-weight:800;opacity:.7;margin-bottom:2px}.section-title h1{font-family:var(--heading);font-size:clamp(27px,5vw,39px);margin:0;line-height:1.05}
.category-cards{max-width:var(--max);margin:auto;background:#fff}.category-card{width:100%;display:grid;grid-template-columns:130px 1fr;align-items:center;gap:16px;min-height:136px;padding:8px 18px 8px 8px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;color:var(--ink);cursor:pointer;transition:background .16s,transform .16s}.category-card:active{background:#fff6ef}.category-media{width:130px;height:120px;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#f2e8de,#fff7ef);display:grid;place-items:center}.category-media img{width:100%;height:100%;object-fit:cover}.category-placeholder{font-family:var(--heading);font-weight:800;font-size:16px;color:#aa8c7b;text-align:center;padding:10px}.category-card h2{font-family:var(--heading);font-size:clamp(22px,4vw,28px);margin:0;line-height:1.08}.category-card p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.38}
.category-tabs-wrap{position:sticky;top:calc(var(--header-h) + var(--language-h));z-index:40;background:rgba(255,250,243,.985);border-bottom:1px solid var(--line);box-shadow:0 2px 8px rgba(62,34,22,.04)}.category-tabs{display:flex;overflow:auto;scrollbar-width:none;padding:0 max(4px,calc((100vw - var(--max))/2));scroll-behavior:smooth}.category-tabs::-webkit-scrollbar{display:none}.tab{position:relative;flex:0 0 auto;border:0;background:transparent;color:var(--ink);font-family:var(--heading);font-weight:800;font-size:16px;padding:16px 14px 14px;white-space:nowrap;cursor:pointer}.tab.active{color:var(--accent-strong)}.tab.active::after{content:"";position:absolute;height:4px;background:var(--accent-strong);border-radius:4px 4px 0 0;left:10px;right:10px;bottom:0}
.product-list{max-width:var(--max);margin:auto;background:#fff;min-height:calc(100svh - 180px)}.product-row{width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;display:grid;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:112px;padding:10px 16px 10px 12px;text-align:left;color:var(--ink);cursor:pointer}.product-row:hover{background:#fffaf6}.product-image{width:92px;height:86px;display:grid;place-items:center}.product-image img{width:100%;height:100%;object-fit:contain}.product-placeholder{width:78px;height:72px;border-radius:16px;background:#f4e9df;display:grid;place-items:center;font-weight:900;color:#b69582;font-size:14px}.product-copy{min-width:0;align-self:center}.product-copy h3{font-family:var(--heading);font-size:clamp(20px,3.4vw,27px);line-height:1.1;margin:0}.product-copy p{margin:5px 0 0;color:var(--muted);font-size:12.5px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.badge{display:inline-block;margin-bottom:5px;color:#fff;background:var(--accent);border-radius:999px;padding:3px 6px;font-size:8px;font-weight:900;letter-spacing:.06em}.price{font-family:var(--heading);font-size:19px;font-weight:800;color:var(--accent-strong);white-space:nowrap;align-self:center}.empty-state{text-align:center;padding:72px 22px;color:var(--muted)}
.product-dialog{width:min(520px,calc(100% - 24px));border:0;border-radius:26px;padding:0;background:var(--paper);color:var(--ink);box-shadow:0 30px 90px rgba(45,22,13,.25);overflow:hidden}.product-dialog::backdrop{background:rgba(28,13,8,.62);backdrop-filter:blur(6px)}.dialog-close{position:absolute;right:14px;top:14px;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.92);font-size:28px;z-index:3;color:var(--ink);cursor:pointer}.dialog-hero{height:250px;background:#fff;display:grid;place-items:center;padding:22px}.dialog-hero img{width:100%;height:100%;object-fit:contain}.dialog-content{padding:22px}.dialog-content h2{font-family:var(--heading);font-size:30px;margin:0 0 8px}.dialog-content p{color:var(--muted);line-height:1.5;margin:0 0 16px}.dialog-price{font-family:var(--heading);font-size:27px;color:var(--accent-strong);font-weight:800}
@media(min-width:820px){.category-cards{display:grid;grid-template-columns:1fr 1fr;border-left:1px solid var(--line);border-right:1px solid var(--line)}.category-card:nth-child(odd){border-right:1px solid var(--line)}.category-card{min-height:150px;grid-template-columns:145px 1fr;padding:10px 20px 10px 10px}.category-media{width:145px;height:130px}.product-list{display:grid;grid-template-columns:1fr 1fr;border-left:1px solid var(--line);border-right:1px solid var(--line);align-content:start}.product-row:nth-child(odd){border-right:1px solid var(--line)}.product-row{min-height:122px}.section-title{padding-top:13px;padding-bottom:14px}}
@media(max-width:640px){:root{--header-h:68px;--language-h:40px}.topbar{padding-left:12px;padding-right:12px}.icon-btn{font-size:30px;width:40px;height:40px}.cta{font-size:13px;padding:7px 13px}.brand-lockup span{width:48px;height:48px;border-radius:16px}.brand-lockup img{max-height:48px}.section-title{padding:9px 14px 10px}.section-title h1{font-size:29px}.category-card{grid-template-columns:31vw 1fr;gap:15px;min-height:136px;padding-right:12px}.category-media{width:31vw;height:120px;max-width:132px}.category-card h2{font-size:23px}.category-card p{font-size:12.5px}.tab{font-size:15px;padding:15px 13px 13px}.product-row{grid-template-columns:92px minmax(0,1fr) auto;gap:12px;min-height:108px;padding:9px 12px 9px 8px}.product-image{width:88px;height:82px}.product-placeholder{width:74px;height:70px}.product-copy h3{font-size:21px}.product-copy p{font-size:12px}.price{font-size:18px}}
@media(max-width:390px){.category-card{grid-template-columns:116px 1fr}.category-media{width:116px;height:110px}.category-card h2{font-size:21px}.product-row{grid-template-columns:82px minmax(0,1fr) auto;gap:10px;padding-left:6px}.product-image{width:80px;height:76px}.product-placeholder{width:68px;height:64px}.product-copy h3{font-size:19px}.price{font-size:17px}.tab{padding-left:11px;padding-right:11px}}

/* Imágenes responsivas por contexto */
.category-media picture,.product-image picture,.dialog-hero picture{display:block;width:100%;height:100%}.category-media picture img,.product-image picture img,.dialog-hero picture img{display:block;width:100%;height:100%}.category-media picture img{object-fit:cover}.product-image picture img{object-fit:cover}.dialog-hero picture img{object-fit:contain}
