:root{--p:#032d6f;--s:#f7ecd8;--t:#6f9d8a;--d:#1b294c;--ft:"Red Hat Display",system-ui,-apple-system,"Segoe UI",sans-serif;--fh:Marcellus,Georgia,"Times New Roman",serif;--bg:var(--s);--card:color-mix(in srgb,var(--s) 60%,#fff);--ink:var(--p);--mute:color-mix(in srgb,var(--p) 72%,var(--s));--line:color-mix(in srgb,var(--t) 55%,var(--s));--sg:var(--t);--acc:var(--p);--accink:var(--s);box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0e1512;--card:#17211d;--ink:#eef2ec;--mute:#9aa89f;--line:#26332d}}
:root[data-theme="dark"]{--bg:#0e1512;--card:#17211d;--ink:#eef2ec;--mute:#9aa89f;--line:#26332d}
*{box-sizing:border-box;margin:0}
html{overflow-x:hidden;background:var(--bg);scroll-padding-top:calc(env(safe-area-inset-top,0px) + 64px)}
body{background:var(--bg);color:var(--ink);font:400 var(--fs,16px)/1.5 var(--ft);max-width:var(--mw,560px);margin:0 auto;padding-bottom:40px}
@supports (overflow:clip){body{overflow-x:clip}}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--bg);z-index:30}
h1,h2{font-family:var(--fh);text-transform:var(--tt,uppercase);font-weight:var(--fwt,400)}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
#hd{text-align:center;padding:36px 24px 22px}
.logo{width:var(--ls,88px);height:var(--ls,88px);border-radius:var(--lr,50%);margin:0 auto 14px;background:var(--acc);color:var(--accink);display:grid;place-items:center;font:700 38px Fraunces,Georgia,serif;overflow:hidden;border:3px solid var(--card);box-shadow:0 0 0 1px var(--line)}
.logo img{width:100%;height:100%;object-fit:cover}
h1{font-size:var(--h1,36px);line-height:1.1;letter-spacing:var(--lsp,.04em)}
#hd p{color:var(--mute);margin-top:6px;font-size:15px}
.arn{display:inline-block;margin-top:16px;padding:9px 16px;border:1px solid var(--sg);border-radius:99px;background:var(--card);color:var(--ink);font-size:13.5px;font-weight:500;line-height:1.35}
nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);border-bottom:1px solid var(--line);display:flex;gap:8px;overflow-x:auto;padding:10px 16px;scrollbar-width:none}
nav::-webkit-scrollbar{display:none}
nav button{flex:none;padding:8px 16px;border-radius:99px;border:1px solid var(--line);background:var(--card);font-weight:500;font-size:14px}
nav button.on{background:var(--acc);color:var(--accink);border-color:var(--acc)}
section{padding:26px 18px 14px;border-top:1px solid var(--line)}
section.dk{--bg:var(--d);--ink:var(--s);--mute:color-mix(in srgb,var(--s) 72%,var(--d));--line:color-mix(in srgb,var(--s) 22%,var(--d));--sg:color-mix(in srgb,var(--t) 70%,#fff);--acc:var(--sg);background:var(--bg);color:var(--ink);padding-bottom:28px}
.gh{color:var(--sg);font-weight:500;font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin:20px 0 2px}
.gn{font-style:italic;font-size:13px;color:var(--mute)}
.nt{border:1px solid var(--ink);padding:8px 12px;text-align:center;margin:12px 0 4px;font-size:13px}
.nt b{font-weight:500}.nt.nbt{margin:16px 0 4px}
.tbx{margin:14px 18px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--rd,12px);background:var(--card);white-space:pre-line}.tbx h3{font:700 15px var(--ft);margin:0 0 6px;text-transform:uppercase;letter-spacing:.04em}.tbx p{margin:0;line-height:1.5;white-space:pre-line}.tbx.nb0{border-color:transparent}.nt.ni{padding:0;overflow:hidden;border-radius:var(--rd,12px)}.nt .nti{display:block;width:100%;height:160px;object-fit:cover}.nt .ntx{padding:10px 12px}
.price{font-weight:700;color:var(--acc);font-family:var(--fp,inherit)}
h2{font-size:32px;line-height:1.1;letter-spacing:var(--lsp,.03em);margin-bottom:4px}
.cd{color:var(--sg);font-size:16px;margin-bottom:8px}
.it{display:flex;gap:12px;width:100%;text-align:left;padding:10px 0;align-items:flex-start}
.it.ck{cursor:pointer}
.it .tx{flex:1;min-width:0}
.nm{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.it h3{display:inline;font:var(--fwi,700) var(--fsi,15px)/1.3 var(--fi,var(--ft));letter-spacing:.02em;text-transform:var(--tti,uppercase)}
.pr{font-weight:700;color:var(--acc);font-family:var(--fp,inherit);font-size:var(--fsp,15px);text-align:right;white-space:nowrap}
.pr small{font-weight:400;font-size:12px;color:var(--mute);margin-right:8px}
.it .ds{color:var(--mute);font-family:var(--fd,inherit);font-style:var(--fst,normal);font-size:var(--fsd,13.5px);margin-top:2px;line-height:1.4}
.th{width:var(--th,76px);height:var(--th,76px);border-radius:var(--rd,12px);object-fit:cover;flex:none;align-self:center}
.ph{display:grid;place-items:center;font-size:34px;background:color-mix(in srgb,var(--acc) 14%,var(--card))}
.tg{display:inline-flex;flex-wrap:wrap;gap:5px;margin-left:8px;vertical-align:middle}
.tg span{font-size:10.5px;padding:1px 8px;border-radius:99px;border:1px solid var(--sg);color:var(--sg);font-weight:500}
.tg .nw{background:#57876f;border-color:#57876f;color:#fff;text-transform:uppercase;letter-spacing:.06em}
.po{font-weight:400;color:var(--mute);font-size:.85em;margin-right:8px;text-decoration:line-through}
.ar{display:inline-flex;align-items:center;gap:6px}
.empty{padding:40px 24px;text-align:center;color:var(--mute)}
footer{padding:36px 24px 0;text-align:center;color:var(--mute);font-size:14px;line-height:1.8}
footer a{color:var(--acc);font-weight:500;text-decoration:none}
#sh,#arw{position:fixed;inset:0;z-index:50;display:none;background:rgba(10,14,12,.55)}
#sh.open,#arw.open{display:flex}
#sh{align-items:flex-end}
.sheet{background:var(--bg);width:100%;max-width:560px;margin:0 auto;border-radius:24px 24px 0 0;max-height:92vh;overflow:auto;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));animation:up .22s ease-out}
@keyframes up{from{transform:translateY(40px);opacity:0}}
@media (prefers-reduced-motion:reduce){.sheet{animation:none}}
.sheet .big{width:100%;height:240px;object-fit:cover;border-radius:24px 24px 0 0;font-size:96px}
.sheet .bd{padding:18px 20px 4px}
.sheet h3{font-size:26px;font-weight:700;line-height:1.15}
.sheet .price{font-size:22px;margin:6px 0 10px}
.btn{display:flex;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px;border-radius:14px;background:var(--acc);color:var(--accink);font-weight:700;margin-top:16px}
.btn.alt{background:transparent;color:var(--ink);border:1px solid var(--line)}
.x{position:absolute;right:14px;top:14px;width:38px;height:38px;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;font-size:20px}
.sw{position:relative;width:100%;max-width:var(--mw,560px);margin:0 auto}
#arw{flex-direction:column;background:var(--bg)}
#arw model-viewer{flex:1;width:100%;min-height:0;background:var(--card)}
.arb{padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px));text-align:center}
.arb p{color:var(--mute);font-size:14px}
#fc{padding:4px 0 6px}#fc h2{font-size:22px;padding:0 18px;margin:8px 0}
.fr{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 18px 10px;scroll-padding-inline:18px;overscroll-behavior-x:contain;scrollbar-width:none}.fr>.fk:first-child{margin-left:auto}.fr>.fk:last-child{margin-right:auto}.fr::-webkit-scrollbar{display:none}
.fk{flex:none;width:190px;scroll-snap-align:start;background:var(--card);border:1px solid var(--line);border-radius:var(--rd,12px);overflow:hidden}
.fk .fi{display:grid;place-items:center;width:100%;height:130px;object-fit:cover;font-size:56px;background:color-mix(in srgb,var(--acc) 14%,var(--card))}
.fk .fb{padding:10px 12px 12px}.fk h3{font:var(--fwi,700) var(--fsi,14px)/1.3 var(--fi,var(--ft));text-transform:var(--tti,uppercase)}.fk .price{margin-top:2px}
#mn:not(.tr) .it{flex-direction:row-reverse}
.pt{margin:8px 0 26px;text-align:center}.pt h3{font:600 11px var(--ft);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin-bottom:12px}.pt .lg{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 24px}.pt img{display:block;height:var(--pts,48px);max-width:150px;object-fit:contain}.pt.gr img{filter:grayscale(1);opacity:.8}
.cz.mini .fk{width:104px}.cz.mini .fi{height:68px;font-size:30px}.cz.mini .fb{padding:6px 8px 8px}.cz.mini .fk h3{font-size:11px;line-height:1.25}.cz.mini .fk .price{font-size:12px}.cz.mini .fd{font-size:10.5px;line-height:1.3;margin-top:3px;-webkit-line-clamp:4}.cz.nod .fd{display:none}#ft .fs>div{white-space:pre-line}.cz.mini .tg span{font-size:9px;padding:0 6px}.cz.mini .fa{font-size:10px;padding:4px 0;margin-top:5px}#fc .cz.mini h2,#ft .cz.mini h2{font-size:17px;margin:6px 0}
#ft .fz{margin:0 -24px 10px}#ft .cz h2{font-size:22px;padding:0 18px;margin:8px 0;text-align:center}
.pt.mq{margin-left:-24px;margin-right:-24px}.pt .mqv{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.pt .mqt{display:flex;align-items:center;width:max-content;animation:mqs var(--mqd,30s) linear infinite}.pt .mqt .lgi{flex:none;margin-right:28px}.pt .mqg{display:flex}.pt .lgi{display:block}
@keyframes mqs{to{transform:translateX(var(--mqx,-50%))}}
@media (prefers-reduced-motion:reduce){.pt .mqt{animation:none}.pt .mqv{overflow-x:auto}}
.cr{margin-top:26px;font-size:13px;letter-spacing:.04em}.cr img{display:block;margin:9px auto 0;width:154px;border-radius:9px}.crl{margin-top:9px;display:flex;flex-direction:column;align-items:center;gap:2px}.crl a{color:inherit;text-decoration:none;font-size:13px;letter-spacing:.03em}
#hd .dsc{margin-top:12px;white-space:pre-line;line-height:1.5}.hg{display:grid;gap:10px;margin-top:16px}.hg img{width:100%;max-height:300px;object-fit:cover;border-radius:var(--rd,12px)}.cz{margin-bottom:4px}.fk{cursor:pointer}.fa{display:block;text-align:center;text-decoration:none;margin-top:8px;width:100%;padding:7px 0;border-radius:99px;border:1px solid var(--p);color:var(--p);font:600 12px var(--ft)}
.fd{font-family:var(--fd,inherit);font-style:var(--fst,normal);font-size:var(--fsd,12.5px);color:var(--mute);margin-top:4px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
#ed .fpv{margin:-4px 0 8px;padding:8px 10px;border:1px dashed var(--el);border-radius:8px;font-size:18px;color:var(--ei);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#ed{--eb:#fff;--ec:#f3f4f6;--ei:#1c1f26;--em:#6b7280;--el:#e1e4e8;--ea:#2563eb;display:none;position:fixed;inset:0;z-index:60;flex-direction:column;background:var(--eb);color:var(--ei);font:14px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif}
@media(prefers-color-scheme:dark){#ed{--eb:#16181d;--ec:#20242b;--ei:#eceef2;--em:#9aa1ad;--el:#2d323b;--ea:#6ea0ff}}
#ed.open{display:flex}
@media(min-width:900px){#ed{inset:0 0 0 auto;width:560px;border-left:1px solid var(--el)}html.ed-on{padding-right:560px}#e-pv{display:none}}
@media(max-width:899px){html.pv #ed{display:none}html.pv #e-fab{display:block}}
#e-fab{display:none;position:fixed;right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:61;padding:12px 18px;border-radius:99px;background:#2563eb;color:#fff;font:600 14px system-ui}
.eh{display:flex;align-items:center;gap:4px;padding:calc(10px + env(safe-area-inset-top,0px)) 12px 10px;border-bottom:1px solid var(--el)}
.est{flex:1;font-size:12px;color:var(--em);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:6px}
.et{display:flex;overflow-x:auto;border-bottom:1px solid var(--el)}
.et button{flex:1;padding:10px 12px;color:var(--em);border-bottom:2px solid transparent;white-space:nowrap}
.et button.on{color:var(--ea);border-color:var(--ea);font-weight:600}
#e-body{flex:1;overflow:auto;padding:8px 14px 40px}
#ed .f{display:block;margin:10px 0;font-size:12.5px;color:var(--em);font-weight:500}
#ed input:not([type=checkbox]):not([type=range]):not([type=color]),#ed select,#ed textarea{display:block;width:100%;margin-top:4px;padding:8px 10px;border:1px solid var(--el);border-radius:8px;background:var(--ec);color:var(--ei);font:inherit}
#ed input[type=range]{width:100%;margin-top:6px;accent-color:var(--ea)}#ed input[type=color]{width:42px;height:34px;padding:0;border:0;background:none;flex:none}
.c span{display:flex;gap:8px;align-items:center}.c span input:last-child{flex:1}
.k{display:flex;gap:8px;align-items:center;margin:8px 0}.k input{accent-color:var(--ea)}
.r2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pair{display:grid;grid-template-columns:1fr 1.4fr;gap:8px}
.b{padding:8px 12px;border:1px solid var(--el);border-radius:8px;background:var(--ec);margin:6px 6px 0 0;font-size:13px}
.b.p,.b.on{background:var(--ea);color:#fff;border-color:var(--ea)}.b.d{color:#d33}
.ib{width:28px;height:28px;border-radius:6px;font-size:14px;flex:none}.ib:hover{background:var(--el)}
.cc{border:1px solid var(--el);border-radius:10px;margin:8px 0;overflow:hidden}.cc .cc{margin:6px 0}
.ch{display:flex;align-items:center;gap:2px;padding:6px 8px;cursor:pointer;background:var(--ec)}
.ch b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.ch small{color:var(--em);margin:0 6px;white-space:nowrap}
.cb{padding:4px 12px 12px}.sh2{margin:16px 0 4px;font-weight:700;font-size:13px}.pi{width:56px;height:56px;border-radius:8px;object-fit:cover;margin-top:6px}
#ed .hint{font-size:12px;color:var(--em);margin:6px 0}
#ed .eh b{font-size:14px;letter-spacing:.1px}#e-tabs{display:flex;gap:6px;overflow-x:auto;padding:8px 12px;background:var(--eb);border-bottom:1px solid var(--el)}#e-tabs button{flex:0 0 auto;border:1px solid var(--el);border-radius:9px;background:var(--ec);color:var(--ei);font:600 12px system-ui;padding:9px 11px}#e-tabs button.on{background:var(--ea);border-color:var(--ea);color:#fff}#e-body{overscroll-behavior:contain}#ed .b{min-height:38px}#ed input[type=date],#ed input[type=number]{font-variant-numeric:tabular-nums}.admin-search{position:sticky;top:-8px;z-index:4;background:var(--eb);padding:4px 0 8px;border-bottom:1px solid var(--el)}.admin-result{display:flex;width:100%;justify-content:space-between;align-items:center;gap:10px;text-align:left;padding:10px;margin:4px 0;border:1px solid var(--el);border-radius:9px;background:var(--ec);color:var(--ei);cursor:pointer}.admin-result small{color:var(--em);text-align:right}.admin-result b{overflow:hidden;text-overflow:ellipsis}.sch{color:var(--mute);font-size:13px;margin:-2px 0 8px;text-align:var(--sch-a,inherit)}.dys{display:flex;flex-wrap:wrap}.et{scrollbar-width:none}.et::-webkit-scrollbar{display:none}.et button{padding:10px 10px}.cz .sch,.cz .cd{padding:0 18px}.cz .cd{margin:0 0 8px}.cz.mini .cd{font-size:13px}.cz .nt{margin-left:18px;margin-right:18px}#ft .cz .cd,#ft .cz .sch{text-align:center}.tsws{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 12px}.tsw{flex:1 1 84px;min-width:84px;height:58px;border:1px solid var(--el);border-radius:10px;cursor:pointer;display:flex;align-items:flex-end;justify-content:center;padding:4px;background-color:var(--bg);background-repeat:repeat}.tsw span{background:rgba(255,255,255,.85);color:#2b1a10;font:600 12px/1.3 system-ui,sans-serif;padding:1px 8px;border-radius:99px}.tsw.sel{outline:2px solid var(--ea);outline-offset:1px}.tsw[data-tsw="lino"]{background-image:var(--txs-lino);background-size:560px auto}.tsw[data-tsw="paper"]{background-image:var(--txs-paper);background-size:150px auto}.tsw[data-tsw="custom"]{background-image:var(--txs-custom);background-size:cover}
:root{--wr:var(--rd,12px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#111827;--card:#1f2937;--ink:#f9fafb;--mute:#9ca3af;--line:#374151;--sg:color-mix(in srgb,var(--p) 62%,#fff)}}
:root[data-theme="dark"]{--bg:#111827;--card:#1f2937;--ink:#f9fafb;--mute:#9ca3af;--line:#374151;--sg:color-mix(in srgb,var(--p) 62%,#fff)}
:root[data-theme="dark"] .price,:root[data-theme="dark"] .pr{color:var(--sg)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .price,:root:not([data-theme="light"]) .pr{color:var(--sg)}}
#hd{text-align:left;padding:0}
.bn{height:132px;background:linear-gradient(135deg,var(--d),var(--p)) center/cover;position:relative}
.bn{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 100% * var(--bnov,.6)),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 100% * var(--bnov,.6)),transparent)}
.hi{display:flex;align-items:flex-end;gap:14px;padding:0 18px;margin-top:-40px;position:relative;z-index:2}
#hd .logo{margin:0;flex:none;width:88px;height:88px;border:4px solid var(--bg);box-shadow:none}
.hx{padding-bottom:4px;min-width:0}
#hd h1{font-size:var(--h1,26px);letter-spacing:.02em}
#hd .hx p{margin-top:2px;font-size:14px}
#hd .dsc{padding:0 18px}.hg{padding:0 18px}
.arn{margin:14px 18px 0;border-radius:var(--wr);font-size:13px;border-color:var(--line)}
.wg{margin:14px 18px 0;padding:14px 16px;border:1px solid var(--line);border-radius:var(--wr);background:var(--card)}
.wh{font-weight:700;font-size:15px}.wa{color:var(--mute);font-size:14px;margin-top:4px}
.wb{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.wbtn{padding:7px 14px;border-radius:99px;background:var(--acc);color:var(--accink);font:600 13px var(--ft);text-decoration:none}
.wbtn.o{background:transparent;color:var(--ink);border:1px solid var(--line)}
#fc{padding-top:8px}
nav{padding:0 12px;gap:2px;border-bottom:1px solid var(--line)}
nav button{border:0;border-radius:0;background:none;padding:14px 12px;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--mute);position:relative}
nav button.on{background:none;color:var(--ink)}
nav button.on::after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--acc)}
section{border-top:0;padding:22px 18px 6px}
section.dk{padding-bottom:22px}
h2{font-size:22px;font-weight:700;letter-spacing:.02em;margin-bottom:10px}
#fc h2{font-size:18px}
.it{background:var(--card);border:1px solid var(--line);border-radius:var(--wr);padding:12px;margin:10px 0;gap:14px;align-items:stretch}
.it.ck:hover,.it.ck:focus-visible{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc)}
.tx{display:flex;flex-direction:column}
.tx .nm{display:contents}
.tx .ds{order:2;margin-top:4px}
.tx .pr{order:3;text-align:left;margin-top:auto;padding-top:8px}
.it h3{font-size:var(--fsi,15px)}
.th{border-radius:var(--wr);align-self:center}
.fk{border-radius:var(--wr);background:var(--card)}
.fk:hover{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc)}
.sheet{border-radius:20px 20px 0 0}
.btn{border-radius:99px}
.gh{color:var(--mute)}
#ft{margin-top:24px;padding:26px 18px 0;border-top:1px solid var(--line);text-align:left}
.fl{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.fl .logo{margin:0;width:48px;height:48px;font-size:20px;border-width:2px}
.fl h3{font:700 17px var(--ft);color:var(--ink)}
.fs{margin:0 0 14px}.fs h4{font:700 13px var(--ft);color:var(--ink);margin-bottom:2px}
.pt{text-align:left}.pt .lg{justify-content:flex-start}
.cr{text-align:left;border-top:1px solid var(--line);padding-top:16px}.cr img{margin-left:0}.crl{align-items:flex-start}
.hi{align-items:flex-start}.hx{padding:46px 0 0;min-width:0}
.it:hover,.it:focus-visible{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc)}
section.dk{--card:color-mix(in srgb,var(--s) 9%,var(--d))}
#ft,.pt,.cr{text-align:center}.pt .lg{justify-content:center}.fl{justify-content:center}.cr img{margin:9px auto 0}.crl{align-items:center}
#hd{text-align:center}
.hi{flex-direction:column;align-items:center;text-align:center;gap:12px;margin-top:0;padding:30px 18px 0}
.bn+.hi{margin-top:-52px;padding-top:0}
.hx{padding:0}#hd .logo{width:104px;height:104px}
.wg{text-align:center}.wb{justify-content:center}
html{overflow-x:hidden}body{overflow-x:clip}
img,svg,video,model-viewer{max-width:100%}.pt .lg{flex-wrap:wrap}
a[rel="ar"]{position:relative;overflow:hidden}
#hd .logo{width:var(--ls,104px);height:var(--ls,104px);border:var(--lbd,4px) solid var(--bg)}
.bn{height:var(--bnh,132px)}
section{padding:var(--sgap,22px) var(--px,18px) 6px}
.hi,#hd .dsc,.hg,#ft{padding-left:var(--px,18px);padding-right:var(--px,18px)}
.wg,.arn{margin-left:var(--px,18px);margin-right:var(--px,18px)}
.it{margin:var(--cgap,10px) 0}
html[data-cs="fill"] .it{border-color:transparent}
html[data-cs="flat"] .it{background:transparent;border-color:transparent;border-bottom-color:var(--line);border-radius:0;box-shadow:none;padding-left:0;padding-right:0}
html[data-hv="0"] .it:hover,html[data-hv="0"] .it:focus-visible{border-color:var(--line);box-shadow:none}
html[data-hv="0"][data-cs="fill"] .it:hover{border-color:transparent}
html[data-hv="0"][data-cs="flat"] .it:hover{border-color:transparent;border-bottom-color:var(--line)}
nav button{font-size:var(--nfs,13px);text-transform:var(--nt,uppercase)}
html[data-st="0"] nav{position:static}
html[data-ns="pill"] nav{border-bottom:0;padding-top:6px;padding-bottom:6px}
html[data-ns="pill"] nav button{border-radius:99px;padding:8px 14px;margin:0 2px}
html[data-ns="pill"] nav button.on{background:var(--acc);color:var(--accink)}
html[data-ns="pill"] nav button.on::after,html[data-ns="text"] nav button.on::after{display:none}
html[data-ns="text"] nav button.on{color:var(--acc)}
.btn,.wbtn,.fa{border-radius:var(--br,99px)}
html[data-al="left"] #hd,html[data-al="left"] .wg{text-align:left}
html[data-al="left"] .hi{align-items:flex-start;text-align:left}
html[data-al="left"] .wb{justify-content:flex-start}
#ed .ah{display:flex;width:100%;justify-content:space-between;align-items:center;margin:8px 0 0;padding:10px 12px;border:1px solid rgba(127,127,127,.3);border-radius:8px;background:rgba(127,127,127,.1);color:inherit;font:600 13px system-ui,sans-serif;text-align:left;cursor:pointer}
#ed .ah.on{background:rgba(127,127,127,.22)}#ed .ab{padding:6px 2px 4px}
#ed textarea.ml{resize:none;overflow:hidden;min-height:34px;line-height:1.35;display:block;width:100%}
:is(#hd,#fc,#mn,#ft,#sh,#arw) :is(h1,h2,h3,p,.ds,.wa,.wh,.arn,.fd,.dsc){white-space:pre-line}
#e-fmt{display:flex;gap:6px;align-items:center;padding:6px 14px;border-bottom:1px solid rgba(127,127,127,.3)}
#e-fmt button{min-width:34px;height:30px;font:600 14px system-ui,sans-serif;cursor:pointer}
#e-fmt span{font-size:12px;opacity:.7;margin-left:4px}

/* Subcategorías: títulos más legibles */
.gh{color:var(--ink);font-family:var(--ft);font-weight:var(--fwg,800);font-size:var(--fsg,18px);line-height:1.2;letter-spacing:.05em}
.gn{font-size:13px;color:var(--mute)}

/* Barra de categorías 100 % opaca */
html body nav,html[data-tx] body nav{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}
:root{--p:#173b63;--s:#f5efe4;--t:#8eaa9c;--d:#172b40;--rd:18px;--mw:620px}
body{max-width:var(--mw,620px);letter-spacing:.005em}
#hd{padding:clamp(30px,7vw,58px) 24px 26px;background:linear-gradient(180deg,color-mix(in srgb,var(--s) 88%,white),var(--bg));}
#hd .logo{box-shadow:0 12px 34px #173b6320;border:4px solid color-mix(in srgb,var(--s) 70%,white)}
#hd h1{font-size:clamp(30px,7vw,42px);letter-spacing:.025em;line-height:1.12}
#hd p{max-width:34rem;margin:8px auto 0;color:var(--mute)}
#nv{position:sticky;top:env(safe-area-inset-top,0px);z-index:25;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-block:1px solid var(--line);padding:9px 12px;box-shadow:0 6px 18px #10243a0a}
#nv button{border-radius:999px;padding:9px 14px;font-weight:600;transition:background .2s,color .2s}
#nv button:active,#nv button.on{background:var(--p);color:#fff}
#mn{padding-inline:16px}
#mn h2,#fc h2{font-size:clamp(21px,5vw,27px);letter-spacing:.015em;margin:25px 4px 12px}
.it{border:1px solid var(--line);border-radius:var(--rd);background:var(--card);overflow:hidden;transition:transform .18s,box-shadow .18s,border-color .18s}
.it:active{transform:scale(.99)}
.it img{object-fit:cover}
.it .tx{padding:13px 14px!important}
.it h3{font-size:16px;line-height:1.25}
.it .price{font-weight:700;color:var(--p)}
#fc{padding:10px 0 18px}
.fk{border-radius:var(--rd);border:1px solid var(--line);background:var(--card)}
#ft{margin-top:32px;padding:28px 20px calc(30px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--s) 55%,var(--bg));border-top:1px solid var(--line)}
#sh .sheet{border-radius:24px 24px 0 0;overflow:hidden;box-shadow:0 -12px 50px #0002}
#sh .bd{padding:22px}
/* Administración */
#ed{--eb:#f8fafc;--ec:#eef2f7;--ei:#172b40;--em:#64748b;--el:#dbe3ec;--ea:#245b88;background:var(--eb);box-shadow:-18px 0 50px #10243a12}
@media(prefers-color-scheme:dark){#ed{--eb:#111a24;--ec:#1b2937;--ei:#edf4fb;--em:#a4b3c3;--el:#304154;--ea:#8dbce8}}
#ed .eh{position:sticky;top:0;z-index:4;background:var(--eb);padding:14px 14px 12px;box-shadow:0 1px 0 var(--el)}
#ed .eh b{font-size:15px;letter-spacing:.01em}
#ed .ib{width:34px;height:34px;border-radius:10px;background:var(--ec);border:1px solid var(--el);font-size:17px}
#ed .et{position:sticky;top:59px;z-index:3;background:var(--eb);padding:8px 10px;gap:6px;border-bottom:1px solid var(--el)}
#ed .et button{flex:0 0 auto;border:1px solid var(--el);border-radius:999px;padding:8px 13px;background:var(--ec);font-size:12px}
#ed .et button.on{background:var(--ea);color:white;border-color:var(--ea)}
#e-body{padding:14px 16px 48px}
#ed .f{font-size:13px;font-weight:650;color:var(--ei);margin:13px 0}
#ed input:not([type=checkbox]):not([type=range]):not([type=color]),#ed select,#ed textarea{border-radius:12px;padding:11px 12px;background:var(--eb);border-color:var(--el);min-height:42px}
#ed .b{border-radius:999px;padding:9px 14px;font-weight:650}
#ed .b.p,#ed .b.on{background:var(--ea);border-color:var(--ea)}
#ed .hint{border-radius:12px;background:var(--ec);padding:11px 13px;line-height:1.5}
#ed .admin-search{background:var(--eb);border:1px solid var(--el);border-radius:16px;padding:12px;margin:10px 0 16px;box-shadow:0 5px 18px #10243a08}
#ed .admin-result{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:11px 12px;margin-top:6px;text-align:left;border:1px solid var(--el);border-radius:11px;background:var(--ec)}
#ed .admin-result small{color:var(--em);white-space:nowrap}#ed .sr-cat{font:700 11px system-ui;color:var(--em);text-transform:uppercase;letter-spacing:.4px;margin:12px 2px 4px}
#e-fab{background:#173b63;box-shadow:0 8px 25px #173b6340;border:1px solid #ffffff40}
@media(max-width:600px){#hd{padding-top:30px}#mn{padding-inline:12px}#ed{inset:0}#ed .et{top:58px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* La textura general también debe verse detrás de la portada y el pie */
#hd,#ft{background:transparent!important;background-color:transparent!important}
#hd{background-image:none!important}
#ft{background-image:none!important}
/* Indicador AR en los productos que tienen AR habilitada */
.it .nm h3{display:inline}
.ar-dot{display:inline-flex;align-items:center;justify-content:center;margin-left:7px;
  color:var(--acc,var(--p));font-size:.92em;font-weight:700;vertical-align:baseline}
.ar-dot[aria-label]{cursor:help}
/* La categoría activa se señala solamente con subrayado, nunca con relleno */
#nv button.on{background:transparent!important;color:var(--ink)!important;border-color:transparent!important}
#nv button.on::after{display:block!important;content:"";position:absolute;left:10px;right:10px;bottom:0;
  height:3px;border-radius:3px 3px 0 0;background:var(--acc,var(--p))}
#nv button{position:relative}
#arw .ar-compat{margin:10px auto 0;max-width:520px;padding:10px 13px;border:1px solid var(--line);
  border-radius:12px;background:var(--card);color:var(--mute);font-size:13px}

/* Categorías desplegables */
#mn section.cacc{padding:calc(var(--sgap,22px)*.32) var(--px,18px);border-top:0}
#mn section.cacc.dk{padding-bottom:calc(var(--sgap,22px)*.32)}
#mn h2.cah{margin:0;padding:0;font-size:inherit}
.cab{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:62px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--rd,12px);background:var(--card);color:var(--ink);font:inherit;font-size:clamp(19px,4.8vw,25px);letter-spacing:.015em;text-transform:inherit;text-align:inherit;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.cab:hover{border-color:var(--acc)}
.cab .cat{flex:1;text-align:inherit}
.cab .cac{flex:none;width:11px;height:11px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .3s ease}
.cacc.open .cab .cac{transform:rotate(225deg) translate(-2px,-2px)}
.cab.chas-img{min-height:128px;padding:18px 20px;border:0;color:#fff;background-size:cover;background-position:center;text-shadow:0 2px 12px rgba(0,0,0,.55)}
.cabd{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .32s ease,visibility 0s linear .32s}
.cacc.open>.cabd{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .32s ease,visibility 0s}
.cabi{min-height:0;overflow:hidden;padding:0 2px}
.cacc.open .cabi{padding:10px 2px 8px}
@media (prefers-reduced-motion:reduce){.cabd,.cab .cac{transition:none}}

/* Sin barra de categorías */
#nv{display:none!important}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 12px)}

/* Leyenda de horario de categorías */
#mn .sch{color:color-mix(in srgb,var(--ink) 88%,transparent);font-size:14px;font-weight:500;line-height:1.35;text-align:center;margin:9px 0 3px;padding:0 6px}
#mn .cabi>.sch{margin:0 0 8px}

/* Carruseles: margen derecho simétrico */
.fr{padding-right:0}
.fr::after{content:"";flex:none;width:6px}
.fk{width:min(190px,calc((100% - 30px)/2))}
.cz.mini .fk{width:min(112px,calc((100% - 42px)/3))}

/* Carruseles: pista de que hay más productos */
.cvw{position:relative}
.cvw.can-r>.fr{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
.cvw.can-l>.fr{-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px);mask-image:linear-gradient(90deg,transparent,#000 28px)}
.cvw.can-l.can-r>.fr{-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent)}
.cvb{position:absolute;top:65px;z-index:2;width:34px;height:34px;margin-top:-17px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink);font:400 24px/1 var(--ft);padding:0 0 3px;display:grid;place-items:center;box-shadow:0 2px 8px rgba(0,0,0,.18);opacity:0;pointer-events:none;transition:opacity .2s}
.cvb-l{left:6px}.cvb-r{right:6px}
.cvw.can-l>.cvb-l,.cvw.can-r>.cvb-r{opacity:1;pointer-events:auto}
.cz.mini .cvb{top:34px;width:28px;height:28px;margin-top:-14px;font-size:20px}
@media (prefers-reduced-motion:reduce){.cvb{transition:none}}

/* Logo: modo imagen libre + nombre del local debajo */
.lgw{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0;max-width:100%}
html[data-al="left"] .lgw{align-items:flex-start}
.shn{font:700 15px var(--ft);letter-spacing:.08em;text-transform:var(--tt,uppercase);color:var(--ink);text-align:center;line-height:1.25}
html[data-al="left"] .shn{text-align:left}
#hd .logo.free,.fl .logo.free{width:auto!important;height:var(--ls,104px)!important;max-width:100%;border:0!important;background:none!important;box-shadow:none!important;border-radius:0!important;overflow:visible;display:block}
.fl .logo.free{height:48px!important}
.logo.free img{width:auto;height:100%;max-width:100%;object-fit:contain}

/* Producto agotado */
.sob{display:inline-block;margin-left:7px;padding:2px 9px;border-radius:999px;background:#6b6560;color:#fff;font:700 10px/1.5 var(--ft);letter-spacing:.07em;text-transform:uppercase;vertical-align:middle;white-space:nowrap}
.it.so .pr,.it.so .ds,.it.so .tmb,.it.so h3{opacity:.5}
.it.so img{filter:grayscale(1)}
.fk{position:relative}
.sob-i{position:absolute;top:8px;left:8px;margin:0;z-index:1}
.fk.so .fi,.fk.so .fb>*{opacity:.5}
.fk.so img.fi{filter:grayscale(1)}
.fk.so .fa{display:none}

/* Aviso de privacidad */
.prv{margin:2px auto 12px;max-width:46ch;font-size:12px;line-height:1.45;color:var(--mute,var(--ink));opacity:.85;text-align:center}

/* Sucursales en el pie */
#ft .wg{margin:18px 0 8px}
.wsb+.wsb{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.wsn{font-weight:700;font-size:14px;letter-spacing:.04em;text-transform:uppercase;margin-top:8px}
#ed .bx{border:1px solid var(--el);border-radius:10px;padding:10px;margin:8px 0}

/* Ventana del producto: barra de agarre y gesto para cerrar */
.sheet{touch-action:none;overscroll-behavior:contain}
.grab{position:absolute;top:8px;left:50%;width:44px;height:5px;margin-left:-22px;border-radius:99px;background:rgba(255,255,255,.9);box-shadow:0 0 0 1px rgba(0,0,0,.2);z-index:3;pointer-events:none}
/* Texto más oscuro y más grande */
:root{--tx2:color-mix(in srgb,var(--ink) 82%,var(--bg))}
.it .ds{color:var(--tx2);font-size:var(--fsd,15px);line-height:1.45}
.fd{color:var(--tx2);font-size:var(--fsd,13.5px);line-height:1.4}
.pr small{color:var(--tx2);font-size:13px}
#hd p,#hd .dsc{color:var(--tx2);font-size:16px}
.wa,.gn,.arb p{color:var(--tx2);font-size:15px}
.sch{color:var(--tx2)}
.sheet .bd p{color:var(--tx2);font-size:16.5px;line-height:1.5}
footer,.prv{color:var(--tx2)}
.prv{font-size:13px;opacity:1}

/* Editor: modo simplificado */
.ed-simple #ed .eh b::after{content:" · modo simple";font-weight:400;font-size:12px;opacity:.75}
/* ===== Estilo: los ajustes del editor se aplican de verdad (portada, categorías, listas y carruseles) ===== */
/* Títulos: tamaño, grosor, espaciado y mayúsculas */
#hd h1{font-size:var(--h1,clamp(30px,7vw,42px));font-weight:var(--fwt,400);letter-spacing:var(--lsp,.025em)}
#mn h2,#fc h2,#ft .cz h2{font-weight:var(--fwt,400);letter-spacing:var(--lsp,.015em)}
.cab{font-size:var(--fsh,clamp(19px,4.8vw,25px));letter-spacing:var(--lsp,.015em)}
#fc h2{font-size:var(--fsh,clamp(21px,5vw,27px))}
#ft .cz h2{font-size:var(--fsh,22px)}
#fc .cz.mini h2,#ft .cz.mini h2{font-size:calc(var(--fsh,22px)*.78)}
/* Productos: nombre, descripción y precio (listas, carruseles y ventana del producto) */
.it h3{font-size:var(--fsi,15px)}
.fk .price{font-size:var(--fsp,15px)}
.cz.mini .fk h3{font-size:calc(var(--fsi,15px)*.75)}
.cz.mini .fk .price{font-size:calc(var(--fsp,15px)*.8)}
.cz.mini .fd{font-size:calc(var(--fsd,13px)*.8)}
.sheet h3{font-family:var(--fi,var(--ft))}
.sheet .price{font-family:var(--fp,inherit)}
.sheet .bd p{font-family:var(--fd,inherit)}
/* Tarjetas de productos: sombra, resaltado y estilos */
.it,.fk{box-shadow:0 var(--csh,5px) calc(var(--csh,5px)*3) rgba(18,38,59,.07)}
html[data-hv="0"] .it:hover,html[data-hv="0"] .it:focus-visible,html[data-hv="0"] .fk:hover{box-shadow:0 var(--csh,5px) calc(var(--csh,5px)*3) rgba(18,38,59,.07)}
html[data-hv="0"] .fk:hover{border-color:var(--line)}
html[data-cs="fill"] .fk{border-color:transparent}
html[data-cs="clear"] .it,html[data-cs="clear"] .fk,html[data-cs="clear"] .it:hover,html[data-cs="clear"] .it:focus-visible,html[data-cs="clear"] .fk:hover{background:transparent;border-color:transparent;box-shadow:none}
/* Logo: el borde sigue el ajuste "Borde del logo" */
#hd .logo:not(.free){border:var(--lbd,4px) solid color-mix(in srgb,var(--s) 70%,white)}
/* Etiquetas de productos: ajustes globales (Estilo → Etiquetas de productos) */
.tg span{font-family:var(--tgf,inherit);font-size:var(--tgs,10.5px);font-weight:var(--tgw,500);border-radius:var(--tgr,99px);border-width:var(--tgb,1px)}
html[data-tgc="upper"] .tg span{text-transform:uppercase}
html[data-tgc="none"] .tg span{text-transform:none}
.cz.mini .tg span{font-size:calc(var(--tgs,10.5px)*.86)}
.sob{background:var(--sob-bg,#6b6560);color:var(--sob-c,#fff);border-radius:var(--tgr,999px);font-family:var(--tgf,var(--ft))}
/* Pista en la tarjeta: flecha en los productos con sugerencias */
.it.cm .tx{position:relative}
.it.cm .ds{padding-right:20px}
.it .cmh{position:absolute;right:6px;bottom:4px;font:300 26px/1 var(--ft);color:var(--acc);opacity:.65;pointer-events:none}
/* Combina bien con… (ventana del producto) */
.cmb{margin:20px 0 6px}.cmb h4{margin:0 0 10px;font:700 12.5px/1.3 var(--ft);letter-spacing:.07em;text-transform:uppercase;color:var(--mute)}
.cmr{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:4px}
.cmk{flex:1 1 0;min-width:106px;max-width:176px;display:flex;flex-direction:column;align-items:stretch;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--rd,12px);overflow:hidden;padding:0;cursor:pointer;scroll-snap-align:start;color:var(--ink)}
.cmk .cmi{width:100%;height:80px;object-fit:cover;display:block}
.cmk .cme{display:flex;align-items:center;justify-content:center;font-size:34px;background:color-mix(in srgb,var(--acc) 12%,var(--card))}
.cmk b{display:block;padding:8px 10px 0;font:var(--fwi,700) 13px/1.25 var(--fi,var(--ft));text-transform:var(--tti,uppercase)}
.cmk span{display:block;padding:3px 10px 10px;font:600 13px var(--fp,var(--ft));color:var(--acc)}
html[data-cs="clear"] .cmk{background:transparent;border-color:transparent}
/* Editor: el selector de archivo del respaldo queda oculto (solo lo abre el botón Importar) */
#ed input[hidden]{display:none!important}
/* Imágenes de portada con fechas: aviso en el editor */
.hg .hgo{position:relative}.hg .hgo img{opacity:.45}.hg .hgo .sch{margin:6px 0 0;text-align:center}

/* ===== v2.1 · Horario de hoy + panel semanal · botón de opinión · selector de idioma ===== */
.whr{display:flex;align-items:center;gap:10px;width:100%;margin-top:8px;padding:9px 14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--bg) 70%,var(--card));color:var(--ink);font:600 14px var(--ft);text-align:left;cursor:pointer}
.whr .whl{color:var(--mute);font-weight:600}
.whr .wht,.hst .wht{margin-right:auto;font-variant-numeric:tabular-nums}
.whc{flex:none;width:7px;height:7px;margin:-3px 2px 0 2px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);opacity:.55}
.wbd{display:inline-block;padding:2px 9px;border-radius:99px;font:700 11px var(--ft);background:color-mix(in srgb,var(--bd) 14%,transparent);color:var(--bd)}
.wbd.ok{--bd:#1f8a57}.wbd.no{--bd:#d64545}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .wbd.ok{--bd:#4cc38a}:root:not([data-theme="light"]) .wbd.no{--bd:#ff8a80}}
:root[data-theme="dark"] .wbd.ok{--bd:#4cc38a}:root[data-theme="dark"] .wbd.no{--bd:#ff8a80}
#hrs{position:fixed;inset:0;z-index:56;display:none;align-items:flex-end;background:rgba(10,14,12,.55)}
#hrs.open{display:flex}
#hrs .hsw{width:100%;max-width:var(--mw,560px);margin:0 auto}
#hrs .hsc{background:var(--bg);color:var(--ink);border-radius:24px 24px 0 0;padding:18px 18px calc(22px + env(safe-area-inset-bottom,0px));max-height:92vh;overflow:auto;box-shadow:0 -12px 50px #0002;animation:up .22s ease-out}
#hrs .hsh{display:flex;align-items:center;gap:10px;font-size:19px}
#hrs .hsh b{flex:1;font-weight:700}
#hrs .hsx{width:34px;height:34px;border-radius:50%;font-size:18px;line-height:1;color:var(--ink)}
#hrs .hsn{margin:6px 0 0 30px;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--mute)}
#hrs .hst{display:flex;align-items:center;gap:10px;margin-top:14px;padding:12px 16px;border:1px solid var(--line);border-radius:16px;background:var(--card);font-weight:700}
#hrs .hst .whl{color:var(--mute);font-weight:600}
#hrs .hsl{list-style:none;margin:8px 0 0;padding:0}
#hrs .hsl li{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:14px;color:var(--mute);font-variant-numeric:tabular-nums}
#hrs .hsl li.on{background:var(--card);color:var(--ink);font-weight:700}
/* Selector de idioma: chico y discreto, arriba a la derecha del menú */
#lg{position:relative;order:2;pointer-events:none}
#lg[hidden]{display:none}
#lg .lgb{pointer-events:auto;display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 9px;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:99px;background:color-mix(in srgb,var(--bg) 72%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--ink);font:600 11.5px var(--ft);letter-spacing:.04em;opacity:.8;cursor:pointer}
#lg .lgb:hover,#lg.open .lgb{opacity:1}
#lg .lgb svg{width:14px;height:14px}
#lg .lgb i{width:5px;height:5px;margin-top:-2px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);opacity:.6}
#lg .lgm{display:none;pointer-events:auto;position:absolute;right:0;top:34px;min-width:136px;padding:5px;border:1px solid var(--line);border-radius:14px;background:var(--bg);box-shadow:0 10px 30px #0002;text-align:left}
#lg.open .lgm{display:block}
#lg .lgm button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:9px 11px;border-radius:9px;color:var(--ink);font:500 14px var(--ft);text-align:left}
#lg .lgm button.on{font-weight:700;background:var(--card)}
#lg .lgm button.on::after{content:"✓";font-size:12px;opacity:.7}
/* Traductor de Google: se oculta su barra y sus globos para que no se note */
#gt-el{display:none}
.skiptranslate iframe,.goog-te-banner-frame,.goog-te-balloon-frame,#goog-gt-tt,.goog-tooltip,.goog-te-spinner-pos,.VIpgJd-ZVi9od-ORHb-OEVmcd,.VIpgJd-ZVi9od-aZ2wEe-wOHMyf{display:none!important}
body{top:0!important}
.goog-text-highlight{background:none!important;box-shadow:none!important}
/* Editor: horario por día */
#ed .wkd{display:flex;align-items:center;gap:6px;margin:6px 0}
#ed .wkd b{flex:0 0 78px;font-size:13px}
#ed .wkd input[type="time"]{flex:1;min-width:0;width:auto}
#ed .wkd .k{flex:none;margin:0;font-size:12px}

/* ===== v2.1 · Sucursales desplegables + botones en una sola línea ===== */
.wsa+.wsa{margin-top:6px;padding-top:6px}
.wsh{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:8px 4px;background:none;border:0;color:inherit;font:inherit;text-align:center;cursor:pointer}
.wsh .wsn{margin:0}
.wsh .whc{margin:-3px 0 0;transition:transform .25s ease,margin .25s ease}
.wsa.open>.wsh .whc{transform:rotate(-135deg);margin-top:3px}
html[data-al="left"] .wsh{justify-content:flex-start;text-align:left}
html[data-al="left"] .wsh .whc{margin-left:auto}
.wsd{display:grid;grid-template-rows:0fr;transition:grid-template-rows .26s ease}
.wsa.open>.wsd{grid-template-rows:1fr}
.wsd>.wsi{min-height:0;overflow:hidden;visibility:hidden;transition:visibility 0s .26s}
.wsa.open>.wsd>.wsi{visibility:visible;transition:visibility 0s}
.wb{gap:6px}
.wbtn{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:36px;padding:0 13px;white-space:nowrap}
.wbtn.ic{flex:none;width:36px;padding:0}
.wbtn.ic svg{width:17px;height:17px}
@media (prefers-reduced-motion:reduce){.wsd,.wsh .whc{transition:none}}

/* ===== Carrusel de marcas: no arranca hasta que los logos cargaron (evita huecos y saltos) ===== */
.pt.mq:not(.rdy) .mqt{animation-play-state:paused}

/* ===== v2.2 · Barra superior (lupa + idioma) y buscador de platos ===== */
#qt{position:absolute;top:calc(env(safe-area-inset-top,0px) + 8px);left:50%;transform:translateX(-50%);width:min(100%,var(--mw,560px));padding:0 12px;z-index:25;pointer-events:none;display:flex;justify-content:flex-end;align-items:flex-start;gap:6px}
html.sq-on #qt{display:none}
.sqb{order:1;pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:50%;background:color-mix(in srgb,var(--bg) 72%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--ink);opacity:.8;cursor:pointer}
.sqb[hidden]{display:none}
.sqb:hover{opacity:1}
.sqb svg{width:15px;height:15px}
#sq{display:none;position:fixed;top:calc(env(safe-area-inset-top,0px) + 8px);left:50%;transform:translateX(-50%);width:min(calc(100% - 24px),calc(var(--mw,560px) - 24px));z-index:30}
html.sq-on #sq{display:block}
#sq .sqc{display:flex;align-items:center;gap:10px;height:44px;padding:0 8px 0 14px;border:1px solid var(--line);border-radius:99px;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 6px 22px #0002;color:var(--ink)}
#sq .sqc>svg{flex:none;width:18px;height:18px;opacity:.65}
#sqi{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;color:inherit;font:inherit;font-size:16px;-webkit-appearance:none;appearance:none}
#sqi::-webkit-search-cancel-button,#sqi::-webkit-search-decoration{-webkit-appearance:none;display:none}
#sq .sqx{flex:none;width:30px;height:30px;border-radius:50%;font-size:15px;line-height:1;color:inherit;opacity:.7}
#sqm{margin:6px 14px 0;font-size:12.5px;color:var(--mute);text-shadow:0 0 6px var(--bg)}
html.sq-on :is(#hd,#tb,#fc,#ft){display:none}
html.sq-on #mn{padding-top:84px}
html.sq-on.sq-e #mn{display:none}
html.sq-on .cacc>.cabd{grid-template-rows:1fr;visibility:visible}
html.sq-on .cab{pointer-events:none}
html.sq-on .cab .cac{display:none}
html.sq-on .cabi>:not(.it){display:none}
.sqh{display:none!important}
#sqe{padding:84px 24px 40px;text-align:center}
#sqe[hidden]{display:none}

.btn:disabled{opacity:.5;cursor:not-allowed}

/* Sin zoom por doble toque (el zoom con dos dedos sigue funcionando) */
html,body,*{touch-action:manipulation}

/* Portada a pantalla completa: la imagen de fondo ocupa todo el ancho y arranca desde el borde superior (sin márgenes de color alrededor) */
#hd{--hpt:clamp(30px,7vw,58px);--hpx:24px}
@media(max-width:600px){#hd{--hpt:30px}}
#hd>.bn{margin:calc(-1 * var(--hpt)) calc(-1 * var(--hpx)) 0}


/* ==========================================================
   RESPONSIVE UNIVERSAL · móviles compactos, estándar y grandes
   Se añade al final para prevalecer sobre los estilos anteriores.
   ========================================================== */

:root {
  --mobile-gutter: clamp(12px, 4vw, 20px);
  --mobile-card-gap: clamp(8px, 2.5vw, 14px);
}

html {
  width: 100%;
  min-width: 280px;
  overflow-x: clip;
  scroll-padding-top: calc(env(safe-area-inset-top, 0px) + 16px);
}

body {
  width: 100%;
  min-width: 280px;
  max-width: min(var(--mw, 620px), 100%);
  overflow-x: clip;
  margin-inline: auto;
}

#hd, #tb, #fc, #nv, #mn, #ft {
  min-width: 0;
  max-width: 100%;
}

#mn {
  padding-inline: 0 !important;
}

#mn section.cacc {
  padding-left: var(--mobile-gutter);
  padding-right: var(--mobile-gutter);
}

#mn .cabi,
#mn .it,
#mn .it .tx,
#mn .it .nm,
#mn .it .nm > div {
  min-width: 0;
}

#mn .it {
  width: 100%;
  gap: var(--mobile-card-gap);
}

#mn .it h3,
#mn .it .ds,
#mn .it .pr {
  overflow-wrap: anywhere;
  word-break: normal;
}

#mn .it .pr {
  white-space: normal;
  font-variant-numeric: tabular-nums;
}

#mn .th {
  flex: 0 0 clamp(56px, 17vw, 82px);
  width: clamp(56px, 17vw, 82px);
  height: clamp(56px, 17vw, 82px);
  max-width: 28vw;
  object-fit: cover;
}

#mn .cab {
  width: 100%;
  min-width: 0;
  min-height: 54px;
  padding: clamp(11px, 3.4vw, 16px);
  gap: 10px;
  font-size: clamp(18px, 5.1vw, 25px);
  line-height: 1.2;
}

