.cmc{--cm-ink:#0b0f19;--cm-ink-2:#3b4250;--cm-muted:#6b7280;--cm-faint:#9aa1ad;--cm-line:#eceef2;--cm-soft:#f4f5f7;--cm-wa:#25d366;--cm-wa-d:#1da851;--cm-ease:cubic-bezier(.2, .8, .2, 1);font-family:Montserrat, system-ui, -apple-system, sans-serif;-webkit-font-smoothing:antialiased;color:var(--cm-ink);position:fixed;inset:0;z-index:1000000002;}
.cmc[hidden]{display:none;}
.cmc *, .cmc *::before, .cmc *::after{box-sizing:border-box;}
.cmc svg{display:block;flex:none;}
.cmc h2, .cmc h3, .cmc p, .cmc ul, .cmc li, .cmc dl, .cmc dt, .cmc dd{margin:0;padding:0;}
.cmc ul{list-style:none;}
.cmc a{text-decoration:none !important;}
.cmc button, .cmc .cmc-btn{font-family:inherit;text-transform:none !important;letter-spacing:normal !important;box-shadow:none;-webkit-tap-highlight-color:transparent;cursor:pointer;}
html.cmc-bloqueo, html.cmc-bloqueo body{overflow:hidden !important;}
.cmc-fondo{position:absolute;inset:0;background:rgba(11, 15, 25, .45);opacity:0;transition:opacity .28s var(--cm-ease);}
.cmc.is-on .cmc-fondo{opacity:1;}
.cmc-panel{position:absolute;top:0;right:0;bottom:0;width:min(440px, 100%);display:flex;flex-direction:column;background:#fff;box-shadow:-24px 0 60px rgba(11, 15, 25, .18);transform:translateX(104%);transition:transform .32s var(--cm-ease);}
.cmc.is-on .cmc-panel{transform:none;}
.cmc-top{display:flex;align-items:center;gap:8px;min-height:64px;padding:10px 12px 10px 20px;border-bottom:1px solid var(--cm-line);flex:none;}
.cmc-titulo{flex:1;font:800 18px/1.2 Montserrat, sans-serif;color:var(--cm-ink);letter-spacing:-.01em;}
.cmc-volver:not([hidden]) + .cmc-titulo{margin-left:-4px;}
.cmc-top:has(.cmc-volver:not([hidden])){padding-left:8px;}
.cmc-ico-btn{display:grid !important;place-items:center;width:42px;height:42px;min-height:0 !important;padding:0 !important;border:0 !important;border-radius:50% !important;background:transparent !important;color:var(--cm-ink) !important;transition:background .15s var(--cm-ease);}
.cmc-ico-btn[hidden]{display:none !important;}
.cmc-ico-btn:hover{background:var(--cm-soft) !important;}
.cmc-ico-btn svg{width:22px;height:22px;}
.cmc-pasos{display:flex;align-items:center;gap:8px;padding:14px 20px;border-bottom:1px solid var(--cm-line);flex:none;}
.cmc-pasos[hidden]{display:none;}
.cmc-pasos i{flex:1;height:2px;border-radius:2px;background:var(--cm-line);min-width:10px;}
.cmc-paso{display:inline-flex;align-items:center;gap:7px;font:700 12.5px/1 Montserrat, sans-serif;color:var(--cm-faint);white-space:nowrap;}
.cmc-paso b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--cm-soft);font:800 12px/1 Montserrat, sans-serif;color:var(--cm-muted);}
.cmc-paso b svg{width:13px;height:13px;}
.cmc-paso.is-actual{color:var(--cm-ink);}
.cmc-paso.is-actual b{background:var(--cm-ink);color:#fff;}
.cmc-paso.is-hecho{color:var(--cm-ink-2);}
.cmc-paso.is-hecho b{background:var(--cm-wa);color:#fff;}
.cmc-cuerpo{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
.cmc .cmc-items{padding:6px 20px;}
.cmc-item{display:grid;grid-template-columns:76px minmax(0, 1fr);gap:14px;padding:16px 0;border-bottom:1px solid var(--cm-line);animation:cmcEntra .25s var(--cm-ease);}
.cmc-item:last-child{border-bottom:0;}
.cmc-img{display:block;width:76px;height:76px;border-radius:14px;background:var(--cm-soft);overflow:hidden;border:1px solid var(--cm-line);}
.cmc-img img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:6px;}
.cmc-info{display:flex;flex-direction:column;gap:4px;min-width:0;}
.cmc-nombre{font:700 14px/1.35 Montserrat, sans-serif;color:var(--cm-ink) !important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.cmc-nombre:hover{text-decoration:underline !important;}
.cmc-sku{font:600 11.5px/1.2 Montserrat, sans-serif;color:var(--cm-faint);letter-spacing:.02em;}
.cmc-fila{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px;}
.cmc-qty{display:inline-flex;align-items:center;height:38px;padding:3px;border-radius:12px;background:var(--cm-soft);}
.cmc-qty button{display:grid !important;place-items:center;width:32px;height:32px;min-height:0 !important;padding:0 !important;border:0 !important;border-radius:9px !important;background:transparent !important;color:var(--cm-ink) !important;transition:background .15s var(--cm-ease);}
.cmc-qty button:hover:not(:disabled){background:#fff !important;box-shadow:0 1px 3px rgba(11, 15, 25, .12);}
.cmc-qty button:disabled{color:var(--cm-faint) !important;cursor:default;}
.cmc-qty button svg{width:16px;height:16px;}
.cmc-qty output{min-width:30px;text-align:center;font:800 14px/1 Montserrat, sans-serif;font-variant-numeric:tabular-nums;}
.cmc-precio{display:flex;flex-direction:column;align-items:flex-end;gap:2px;}
.cmc-precio b{font:800 15.5px/1 Montserrat, sans-serif;font-variant-numeric:tabular-nums;}
.cmc-precio s{font:600 12px/1 Montserrat, sans-serif;color:var(--cm-faint);}
.cmc-tope{font:600 11.5px/1.3 Montserrat, sans-serif;color:#b45309;}
.cmc-item.is-esq .cmc-img, .cmc-item.is-esq i{background:linear-gradient(90deg, var(--cm-soft) 25%, #fafbfc 50%, var(--cm-soft) 75%);background-size:200% 100%;animation:cmcBrillo 1.2s linear infinite;}
.cmc-item.is-esq i{display:block;height:12px;border-radius:6px;}
.cmc-item.is-esq i:nth-child(1){width:90%;}
.cmc-item.is-esq i:nth-child(2){width:55%;}
.cmc-item.is-esq i:nth-child(3){width:35%;height:30px;border-radius:10px;margin-top:8px;}
.cmc-vacio{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:64px 28px;}
.cmc-vacio b{font:800 17px/1.3 Montserrat, sans-serif;color:var(--cm-ink);}
.cmc-vacio > span:not(.cmc-vacio-ico){font:500 14px/1.5 Montserrat, sans-serif;color:var(--cm-muted);max-width:300px;}
.cmc-vacio .cmc-btn{margin-top:14px;width:auto;padding:0 26px;}
.cmc-vacio-ico{display:grid;place-items:center;width:72px;height:72px;border-radius:24px;background:var(--cm-soft);color:var(--cm-ink);margin-bottom:8px;}
.cmc-vacio-ico svg{width:34px;height:34px;}
.cmc-listo .cmc-vacio-ico{background:rgba(37, 211, 102, .14);color:var(--cm-wa-d);border-radius:50%;}
.cmc-pie{flex:none;display:flex;flex-direction:column;gap:10px;padding:16px 20px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--cm-line);background:#fff;}
.cmc-pie:empty{display:none;}
.cmc-totales{display:flex;flex-direction:column;gap:6px;margin-bottom:4px;}
.cmc-total{display:flex;align-items:baseline;justify-content:space-between;gap:12px;}
.cmc-total span{font:700 15px/1 Montserrat, sans-serif;color:var(--cm-ink);}
.cmc-total small{font:600 12.5px Montserrat, sans-serif;color:var(--cm-faint);margin-left:4px;}
.cmc-total b{font:800 24px/1 Montserrat, sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.01em;}
.cmc-nota{font:500 12.5px/1.45 Montserrat, sans-serif;color:var(--cm-muted);}
.cmc-nota-c{text-align:center;}
.cmc-btn{display:flex !important;align-items:center;justify-content:center;gap:10px;width:100%;height:54px;min-height:0 !important;padding:0 20px !important;border:0 !important;border-radius:16px !important;line-height:1 !important;font:700 15.5px/1 Montserrat, sans-serif !important;transition:background .15s var(--cm-ease), transform .15s var(--cm-ease), opacity .15s;}
.cmc-btn:active:not(:disabled){transform:scale(.985);}
.cmc-btn svg{width:22px;height:22px;}
.cmc-btn-wa{background:var(--cm-wa) !important;color:#fff !important;}
.cmc-btn-wa:hover{background:var(--cm-wa-d) !important;}
.cmc-btn-dark{background:var(--cm-ink) !important;color:#fff !important;}
.cmc-btn-dark:hover:not(:disabled){background:#232a3b !important;}
.cmc-btn-dark:disabled{opacity:.35;cursor:not-allowed;}
.cmc-btn-sec{background:var(--cm-soft) !important;color:var(--cm-ink) !important;}
.cmc-btn-sec:hover{background:#eceef1 !important;}
.cmc-btn-link{height:40px;background:transparent !important;color:var(--cm-ink-2) !important;font-weight:600 !important;font-size:14.5px !important;}
.cmc-btn-link:hover{color:var(--cm-ink) !important;text-decoration:underline !important;}
.cmc-form{display:flex;flex-direction:column;gap:14px;padding:20px;}
.cmc-h{font:800 15px/1.3 Montserrat, sans-serif;color:var(--cm-ink);margin-top:4px !important;}
.cmc-sub{display:flex;flex-direction:column;gap:12px;animation:cmcEntra .22s var(--cm-ease);}
.cmc-sub[hidden]{display:none;}
.cmc-opciones{display:flex;flex-direction:column;gap:10px;}
.cmc-opcion{display:flex !important;align-items:center;gap:14px;width:100%;min-height:74px;padding:14px 16px !important;text-align:left;border:1.5px solid var(--cm-line) !important;border-radius:16px !important;background:#fff !important;color:var(--cm-ink) !important;transition:border-color .15s var(--cm-ease), background .15s var(--cm-ease);}
.cmc-opcion:hover{border-color:#d5d9e0 !important;}
.cmc-opcion.is-on{border-color:var(--cm-ink) !important;background:#fafbfc !important;}
.cmc-opcion-ico{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:var(--cm-soft);color:var(--cm-ink);flex:none;}
.cmc-opcion-ico svg{width:22px;height:22px;}
.cmc-opcion.is-on .cmc-opcion-ico{background:var(--cm-ink);color:#fff;}
.cmc-opcion-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;}
.cmc-opcion-txt b{font:700 14.5px/1.25 Montserrat, sans-serif;}
.cmc-opcion-txt small{font:500 12.5px/1.35 Montserrat, sans-serif;color:var(--cm-muted);}
.cmc-opcion-extra{font:800 14.5px/1 Montserrat, sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap;}
.cmc-radio{width:22px;height:22px;border-radius:50%;border:2px solid #cfd4dc;flex:none;transition:border .15s var(--cm-ease);}
.cmc-opcion.is-on .cmc-radio{border:7px solid var(--cm-ink);}
.cmc-chips{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:8px;}
.cmc-chip{display:flex !important;align-items:center;justify-content:center;min-height:48px;padding:8px 12px !important;text-align:center;border:1.5px solid var(--cm-line) !important;border-radius:13px !important;background:#fff !important;color:var(--cm-ink) !important;font:700 13.5px/1.25 Montserrat, sans-serif !important;transition:border-color .15s var(--cm-ease), background .15s var(--cm-ease);}
.cmc-chip:hover{border-color:#d5d9e0 !important;}
.cmc-chip.is-on{border-color:var(--cm-ink) !important;background:var(--cm-ink) !important;color:#fff !important;}
.cmc-campo{display:flex;flex-direction:column;gap:8px;margin:0;}
.cmc-campo > span{font:700 13.5px/1.2 Montserrat, sans-serif;color:var(--cm-ink);}
.cmc-campo small{font-weight:500;color:var(--cm-faint);}
.cmc-campo input{width:100%;height:52px !important;padding:0 16px !important;margin:0 !important;border:1.5px solid var(--cm-line) !important;border-radius:14px !important;background:#fff !important;box-shadow:none !important;outline:0;font:500 16px/1 Montserrat, sans-serif !important;color:var(--cm-ink) !important;transition:border-color .15s var(--cm-ease);}
.cmc-campo input:focus{border-color:var(--cm-ink) !important;}
.cmc-resumen{display:flex;flex-direction:column;gap:14px;padding:16px;border-radius:16px;background:var(--cm-soft);}
.cmc-resumen ul{display:flex;flex-direction:column;gap:10px;}
.cmc-resumen li{display:flex;justify-content:space-between;gap:14px;font:500 13.5px/1.4 Montserrat, sans-serif;color:var(--cm-ink-2);}
.cmc-resumen li b{font-weight:800;color:var(--cm-ink);white-space:nowrap;font-variant-numeric:tabular-nums;}
.cmc-resumen dl{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px dashed #d9dde3;}
.cmc-resumen dl div{display:flex;justify-content:space-between;gap:14px;font:500 13.5px/1.4 Montserrat, sans-serif;}
.cmc-resumen dt{color:var(--cm-muted);}
.cmc-resumen dd{font-weight:700;color:var(--cm-ink);text-align:right;}
.cmc-resumen .cmc-total{padding-top:14px;border-top:1px dashed #d9dde3;}
.cmc.cmc-inline{position:static;z-index:auto;}
.cmc-inline .cmc-panel{position:static;transform:none;width:100%;max-width:640px;margin:0 auto 48px;box-shadow:0 1px 2px rgba(11, 15, 25, .04);border:1px solid var(--cm-line);border-radius:22px;overflow:hidden;}
.cmc-inline .cmc-cuerpo{overflow:visible;}
.cmc-cargando{position:relative;color:transparent !important;pointer-events:none;}
.cmc-cargando::after{content:"";position:absolute;top:50%;left:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border:2.5px solid rgba(255, 255, 255, .45);border-top-color:#fff;border-radius:50%;animation:cmcGira .7s linear infinite;}
.cmc-aviso{position:fixed;left:50%;bottom:24px;z-index:1000000003;max-width:calc(100% - 32px);padding:14px 20px;border-radius:14px;background:#0b0f19;color:#fff;font:600 14px/1.4 Montserrat, sans-serif;box-shadow:0 12px 32px rgba(11, 15, 25, .25);transform:translate(-50%, 20px);opacity:0;pointer-events:none;transition:transform .25s var(--cm-ease), opacity .25s var(--cm-ease);}
.cmc-aviso.is-on{transform:translate(-50%, 0);opacity:1;}
@keyframes cmcEntra { from{opacity:0;transform:translateY(6px);}
}
@keyframes cmcBrillo { to{background-position:-200% 0;}
}
@keyframes cmcGira { to{transform:rotate(360deg);}
} @media(max-width:767px){
.cmc-panel{top:auto;left:0;width:100%;height:calc(100% - 28px);height:calc(100dvh - 28px);border-radius:22px 22px 0 0;box-shadow:0 -16px 50px rgba(11, 15, 25, .2);transform:translateY(104%);}
.cmc-top{min-height:60px;padding-left:18px;}
.cmc .cmc-items{padding:4px 16px;}
.cmc-item{grid-template-columns:68px minmax(0, 1fr);gap:12px;}
.cmc-img{width:68px;height:68px;}
.cmc-form{padding:18px 16px;}
.cmc-pie{padding:14px 16px calc(14px + env(safe-area-inset-bottom));}
.cmc-pasos{padding:12px 16px;}
.cmc-paso{font-size:12px;gap:6px;}
.cmc-inline .cmc-panel{height:auto;border-radius:18px;margin-bottom:32px;}
}
@media (prefers-reduced-motion: reduce) {
.cmc *, .cmc-panel, .cmc-fondo { transition: none !important; animation: none !important; }
}