/* Comida y bebidas: panel del vendedor (menús, platillos, modificadores, cocina) y tienda (menú, configurador). */
.me .pe-row2 { align-items:start; }
.me input[type=date], .me input[type=time], .me input[type=number], .me input[type=text] { width:100%; min-height:48px; padding:10px 12px; border:1px solid var(--line); border-radius:12px; background:var(--card); color:inherit; font:inherit; }
.me input[type=checkbox] { width:22px; height:22px; flex:none; accent-color:#0E5A3A; }
.me .check { display:flex; gap:10px; align-items:center; min-height:44px; cursor:pointer; }
.me .opt-row { align-items:flex-start; padding:6px 0; }
.me .row-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.me .danger, .p-card .danger { color:#b02a2a; }
.pe-card.mini { padding:10px; background:var(--soft); border-radius:14px; margin-bottom:8px; }
.mo-top { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.mo-top .mo-p, .mo-top .sz-p { flex:0 0 110px; width:110px; min-height:48px; padding:10px 12px; border:1px solid var(--line); border-radius:12px; background:var(--card); color:inherit; font:inherit; }
.mo-top .mo-l, .mo-top .sz-l, .mo-top .ig-n { flex:1 1 150px; min-height:48px; padding:10px 12px; border:1px solid var(--line); border-radius:12px; background:var(--card); color:inherit; font:inherit; }
.mo { border:1px solid var(--line); border-radius:14px; padding:10px; margin-bottom:10px; background:var(--card); display:grid; gap:8px; }
.mo-row { display:flex; flex-wrap:wrap; gap:6px 14px; align-items:center; font-size:14px; }
.mo-row input[type=number] { width:72px; min-height:44px; padding:6px 8px; border:1px solid var(--line); border-radius:10px; background:var(--card); color:inherit; font:inherit; }
.mo-sp { display:grid; gap:6px; margin:6px 0; } .mo-spr { display:flex; gap:8px; }
.mo-spr input { flex:1; min-height:44px; padding:6px 10px; border:1px solid var(--line); border-radius:10px; background:var(--card); color:inherit; font:inherit; }
.rules { border:1px solid var(--line); border-radius:14px; padding:10px; margin:0 0 10px; } .rules legend { padding:0 6px; font-weight:600; }
.sch { display:grid; gap:6px; } .sch-day { display:flex; flex-wrap:wrap; gap:8px; align-items:center; padding:6px 0; border-bottom:1px solid var(--line); }
.sch-open { display:flex; gap:10px; align-items:center; min-width:130px; min-height:44px; }
.sch-ranges { display:flex; flex-wrap:wrap; gap:8px; } .sch-r { display:flex; gap:6px; align-items:center; } .sch-r input[type=time] { width:120px; } .sch-next { color:#8a6a00; font-size:12px; }
.clos { list-style:none; margin:10px 0 0; padding:0; display:grid; gap:8px; } .clos li { display:flex; justify-content:space-between; gap:10px; align-items:center; flex-wrap:wrap; }
.al-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:2px 10px; margin:6px 0 10px; }
.phs { display:flex; flex-wrap:wrap; gap:10px; } .ph { display:grid; gap:4px; justify-items:start; } .ph img { width:96px; height:96px; object-fit:cover; border-radius:12px; border:1px solid var(--line); }
.chips-sz { display:flex; flex-wrap:wrap; gap:4px 14px; align-items:center; margin-top:6px; }
.mi { list-style:none; margin:8px 0; padding:0; display:grid; gap:6px; } .mi li { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; align-items:center; padding:6px 0; border-bottom:1px solid var(--line); }
/* Cocina */
.kitchen { display:grid; gap:12px; grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr)); }
.kt { background:var(--card); border:2px solid var(--line); border-radius:18px; padding:12px; display:grid; gap:8px; } .kt.pendiente { border-color:#e0a800; } .kt.preparacion { border-color:#0E5A3A; } .kt.listo { border-color:#1D63D8; }
.kt header { display:flex; flex-wrap:wrap; gap:6px 10px; align-items:center; } .kt header b { font-size:20px; }
.kt-items { list-style:none; margin:0; padding:0; display:grid; gap:10px; } .kt-items > li > b { font-size:17px; }
.kt-mod { margin-left:10px; font-size:15px; } .kt-mod.rem { color:#a52a2a; font-weight:600; }
.kt-note { margin:4px 0 0 10px; padding:6px 10px; background:#fff3bf; color:#5c4400; border-radius:10px; font-weight:700; }
/* Tienda: menú de restaurante */
.rest-status { display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; padding:10px 14px; border-radius:14px; background:var(--soft); margin:10px 0; }
.rest-status.open { background:#E4F2EA; color:#0A3F29; } .rest-status.closed { background:#fff6dc; color:#6b5200; }
.menu-tabs { display:flex; gap:8px; overflow-x:auto; padding:4px 0 10px; scrollbar-width:none; } .menu-tabs::-webkit-scrollbar { display:none; }
.menu-sec { margin-top:18px; } .menu-sec h3 { font-size:22px; margin:0 0 8px; scroll-margin-top:90px; }
.dishes { display:grid; gap:10px; grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr)); }
.dish { display:flex; gap:12px; text-align:left; width:100%; padding:10px; background:var(--card); border:1px solid var(--line); border-radius:16px; color:inherit; font:inherit; cursor:pointer; min-height:104px; }
.dish .dth { flex:none; width:92px; height:92px; border-radius:12px; overflow:hidden; background:var(--soft); display:grid; place-items:center; } .dish .dth img { width:100%; height:100%; object-fit:cover; }
.dish .dbd { flex:1; min-width:0; display:grid; gap:2px; align-content:start; } .dish b { font-size:16px; }
.dish .dd { color:var(--muted); font-size:13.5px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; } .dish .dp { font-weight:700; }
.dish.out { opacity:.65; }
.menu-search { width:100%; min-height:48px; padding:0 14px; border:1px solid var(--line); border-radius:99px; background:var(--card); color:inherit; font:inherit; margin:6px 0; }
.upcoming { margin-top:8px; font-size:14px; }
/* Configurador */
.cfg-dlg { width:min(560px,100vw); max-height:100dvh; padding:0; } .cfg-dlg form { display:flex; flex-direction:column; max-height:100dvh; }
.cfg-head { padding:14px 16px 8px; } .cfg-head h3 { margin:0; font-size:22px; } .cfg-body { overflow-y:auto; padding:0 16px 12px; flex:1; }
.cfg-grp { border:0; padding:0; margin:0 0 14px; } .cfg-grp legend { font-weight:700; font-size:16px; padding:0; margin-bottom:4px; }
.cfg-grp legend em { font-style:normal; font-weight:500; font-size:13px; margin-left:6px; padding:2px 8px; border-radius:99px; background:var(--soft); color:var(--muted); } .cfg-grp legend em.req { background:#fde8e8; color:#a52a2a; }
.cfg-opt { display:flex; align-items:center; gap:10px; min-height:48px; padding:6px 4px; border-bottom:1px solid var(--line); cursor:pointer; }
.cfg-opt input[type=radio], .cfg-opt input[type=checkbox] { width:22px; height:22px; accent-color:#0E5A3A; flex:none; } .cfg-opt span { flex:1; } .cfg-opt b { font-variant-numeric:tabular-nums; }
.cfg-opt.off { opacity:.55; cursor:not-allowed; }
.stepper { display:flex; align-items:center; gap:6px; } .stepper button { width:44px; height:44px; border-radius:50%; border:1px solid var(--line); background:var(--card); font-size:20px; cursor:pointer; color:inherit; } .stepper output { min-width:24px; text-align:center; font-weight:700; }
.cfg-foot { position:sticky; bottom:0; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); background:var(--card); border-top:1px solid var(--line); display:flex; gap:10px; align-items:center; } .cfg-foot .btn { flex:1; min-height:52px; justify-content:center; }
.cfg-note textarea { width:100%; min-height:72px; padding:10px 12px; border:1px solid var(--line); border-radius:12px; background:var(--card); color:inherit; font:inherit; }
.cfg-info { font-size:13.5px; color:var(--muted); margin:8px 0; } .cfg-info b { color:inherit; }
.cfg-total { font-variant-numeric:tabular-nums; }
@media (max-width:700px) { .cfg-dlg { width:100vw; height:100dvh; border-radius:0; margin:0; } }
.cart-mods { margin:2px 0 0; padding:0; list-style:none; font-size:13px; color:var(--muted); display:grid; gap:1px; } .cart-mods .rem { color:#a52a2a; } .cart-mods .note { color:#5c4400; background:#fff3bf; padding:2px 6px; border-radius:6px; }

dialog.cfg-dlg { width:min(560px,100vw); max-width:100vw; }
.cfg-head { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; } .cfg-x { flex:none; width:44px; height:44px; border:0; border-radius:50%; background:var(--soft); font-size:18px; cursor:pointer; color:inherit; }
.cfg-opt span { min-width:0; overflow-wrap:anywhere; } .cfg-opt .stepper button { width:40px; height:40px; }
@media (max-width:700px) { dialog.cfg-dlg { width:100vw; max-width:100vw; height:100dvh; max-height:100dvh; border-radius:0; margin:0; } }

.agenda { display:grid; gap:12px; grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr)); }
.kt.bk.pending_approval, .kt.bk.pending_quote, .kt.bk.awaiting_payment { border-color:#e0a800; } .kt.bk.confirmed, .kt.bk.in_service { border-color:#0E5A3A; } .kt.bk.finished { border-color:var(--line); } .kt.bk.cancelled, .kt.bk.rejected, .kt.bk.expired, .kt.bk.no_show { border-color:#d9b3b3; opacity:.85; }
/* Reservas en la tienda */
.slot-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(84px,1fr)); gap:8px; margin:8px 0; } .slot { min-height:46px; border:1px solid var(--line); border-radius:12px; background:var(--card); color:inherit; font:600 15px inherit; cursor:pointer; } .slot[aria-pressed="true"] { background:#0E5A3A; color:#fff; border-color:#0E5A3A; }
.bk-card { border:1px solid var(--line); border-radius:16px; padding:12px; margin:10px 0; background:var(--soft); display:grid; gap:6px; } .bk-card.q { background:#fff8e1; border-color:#e0a800; }
.bk-status { display:inline-block; padding:4px 12px; border-radius:99px; font-weight:700; font-size:13px; background:#fff6dc; color:#6b5200; } .bk-status.ok { background:#E4F2EA; color:#0A3F29; } .bk-status.bad { background:#fde8e8; color:#a52a2a; }
.svc-facts { display:flex; flex-wrap:wrap; gap:8px 16px; margin:8px 0; padding:0; list-style:none; } .svc-facts li { font-size:14px; }
.svc-two { display:grid; gap:10px; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }

/* ---------------- Importar menú (Musa) ---------------- */
.imp-top { display:flex; flex-wrap:wrap; gap:12px 24px; align-items:flex-start; justify-content:space-between; margin-bottom:10px; }
.imp-h { margin:0; font-size:1.35rem; }
.imp-steps { display:flex; gap:14px; list-style:none; margin:0; padding:0; flex-wrap:wrap; }
.imp-steps li { display:flex; align-items:center; gap:6px; font-size:.85rem; color:var(--muted,#5b6577); }
.imp-steps .n { display:inline-grid; place-items:center; width:26px; height:26px; border-radius:50%; background:var(--soft,#eef1f6); color:inherit; font-weight:700; font-size:.8rem; }
.imp-steps .now { color:var(--ink,#14213D); font-weight:700; } .imp-steps .now .n, .imp-steps .done .n { background:#2864D7; color:#fff; }
.imp-sim { background:#fff7d6; border:1px solid #e6d27a; border-radius:10px; padding:8px 12px; font-size:.85rem; margin:0 0 10px; }
.imp { container-type:inline-size; min-width:0; }
.imp-cols { display:grid; grid-template-columns:minmax(0,340px) minmax(0,1fr); gap:14px; align-items:start; }
@container (max-width: 900px) { .imp-cols { grid-template-columns:minmax(0,1fr); } }
.imp-left, .imp-right { display:grid; gap:12px; min-width:0; }
.imp-drop { display:grid; gap:6px; justify-items:center; text-align:center; padding:20px 12px; border:2px dashed #2864D7; border-radius:14px; background:#f3f7ff; cursor:pointer; min-height:48px; }
.imp-drop:focus-visible { outline:3px solid #14213D; outline-offset:2px; } .imp-drop.over { background:#e3edff; } .imp-drop.busy { cursor:progress; opacity:.85; }
.imp-up { font-size:1.6rem; color:#2864D7; }
.imp-musa { display:flex; gap:8px; align-items:center; margin:0 0 10px; font-size:.9rem; }
.imp-av { width:28px; height:28px; border-radius:50%; object-fit:cover; flex:none; background:#efe3ff; }
.imp-quota { margin:8px 0 0; font-size:.8rem; }
.imp-file { display:flex; gap:10px; align-items:center; margin-top:10px; padding:10px; border:1px solid var(--line,#dfe4ee); border-radius:12px; }
.imp-file > div { flex:1; min-width:0; word-break:break-word; }
.imp-chat { display:grid; gap:8px; max-height:300px; overflow:auto; margin-bottom:8px; }
.imp-bot, .imp-me { margin:0; padding:9px 12px; border-radius:14px; font-size:.9rem; max-width:92%; }
.imp-bot { background:#f1f3f8; display:flex; gap:8px; align-items:flex-start; } .imp-me { background:#dfe9ff; justify-self:end; }
.imp-send { display:flex; gap:8px; margin:6px 0; } .imp-send input { flex:1; min-width:0; min-height:44px; }
.sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.imp-head { display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center; margin-bottom:8px; } .imp-head h4 { margin:0; }
.imp-orig { margin-left:auto; font-size:.9rem; }
.imp-b { display:inline-flex; gap:4px; align-items:center; flex-wrap:wrap; padding:3px 10px; border-radius:999px; font-size:.8rem; font-weight:600; }
.imp-b small { font-weight:500; flex-basis:100%; } .imp-b.ok { background:#e2f6e6; color:#17632a; } .imp-b.warn { background:#fff0d1; color:#8a4b00; }
.imp-table { display:grid; border:1px solid var(--line,#dfe4ee); border-radius:12px; overflow:hidden; margin:8px 0; min-width:0; }
.imp-tr { display:grid; grid-template-columns:minmax(150px,2fr) minmax(110px,1fr) minmax(110px,1fr) minmax(130px,1fr); gap:8px; padding:8px 10px; align-items:center; border-top:1px solid var(--line,#dfe4ee); }
.imp-tr.fam { grid-template-columns:minmax(150px,1.4fr) minmax(220px,2.4fr) minmax(130px,1fr); }
.imp-th { background:var(--soft,#f3f5fa); font-weight:700; font-size:.82rem; border-top:0; }
.imp-tr input:not([type=checkbox]) { width:100%; min-height:40px; min-width:0; } .imp-tr input[type=checkbox] { width:20px; height:20px; min-height:0; flex:none; margin-top:2px; } .imp-tr input.bad { border-color:#d9822b; background:#fff8ee; }
.imp-tr > span { min-width:0; } .imp-tr small { display:block; }
.imp-chg { grid-column:1 / -1; } .imp-chg:empty { display:none; }
.imp-apply { display:flex; gap:8px; align-items:flex-start; font-size:.85rem; background:#eef4ff; border-radius:10px; padding:8px 10px; }
.imp-st { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.imp-prices { display:flex; flex-wrap:wrap; gap:8px; } .imp-prices label { display:grid; gap:2px; font-size:.75rem; flex:1 1 90px; }
.imp-fam { margin-top:14px; } .imp-fam-h { margin-bottom:2px; } .imp-sizes { font-size:.85rem; margin:2px 0; }
.imp-pend { background:#f6f7fb; border-radius:10px; padding:8px 12px; font-size:.85rem; } .imp-pend ul { margin:4px 0 0 18px; padding:0; }
.imp-warn { background:#fff6e0; border:1px solid #f0cf86; border-radius:10px; padding:9px 12px; margin:10px 0; font-size:.9rem; }
.imp-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:12px; } .imp-spacer { flex:1; }
.imp-note { font-size:.8rem; text-align:right; margin:4px 0 0; }
.imp-actions .btn[disabled] { opacity:.5; cursor:not-allowed; }
@container (max-width: 640px) {
  .imp-tr, .imp-tr.fam { grid-template-columns:minmax(0,1fr); gap:6px; }
  .imp-th { display:none; }
  .imp-tr > span[data-label]::before { content:attr(data-label); display:block; font-size:.72rem; color:var(--muted,#5b6577); margin-bottom:2px; }
  .imp-note { text-align:left; } .imp-actions .btn { flex:1 1 140px; }
}
.imp .linkbtn { background:none; border:0; padding:8px 4px; min-height:44px; color:#2864D7; font:inherit; font-weight:600; cursor:pointer; text-decoration:underline; }
.imp .linkbtn:focus-visible { outline:3px solid #14213D; outline-offset:2px; border-radius:6px; }

/* ===== Asistente de menú en cuatro pasos (Subir · Organizar · Revisar · Publicar) ===== */
.wiz .imp-stp { display:inline-flex; align-items:center; gap:6px; background:none; border:0; padding:6px 4px; min-height:44px; font:inherit; color:inherit; cursor:pointer; }
.wiz .imp-stp[disabled] { cursor:not-allowed; opacity:.55; } .wiz .imp-stp:focus-visible { outline:3px solid #14213D; outline-offset:2px; border-radius:8px; }
.imp-bar { display:flex; gap:10px; align-items:center; margin:0 0 10px; font-size:.85rem; position:sticky; top:0; z-index:3; background:var(--bg,#F5F7FA); padding:6px 0; }
.imp-bar .bad, .wiz #impSaveState.bad { color:#a02a1a; font-weight:600; }
.wiz-body { display:grid; gap:14px; grid-template-columns:minmax(0,1fr); align-items:start; }
.wiz-main { display:grid; gap:12px; min-width:0; }
.wiz-pv { display:none; }
.imp-pvbtn { display:inline-flex; }
@container (min-width:900px) {
  .wiz-body.withpv { grid-template-columns:minmax(0,1fr) 320px; }
  .wiz-body.withpv .wiz-pv { display:block; position:sticky; top:48px; max-height:calc(100dvh - 70px); overflow:auto; border:1px solid var(--line,#dfe4ee); border-radius:14px; background:#fff; padding:12px; }
  .imp-pvbtn { display:none; }
}
.wiz .up-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:12px; }
.wiz .up-card { display:grid; gap:8px; align-content:start; padding:16px; border:2px solid #2864D7; border-radius:16px; background:#f3f7ff; min-height:180px; }
.wiz .up-card.off { border-color:var(--line,#dfe4ee); background:#f6f7fb; } .wiz .up-card h5 { margin:0; font-size:1.1rem; } .wiz .up-card p { margin:0; font-size:.88rem; } .wiz .up-ic { font-size:1.8rem; }
.wiz .up-queue { list-style:none; margin:10px 0 0; padding:0; display:grid; gap:6px; }
.wiz .up-queue li { display:flex; flex-wrap:wrap; gap:8px; align-items:center; padding:8px 10px; border:1px solid var(--line,#dfe4ee); border-radius:10px; }
.wiz .up-queue .q-name { flex:1 1 140px; word-break:break-word; } .wiz .up-queue .q-error .q-st { color:#a02a1a; } .wiz .up-queue .q-done .q-st { color:#17632a; }
.wiz .chips { display:flex; flex-wrap:wrap; gap:6px; list-style:none; margin:0 0 8px; padding:0; }
.wiz .chip { display:inline-flex; gap:6px; align-items:center; padding:4px 10px; border-radius:999px; background:#e7eefc; color:#14213D; font-size:.85rem; }
.wiz .chip small { opacity:.7; } .wiz .chip-x { background:none; border:0; min-width:28px; min-height:28px; font-size:1.1rem; cursor:pointer; color:#14213D; border-radius:50%; }
.wiz .chip-x:focus-visible { outline:3px solid #14213D; }
.wiz .inline-add { display:flex; gap:8px; flex-wrap:wrap; } .wiz .inline-add input { flex:1 1 200px; min-height:44px; }
.imp-guide { background:#eef4ff; border-radius:12px; padding:12px 16px; font-size:.9rem; } .imp-guide ol { margin:4px 0 0 18px; padding:0; }
.imp-form .f-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:10px; margin-bottom:8px; } .imp-form label { display:grid; gap:3px; font-size:.85rem; }
.imp-form input:not([type=checkbox]), .imp-form select, .wiz .grp input:not([type=checkbox]), .wiz .grp select { min-height:44px; min-width:0; width:100%; } .wiz .f-wide { grid-column:1 / -1; }
.wiz .f-det { margin:8px 0; border:1px solid var(--line,#dfe4ee); border-radius:12px; padding:6px 12px; } .wiz .f-det summary { cursor:pointer; min-height:36px; font-weight:600; display:flex; align-items:center; }
.wiz .f-prices { margin-top:8px; }
.wiz .grp { border:1px solid var(--line,#dfe4ee); border-radius:12px; padding:6px 12px; margin:8px 0; } .wiz .grp summary { cursor:pointer; min-height:44px; display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.wiz .grp-body { display:grid; gap:10px; padding:6px 0 10px; } .wiz .grp-body label { display:grid; gap:3px; font-size:.85rem; } .wiz .grp-body label.chk { display:flex; gap:8px; align-items:flex-start; }
.wiz .x-box { border:1px dashed var(--line,#c9d1e0); border-radius:10px; padding:8px 10px; } .wiz .x-box legend { font-size:.85rem; font-weight:600; padding:0 4px; }
.wiz .x-row { display:flex; flex-wrap:wrap; gap:8px; align-items:flex-end; margin:6px 0; } .wiz .x-row > input { flex:2 1 160px; } .wiz .x-row label { flex:1 1 90px; font-size:.75rem; }
.wiz .q-use { display:flex; flex-wrap:wrap; gap:8px; align-items:flex-end; margin-top:8px; }
.wiz .cat-h { margin:14px 0 4px; font-size:.95rem; } .wiz .cat-h small { color:var(--muted,#5b6577); font-weight:400; }
.wiz .it-list { list-style:none; margin:0; padding:0; display:grid; gap:6px; }
.wiz .it { display:flex; flex-wrap:wrap; gap:8px 10px; align-items:center; padding:8px 10px; border:1px solid var(--line,#dfe4ee); border-radius:12px; background:#fff; }
.wiz .it-main { flex:1 1 150px; min-width:0; display:grid; } .wiz .it-main small { display:block; }
.wiz .it-tools { display:flex; gap:4px; flex-wrap:wrap; } .wiz .it .btn.small { min-height:40px; }
.wiz .rv { display:inline-grid; place-items:center; min-width:44px; min-height:44px; } .wiz .rv input { width:22px; height:22px; }
.wiz .tabs { display:flex; gap:6px; overflow-x:auto; padding:2px 0 8px; margin:8px 0 4px; -webkit-overflow-scrolling:touch; }
.wiz .tab { flex:none; min-height:44px; padding:0 14px; border-radius:999px; border:1px solid var(--line,#c9d1e0); background:#fff; font:inherit; cursor:pointer; }
.wiz .tab.on { background:#2864D7; color:#fff; border-color:#2864D7; } .wiz .tab:focus-visible { outline:3px solid #14213D; outline-offset:2px; }
.imp-ok { color:#17632a; font-weight:600; margin:0; }
.wiz .pub-cols { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:12px; } .wiz .pub-cols h5 { margin:0 0 6px; } .wiz .pub-cols ul { margin:0; padding-left:18px; }
.wiz .pub-in { background:#e9f7ed; border-radius:12px; padding:10px 14px; } .wiz .pub-out { background:#fff6e0; border-radius:12px; padding:10px 14px; }
.wiz .pv-img { display:inline-block; flex:none; width:64px; height:64px; border-radius:10px; background:repeating-linear-gradient(135deg,#e6ebf4 0 8px,#eef1f8 8px 16px); position:relative; }
.wiz .pv-img::after { content:'🍽'; position:absolute; inset:0; display:grid; place-items:center; opacity:.35; font-size:1.3rem; } .wiz .pv-img.sm { width:40px; height:40px; } .wiz .pv-img.sm::after { font-size:.9rem; }
.wiz .pvw-list { list-style:none; margin:0 0 8px; padding:0; display:grid; gap:8px; } .wiz .pvw-card { display:flex; gap:10px; padding:8px; border:1px solid var(--line,#dfe4ee); border-radius:12px; } .wiz .pvw-card.pend { opacity:.65; border-style:dashed; }
.wiz .pvw-card p { margin:2px 0; font-size:.8rem; color:var(--muted,#5b6577); } .wiz .pvw-pr { display:block; font-weight:700; color:#14213D; } .wiz .pvw-flag { display:block; color:#8a4b00; }
.wiz .pvw-cat { margin:10px 0 4px; font-size:.95rem; color:#14213D; } .wiz .pvw-note { font-size:.78rem; margin:0 0 6px; } .wiz .pvw-head { display:grid; margin-bottom:6px; }
dialog.pv-dlg { max-width:480px; width:calc(100vw - 24px); max-height:88dvh; overflow:auto; }
fieldset.dup { border:1px solid var(--line,#dfe4ee); border-radius:10px; margin:8px 0; } fieldset.dup label { display:flex; gap:8px; align-items:center; min-height:40px; }
@media (max-width:640px) { .imp-tr, .imp-tr.fam { grid-template-columns:1fr; } .wiz .it-tools .btn { flex:1 1 auto; } .wiz .imp-steps { gap:2px; } .wiz .imp-stp { padding:6px 2px; font-size:.8rem; } }
@media (prefers-reduced-motion:reduce) { .wiz * { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
.wiz-body > *, .wiz-main > *, .wiz .pe-card, .wiz .tabs { min-width:0; max-width:100%; }
.wiz .it-list, .wiz .imp-table { min-width:0; }

/* ===== Comprador móvil (según las maquetas): tarjetas con "+" y "Desde", ficha con fichas de tamaño, interruptor, dibujo numerado y botón fijo ===== */
.dish { flex-direction:row-reverse; align-items:center; border-radius:14px; }
.dish .dth { position:relative; width:104px; height:84px; overflow:visible; border-radius:10px; }
.dish .dth img { border-radius:10px; }
.dish .dplus { position:absolute; right:-6px; bottom:-6px; width:34px; height:34px; border-radius:50%; background:#2864D7; color:#fff; font-size:22px; line-height:34px; text-align:center; box-shadow:0 2px 6px rgba(20,33,61,.3); font-weight:700; }
.dish .dp { color:#2864D7; } .dish b { color:#14213D; }
.menu-tabs .chip[aria-pressed=true] { background:#2864D7; color:#fff; border-color:#2864D7; }
.cfg-hero { display:block; width:calc(100% + 32px); margin:0 -16px 12px; height:190px; object-fit:cover; background:#e6ebf4; }
.cfg-grp.tiles { display:grid; grid-template-columns:repeat(auto-fit,minmax(96px,1fr)); gap:8px; } .cfg-grp.tiles legend { grid-column:1 / -1; }
.cfg-grp.tiles .cfg-opt { flex-direction:column; justify-content:center; gap:2px; min-height:64px; padding:8px 6px; border:1.5px solid var(--line,#dfe4ee); border-radius:12px; text-align:center; background:var(--card,#fff); position:relative; }
.cfg-grp.tiles .cfg-opt input { position:absolute; opacity:0; inset:0; width:100%; height:100%; margin:0; cursor:pointer; }
.cfg-grp.tiles .cfg-opt span { flex:none; font-size:.9rem; } .cfg-grp.tiles .cfg-opt b { font-size:1rem; }
.cfg-grp.tiles .cfg-opt:has(input:checked) { background:#2864D7; border-color:#2864D7; color:#fff; } .cfg-grp.tiles .cfg-opt:has(input:checked) b { color:#fff; }
.cfg-grp.tiles .cfg-opt:has(input:focus-visible) { outline:3px solid #14213D; outline-offset:2px; }
.cfg-grp.cfg-seg { }
.cfg-grp.cfg-seg > .cfg-opt { display:inline-flex; width:calc(50% - 4px); min-width:120px; justify-content:center; border:1.5px solid var(--line,#dfe4ee); border-radius:999px; margin:0 4px 6px 0; position:relative; text-align:center; }
.cfg-grp.cfg-seg > .cfg-opt input { position:absolute; opacity:0; inset:0; width:100%; height:100%; margin:0; cursor:pointer; } .cfg-grp.cfg-seg > .cfg-opt span { flex:none; }
.cfg-grp.cfg-seg > .cfg-opt:has(input:checked) { background:#2864D7; border-color:#2864D7; color:#fff; } .cfg-grp.cfg-seg > .cfg-opt:has(input:focus-visible) { outline:3px solid #14213D; outline-offset:2px; }
.cfg-switch { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:56px; padding:8px 4px; border-top:1px solid var(--line,#dfe4ee); cursor:pointer; } .cfg-switch small { display:block; color:var(--muted,#5b6577); } .cfg-switch.off { opacity:.55; cursor:not-allowed; }
.cfg-switch input[role=switch] { appearance:none; -webkit-appearance:none; flex:none; width:52px; height:30px; border-radius:999px; background:#c7cfdd; position:relative; cursor:pointer; transition:background .15s; margin:0; }
.cfg-switch input[role=switch]::after { content:''; position:absolute; top:3px; left:3px; width:24px; height:24px; border-radius:50%; background:#fff; transition:transform .15s; box-shadow:0 1px 3px rgba(0,0,0,.3); }
.cfg-switch input[role=switch]:checked { background:#2864D7; } .cfg-switch input[role=switch]:checked::after { transform:translateX(22px); } .cfg-switch input:focus-visible { outline:3px solid #14213D; outline-offset:2px; }
.cfg-pizza { display:block; width:min(240px,70%); margin:10px auto; } .cfg-lbl { margin-bottom:6px; }
.cfg-dlg .cfg-cards { display:grid; gap:8px; margin:6px 0; } .cfg-dlg .cfg-cards input[type=search] { min-height:44px; width:100%; border:1px solid var(--line,#dfe4ee); border-radius:12px; padding:0 12px; }
.cfg-dlg .cfg-card { display:flex; align-items:center; gap:10px; padding:8px; border:1.5px solid var(--line,#dfe4ee); border-radius:12px; cursor:pointer; position:relative; min-height:64px; background:var(--card,#fff); } .cfg-dlg .cfg-card[hidden] { display:none; }
.cfg-dlg .cfg-card .cfg-th { flex:none; width:52px; height:52px; border-radius:50%; overflow:hidden; background:#e6ebf4; } .cfg-dlg .cfg-card .cfg-th img { width:100%; height:100%; object-fit:cover; }
.cfg-dlg .cfg-card .cfg-tx { flex:1; min-width:0; display:grid; } .cfg-dlg .cfg-card small { color:var(--muted,#5b6577); } .cfg-dlg .cfg-card .pr { font-variant-numeric:tabular-nums; }
.cfg-dlg .cfg-card input { width:22px; height:22px; accent-color:#2864D7; flex:none; } .cfg-dlg .cfg-card:has(input:checked) { border-color:#2864D7; background:#eef4ff; } .cfg-dlg .cfg-card:has(input:focus-visible) { outline:3px solid #14213D; outline-offset:2px; }
.cfg-foot { flex-wrap:wrap; } .cfg-line { flex:1 1 100%; display:flex; justify-content:space-between; gap:10px; font-size:.9rem; color:var(--muted,#5b6577); } .cfg-line:empty { display:none; } .cfg-line b { color:#14213D; font-size:1.05rem; }
.cfg-dlg .cfg-foot .btn { background:#2864D7; color:#fff; border-color:#2864D7; } .cfg-dlg .cfg-foot .btn[disabled] { background:#9db4e6; border-color:#9db4e6; }
@media (prefers-reduced-motion:reduce) { .cfg-switch input[role=switch], .cfg-switch input[role=switch]::after { transition:none; } }
.dish, .dish:hover { text-decoration:none; } .dish .dp { text-decoration:none; }
.cfg-grp.cfg-seg > .cfg-opt { display:inline-flex; width:calc(50% - 6px); min-width:0; margin:0 6px 6px 0; padding:6px 10px; justify-content:center; vertical-align:top; } .cfg-grp.cfg-seg > .cfg-opt span { text-align:center; flex:1; }
.cfg-grp.cfg-seg { display:block; }
.cfg-sec { list-style:none !important; padding-left:0 !important; }
/* Animación de la pizza: cada sección entra desde fuera al elegirse; el dibujo se asienta al cambiar de modo */
@keyframes pz-slide { from { opacity:0; transform:translate(var(--dx),var(--dy)) scale(.92); } to { opacity:1; transform:none; } }
@keyframes pz-pop { from { transform:scale(.94) rotate(-6deg); opacity:.6; } to { transform:none; opacity:1; } }
.cfg-pizza { } .pz-sec.pz-anim { animation:pz-slide .45s cubic-bezier(.2,.8,.3,1) both; }
@media (prefers-reduced-motion:reduce) { .pz-sec.pz-anim { animation:none; } }
/* Formulario simple de producto */
.imp-form textarea { width:100%; min-height:64px; border:1px solid var(--line,#dfe4ee); border-radius:12px; padding:10px 12px; font:inherit; resize:vertical; }
.wiz .f-sec { border:1px solid var(--line,#dfe4ee); border-radius:12px; padding:8px 12px 12px; margin:10px 0; } .wiz .f-sec legend { font-weight:700; padding:0 6px; }
.wiz .rows { display:grid; gap:8px; margin:8px 0; } .wiz .f-row { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr) 44px; gap:8px; align-items:center; } .wiz .f-row .btn { min-height:44px; padding:0; }
.wiz .check-row { display:flex; gap:10px; align-items:center; min-height:44px; font-size:.95rem; } .wiz .check-row input { width:22px; height:22px; accent-color:#2864D7; flex:none; }
.wiz .fx-card { margin:8px 0; }

/* Menú del restaurante: barra de categorías pegajosa y secciones abiertas con encabezado compacto */
.cat-nav { position:sticky; top:var(--hdr-h,56px); z-index:20; margin:0 -16px 14px; padding:8px 16px; background:color-mix(in srgb, var(--bg,#F4F6FA) 92%, transparent); backdrop-filter:saturate(1.4) blur(10px); -webkit-backdrop-filter:saturate(1.4) blur(10px); border-bottom:1px solid var(--line,#D9DFEA); }
.cat-nav-in { display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch; } .cat-nav-in::-webkit-scrollbar { display:none; }
.cat-pill { flex:none; scroll-snap-align:center; display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:0 16px; border-radius:999px; border:1px solid var(--line,#D9DFEA); background:var(--card,#fff); color:var(--fg,#18212F); font:600 14px/1 inherit; cursor:pointer; white-space:nowrap; transition:background .18s, color .18s, border-color .18s, transform .12s; }
.cat-pill small { font-weight:600; font-size:12px; min-width:20px; padding:2px 6px; border-radius:999px; background:var(--rv-blue-soft,#EAF1FD); color:var(--rv-blue,#2463D4); text-align:center; font-variant-numeric:tabular-nums; }
.cat-pill:hover { border-color:var(--rv-blue,#2463D4); } .cat-pill:active { transform:scale(.96); }
.cat-pill.on { background:var(--rv-blue,#2463D4); border-color:var(--rv-blue,#2463D4); color:#fff; } .cat-pill.on small { background:rgba(255,255,255,.22); color:#fff; }
.cat-pill:focus-visible { outline:3px solid var(--fg,#18212F); outline-offset:2px; }
.menu-cats { display:block; }
.menu-sec { scroll-margin-top:calc(var(--hdr-h,56px) + 68px); margin:0 0 26px; }
.menu-sec .sec-h { display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap; margin:0 2px 10px; padding-bottom:8px; border-bottom:2px solid var(--rv-blue,#2463D4); }
.menu-sec .sec-h h3 { margin:0; font:800 clamp(18px,2.4vw,22px)/1.2 Manrope,Inter,system-ui,sans-serif; color:var(--fg,#18212F); letter-spacing:-.01em; }
.menu-sec .sec-meta { font-size:13px; color:var(--muted,#586475); font-variant-numeric:tabular-nums; }
@media (prefers-reduced-motion:reduce) { .cat-pill { transition:none; } }
@media (min-width:900px) { .cat-nav { margin:0 0 16px; padding:10px 0; } }

/* Productos: tarjeta horizontal como antes; la foto queda recortada dentro de su recuadro */
.dish .dth { overflow:hidden; } .dish .dth img { border-radius:inherit; } .dish .dth .dplus { right:6px; bottom:6px; }
.menu-sec > .dishes { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr)); gap:10px; }


.wiz .f-row:has([data-sz$=':slices']) { grid-template-columns:minmax(0,2fr) minmax(0,1fr) 64px 44px; }

/* Rebanadas por tamaño: las porciones entran una a una al elegir el tamaño */
.cfg-opt .cfg-sl { font-size:.75rem; font-weight:500; opacity:.8; }
.cfg-slices { display:flex; align-items:center; gap:16px; margin:8px 0 14px; padding:12px 16px; border-radius:16px; background:var(--rv-blue-soft,#EAF1FD); border:1px solid var(--line,#D9DFEA); }
.cfg-slices svg { flex:none; width:96px; height:96px; overflow:visible; }
.cfg-slices .sl-crust { fill:#E9C98B; } .cfg-slices .sl-w { fill:#F4D58A; stroke:#C9873A; stroke-width:1; }
.cfg-slices .sl-w:nth-of-type(odd) { fill:#F7DE9E; }
.cfg-slices .sl-tx { display:grid; line-height:1.1; } .cfg-slices .sl-tx b { font:800 40px/1 Manrope,Inter,system-ui,sans-serif; color:var(--rv-blue,#2463D4); font-variant-numeric:tabular-nums; }
.cfg-slices .sl-tx span { font-weight:700; color:var(--fg,#18212F); } .cfg-slices .sl-tx small { color:var(--muted,#586475); margin-top:2px; }
.cfg-slices.run .sl-w { animation:sl-in .38s cubic-bezier(.2,.8,.3,1) both; animation-delay:var(--dl); }
.cfg-slices.run .sl-tx b { animation:sl-pop .45s cubic-bezier(.2,.9,.3,1.3) both; }
@keyframes sl-in { from { opacity:0; transform:translate(var(--dx),var(--dy)) scale(.6); } to { opacity:1; transform:none; } }
@keyframes sl-pop { from { opacity:0; transform:scale(.6); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce) { .cfg-slices.run .sl-w, .cfg-slices.run .sl-tx b { animation:none; } }

/* Menú: tarjetas de categoría premium (estilo editorial: foto a sangre, degradado, título grande, tarjeta principal destacada) */
.cat-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:4px 0 24px; }
.cat-tile { position:relative; isolation:isolate; display:block; padding:0; margin:0; min-height:0; aspect-ratio:1 / 1.08; text-align:left; font:inherit; color:#fff; background:#0E1B33; border:0; border-radius:22px; overflow:hidden; cursor:pointer; box-shadow:0 1px 0 rgba(255,255,255,.4) inset, 0 8px 22px rgba(14,27,51,.18); transition:transform .28s cubic-bezier(.2,.8,.3,1), box-shadow .28s; }
.cat-tile.hero { grid-column:1 / -1; aspect-ratio:16 / 9; border-radius:26px; }
.cat-tile:hover { transform:translateY(-4px); box-shadow:0 18px 38px rgba(14,27,51,.28); } .cat-tile:active { transform:scale(.985); }
.cat-tile:focus-visible { outline:3px solid #fff; outline-offset:-6px; box-shadow:0 0 0 3px var(--rv-blue,#2463D4); }
.cat-img { position:absolute; inset:0; z-index:-2; background:linear-gradient(140deg,#2463D4 0%,#0E1B33 80%); }
.cat-img img { width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.02); transition:transform .6s cubic-bezier(.2,.8,.3,1); } .cat-tile:hover .cat-img img { transform:scale(1.09); }
.cat-ph { position:absolute; inset:0; display:grid; place-items:center; color:rgba(255,255,255,.35); } .cat-ph svg { width:30%; height:30%; max-width:110px; max-height:110px; }
.cat-shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(8,16,32,.28) 0%,rgba(8,16,32,0) 32%,rgba(8,16,32,.55) 66%,rgba(8,16,32,.9) 100%); }
.cat-no { position:absolute; left:16px; top:14px; font:800 12px/1 Manrope,Inter,system-ui,sans-serif; letter-spacing:.14em; padding:6px 10px; border-radius:999px; background:rgba(255,255,255,.18); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.28); }
.cat-info { position:absolute; left:16px; right:62px; bottom:14px; display:grid; gap:6px; }
.cat-info b { font:800 clamp(18px,4.6vw,24px)/1.08 Manrope,Inter,system-ui,sans-serif; letter-spacing:-.02em; overflow-wrap:anywhere; text-shadow:0 1px 12px rgba(0,0,0,.35); }
.cat-tile.hero .cat-info b { font-size:clamp(24px,7vw,34px); }
.cat-meta { display:flex; flex-wrap:wrap; gap:6px; }
.cat-meta em { font-style:normal; font-size:12px; font-weight:600; padding:4px 9px; border-radius:999px; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.22); font-variant-numeric:tabular-nums; }
.cat-meta .cat-from { background:var(--rv-lime,#DDEA32); border-color:transparent; color:#18212F; font-weight:800; }
.cat-go { position:absolute; right:14px; bottom:14px; width:42px; height:42px; border-radius:50%; background:#fff; color:#0E1B33; display:grid; place-items:center; box-shadow:0 6px 16px rgba(0,0,0,.25); transition:transform .28s cubic-bezier(.2,.8,.3,1), background .2s, color .2s; }
.cat-tile:hover .cat-go { transform:translateX(3px) scale(1.05); background:var(--rv-lime,#DDEA32); }
@media (min-width:900px) {
  .cat-grid { grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:190px; gap:16px; }
  .cat-tile, .cat-tile.hero { aspect-ratio:auto; grid-column:span 2; border-radius:24px; } .cat-tile.hero { grid-row:span 2; }
  .cat-tile:nth-child(n+4) { grid-column:span 1; grid-row:span 1; }
  .cat-info b { font-size:22px; } .cat-tile.hero .cat-info b { font-size:38px; } .cat-tile.hero .cat-info { left:24px; bottom:22px; } .cat-tile.hero .cat-no { left:24px; top:22px; }
}
@media (prefers-reduced-motion:reduce) { .cat-tile, .cat-img img, .cat-go { transition:none; } .cat-tile:hover { transform:none; } .cat-tile:hover .cat-img img { transform:scale(1.02); } }
.cat-view { margin:0 0 20px; }
.cat-top { display:flex; align-items:center; gap:12px; margin:0 0 10px; }
.cat-back { flex:none; display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:0 16px; border-radius:999px; border:1px solid var(--line,#D9DFEA); background:var(--card,#fff); color:var(--fg,#18212F); font:600 14px/1 inherit; cursor:pointer; } .cat-back:hover { border-color:var(--rv-blue,#2463D4); } .cat-back:focus-visible { outline:3px solid var(--fg,#18212F); outline-offset:2px; }
.cat-ttl { display:grid; min-width:0; } .cat-ttl h2 { margin:0; font:800 clamp(20px,3vw,26px)/1.15 Manrope,Inter,system-ui,sans-serif; } .cat-ttl span { color:var(--muted,#586475); font-size:13px; }
.cat-dishes { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr)); gap:10px; animation:cat-in .28s ease both; }
@keyframes cat-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@media (min-width:700px) { .cat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; } }
@media (min-width:1100px) { .cat-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (prefers-reduced-motion:reduce) { .cat-tile, .cat-img img { transition:none; } .cat-dishes { animation:none; } .cat-tile:hover { transform:none; } }
.cfg-slices .sl-w { transform-box:fill-box; transform-origin:center; }

/* Comandas de cocina (estilo ticket): ilustración de la pizza, sabores, tamaño y rebanadas, quitar / extras / nota */
.kt2-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr)); gap:14px; align-items:start; }
.kt2 { background:var(--card,#fff); border:2px solid var(--line,#D9DFEA); border-radius:20px; padding:14px; display:grid; gap:12px; box-shadow:0 4px 14px rgba(24,33,47,.08); }
.kt2.pendiente { border-color:#E0A800; background:linear-gradient(#FFF9E5,#fff 90px); } .kt2.confirmado, .kt2.preparacion { border-color:var(--rv-blue,#2463D4); } .kt2.listo { border-color:#1F8A4C; background:linear-gradient(#EAF7EF,#fff 90px); } .kt2.late { border-color:#D9534F; box-shadow:0 0 0 3px rgba(217,83,79,.18); }
.kt2-h { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.kt2-folio { display:block; font:800 22px/1.1 Manrope,Inter,system-ui,sans-serif; letter-spacing:-.01em; } .kt2-ago { font-size:13px; color:var(--muted,#586475); font-variant-numeric:tabular-nums; } .kt2.late .kt2-ago { color:#B3261E; font-weight:700; }
.kt2-st { flex:none; font:700 13px/1 inherit; padding:7px 12px; border-radius:999px; background:var(--rv-blue-soft,#EAF1FD); color:var(--rv-blue,#2463D4); } .kt2.pendiente .kt2-st { background:#FFE9A8; color:#7A5A00; } .kt2.listo .kt2-st { background:#CDEFD9; color:#13663A; }
.kt2-chips { display:flex; flex-wrap:wrap; gap:6px; } .kt2-chips span { font-size:12.5px; padding:4px 10px; border-radius:999px; background:#EEF1F6; color:#18212F; } .kt2-chips .wait { background:#FFF1C9; color:#7A5A00; } .kt2-chips .ok { background:#CDEFD9; color:#13663A; }
.kt2-item { display:grid; grid-template-columns:104px minmax(0,1fr); gap:14px; padding:12px 0 2px; border-top:1px dashed var(--line,#D9DFEA); }
.kt2-pz { position:relative; } .kt2-svg { width:104px; height:104px; display:block; filter:drop-shadow(0 3px 5px rgba(0,0,0,.18)); }
.kt2-qty { position:absolute; left:-4px; top:-4px; min-width:34px; height:34px; padding:0 8px; border-radius:999px; background:#18212F; color:#fff; font:800 17px/34px Manrope,Inter,system-ui,sans-serif; text-align:center; box-shadow:0 2px 6px rgba(0,0,0,.3); }
.kt2-main { display:grid; gap:8px; min-width:0; align-content:start; } .kt2-tag { margin:0; font:800 11px/1 inherit; letter-spacing:.12em; text-transform:uppercase; color:var(--rv-blue,#2463D4); }
.kt2-fl { margin:0; font:800 clamp(20px,5vw,26px)/1.1 Manrope,Inter,system-ui,sans-serif; overflow-wrap:anywhere; }
.kt2-parts { list-style:none; margin:0; padding:0; display:grid; gap:5px; } .kt2-parts li { display:flex; align-items:center; gap:8px; font:800 clamp(16px,4.2vw,19px)/1.15 Manrope,Inter,system-ui,sans-serif; } .kt2-parts i { flex:none; width:26px; height:26px; border-radius:50%; display:grid; place-items:center; font:800 14px/1 inherit; font-style:normal; color:#18212F; }
.kt2-size { margin:0; display:flex; flex-wrap:wrap; gap:6px; align-items:center; } .kt2-size b { padding:6px 14px; border-radius:10px; background:#18212F; color:#fff; font:800 17px/1 Manrope,Inter,system-ui,sans-serif; text-transform:uppercase; letter-spacing:.03em; } .kt2-size span { padding:6px 12px; border-radius:10px; background:var(--rv-lime,#DDEA32); color:#18212F; font:800 15px/1 Manrope,Inter,system-ui,sans-serif; }
.kt2-blk { display:flex; flex-wrap:wrap; gap:6px; align-items:center; } .kt2-blk b { font:800 11px/1 inherit; letter-spacing:.12em; padding:5px 8px; border-radius:6px; color:#fff; } .kt2-blk span { font:700 14px/1.2 inherit; padding:5px 10px; border-radius:8px; }
.kt2-blk.rem b { background:#C62828; } .kt2-blk.rem span { background:#FDE8E8; color:#9B1C1C; text-decoration:line-through; text-decoration-thickness:2px; } .kt2-blk.ext b { background:#1F8A4C; } .kt2-blk.ext span { background:#E3F5EA; color:#13663A; }
.kt2-note { display:flex; gap:8px; align-items:flex-start; padding:10px 12px; border-radius:12px; background:#FFF1C9; border:1px solid #E0A800; color:#5A4200; font-weight:600; overflow-wrap:anywhere; }
.kt2-act { margin-top:2px; } .kt2-act .btn.pg { flex:1; min-height:52px; font-size:17px; }
@media (max-width:420px) { .kt2-item { grid-template-columns:84px minmax(0,1fr); gap:10px; } .kt2-svg { width:84px; height:84px; } }

/* Ficha de pizza estilo carrusel: sabores, tamaños con rebanadas y extras plegables */
.cfg-car, .cfg-scroll { display:flex; gap:10px; overflow-x:auto; scroll-snap-type:x proximity; padding:2px 2px 10px; scrollbar-width:thin; -webkit-overflow-scrolling:touch; }
.cfg-fcard { flex:0 0 112px; scroll-snap-align:start; display:grid; gap:6px; padding:8px; text-align:center; font:600 14px/1.2 inherit; color:var(--fg,#18212F); background:var(--card,#fff); border:1.5px solid var(--line,#D9DFEA); border-radius:16px; cursor:pointer; transition:border-color .15s, background .15s, transform .12s; }
.cfg-fcard img, .cfg-fph { width:100%; aspect-ratio:1; object-fit:cover; border-radius:12px; background:#e6ebf4; display:block; } .cfg-fcard:active { transform:scale(.97); }
.cfg-fcard.on { border-color:var(--rv-blue,#2463D4); background:var(--rv-blue-soft,#EAF1FD); } .cfg-fcard:focus-visible { outline:3px solid var(--fg,#18212F); outline-offset:2px; }
.cfg-grp.tiles { display:block; } .cfg-grp.tiles legend { display:block; }
.cfg-scroll .cfg-opt { flex:0 0 112px; scroll-snap-align:start; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; min-height:116px; padding:8px 6px; border:1.5px solid var(--line,#D9DFEA); border-radius:16px; text-align:center; background:var(--card,#fff); position:relative; cursor:pointer; }
.cfg-scroll .cfg-opt input { position:absolute; opacity:0; inset:0; width:100%; height:100%; margin:0; cursor:pointer; }
.cfg-scroll .cfg-opt .cfg-ic { order:0; width:30px; height:30px; margin-bottom:2px; } .cfg-scroll .cfg-opt > span { order:1; flex:none; font-weight:700; } .cfg-scroll .cfg-opt .cfg-sl { order:2; font-size:.78rem; color:var(--muted,#586475); opacity:1; } .cfg-scroll .cfg-opt > b { order:3; color:var(--rv-blue,#2463D4); font-size:1.05rem; }
.cfg-scroll .cfg-opt:has(input:checked) { border-color:var(--rv-blue,#2463D4); background:var(--rv-blue-soft,#EAF1FD); box-shadow:0 0 0 1px var(--rv-blue,#2463D4) inset; } .cfg-scroll .cfg-opt:has(input:checked) b { color:var(--rv-blue,#2463D4); }
.cfg-scroll .cfg-opt:has(input:focus-visible) { outline:3px solid var(--fg,#18212F); outline-offset:2px; } .cfg-scroll .cfg-opt.off { opacity:.5; }
.cfg-acc { margin:8px 0; border:1.5px solid var(--line,#D9DFEA); border-radius:16px; background:var(--card,#fff); overflow:hidden; } .cfg-acc > summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; min-height:52px; padding:0 16px; font-weight:700; } .cfg-acc > summary::-webkit-details-marker { display:none; }
.cfg-acc > summary::after { content:'▾'; color:var(--muted,#586475); transition:transform .15s; } .cfg-acc[open] > summary::after { transform:rotate(180deg); } .cfg-acc > .cfg-grp { margin:0; padding:0 12px 12px; border:0; } .cfg-acc > summary:focus-visible { outline:3px solid var(--fg,#18212F); outline-offset:-3px; }
@media (prefers-reduced-motion:reduce) { .cfg-fcard, .cfg-acc > summary::after { transition:none; } }

/* Defecto 9: selector de hora táctil y días cerrados visibles */
.sch-r input[type=time] { width:150px; min-height:48px; font-size:16px; }
.sch-closed { color:var(--muted,#586475); font-size:13px; }
.tp-sheet { max-width:420px; width:calc(100% - 24px); margin:auto auto 12px; border-radius:22px; padding:16px; }
.tp-cols { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; margin:10px 0 14px; } .tp-col { display:grid; gap:6px; align-content:start; max-height:46vh; overflow-y:auto; overscroll-behavior:contain; }
.tp-o { min-height:48px; border:1.5px solid var(--line,#D9DFEA); border-radius:12px; background:var(--card,#fff); color:var(--fg,#18212F); font:700 17px/1 inherit; cursor:pointer; } .tp-o.on { background:var(--rv-blue,#2463D4); border-color:var(--rv-blue,#2463D4); color:#fff; } .tp-o:focus-visible { outline:3px solid var(--fg,#18212F); outline-offset:2px; }

/* Móvil: tarjetas de categoría pequeñas sin texto descuadrado (título completo, pastillas en una línea, flecha arriba) */
@media (max-width:899px) {
  .cat-tile:not(.hero) { aspect-ratio:1 / 1.12; }
  .cat-tile:not(.hero) .cat-no { left:10px; top:10px; font-size:11px; padding:5px 8px; }
  .cat-tile:not(.hero) .cat-go { top:10px; bottom:auto; right:10px; width:34px; height:34px; }
  .cat-tile:not(.hero) .cat-go svg { width:16px; height:16px; }
  .cat-tile:not(.hero) .cat-info { left:12px; right:12px; bottom:12px; gap:6px; }
  .cat-tile:not(.hero) .cat-info b { font-size:clamp(15px,4.4vw,19px); line-height:1.12; overflow-wrap:break-word; word-break:normal; hyphens:none; }
  .cat-meta em { white-space:nowrap; font-size:11px; padding:3px 8px; }
  .cat-tile.hero .cat-info b { overflow-wrap:break-word; word-break:normal; }
}

/* Ficha de tamaño seleccionada (fondo azul): todo el texto en amarillo limón para que no se pierda */
.cfg-dlg .cfg-grp.tiles .cfg-opt:has(input:checked), .cfg-dlg .cfg-grp.tiles .cfg-opt:has(input:checked) * { color:#DDEA32; }
.cfg-dlg .cfg-grp.tiles .cfg-opt:has(input:checked) small, .cfg-dlg .cfg-grp.tiles .cfg-opt:has(input:checked) .muted { color:#DDEA32; opacity:1; }
.cfg-dlg .cfg-grp.tiles .cfg-opt:has(input:checked) .cfg-sl { color:#DDEA32; opacity:1; }

/* Móvil: la foto de la ficha se ve COMPLETA (sin recortar la pizza), centrada y con esquinas redondeadas */
@media (max-width: 700px) {
  .cfg-dlg .cfg-hero { width:100%; max-width:360px; height:auto; aspect-ratio:1 / 1; margin:0 auto 14px; object-fit:contain; object-position:center; border-radius:16px; background:#F6F3EE; }
}

.wiz .x-chips { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin:8px 0; }
.wiz .chip-btn { min-height:36px; padding:0 12px; border-radius:999px; border:1px solid #2864D7; background:#eef4ff; color:#14213D; font:inherit; font-size:.85rem; cursor:pointer; }
.wiz .chip-btn:focus-visible { outline:3px solid #14213D; outline-offset:2px; }
.wiz .bx-scope { display:inline-flex; gap:8px; align-items:center; font-size:.9rem; } .wiz .bx-scope select { min-height:44px; border:1px solid var(--line,#dfe4ee); border-radius:10px; padding:0 10px; font:inherit; max-width:180px; }
.wiz .bulk { border-left:4px solid #2864D7; }