#mn .cab .cat {
  min-width: 0;
  overflow-wrap: anywhere;
}

#mn .cab .cac {
  width: 9px;
  height: 9px;
}

#hd .hi,
#hd .hx,
#hd .lgw {
  min-width: 0;
  max-width: 100%;
}

#hd h1 {
  max-width: 100%;
  overflow-wrap: anywhere;
  font-size: clamp(24px, 7vw, var(--h1, 42px));
}

#hd .dsc,
#hd .arn,
#hd .wg,
#hd .hg {
  max-width: 100%;
}

#hd .hg img {
  display: block;
  width: 100%;
  height: auto;
  max-height: min(55vh, 340px);
  object-fit: cover;
}

#nv {
  max-width: 100%;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}

#nv button {
  flex: 0 0 auto;
  min-height: 42px;
  white-space: nowrap;
}

.fr,
.cmr,
#nv {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-inline: contain;
}

.fr {
  max-width: 100%;
}

.fk {
  min-width: 0;
}

.sheet {
  width: 100%;
  max-width: min(var(--mw, 620px), 100%);
  max-height: 90vh;
  max-height: 90dvh;
  padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.sheet .bd {
  min-width: 0;
  overflow-wrap: anywhere;
}

.sheet .big {
  display: block;
  max-width: 100%;
  height: clamp(170px, 58vw, 280px);
  object-fit: cover;
}

#arw {
  padding-top: env(safe-area-inset-top, 0px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
}

#arw model-viewer {
  width: 100%;
  max-width: 100%;
  min-height: 0;
}

