/* ===== GOURMETIA Compras · app móvil del restaurante (estilo Choco, destacados en oro GOURMETIA) =====
   El portal del proveedor (proveedor.html) usa portal.css. */
:root{
  --bg:#FAF7F2; --card:#ffffff; --line:#ECE6DC; --line-2:#F2EDE4;
  --ink:#1A1712; --ink-2:#5C554A; --dim:#9A9286; --mute:#B9B2A6;
  --gold:#C1A368; --gold-d:#A88A50; --gold-ink:#8C6F3E; --gold-l:#D9C59A; --gold-soft:#F3ECDD; --gold-softer:#FAF5EB;
  --black:#0B0A07; --danger:#E0573F; --ok:#2E9E5B; --warn:#C27A12;
  --disabled:#A9A39A;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --display:"Archivo Black","Inter",sans-serif;
  --safe-b:env(safe-area-inset-bottom,0px);
}
*,*::before,*::after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:#EEE9E0;color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.4;-webkit-font-smoothing:antialiased}
button{font-family:inherit;cursor:pointer;color:inherit;background:none;border:none;padding:0;font-size:inherit;text-align:inherit}
input,select,textarea{font-family:inherit;font-size:16px;color:var(--ink)}
a{color:var(--gold-ink)}
svg{display:block}
.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.icon.sm{width:17px;height:17px}
.icon.lg{width:26px;height:26px}
.hidden,[hidden]{display:none!important}
.dim{color:var(--dim)} .muted{color:var(--ink-2)}
.gold{color:var(--gold-ink)}

/* ---------- marco ---------- */
.shell{position:relative;max-width:480px;margin:0 auto;min-height:100vh;min-height:100dvh;background:var(--bg)}
@media (min-width:520px){ .shell{box-shadow:0 0 0 1px var(--line),0 30px 60px -30px rgba(40,30,10,.25)} }
.root{display:flex;flex-direction:column;height:100vh;height:100dvh}
main{flex:1;overflow-y:auto;position:relative;-webkit-overflow-scrolling:touch}

