*{box-sizing:border-box}
body{margin:0;background:var(--bg,#EEF0F6);font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--tx,#1A1C22);-webkit-text-size-adjust:100%;line-height:1.45}
.card{max-width:480px;margin:0 auto;background:var(--card,#fff);min-height:100vh;padding:0 0 24px}
@media (min-width:520px){body{padding:16px 0}.card{border-radius:32px;overflow:hidden;min-height:0;box-shadow:0 1px 2px rgba(20,24,40,.08),0 2px 6px 2px rgba(20,24,40,.06)}}
.pv{background:#2E3036;color:#fff;text-align:center;font-size:12px;padding:8px;font-weight:600}
.gal{position:relative;background:#E8EAF2}
.track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.track::-webkit-scrollbar{display:none}
.track img{flex:0 0 100%;width:100%;aspect-ratio:1/1;object-fit:cover;display:block;scroll-snap-align:center;scroll-snap-stop:always;user-select:none}
.nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.9);color:#1A1C22;font-size:24px;line-height:1;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.nav.prev{left:10px}.nav.next{right:10px}
@media (hover:none){.nav{display:none}}
.dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:6px}
.dots button{width:8px;height:8px;border-radius:8px;border:0;padding:0;background:rgba(255,255,255,.65);box-shadow:0 0 2px rgba(0,0,0,.35);cursor:pointer;transition:width .35s cubic-bezier(.34,1.56,.64,1)}
.dots button.on{background:#fff;width:22px}
.vid{margin:14px 16px}.vid iframe{display:block;width:100%;border:0;border-radius:20px;background:#000}
.vid.yt iframe{aspect-ratio:16/9}
.vid.tt iframe{aspect-ratio:9/16;max-width:340px;margin:0 auto}
h1{font-size:26px;line-height:1.15;letter-spacing:-.02em;margin:18px 18px 6px;overflow-wrap:anywhere;font-weight:800}
.pr{margin:0 18px;font-size:28px;font-weight:800;letter-spacing:-.02em}.pr s{color:var(--mut,#8a8d91);font-size:18px;font-weight:500}
.av{display:inline-block;margin:8px 18px 0;color:#0A3A1F;background:#D3F5E0;font-weight:700;font-size:13px;padding:5px 12px;border-radius:10px}
.ds{margin:14px 18px;line-height:1.55;color:var(--mut,#464B57);overflow-wrap:anywhere}
form{margin:16px 12px;padding:18px 16px;border-radius:28px;background:var(--pan,#F4F5FA)}
.fg,.fs{margin:0 0 16px;padding:0;border:0;min-width:0}
label,.lb{display:block;font-size:14px;font-weight:700;margin:0 0 8px;padding:0;color:var(--tx,#2E3036)}
.rq{color:var(--err,#BA1A1A)}
select,input[type=text],input[type=number],textarea{width:100%;min-height:52px;padding:12px 14px;font-size:16px;border:1px solid var(--bd,#767C8A);border-radius:12px;background:var(--inp,#fff);font-family:inherit;color:var(--itx,#1A1C22)}
select:focus,input:focus,textarea:focus{outline:none;border-color:var(--c);box-shadow:inset 0 0 0 1px var(--c)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{margin:0;font-weight:500;cursor:pointer}
.chip input{position:absolute;opacity:0;pointer-events:none}
.chip span{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:12px;background:var(--inp,#fff);color:var(--itx,#1A1C22);font-size:15px;font-weight:600;min-width:48px;text-align:center;box-shadow:inset 0 0 0 1.5px var(--chipbd,#C6CAD5);transition:border-radius .4s cubic-bezier(.34,1.56,.64,1),background-color .2s}
.chip input:checked+span{background:var(--c);color:var(--on);font-weight:700;box-shadow:none;border-radius:999px}
.chip input:focus-visible+span{outline:3px solid var(--cd);outline-offset:2px}
.cta{width:100%;margin-top:8px;min-height:56px;padding:14px;font-size:17px;font-weight:800;color:var(--on);background:var(--c);border:0;border-radius:999px;cursor:pointer;font-family:inherit;transition:border-radius .45s cubic-bezier(.34,1.56,.64,1),transform .3s cubic-bezier(.34,1.56,.64,1)}
.cta:active{border-radius:16px;transform:scale(.98);background:var(--cd);color:#fff}.cta.sm{width:auto;min-height:44px;padding:10px 18px;font-size:15px;margin:0}
.er{color:var(--err,#BA1A1A);font-size:14px;margin:0 0 10px;font-weight:600}
.pay,.soc{margin:10px 18px;font-size:14px;color:var(--mut,#464B57);overflow-wrap:anywhere}.soc a{color:var(--lk,var(--cd));font-weight:700}
.faq{margin:18px}.faq h2{font-size:18px;letter-spacing:-.01em}
details{border-bottom:1px solid var(--ln,#E2E5EE);padding:12px 0}summary{font-weight:700;cursor:pointer}details p{margin:8px 0 0;color:var(--mut,#464B57);line-height:1.55;overflow-wrap:anywhere}
footer{text-align:center;font-size:12px;color:var(--fx,#5B6475);padding:16px}
footer a{color:var(--fx,#5B6475);text-decoration:none}
body.cu .made b,body.cu .made b i,body.cu .made b span{color:var(--fx)}
.made b{font-weight:800;letter-spacing:-.02em;color:#4263EB}.made b i{font-style:normal;color:#5B6475}.made b span{color:#E64980}
.lk{background:none;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer;font-size:12px;font-family:inherit}
.rpbox{position:fixed;inset:0;background:rgba(14,16,24,.5);display:flex;align-items:flex-end;justify-content:center;padding:16px;z-index:10}
@media (min-width:520px){.rpbox{align-items:center}}
.rpbox[hidden]{display:none}
.rpin{background:var(--card,#fff);color:var(--tx,#1A1C22);border-radius:28px;padding:22px;max-width:400px;width:100%}.rpin h3{margin:0 0 14px}.rpin select,.rpin textarea{margin-bottom:10px}
.rpb{display:flex;justify-content:space-between;align-items:center}
[hidden]{display:none!important}
.seal{display:flex;align-items:center;gap:12px;margin:10px 18px 0;padding:8px 14px 8px 8px;border-radius:14px;background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 2px 10px rgba(11,31,102,.12);text-decoration:none;color:#0B1F66;font-size:13px;line-height:1.35}.seal img{flex:none;width:72px;height:auto}.seal b{display:block;font-size:15px}.seal em{display:block;font-style:normal;color:#E91E8C;font-weight:700;margin-top:2px}
.trust{display:inline-flex;align-items:center;gap:6px;margin:8px 18px 0;font-size:13px;font-weight:700;color:#0B1F66;background:#DCE3FF;padding:5px 12px;border-radius:10px}
/* ---- Catálogo ---- */
.cat{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 12px}
.pc{position:relative;display:flex;flex-direction:column;text-align:left;padding:0 0 12px;border:0;border-radius:20px;background:var(--pan,#F4F5FA);color:var(--tx,#1A1C22);cursor:pointer;font-family:inherit;overflow:hidden;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
.pc:active{transform:scale(.97)}
.pc img,.pc .noimg{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;background:#E8EAF2}
.pn{font-weight:700;font-size:15px;line-height:1.25;margin:10px 12px 2px;overflow-wrap:anywhere}
.pp{margin:0 12px;font-weight:800;font-size:16px}.pp s{font-weight:500;font-size:13px;color:var(--mut,#8a8d91)}
.pb{position:absolute;top:8px;right:8px;background:var(--c);color:var(--on);font-weight:800;font-size:13px;min-width:28px;height:28px;padding:0 8px;border-radius:999px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.3)}
.cartpad{height:76px}
.cartbar{position:fixed;left:12px;right:12px;bottom:12px;max-width:456px;margin:0 auto;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:0 22px;border:0;border-radius:999px;background:var(--c);color:var(--on);font-size:17px;font-weight:800;font-family:inherit;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.28)}
body.nos{overflow:hidden}
.shov{position:fixed;inset:0;z-index:30;background:rgba(14,16,24,.55);display:flex;align-items:flex-end;justify-content:center}
@media (min-width:520px){.shov{align-items:center;padding:16px}}
.shin{position:relative;background:var(--card,#fff);color:var(--tx,#1A1C22);width:100%;max-width:480px;max-height:92vh;overflow-y:auto;border-radius:28px 28px 0 0;padding-bottom:18px;overscroll-behavior:contain}
@media (min-width:520px){.shin{border-radius:28px}}
.shx{position:sticky;top:10px;float:right;margin:10px 10px -50px 0;z-index:3;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#1A1C22;font-size:18px;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.3)}
.pmb,.cartb{clear:both}
.pmt{font-size:22px;letter-spacing:-.02em;margin:16px 18px 4px;overflow-wrap:anywhere}
.pmp{margin:0 18px;font-size:22px}.pmd{margin:10px 18px}
.pmb .lb,.pmb .chips{margin-left:18px;margin-right:18px}.pmb .lb{margin-top:16px}
.cp{position:relative;min-height:42px;padding:0 16px;border-radius:12px;border:0;background:var(--inp,#fff);color:var(--itx,#1A1C22);font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;box-shadow:inset 0 0 0 1.5px var(--chipbd,#C6CAD5)}
.cp.on{background:var(--c);color:var(--on);box-shadow:none;border-radius:999px;font-weight:700}
.cp.out{opacity:.5;text-decoration:line-through}
.cn{display:inline-block;margin-left:6px;background:var(--on);color:var(--c);border-radius:999px;font-size:12px;min-width:20px;padding:1px 6px}
.vr{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 12px 8px;padding:10px 14px;border-radius:16px;background:var(--pan,#F4F5FA)}
.vr.out{opacity:.6}
.vl{display:flex;flex-direction:column;min-width:0}.vn{font-size:13px;color:var(--mut,#464B57)}.vo{font-size:13px;font-weight:700;color:var(--err,#BA1A1A)}
.stp{display:flex;align-items:center;gap:6px;flex:none}
.sb{width:44px;height:44px;border-radius:50%;border:0;background:var(--inp,#fff);color:var(--itx,#1A1C22);font-size:22px;font-weight:700;cursor:pointer;box-shadow:inset 0 0 0 1.5px var(--chipbd,#C6CAD5)}
.sb:disabled{opacity:.35;cursor:default}
.sq{min-width:28px;text-align:center;font-size:17px}
.pms{margin:10px 18px 0;font-weight:700;color:var(--lk,var(--cd))}
.pmb .cta{width:auto;display:block;margin:14px 18px 0;width:calc(100% - 36px)}
.cartb>form{margin:12px 12px 0}.ft{font-size:17px;margin:0 0 12px}
.cl{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 12px 8px;padding:10px 14px;border-radius:16px;background:var(--pan,#F4F5FA)}
.cli{display:flex;flex-direction:column;min-width:0}
.ctot{margin:12px 18px 0;font-size:20px;font-weight:800}
#shopui.single .pmb{padding-bottom:6px}
#shopui.single .pmb .gal{margin:0}
#shopui.single .pmb .cta{margin-top:18px}
.specs{margin:14px 18px 0;display:grid;gap:6px}.specs div{display:flex;gap:10px;justify-content:space-between;border-bottom:1px solid rgba(128,128,128,.2);padding-bottom:6px;font-size:14px}.specs dt{font-weight:700;margin:0}.specs dd{margin:0;text-align:right;opacity:.85}
.pmb>input[type=text]{display:block;width:calc(100% - 36px);margin:0 18px;box-sizing:border-box}
.logo{display:block;width:84px;height:84px;border-radius:50%;object-fit:cover;margin:18px auto 0;border:1px solid var(--ln);background:var(--card)}
.foot{margin:22px 18px 6px;padding-top:16px;border-top:1px solid var(--ln);text-align:center;font-size:14px;color:var(--mut)}.foot p{margin:6px 0}.foot b{color:var(--tx)}
.socs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:10px}.socs a{padding:8px 14px;border:1px solid var(--chipbd);border-radius:999px;color:var(--lk);font-weight:700;text-decoration:none}
.sdays,.sslots{display:flex;flex-wrap:wrap;gap:8px;margin:0 18px 12px}
/* ---- Estilo (v2): tipografía, sombras, brillo y selector de turnos ---- */
body{font-family:Roboto,"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;font-size:15px}
.card{box-shadow:0 10px 40px -12px rgba(20,24,40,.28)}
.card::before{content:"";display:block;height:6px;background:linear-gradient(90deg,var(--c),var(--cd))}
@media (min-width:520px){.card{border:1px solid var(--ln,#e2e5ee);box-shadow:0 18px 50px -14px rgba(20,24,40,.3),0 2px 6px rgba(20,24,40,.06)}}
h1{font-size:27px;line-height:1.12;letter-spacing:-.03em;font-weight:900;margin:20px 18px 4px}
h1::after{content:"";display:block;width:44px;height:4px;border-radius:4px;margin-top:10px;background:linear-gradient(90deg,var(--c),var(--cd))}
.ds{font-size:15px;line-height:1.6;margin:14px 18px}
.pr{font-size:26px;color:var(--tx)}
.pay{margin:10px 18px}.pay b{color:var(--tx)}
form{border:1px solid var(--ln,#e2e5ee);box-shadow:0 6px 18px -10px rgba(20,24,40,.25)}
.cta{background:linear-gradient(135deg,var(--c),var(--cd));box-shadow:0 8px 20px -8px var(--c);letter-spacing:.01em}
@supports (color:color-mix(in srgb,red 50%,blue)){.cta{box-shadow:0 8px 22px -8px color-mix(in srgb,var(--c) 70%,transparent)}}
.cta:active{background:var(--cd)}
.chip input:checked+span{background:linear-gradient(135deg,var(--c),var(--cd));box-shadow:0 4px 12px -4px var(--c)}
.pc{background:var(--card);border:1px solid var(--ln,#e2e5ee);box-shadow:0 6px 18px -10px rgba(20,24,40,.3);border-radius:22px}
.pc:hover{box-shadow:0 10px 24px -10px rgba(20,24,40,.4)}
.pp{color:var(--lk)}
.logo{box-shadow:0 6px 16px -6px rgba(20,24,40,.4);border:3px solid var(--card)}
.sdays{display:flex;gap:8px;overflow-x:auto;padding:2px 18px 10px;margin:0;scrollbar-width:none;scroll-snap-type:x proximity}.sdays::-webkit-scrollbar{display:none}
.dc{flex:0 0 64px;display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 0;border:1.5px solid var(--chipbd,#c6cad5);border-radius:16px;background:var(--inp,#fff);color:var(--itx,#1a1c22);font-family:inherit;cursor:pointer;scroll-snap-align:start;transition:transform .2s}
.dc .dw{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;opacity:.7}.dc b{font-size:22px;line-height:1.1;font-weight:800}.dc .dm{font-size:12px;opacity:.7}
.dc.on{background:linear-gradient(135deg,var(--c),var(--cd));color:var(--on);border-color:transparent;box-shadow:0 6px 14px -6px var(--c)}.dc.on .dw,.dc.on .dm{opacity:.9}
.sslots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 18px 12px}
.tm{min-height:44px;border:1.5px solid var(--chipbd,#c6cad5);border-radius:14px;background:var(--inp,#fff);color:var(--itx,#1a1c22);font-size:16px;font-weight:700;font-family:inherit;cursor:pointer}
.tm.on{background:linear-gradient(135deg,var(--c),var(--cd));color:var(--on);border-color:transparent;box-shadow:0 6px 14px -6px var(--c)}
.sdays{display:grid;grid-template-columns:repeat(5,1fr);overflow:visible;padding:0;margin:0 18px 12px}.dc{flex:none;width:100%}

.hol{margin:10px 0;padding:8px 12px;border-radius:12px;background:#FFF4D6;color:#5C4300;font-size:13px;line-height:1.4}.dc.hd .dm{color:#B45309;font-weight:700}

.vi{border:1.5px solid var(--c);background:transparent;color:var(--c);font:inherit;font-weight:700;font-size:13px;padding:7px 12px;border-radius:999px;cursor:pointer}.vi:active{transform:scale(.97)}
.vo.ok{color:#15803d}

footer .ind{margin:0 0 8px;font-size:12px;line-height:1.4;opacity:.85}