#ft {
  padding-left: var(--mobile-gutter);
  padding-right: var(--mobile-gutter);
  overflow-wrap: anywhere;
}

#ft .pt img {
  max-width: min(150px, 34vw);
  object-fit: contain;
}

#ed {
  height: 100vh;
  height: 100dvh;
  max-height: 100dvh;
}

#e-body {
  min-height: 0;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

#ed input,
#ed select,
#ed textarea,
#ed button {
  max-width: 100%;
}

@media (max-width: 360px) {
  :root { --mobile-gutter: 11px; }

  #hd .hi {
    padding-left: 12px;
    padding-right: 12px;
    gap: 9px;
  }

  #hd .logo {
    max-width: 88px;
    max-height: 88px;
  }

  #hd h1 {
    font-size: clamp(22px, 6.7vw, 26px);
  }

  #hd .hx p,
  #hd .dsc {
    font-size: 14px;
  }

  #mn .it {
    padding: 9px;
    gap: 8px;
  }

  #mn .th {
    flex-basis: 56px;
    width: 56px;
    height: 56px;
  }

  #mn .it h3 {
    font-size: clamp(12px, 3.7vw, 14px);
  }

  #mn .it .ds {
    font-size: 12px;
    line-height: 1.35;
  }

  #mn .it .pr {
    font-size: 13px;
  }

  #mn .tg {
    gap: 3px;
    margin-left: 3px;
  }

  #mn .tg span {
    font-size: 9px;
    padding-inline: 5px;
  }

  .sheet .bd {
    padding-left: 15px;
    padding-right: 15px;
  }

  #ed .eh {
    gap: 2px;
    padding-left: 8px;
    padding-right: 8px;
  }

  #ed .eh b {
    font-size: 12px;
  }

  #ed .ib {
    width: 30px;
    height: 30px;
  }
}