/* cabecera con el local */
.loc{display:flex;align-items:center;gap:8px;padding:10px 10px 8px 14px;border-bottom:1px solid var(--line);background:var(--bg)}
.loc-btn{flex:1;min-width:0;display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:6px}
.loc-n{font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.loc-btn .icon{justify-self:start}
.loc-a{grid-column:1/3;font-size:12.5px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.iconbtn{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--ink);flex:0 0 auto}
.iconbtn:active{background:var(--line-2)}
.iconbtn.gold{color:var(--gold-ink)}

/* barra inferior */
.bnav{display:flex;border-top:1px solid var(--line);background:var(--bg);padding-bottom:var(--safe-b)}
.bnav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 0 8px;color:#A39C91;font-size:11px;font-weight:500}
.bnav button.on{color:var(--gold-d)}
.bnav button.on .icon{fill:var(--gold);stroke:var(--gold-d)}
.bnav .ic{position:relative}
.nbadge{position:absolute;top:-6px;right:-9px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--gold);color:#fff;font-size:10.5px;font-style:normal;font-weight:700;display:grid;place-items:center;border:2px solid var(--bg)}

/* ---------- textos ---------- */
.hd{font-family:var(--display);text-transform:uppercase;color:var(--gold-ink);font-size:21px;line-height:1.08;letter-spacing:.005em;margin:0;font-weight:400}
.hd.xl{font-size:28px}
.h2{font-size:17px;font-weight:500;margin:0}
.sec-h{display:flex;align-items:center;justify-content:space-between;padding:18px 16px 10px}
.sec-h b{font-weight:500;font-size:16px}
.link{color:var(--gold-ink);font-weight:600;font-size:14.5px}
.caps-link{color:var(--gold-ink);font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.danger-link{color:var(--danger);font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.lbl{display:block;font-size:13px;color:var(--ink);margin:16px 0 6px}
.lbl .req{color:var(--gold)}
.small{font-size:12.5px}

/* ---------- botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 22px;border-radius:999px;font-weight:600;font-size:13px;letter-spacing:.09em;text-transform:uppercase;border:1.5px solid transparent;transition:filter .15s,background .15s;text-decoration:none;white-space:nowrap}
.btn-p{background:var(--gold);color:#fff;border-color:var(--gold)}
.btn-p:active{background:var(--gold-d)}
.btn-o{background:#fff;color:var(--gold-ink);border-color:var(--gold)}
.btn-d{background:#fff;color:var(--danger);border-color:var(--danger)}
.btn:disabled,.btn.off{background:var(--disabled);border-color:var(--disabled);color:#fff;cursor:default}
.btn-o:disabled{background:#fff;color:var(--mute);border-color:var(--line)}
.btn-block{width:100%}
.btn-sm{min-height:32px;padding:0 14px;font-size:11.5px}
.btn .icon{width:18px;height:18px}
.fab{position:absolute;left:50%;transform:translateX(-50%);bottom:14px;z-index:5;box-shadow:0 8px 20px -6px rgba(140,111,62,.55)}
.pill-o{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 14px;font-size:13.5px;font-weight:500;color:var(--gold-ink);white-space:nowrap}
.pill-o.on{background:var(--gold-soft);border-color:var(--gold)}

/* ---------- páginas apiladas ---------- */
.page{position:fixed;top:0;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;background:var(--bg);z-index:20;display:flex;flex-direction:column;animation:pin .18s ease-out}
@keyframes pin{from{opacity:.4;transform:translateX(calc(-50% + 24px))}to{opacity:1;transform:translateX(-50%)}}
.ph{display:flex;align-items:center;gap:6px;min-height:56px;padding:6px 8px;border-bottom:1px solid var(--line);flex:0 0 auto}
.ph.nb{border-bottom:none}
.ph .t{flex:1;min-width:0;font-size:17px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ph .t.c{text-align:center}
.ph .sub{display:block;font-size:11.5px;color:var(--dim);font-weight:400}
.ph .av{margin-right:4px}
.pb{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;position:relative}
.pad{padding:16px}
.pf{flex:0 0 auto;padding:12px 16px calc(12px + var(--safe-b));display:flex;gap:10px;align-items:center;background:var(--bg)}
.pf.line{border-top:1px solid var(--line)}
.pf.end{justify-content:flex-end}

/* ---------- filas tipo lista ---------- */
.rows{background:transparent}
.row{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;min-height:56px}
.row.ind{border-bottom:none;position:relative}
.row.ind::after{content:"";position:absolute;left:58px;right:0;bottom:0;height:1px;background:var(--line)}
.row .ico{color:var(--gold-ink);width:28px;display:grid;place-items:center}
.row .b{flex:1;min-width:0}
.row .t{font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis}
.row .s{font-size:12.5px;color:var(--dim);margin-top:2px;overflow:hidden;text-overflow:ellipsis}
.row .k{font-size:12.5px;color:var(--dim)}
.row .v{font-size:15px;margin-top:2px}
.row .chev{color:var(--ink);opacity:.8}
.row .chev.gold{color:var(--gold-ink);opacity:1}
.row.danger .t{color:var(--danger)}
.chev-i{width:18px;height:18px}
.grp-t{padding:20px 16px 6px;font-size:17px;font-weight:500}
.grp-s{padding:8px 16px 4px;font-size:13px;color:var(--ink);font-weight:500}

/* avatar / logo */
.av{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:13px;color:var(--gold-ink);background:var(--gold-soft);border:1px solid #EADFC8;flex:0 0 auto;overflow:hidden;text-transform:uppercase}
.av.sm{width:30px;height:30px;font-size:11px}
.av.lg{width:52px;height:52px;font-size:16px}
.av img{width:100%;height:100%;object-fit:cover}
.av.logo{background:#fff;border:2px solid var(--gold);color:var(--gold-ink);font-family:var(--display);font-size:14px}
.av.logo.sm{font-size:11px;border-width:1.5px}

/* ---------- vacíos ---------- */
.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 28px;min-height:60%;gap:6px}
.empty .ill{width:150px;height:auto;margin-bottom:22px}
.empty b{font-size:16px;font-weight:500}
.empty span{color:var(--dim);font-size:14px;max-width:300px}
.empty .btn{margin-top:14px}
.card-empty{margin:0 16px;background:#fff;border:1px solid var(--line);border-radius:6px;padding:18px 16px;text-align:center}
.card-empty b{display:block;font-weight:500;font-size:15px}
.card-empty span{display:block;color:var(--ink-2);font-size:12.5px;margin-top:4px}

/* ---------- campos ---------- */
.inp{width:100%;border:1px solid var(--line);background:#fff;border-radius:4px;padding:12px 13px;outline:none}
.inp:focus{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
textarea.inp{resize:vertical;min-height:58px;line-height:1.4}
.field{margin-bottom:12px}
.field label{display:block;font-size:12.5px;color:var(--ink-2);margin-bottom:5px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.search{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:0 16px;height:44px;margin:12px 14px}
.search input{flex:1;border:none;outline:none;background:transparent;min-width:0}
.search .icon{color:var(--dim)}
.phsearch{flex:1;border:none;outline:none;background:transparent;font-size:16px;min-width:0;padding:8px 4px}
.note{margin-top:12px;font-size:13.5px;padding:10px 12px;border-radius:6px;display:none}
.note.show{display:block} .note.err{background:#FCEDEA;color:#A93A26} .note.ok{background:var(--gold-softer);color:var(--gold-ink)}
.warn{background:#FFF6E5;border:1px solid #F3DDB0;color:#7A5410;border-radius:6px;padding:10px 12px;font-size:13.5px;margin:10px 16px}
.toggle{position:relative;width:46px;height:28px;border-radius:999px;background:#D9D4CB;border:1px solid #CFC8BC;transition:.2s;flex:0 0 auto}
.toggle::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#6B655B;transition:.2s}
.toggle.on{background:var(--gold);border-color:var(--gold)}
.toggle.on::after{left:21px;background:#fff}

/* radio estilo Choco */
.opts{background:#fff;border:1px solid var(--line);margin:0 16px}
.opt{display:flex;align-items:center;justify-content:space-between;padding:20px 14px;border-bottom:1px solid var(--line);width:100%;font-size:15px}
.opt:last-child{border-bottom:none}
.radio{width:18px;height:18px;border-radius:50%;border:1.5px solid #8F887C;display:grid;place-items:center;flex:0 0 auto}
.opt.on .radio{border-color:var(--gold)}
.opt.on .radio::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--gold)}

/* chips (ordenar por) */
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 18px;font-size:13.5px}
.chip.on{background:var(--gold-soft);border-color:var(--gold-soft)}

/* pestañas subrayadas */
.utabs{display:flex;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none;flex:0 0 auto}
.utabs::-webkit-scrollbar{display:none}
.utabs button{padding:10px 14px 9px;font-size:15.5px;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px;position:relative}
.utabs.eq button{flex:1}
.utabs button.on{border-bottom-color:var(--gold)}
.utabs .cnt{display:inline-grid;place-items:center;min-width:16px;height:16px;border-radius:8px;background:var(--gold);color:#fff;font-size:10px;font-weight:700;margin-left:3px;vertical-align:4px}

/* ---------- hoja inferior / diálogo / toast ---------- */
.sheet-back,.dlg-back{position:fixed;inset:0;background:rgba(20,16,10,.45);z-index:60;display:none}
.sheet-back.show{display:flex;align-items:flex-end;justify-content:center}
.sheet{width:100%;max-width:480px;background:var(--bg);border-radius:18px 18px 0 0;padding:8px 16px calc(18px + var(--safe-b));max-height:92vh;overflow-y:auto;animation:sup .2s ease-out}
.sheet.white{background:#fff}
@keyframes sup{from{transform:translateY(40px);opacity:.6}to{transform:none;opacity:1}}
.grab{width:44px;height:4px;border-radius:2px;background:#C9C2B6;margin:2px auto 14px}
.sh-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 14px}
.sh-h .iconbtn{margin-right:-8px;color:var(--gold-ink)}
.dlg-back.show{display:flex;align-items:center;justify-content:center;padding:24px}
.dlg{width:100%;max-width:330px;background:#fff;border-radius:12px;padding:20px 20px 16px;box-shadow:0 20px 50px -20px rgba(0,0,0,.4);animation:sup .18s ease-out}
.dlg h3{margin:0 0 6px;font-size:19px;font-weight:500;line-height:1.25}
.dlg p{margin:0 0 16px;font-size:14px;color:var(--ink-2)}
.dlg .acts{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.dlg .acts.col{flex-direction:column}
#toasts{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(76px + var(--safe-b));width:calc(100% - 24px);max-width:456px;z-index:80;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.toast{pointer-events:auto;background:#fff;border-radius:6px;box-shadow:0 6px 24px -8px rgba(0,0,0,.3);padding:13px 14px;display:flex;gap:10px;align-items:flex-start;font-size:14.5px;animation:sup .2s ease-out;cursor:pointer}
.toast .ti{width:20px;height:20px;border-radius:50%;background:var(--ok);display:grid;place-items:center;flex:0 0 auto;margin-top:1px}
.toast .ti.i{background:var(--gold)}
.toast .ti svg{width:13px;height:13px;stroke:#fff;stroke-width:3;fill:none}
.toast small{display:block;color:var(--dim);font-size:12.5px;margin-top:1px}

/* ---------- splash / login ---------- */
.splash{position:fixed;inset:0;z-index:90;max-width:480px;margin:0 auto;background:var(--black);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:24px 14px calc(26px + var(--safe-b));overflow:hidden}
.splash .bgpat{position:absolute;inset:0;opacity:.55;background-size:cover}
.splash .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,10,7,.15) 0%,rgba(11,10,7,.35) 45%,rgba(11,10,7,.92) 100%)}
.splash .lg{position:absolute;top:16%;left:50%;transform:translateX(-50%) rotate(-6deg);display:flex;flex-direction:column;align-items:center;gap:10px}
.splash .lg img{width:84px;height:84px;border-radius:20px;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.splash .lg span{font-family:var(--display);font-size:30px;letter-spacing:.02em;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.splash h1{position:relative;font-family:var(--display);font-size:31px;line-height:1.06;text-transform:uppercase;text-align:center;margin:0 0 22px;font-weight:400}
.splash .btn{position:relative}
.splash .pp{position:relative;text-align:center;font-size:12px;margin-top:16px;opacity:.85}
.sent-splash h1{font-size:44px;text-align:left;line-height:1.02;margin:0 0 30% 10px;transform:rotate(-4deg)}
.pb.login{padding:12px 16px}
.login .hd{margin:10px 0 22px}

/* ---------- inicio ---------- */
.remind{margin:0 16px 4px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:6px;display:flex;align-items:center;gap:12px;padding:12px 14px;width:calc(100% - 32px);text-align:left}
.remind + .remind{margin-top:8px}
.remind .b{flex:1;min-width:0}
.remind .t{font-weight:500}
.remind .s{font-size:12.5px;color:var(--dim)}
.hcard{margin:0 16px;background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.hcard .row:last-child{border-bottom:none}

/* ---------- chats ---------- */
.addsup{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--gold-ink);font-weight:600;font-size:13px;letter-spacing:.08em}
.citem{display:flex;gap:12px;align-items:center;width:100%;padding:12px 16px;border-bottom:1px solid var(--line);text-align:left}
.citem .b{flex:1;min-width:0}
.citem .t{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.citem .n{font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.citem .tm{font-size:12px;color:var(--dim);flex:0 0 auto}
.citem.pend .n{color:var(--dim)}
.citem.pend .p{color:var(--gold-ink)}
.citem .p{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:2px}
.citem .p span{font-size:13px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ubadge{min-width:18px;height:18px;border-radius:9px;background:var(--gold);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;padding:0 5px;flex:0 0 auto}

/* conversación */
.msgs{padding:10px 12px 90px;display:flex;flex-direction:column;gap:4px}
.day{align-self:center;font-size:11.5px;letter-spacing:.08em;color:var(--dim);text-transform:uppercase;margin:16px 0 8px}
.welcome{text-align:center;color:var(--ink-2);font-size:14px;margin:4px 0 14px;line-height:1.9}
.msg{display:flex;flex-direction:column;max-width:84%;margin:3px 0}
.msg.me{align-self:flex-end;align-items:flex-end}
.msg.them{align-self:flex-start;align-items:flex-start}
.msg .who{font-size:11.5px;color:var(--dim);margin:0 6px 2px}
.bub{padding:9px 13px;border-radius:16px;font-size:14.5px;white-space:pre-wrap;word-wrap:break-word}
.msg.me .bub{background:var(--gold-soft);border-bottom-right-radius:4px}
.msg.them .bub{background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px}
.bub img{max-width:220px;border-radius:10px;display:block}
.msg .time{font-size:11px;color:var(--dim);margin:3px 6px 0}
.sys{align-self:center;text-align:center;font-size:12.5px;color:var(--ink-2);background:#fff;border:1px solid var(--line);border-radius:12px;padding:7px 12px;margin:8px 10px;max-width:90%}
.sys.ok{border-color:#CDE9D7;background:#F2FAF5} .sys.bad{border-color:#F5D3CB;background:#FDF4F2}
.ocard{background:#fff;border:1.5px solid var(--gold);border-radius:14px;overflow:hidden;min-width:250px;max-width:300px}
.ocard .h{padding:12px 12px 8px;border-bottom:1px solid var(--line)}
.ocard .h b{font-size:19px;font-weight:500;display:block}
.ocard .h small{font-size:11px;color:var(--dim)}
.ocard .r{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;border-bottom:1px solid var(--line);font-size:14.5px}
.ocard .r span:first-child{font-size:11.5px;color:var(--ink-2)}
.ocard .go{display:block;width:100%;text-align:center;padding:12px;color:var(--gold-ink);font-weight:600;font-size:13px;letter-spacing:.08em}
.ocard .foot{background:var(--gold);color:#fff;padding:9px 14px;text-align:right;font-size:14px;white-space:pre-wrap}
.ocard.claim{border-color:var(--danger)}
.ocard.claim .foot{background:var(--danger)}
.dot{display:inline-flex;align-items:center;gap:6px;font-size:13.5px}
.dot::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--c,#C9D4F2)}
.dot.sm{font-size:11.5px}.dot.sm::before{width:7px;height:7px}
.composer{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:10px;padding:10px 12px calc(10px + var(--safe-b));background:var(--bg);border-top:1px solid var(--line)}
.composer textarea{flex:1;border:1px solid var(--line);background:#fff;border-radius:22px;padding:11px 16px;resize:none;height:44px;max-height:120px;outline:none;line-height:20px;overflow:hidden}
.composer textarea:focus{border-color:var(--gold)}
.composer .iconbtn{color:var(--ink-2)}
.composer .send{background:var(--gold);color:#fff}
.chat-fab{bottom:78px}

/* ---------- directorio ---------- */
.dlist{padding:4px 12px 20px;display:flex;flex-direction:column;gap:14px}
.dcard{background:#fff;border-radius:8px;box-shadow:0 1px 3px rgba(40,30,10,.14);overflow:hidden;text-align:left;width:100%}
.cov{height:128px;position:relative;overflow:hidden}
.cov svg{position:absolute;inset:0;width:100%;height:100%}
.cov .lgc{position:absolute;left:14px;top:14px;width:52px;height:52px;border-radius:50%;background:#fff;display:grid;place-items:center;font-family:var(--display);color:var(--gold-ink);font-size:15px;box-shadow:0 1px 4px rgba(0,0,0,.2);overflow:hidden}
.cov .lgc img{width:100%;height:100%;object-fit:cover}
.dcard .n{padding:13px 14px;font-weight:600;font-size:15px}
.dcard .n small{display:block;font-weight:400;color:var(--dim);font-size:12px;margin-top:1px}
.prof-cov{height:200px;position:relative;flex:0 0 auto}
.prof-cov .back{position:absolute;top:12px;left:12px;width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,.35);color:#fff;display:grid;place-items:center;z-index:2}
.prof-logo{width:56px;height:56px;border-radius:50%;background:#fff;border:2px solid var(--gold);margin:-28px 0 0 16px;position:relative;display:grid;place-items:center;font-family:var(--display);color:var(--gold-ink);overflow:hidden}
.prof-name{font-family:var(--display);text-transform:uppercase;font-size:23px;color:var(--gold-ink);margin:14px 16px 0;line-height:1.1;font-weight:400}
.notfound{background:#fff;border-radius:8px;box-shadow:0 1px 3px rgba(40,30,10,.14);padding:20px 18px;text-align:center}
.notfound b{display:block;font-weight:600;margin-bottom:8px}
.notfound p{color:var(--dim);font-size:14px;margin:0 0 14px}

/* ---------- pedido (catálogo / listado / carrito) ---------- */
.prow{padding:12px 16px 14px;border-bottom:1px solid var(--line);background:var(--bg)}
.prow.has{background:#fff}
.prow .top{display:flex;gap:10px;align-items:flex-start}
.prow .nm{flex:1;min-width:0;font-size:15px;line-height:1.35;text-align:left}
.prow .nm small{display:block;color:var(--dim);font-size:12px;margin-top:2px}
.star{width:30px;height:30px;display:grid;place-items:center;color:#8F887C;margin:-4px -4px 0 0}
.star.on{color:var(--gold)}
.star.on .icon{fill:var(--gold);stroke:var(--gold)}
.prow .bot{display:flex;align-items:center;gap:10px;margin-top:14px}
.qbox{display:flex;align-items:stretch;border:1px solid var(--line);background:#fff;height:36px;border-radius:2px}
.qbox input{width:62px;border:none;outline:none;text-align:center;font-size:15px;background:transparent}
.qbox span{border-left:1px solid var(--line);padding:0 10px;display:grid;place-items:center;font-size:14px;color:var(--ink-2);min-width:62px}
.qbox .hay{width:56px;border-right:1px solid var(--line);color:var(--ink-2)}
.prow .sp{flex:1}
.rb{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}
.rb.plus{background:var(--gold);color:#fff}
.rb.minus{border:1.5px solid var(--gold);color:var(--gold-ink);background:#fff}
.rb .icon{width:20px;height:20px;stroke-width:2.2}
.ptabs{display:flex;border-top:1px solid var(--line);background:var(--bg);padding-bottom:var(--safe-b);flex:0 0 auto}
.ptabs button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 0 8px;color:#A39C91;font-size:11px}
.ptabs button.on{color:var(--gold-d)}
.ptabs button.on .icon{fill:var(--gold);stroke:var(--gold-d)}
.ptabs .ic{position:relative}
.qpill{min-width:70px;height:46px;border:1px solid var(--line);border-radius:999px;background:#fff;display:grid;place-items:center;font-size:15px;padding:0 14px;flex:0 0 auto}
.cline{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);background:#fff}
.cline .b{flex:1;min-width:0;font-size:13.5px}
.cline .b small{display:block;color:var(--ink-2);font-size:12.5px}
.cline input.qpill{text-align:center;width:76px;outline:none}
.tot{display:flex;justify-content:space-between;padding:12px 16px;color:var(--ink-2);font-size:14px}
.stepbar{display:flex;align-items:center;gap:10px;flex:1}
.stepper{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;background:#fff;padding:4px 8px;height:48px}
.stepper button{width:36px;height:36px;display:grid;place-items:center;color:var(--gold-ink)}
.stepper button.tr{color:var(--ink-2)}
.stepper input{width:54px;border:none;outline:none;text-align:center;font-size:15px}

/* calendario */
.cal-h{display:flex;align-items:center;gap:6px;margin:4px 0 10px}
.cal-h .m{flex:1;font-size:13.5px;color:var(--ink-2);padding-left:6px}
.cal{display:grid;grid-template-columns:repeat(7,1fr);row-gap:6px;text-align:center}
.cal .w{font-size:13.5px;color:var(--ink);padding:8px 0}
.cal button{height:40px;width:40px;margin:0 auto;border-radius:50%;font-size:15px;color:var(--ink)}
.cal button:disabled{color:var(--mute);cursor:default}
.cal button.soon{color:var(--dim)}
.cal button.on{border:1.5px solid var(--gold);color:var(--gold-ink);font-weight:600}
.cal button.today{text-decoration:underline;text-underline-offset:4px}

/* entrega */
.chk{display:flex;align-items:flex-start;gap:14px;padding:12px 16px;border-bottom:1px solid var(--line)}
.chk .q{font-weight:600;min-width:20px;text-align:right;padding-top:1px}
.chk .b{flex:1;min-width:0}
.chk .n{font-weight:600}
.chk .u{color:var(--ink-2);font-size:13.5px;margin-top:2px}
.chk .iss{margin-top:6px;font-size:13px;color:var(--danger)}
.chk .iss i{color:var(--ink-2)}
.mark{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--gold);color:var(--gold-ink);display:grid;place-items:center;flex:0 0 auto;background:#fff}
.mark .icon{width:17px;height:17px;stroke-width:2}
.mark.on.v{background:var(--gold);color:#fff}
.mark.on.x{background:var(--danger);border-color:var(--danger);color:#fff}
.thumb{width:64px;height:64px;object-fit:cover;border-radius:6px;margin-top:6px;display:block}
.photo-box{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);padding:16px;margin:0 16px;width:calc(100% - 32px);text-align:left}
.photo-box b{color:var(--gold-ink);font-weight:600}
.photo-box small{display:block;color:var(--dim);font-size:12px}
.acc-h{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;font-size:15px;font-weight:500}

/* cuenta / soporte */
.ver{text-align:center;color:var(--ink-2);font-size:12.5px;padding:24px 0 16px}
.help-h{background:linear-gradient(170deg,#A88A50 0%,var(--gold) 55%,#D9C59A 100%);color:#fff;padding:18px 18px 70px;border-radius:0 0 0 0}
.help-h .tp{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}
.help-h .brand{display:flex;align-items:center;gap:8px;font-family:var(--display);font-size:17px;letter-spacing:.02em}
.help-h .brand img{width:30px;height:30px;border-radius:8px;border:1.5px solid rgba(255,255,255,.7)}
.help-h .x{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.25);display:grid;place-items:center;color:#fff}
.help-h h2{margin:0;font-size:24px;font-weight:600;line-height:1.25}
.hbox{background:#fff;border-radius:10px;box-shadow:0 2px 10px -4px rgba(40,30,10,.25);margin:0 14px 12px;overflow:hidden}
.hbox.up{margin-top:-52px}
.hbox .row{border-bottom:1px solid var(--line-2);padding:12px 14px;min-height:0}
.hbox .row:last-child{border-bottom:none}
.hbox .row .t{font-weight:600;font-size:14.5px}
.hsearch{display:flex;align-items:center;justify-content:space-between;background:#F4F1EC;border-radius:6px;margin:8px;padding:10px 10px}
.hsearch input{border:none;background:transparent;outline:none;flex:1;font-weight:600;font-size:14.5px}
.article{padding:6px 18px 20px;font-size:14.5px;line-height:1.5}
.article h2{font-size:21px;font-weight:600;margin:6px 0 12px;line-height:1.25}
.article ol,.article ul{padding-left:20px}
.article li{margin:4px 0}
.faces{border-top:1px solid var(--line);text-align:center;padding:16px 0 6px;color:var(--dim);font-size:14px}
.faces div{display:flex;justify-content:center;gap:22px;margin-top:10px;font-size:26px}
.faces button:active{transform:scale(1.2)}
.tag{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.04em;padding:2px 8px;border-radius:999px;background:var(--gold-soft);color:var(--gold-ink);vertical-align:2px}
.box{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px;margin:0 16px 12px}
.kv{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line-2);font-size:14px}
.kv:last-child{border-bottom:none}
.kv span:first-child{color:var(--ink-2)}
.chan-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;background:#fff;border:1px solid var(--line);margin:0 16px 8px}
.chan-row .b{flex:1;min-width:0;font-size:13.5px}
.chan-row .b small{display:block;color:var(--dim);font-size:12px;overflow:hidden;text-overflow:ellipsis}
.cbx{display:flex;flex-wrap:wrap;gap:8px}
.cbx label{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 12px;font-size:13.5px}
.cbx input{accent-color:var(--gold)}
.ai-row{display:grid;grid-template-columns:22px 1fr;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);background:#fff}
.ai-row input[type=checkbox]{accent-color:var(--gold);width:18px;height:18px;margin-top:10px}
.ai-row .g{display:grid;grid-template-columns:1fr 1fr;gap:8px 8px;margin-top:8px}
.ai-row .f{display:flex;flex-direction:column;gap:3px;min-width:0}
.ai-row .f>span{font-size:11.5px;color:var(--dim);letter-spacing:.02em}
.ai-row .eur{position:relative}
.ai-row .eur .inp{width:100%;padding-right:24px}
.ai-row .eur i{position:absolute;right:9px;top:50%;transform:translateY(-50%);font-style:normal;color:var(--dim);font-size:14px;pointer-events:none}
.ai-row .inp{padding:8px 9px;font-size:14px}
.spin{width:34px;height:34px;border-radius:50%;border:3px solid var(--gold-soft);border-top-color:var(--gold);animation:spin 1s linear infinite;margin:0 auto 14px}
@keyframes spin{to{transform:rotate(360deg)}}
.aiload .ring{position:relative;width:84px;height:84px;margin:0 auto 22px;display:grid;place-items:center}
.aiload .ring::after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 25%,var(--gold) 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px));animation:spin 1.1s linear infinite}
.aiload .ring::before{content:"";position:absolute;inset:0;border-radius:50%;border:5px solid var(--gold-soft)}
.aiload .ring svg{width:30px;height:30px;fill:none;stroke:var(--gold);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;animation:aipulse 1.6s ease-in-out infinite}
@keyframes aipulse{50%{transform:scale(.88);opacity:.7}}
.aiload #aiStep{font-size:17px;transition:opacity .25s,transform .25s}
.aiload #aiStep.out{opacity:0;transform:translateY(-6px)}
.aiload .dots{display:flex;gap:5px;justify-content:center;margin:4px 0 10px}
.aiload .dots i{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:blink 1.2s infinite}
.aiload .dots i:nth-child(2){animation-delay:.2s}.aiload .dots i:nth-child(3){animation-delay:.4s}
.cat-card{background:#fff;border-bottom:1px solid var(--line);padding:12px 16px}
.cat-card .g{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:6px;margin-top:6px}
.cat-card .inp{padding:8px 9px;font-size:14px}
.cat-card .rm{color:var(--danger);font-size:12.5px;font-weight:600;margin-top:6px}
select.inp{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238C6F3E' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 8px center/16px;padding-right:28px}
.root{position:relative}
#rootFab .fab{bottom:calc(72px + var(--safe-b))}

/* ---------- novedades de pedido (catálogo por categorías, búsqueda, ficha, carrito) ---------- */
.prow .pr{display:block;font-weight:700;font-size:15px;margin-top:6px;color:var(--ink)}
.prow .pr i{font-style:normal;font-weight:400;color:var(--dim);font-size:12.5px}
.prow .last{font-size:12.5px;color:var(--ink-2);margin-top:10px}
.ctile{width:46px;height:46px;border-radius:6px;background:var(--gold-soft);display:grid;place-items:center;font-size:24px;flex:0 0 auto}
.ctile.sm{width:36px;height:36px;font-size:19px}
.schips{display:flex;gap:8px;overflow-x:auto;padding:10px 12px;border-bottom:1px solid var(--line);flex:0 0 auto;scrollbar-width:none}
.schips::-webkit-scrollbar{display:none}
.schips .pill-o .icon{width:16px;height:16px}
.pimg{position:relative;height:210px;background:var(--gold-soft);display:grid;place-items:center;font-size:96px;flex:0 0 auto}
.pimg-b{position:absolute;top:12px;width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,.35);color:#fff;display:grid;place-items:center;margin:0}
.pimg-b.l{left:12px} .pimg-b.r{right:12px}
.pimg-b.star{color:#fff} .pimg-b.star.on .icon{fill:var(--gold);stroke:#fff}
.stp{display:flex;align-items:center;border:1px solid var(--line);background:#fff;border-radius:999px;padding:3px;gap:2px;flex:0 0 auto}
.stp button{width:34px;height:34px;border-radius:50%;display:grid;place-items:center}
.stp button:first-child{border:1.5px solid var(--gold);color:var(--gold-ink)}
.stp button:last-child{background:var(--gold);color:#fff}
.stp button .icon{width:18px;height:18px;stroke-width:2.2}
.stp input{width:42px;border:none;text-align:center;font-size:15px;outline:none;background:transparent}
.stp.big{padding:5px}.stp.big button{width:38px;height:38px}
.cline2{display:flex;gap:14px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);background:#fff}
.cline2 .b{flex:1;min-width:0}
.cline2 small{display:block;color:var(--dim);font-size:12px}
.cline2 .n{display:block;font-size:14px}
.cline2 b{display:block;font-size:14.5px;margin-top:2px}
/* carrusel de novedades */
.intro{position:absolute;inset:0;background:#E9DFD3;overflow:hidden}
.intro-bg{position:absolute;left:0;right:0;top:0;height:150px}
.intro-bg svg{width:100%;height:100%}
.intro-card{position:absolute;top:56px;left:0;right:0;bottom:0;background:#fff;border-radius:34px 34px 0 0;display:flex;flex-direction:column;padding:0 24px calc(18px + var(--safe-b))}
.intro-x{position:absolute;top:18px;right:18px;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center;z-index:2}
.intro-ill{margin:50px -24px 0;height:min(42vh,340px);background:#F6F3EE;overflow:hidden;display:flex;justify-content:center;align-items:flex-end;flex:0 0 auto}
.intro h2{font-size:30px;font-weight:800;margin:24px 0 10px;letter-spacing:-.015em;line-height:1.1}
.intro p{font-size:17px;line-height:1.4;margin:0}
.intro-f{margin-top:auto;padding-top:16px}
.intro-btn{border-radius:10px;text-transform:none;letter-spacing:0;font-size:17px;min-height:52px}
.dots{display:flex;justify-content:center;gap:10px;margin-top:16px}
.dots i{width:8px;height:8px;border-radius:50%;background:#D5D0C8}
.dots i.on{background:#8F887C}
.mph{width:226px;height:92%;border:7px solid #111;border-bottom:none;border-radius:34px 34px 0 0;background:var(--bg);overflow:hidden;position:relative;font-size:10.5px;line-height:1.3;color:var(--ink)}
.mph::before{content:"";position:absolute;top:6px;left:50%;transform:translateX(-50%);width:66px;height:17px;background:#111;border-radius:12px;z-index:3}
.mph.gold{background:var(--gold);display:grid;place-items:center}
.m-logo{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;transform:rotate(-8deg);color:#fff}
.m-logo img{width:58px;height:58px;border-radius:14px;border:2px solid rgba(255,255,255,.8)}
.m-logo b{font-family:var(--display);font-size:20px;font-weight:400;letter-spacing:.02em}
.m-logo i{position:absolute;right:-26px;top:-22px;font-style:normal;font-size:28px}.m-logo i.b{right:-6px;top:-30px;font-size:14px}.m-logo i.c{right:-14px;top:4px;font-size:12px}
.m-st{height:30px}
.m-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line)}
.m-chev{margin-left:auto;font-size:13px;color:var(--ink-2)}
.m-h{padding:9px 10px 4px;font-weight:600}
.m-tile{width:26px;height:26px;border-radius:4px;background:var(--gold-soft);display:grid;place-items:center;font-size:15px;flex:0 0 auto}
.m-tile.lg{width:42px;height:42px;font-size:24px}
.m-tabs{position:absolute;left:0;right:0;bottom:0;display:flex;border-top:1px solid var(--line);background:var(--bg);font-size:8px;text-align:center;color:#A39C91;padding:5px 0 8px}
.m-tabs span{flex:1}.m-tabs .on{color:var(--gold-d);font-weight:600}
.m-cur{color:var(--gold);margin-left:1px}
.m-chips{display:flex;gap:5px;padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap;overflow:hidden}
.m-chips span{border:1px solid var(--line);border-radius:999px;padding:4px 8px;background:#fff}
.m-chips .on{border-color:var(--gold);background:var(--gold-soft);color:var(--gold-ink)}
.m-prod{display:flex;gap:8px;padding:9px 10px;border-bottom:1px solid var(--line);background:#fff}
.m-prod small,.m-dim{color:var(--dim);font-size:9.5px}
.m-prod b{display:block;margin-top:3px}
.m-q{display:flex;align-items:center;gap:4px;margin-top:6px}
.m-q span{border:1px solid var(--line);padding:3px 6px;font-size:9.5px}
.m-q i{margin-left:auto;width:24px;height:24px;border-radius:50%;background:var(--gold);display:grid;place-items:center;font-style:normal;font-size:11px}
.m-hero{position:relative;height:96px;background:var(--gold-soft);display:grid;place-items:center;font-size:60px}
.m-hero i{position:absolute;top:24px;width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.3);color:#fff;font-style:normal;font-size:11px;display:grid;place-items:center}
.m-hero .l{left:8px}.m-hero .r{right:8px}
.m-title{font-family:var(--display);color:var(--gold-ink);font-size:13px}
.m-foot{position:absolute;left:0;right:0;bottom:0;display:flex;gap:6px;align-items:center;padding:8px;border-top:1px solid var(--line);background:var(--bg)}
.m-step{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:2px;background:#fff}
.m-step i{width:20px;height:20px;border-radius:50%;border:1px solid var(--gold);display:grid;place-items:center;font-style:normal;color:var(--gold-ink)}
.m-step i.p{background:var(--gold);color:#fff;border-color:var(--gold)}
.m-btn{flex:1;background:var(--gold);color:#fff;border-radius:999px;text-align:center;padding:7px 4px;font-size:8.5px;font-weight:600;letter-spacing:.06em}
.m-cart{display:flex;gap:8px;align-items:center;padding:9px 10px;border-bottom:1px solid var(--line);background:#fff}
.m-cart b{display:block}
.m-pill{border:1px solid var(--line);border-radius:999px;padding:5px 12px}

/* ---------- asistente de soporte con IA (Gema) ---------- */
.as{display:flex;flex-direction:column;height:100%;background:#fff}
.as-h{display:flex;align-items:center;gap:12px;padding:14px 16px 10px;border-bottom:1px solid var(--line-2);flex:0 0 auto}
.as-av{width:44px;height:44px;border-radius:10px;overflow:hidden;flex:0 0 auto}
.as-av img{width:100%;height:100%}
.as-n{flex:1;min-width:0}
.as-n b{display:block;font-size:17px;font-weight:600}
.as-n small{color:var(--dim);font-size:13px}
.as-hours{text-align:center;color:var(--dim);font-size:13px;padding:14px 18px 4px;line-height:1.5}
.as-day{text-align:center;margin:16px 0 10px}
.as-day span{display:inline-block;background:#F4F2EE;border-radius:8px;padding:5px 12px;font-size:13px}
.as-m{display:flex;flex-direction:column;margin:6px 12px;max-width:82%}
.as-m.me{align-self:flex-end;align-items:flex-end;margin-left:auto}
.as-m.them{align-items:flex-start}
.as-b{padding:12px 16px;border-radius:20px;font-size:15.5px;line-height:1.45;white-space:normal;word-wrap:break-word}
.as-m.me .as-b{background:var(--gold);color:#fff;white-space:pre-wrap}
.as-m.them .as-b{background:#F4F3F1;color:var(--ink)}
.as-b p{margin:0 0 10px}.as-b p:last-child{margin-bottom:0}
.as-b ol,.as-b ul{margin:4px 0 10px;padding-left:22px}.as-b li{margin:3px 0}
.as-m.me .as-b p{margin:0}
.as-meta{font-size:12.5px;color:var(--ink-2);margin:5px 6px 0}
.as-sug{display:flex;flex-wrap:wrap;gap:8px;margin:4px 12px 8px}
.as-typing{display:flex;gap:5px;padding:15px 18px}
.as-typing i{width:7px;height:7px;border-radius:50%;background:#B9B2A6;animation:blink 1.2s infinite}
.as-typing i:nth-child(2){animation-delay:.2s}.as-typing i:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,80%,100%{opacity:.3}40%{opacity:1}}
.as-in{display:flex;align-items:flex-end;gap:8px;margin:8px 12px calc(12px + var(--safe-b));border:1.5px solid var(--line);border-radius:18px;padding:10px 10px 10px 16px;background:#fff;flex:0 0 auto}
.as-in:focus-within{border-color:var(--gold)}
.as-in textarea{flex:1;border:none;outline:none;resize:none;font-size:16px;line-height:1.4;max-height:140px;padding:6px 0;background:transparent}
.as-send{width:38px;height:38px;border-radius:50%;background:#F1EFEB;color:#B9B2A6;display:grid;place-items:center;flex:0 0 auto}
.as-send.on{background:var(--gold);color:#fff}

/* ---------- avisos y «sin leer» ---------- */
.cfilter{display:flex;gap:8px;padding:0 14px 12px}
.cfilter .icon{width:16px;height:16px}
.teambar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;background:var(--gold-softer);border-bottom:1px solid #EADFC8;font-size:13px;flex:0 0 auto}
.teambar.warn{background:#FBEDEA;border-bottom-color:#F1D3CC}
.teambar .btn{min-height:30px;font-size:10.5px;padding:0 12px;white-space:normal;text-align:center}
.cbox{width:22px;height:22px;border-radius:5px;border:1.5px solid #8F887C;display:grid;place-items:center;color:transparent;flex:0 0 auto;background:#fff}
.cbox .icon{width:15px;height:15px;stroke-width:2.6}
.cbox.on{background:var(--gold);border-color:var(--gold);color:#fff}
.toggle:disabled{cursor:default}
.article h3{font-size:17px;font-weight:600;margin:22px 0 8px}
.article table{width:100%;border-collapse:collapse;margin:8px 0 14px;font-size:13.5px}
.article th,.article td{border:1px solid var(--line);padding:9px 10px;text-align:left;vertical-align:top}
.article th{background:var(--gold-softer);font-weight:600}
.article .callout{background:var(--gold-softer);border:1px solid #EADFC8;border-radius:8px;padding:12px 14px;margin:12px 0}
.article .dim{font-size:15px}

/* ---------- portada: slider de fotos gastro de clientes ---------- */
.gslider{position:absolute;inset:0;overflow:hidden}
.gs-l{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.4s ease;will-change:opacity,transform}
.gs-l.on{opacity:1}
.gs-l.kb{animation:kb 7s ease-out forwards}
@keyframes kb{from{transform:scale(1.14)}to{transform:scale(1.02)}}
.gslider.ready ~ .shade{background:linear-gradient(180deg,rgba(11,10,7,.35) 0%,rgba(11,10,7,.15) 38%,rgba(11,10,7,.55) 70%,rgba(11,10,7,.95) 100%)}
@media (prefers-reduced-motion:reduce){.gs-l.kb{animation:none}}

/* ---------- «Añadir producto» y biblioteca del proveedor ---------- */
.pform .lbl{font-size:14.5px;margin:20px 0 8px}
.pform .hint{color:var(--dim);font-size:13.5px;margin:-4px 0 8px;line-height:1.35}
.pform .chips{gap:10px}
.pform .chip{padding:11px 20px;font-size:15px}
.pform .chip:disabled{opacity:.6}
.chip.new{color:var(--gold-ink);display:inline-flex;align-items:center;gap:6px}
.chip.new .icon{width:18px;height:18px}
.money{display:flex;align-items:stretch;border:1px solid var(--line);background:#fff;border-radius:4px}
.money span{padding:0 16px;display:grid;place-items:center;border-right:1px solid var(--line);color:var(--ink-2);font-size:15px}
.money input{flex:1;border:none;outline:none;padding:12px 13px;background:transparent;min-width:0}
.money:focus-within{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}

/* Inicio · tira de proveedores y fila «Añadir proveedor» */
.supstrip{display:flex;gap:12px;overflow-x:auto;padding:2px 16px 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.supstrip::-webkit-scrollbar{display:none}
.sup-it{flex:0 0 auto;width:66px;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;color:var(--ink);text-align:center;background:none;border:0;padding:0;cursor:pointer}
.sup-it .nm{max-width:66px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sa-ic{width:52px;height:52px;border-radius:50%;border:1.5px dashed var(--gold);display:grid;place-items:center;color:var(--gold-ink);background:var(--gold-softer,#FAF5EB);flex:0 0 auto}
.sa-ic svg{width:22px;height:22px}
.sa-ic.sm{width:40px;height:40px}
.sa-ic.sm svg{width:18px;height:18px}
.addrow .t{font-weight:600;color:var(--gold-ink)}

.ai-inv{margin-top:8px;font-size:12.5px;color:var(--dim);background:var(--gold-softer,#FAF5EB);border-radius:6px;padding:6px 9px}
.ai-inv b{color:var(--ink);font-weight:600}

/* =================== ESCRITORIO (≥1024 px) · maqueta tipo Choco web =================== */
.deskonly,.side{display:none}
@media (min-width:1024px){
  :root{--side-w:232px}
  body.side-min{--side-w:72px}
  body.desk .deskonly{display:inline-flex}
  body.desk .mobonly,body.desk .bnav,body.desk #rootFab,body.desk .chat-fab,body.desk .grab{display:none!important}
  html,body{background:var(--bg)}
  /* barra lateral */
  body.desk .side{display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;width:var(--side-w);background:#14110C;color:#E9E2D4;z-index:40;transition:width .15s}
  .sd-logo{display:flex;align-items:center;gap:10px;padding:18px 18px 16px;border-bottom:1px solid rgba(255,255,255,.08);min-height:74px}
  .sd-logo img{width:34px;height:34px;border-radius:9px;flex:0 0 auto}
  .sd-logo span{font-family:var(--display);font-size:17px;letter-spacing:.03em;color:#fff;line-height:1}
  .sd-logo small{display:block;font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-top:4px;font-weight:600}
  .sd-nav{flex:1;padding:12px 0;overflow-y:auto}
  .sd-it{display:flex;align-items:center;gap:14px;width:100%;padding:12px 20px;font-size:15.5px;color:#D8D0C1;position:relative;white-space:nowrap}
  .sd-it:hover{background:rgba(255,255,255,.05);color:#fff}
  .sd-it.on{color:#fff;font-weight:600;background:rgba(193,163,104,.14)}
  .sd-it.on::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--gold)}
  .sd-it.on .icon{color:var(--gold)}
  .sd-b{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--gold);color:#14110C;font-size:11px;font-weight:700;font-style:normal;display:grid;place-items:center}
  .sd-foot{border-top:1px solid rgba(255,255,255,.08);padding:8px 0 0;position:relative}
  .sd-foot .sd-it{font-size:14px;padding:10px 20px}
  .sd-user{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;text-align:left}
  .sd-user:hover{background:rgba(255,255,255,.05)}
  .sd-user .av{background:#F6E7B8;border-color:#F6E7B8;color:#5C4A1E}
  .sd-user .lb{min-width:0}
  .sd-user b{display:block;font-weight:600;font-size:14px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sd-user small{display:block;font-size:12px;color:#A79E8E;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sd-pop{position:absolute;left:calc(100% - 8px);bottom:56px;width:260px;background:#fff;color:var(--ink);border-radius:8px;box-shadow:0 12px 34px -10px rgba(0,0,0,.35);overflow:hidden;z-index:2}
  .sd-pop button{display:block;width:100%;padding:14px 16px;text-align:left;font-size:15px;border-bottom:1px solid var(--line)}
  .sd-pop button:hover{background:var(--gold-softer)}
  .sd-pop .dg{color:var(--danger);border-bottom:none}
  .sd-min{display:flex;align-items:center;gap:12px;width:100%;padding:12px 20px;background:rgba(193,163,104,.10);color:#D8D0C1;font-size:13px;margin-top:6px}
  body.side-min .side .lb,body.side-min .sd-b{display:none}
  body.side-min .sd-logo,body.side-min .sd-it,body.side-min .sd-user,body.side-min .sd-min{justify-content:center;padding-left:0;padding-right:0}
  body.side-min .sd-logo{padding:18px 0 16px}
  /* marco: todo a la derecha de la barra, ancho completo */
  body.desk .shell{max-width:none;margin:0 0 0 var(--side-w);box-shadow:none;min-height:100vh}
  body.desk .loc{min-height:84px;padding:12px 28px;gap:16px;background:var(--bg)}
  body.desk .loc-btn{flex:0 1 auto;max-width:460px;grid-template-columns:auto auto;padding:6px 10px;border-radius:8px}
  body.desk .loc-btn:hover{background:var(--line-2)}
  body.desk .loc-n{font-size:16px}
  body.desk .loc-a{font-size:13px}
  body.desk #topStart{margin-left:auto;min-height:48px;padding:0 28px}
  body.desk main{background:var(--bg)}
  /* pantallas apiladas: ocupan todo el área de contenido */
  body.desk .page{left:var(--side-w);right:0;width:auto;max-width:none;transform:none;animation:dkin .14s ease-out;box-shadow:-1px 0 0 var(--line)}
  @keyframes dkin{from{opacity:.5}to{opacity:1}}
  body.desk .page .ph{min-height:68px;padding:8px 20px;background:var(--bg)}
  body.desk .page .ph .t{font-size:19px;font-weight:600}
  body.desk .page:not(.wide):not(.p-chat):not(.p-order) .pb,body.desk .page:not(.wide):not(.p-chat):not(.p-order) .pf{padding-left:max(16px,calc((100% - 820px)/2));padding-right:max(16px,calc((100% - 820px)/2))}
  body.desk .page:not(.wide):not(.p-chat):not(.p-order) .pf .btn-block{max-width:520px;margin:0 auto}
  body.desk .dk-acts{gap:10px;align-items:center;margin-left:auto;margin-right:6px}
  body.desk .dk-acts .btn{min-height:40px;padding:0 20px}
  .dk-l{display:inline-flex;align-items:center;gap:8px}
  /* chats: lista estrecha a la izquierda y conversación a la derecha */
  body.desk.tab-chats #main{max-width:420px;border-right:1px solid var(--line);background:#fff}
  body.desk.tab-chats #main .citem:hover{background:var(--gold-softer)}
  body.desk.split .page.p-chat{left:calc(var(--side-w) + 420px);top:84px;box-shadow:-1px 0 0 var(--line);animation:none}
  body.desk.tab-chats #topStart{display:none}
  body.desk .page.sideroot .ph>.iconbtn:first-child{display:none}
  body.desk .page.sideroot .ph{min-height:84px;padding:12px 32px}
  body.desk .page.sideroot .ph .t{font-family:var(--display);text-transform:uppercase;color:var(--gold-ink);font-size:30px;font-weight:400;text-align:left}
  body.desk.split .page.p-chat .ph [data-a=back]{display:none}
  body.desk.split .page.p-chat .ph{padding-left:20px}
  body.desk .p-chat .msgs{max-width:980px;margin:0 auto}
  body.desk .composer{padding:12px 20px}
  /* hojas inferiores → ventanas centradas */
  body.desk .sheet-back.show{align-items:center;padding:32px}
  body.desk .sheet{max-width:560px;border-radius:12px;padding:22px 24px 24px;max-height:86vh;box-shadow:0 30px 70px -20px rgba(0,0,0,.45);animation:dkin .14s ease-out}
  body.desk .dlg{max-width:400px}
  body.desk #toasts{left:auto;right:28px;transform:none;bottom:28px;width:380px}
  /* inicio */
  body.desk #main>.sec-h{padding:26px 32px 12px}
  body.desk #main>.sec-h b{font-size:20px}
  body.desk #main>.hcard{margin:0 32px;display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px;background:none;border:none;overflow:visible}
  body.desk #main>.hcard>.row,body.desk #main>.hcard>.citem{background:#fff;border:1px solid var(--line);border-radius:8px;min-height:96px}
  body.desk #main>.hcard>.row::after{display:none}
  body.desk #main>.hcard>.row:hover,body.desk #main>.hcard>.citem:hover{border-color:var(--gold-l)}
  body.desk #main>.card-empty{margin:0 32px}
  body.desk #main>.remind{margin-left:32px;width:calc(100% - 64px)}
  body.desk #main>.supstrip{padding-left:32px;padding-right:32px}
  /* hacer pedido: categorías · productos · resumen */
  body.desk .p-order .do-q{margin:0 8px 0 auto;flex:0 1 380px;height:42px}
  .do-wrap{flex:1;display:flex;min-height:0}
  .do-cats{width:250px;flex:0 0 250px;border-right:1px solid var(--line);overflow-y:auto;padding:14px 0}
  .do-sc{display:flex;align-items:center;gap:10px;width:calc(100% - 24px);margin:0 12px 4px;padding:11px 12px;border-radius:8px;font-size:15px}
  .do-sc .icon{width:19px;height:19px;color:var(--gold-ink)}
  .do-sc i,.do-catlist i{margin-left:auto;font-style:normal;font-size:12.5px;color:var(--dim)}
  .do-sc.on{background:var(--gold-soft);font-weight:600}
  .do-sc:hover,.do-catlist button:hover{background:var(--gold-softer)}
  .do-h{padding:18px 24px 8px;font-weight:600;font-size:14px;border-top:1px solid var(--line);margin-top:10px}
  .do-catlist button{display:flex;align-items:center;gap:8px;width:calc(100% - 24px);margin:0 12px 2px;padding:9px 12px;border-radius:8px;font-size:14px;text-align:left}
  .do-catlist button.on{background:var(--gold-soft);font-weight:600}
  body.desk .p-order #plist{flex:1;min-width:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));align-content:start;gap:12px;padding:16px}
  body.desk .p-order #plist>.prow{background:#fff;border:1px solid var(--line);border-radius:8px}
  body.desk .p-order #plist>.prow.has{border-color:var(--gold)}
  body.desk .p-order #plist>.empty{grid-column:1/-1}
  .do-cart{width:380px;flex:0 0 380px;border-left:1px solid var(--line);display:flex;flex-direction:column;background:#fff}
  .do-ch{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 10px;font-size:17px}
  .do-cb{flex:1;overflow-y:auto}
  .do-cart .pf{background:#fff}
  .do-cart .empty{min-height:0;padding:40px 20px}.do-cart .empty .ill{width:110px}
  /* pedidos en tabla */
  .dk-h{padding:28px 32px 6px}
  .dk-tools{display:flex;align-items:center;gap:14px;padding:12px 32px 16px;flex-wrap:wrap}
  .dk-tools .search{margin:0;flex:0 1 420px;background:#fff}
  .seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;background:#fff;padding:3px}
  .seg button{padding:8px 18px;border-radius:999px;font-size:14px;color:var(--ink-2)}
  .seg button.on{background:var(--gold-soft);color:var(--gold-ink);font-weight:600}
  .dk-card{margin:0 32px 32px;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}
  .tbl{width:100%;border-collapse:collapse;font-size:14.5px}
  .tbl th{text-align:left;font-weight:500;color:var(--ink-2);font-size:13.5px;padding:14px 16px;border-bottom:1px solid var(--line);background:#FCFAF6;white-space:nowrap}
  .tbl td{padding:12px 16px;border-bottom:1px solid var(--line-2);vertical-align:middle}
  .tbl .r{text-align:right}
  .tbl tbody tr{cursor:pointer}
  .tbl tbody tr:hover{background:var(--gold-softer)}
  .tbl tr.nohov{cursor:default}.tbl tr.nohov:hover{background:none}
  .tcell{display:inline-flex;align-items:center;gap:10px;font-weight:500}
  .tfoot{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;font-size:13.5px}
  .pager{display:inline-flex;align-items:center;gap:6px}
  .pager .iconbtn:disabled{opacity:.3}
  /* informes */
  .rp{max-width:980px;margin:0 auto;padding:28px 32px}
  .rp-types{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
  .rp-t{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;text-align:left}
  .rp-t.on{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
  .rp-t .radio{margin-top:2px}
  .rp-t.on .radio{border-color:var(--gold)}.rp-t.on .radio::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--gold)}
  .rp-t b{display:block;font-size:17px;font-weight:600}
  .rp-t small{display:block;color:var(--ink-2);font-size:13px;margin-top:2px}
  .rp-t em{display:block;font-style:normal;color:var(--dim);font-size:12.5px;margin-top:10px;line-height:1.45}
  .rp-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:10px}
  .rp-locs{background:#fff;border:1px solid var(--line);border-radius:6px;max-height:240px;overflow-y:auto}
  .ck{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line-2);cursor:pointer;font-size:14.5px}
  .ck:last-child{border-bottom:none}
  .ck input{width:17px;height:17px;accent-color:var(--gold)}
}
/* informes en móvil */
@media (max-width:1023px){
  .rp{padding:16px}.rp-types{display:grid;gap:10px}.rp-t{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;text-align:left}
  .rp-t.on{border-color:var(--gold)}.rp-t.on .radio{border-color:var(--gold)}.rp-t.on .radio::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--gold)}
  .rp-t b{display:block;font-weight:600}.rp-t small{display:block;color:var(--ink-2);font-size:13px}.rp-t em{display:none}
  .rp-locs{background:#fff;border:1px solid var(--line);border-radius:6px}
  .ck{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line-2);font-size:14.5px}.ck input{width:17px;height:17px;accent-color:var(--gold)}
  .tbl{width:100%}
}

/* informes: envíos programados por email */
.rp-sec{margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}
.rp-sh{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.rp-sh b{font-size:17px;font-weight:600}.rp-sh small{display:block;color:var(--dim);font-size:13px;margin-top:2px}
.rp-sub{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px 10px 12px 14px;margin-bottom:8px}
.rp-sub.off{opacity:.6}
.rp-sub .b{flex:1;min-width:0}.rp-sub b{font-weight:600}
.rp-sub small{display:block;color:var(--ink-2);font-size:12.5px;margin-top:2px;overflow:hidden;text-overflow:ellipsis}
.rp-sub small.err{color:var(--danger)}