@media (min-width: 361px) and (max-width: 430px) {
  #mn .it {
    padding: 10px;
  }
}

@media (min-width: 431px) and (max-width: 600px) {
  :root { --mobile-gutter: 18px; }

  #mn .it {
    padding: 13px;
  }

  #mn .th {
    flex-basis: 78px;
    width: 78px;
    height: 78px;
  }
}

@media (max-height: 520px) and (orientation: landscape) {
  #hd .hi {
    padding-top: 18px;
  }

  #hd .logo {
    width: 72px !important;
    height: 72px !important;
  }

  .sheet {
    max-height: 95vh;
    max-height: 95dvh;
  }

  .sheet .big {
    height: 145px;
  }
}

@media (hover: none) {
  #mn .cab,
  #mn .it.ck,
  .whr,
  .wbtn,
  .btn {
    -webkit-tap-highlight-color: transparent;
  }
}

@supports not (height: 100dvh) {
  .sheet { max-height: 90vh; }
  #ed { height: 100vh; }
}


/* Editor: control continuo de contraste para fondos de categorías */
#ed .cat-overlay-control input[type="range"]{accent-color:var(--ea);direction:ltr}
#ed .cat-overlay-ends{display:flex;justify-content:space-between;gap:8px;margin-top:3px;color:var(--em);font-size:11px}
#ed .cat-overlay-ends span:nth-child(2){text-align:center}
#ed .cat-overlay-ends span:last-child{text-align:right}
