/* Cart lateral de la tienda (staging/prod). Mismo lenguaje visual que /cart/ y el drawer de checkout-next
   (checkout-next/app/globals.css): marfil, tinta navy, dorado solo en acentos, esquinas rectas,
   Cormorant en titulares y Jost en el resto. Todo con prefijo .ccod para no chocar con el CSS del tema. */
.ccod{--ivory:#fcf9f2;--paper:#fffdf8;--tint:#f7f1e4;--ink:#16273e;--ink-soft:#324862;--mute:#5c6877;--navy-deep:#122238;--navy:#1b3a5e;--gold:#b89968;--gold-light:#d4b886;--gold-deep:#93721b;--line:#e3d6b8;--line-soft:#ece2cc;--ember:#a8371f;--win:#2f6b4f;
  position:fixed;inset:0;z-index:100000;visibility:hidden;font-family:'Jost','Helvetica Neue',Arial,sans-serif;color:var(--ink);font-size:17px;line-height:1.45}
.ccod.open{visibility:visible}
.ccod *{box-sizing:border-box}
.ccod dl,.ccod dt,.ccod dd,.ccod p,.ccod li,.ccod span,.ccod div{text-transform:none;letter-spacing:normal;font-weight:inherit}
.ccod button{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;text-transform:none;letter-spacing:normal;min-height:0;line-height:1;box-shadow:none;border-radius:0;display:inline-grid;place-items:center}
.ccod a{color:inherit}
.ccod svg{display:block;flex:none;fill:none;stroke:currentColor}
.ccod-scrim{position:absolute;inset:0;background:rgba(10,22,38,.5);opacity:0;transition:opacity .25s}
.ccod.open .ccod-scrim{opacity:1}
.ccod-panel{position:absolute;top:0;right:0;bottom:auto;max-height:100%;width:min(460px,100%);background:var(--ivory);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .32s cubic-bezier(.22,1,.36,1);box-shadow:-18px 0 50px -20px rgba(10,22,38,.45)}
.ccod.open .ccod-panel{transform:none}
.ccod-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px 14px;background:var(--paper);border-bottom:1px solid var(--line)}
.ccod-head h2{display:flex;align-items:center;gap:12px;font-family:'Cormorant Garamond',Georgia,serif;font-size:30px;font-weight:600;line-height:1.1;margin:0;color:var(--navy-deep);text-transform:none;letter-spacing:0}
.ccod-head h2::before{content:'';width:7px;height:7px;background:var(--gold);transform:rotate(45deg)}
.ccod .ccod-count{font-family:'Jost','Helvetica Neue',Arial,sans-serif;font-size:15px;font-weight:400;color:var(--mute);margin-left:-6px}
.ccod .ccod-x{width:44px;height:44px;color:var(--ink)}
.ccod .ccod-x:hover{color:var(--navy)}
.ccod-body{flex:0 1 auto;min-height:0;overflow-y:auto;padding:20px;-webkit-overflow-scrolling:touch}
.ccod-foot{padding:14px 20px 18px;border-top:1px solid var(--line);background:var(--paper)}
.ccod-muted{color:var(--mute)}
.ccod-alert{background:#fbeee9;border:1px solid #e0a79b;color:#7a2a1b;padding:12px 14px;margin:0 0 14px;font-size:16px}

/* líneas: miniatura sobre blanco con borde fino, nombre en Cormorant */
.ccod-lines{list-style:none;margin:0;padding:0}
.ccod-line{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:2px 14px;padding:12px 0;margin:0;border-bottom:1px solid var(--line-soft);list-style:none}
.ccod-line:first-child{padding-top:0}
.ccod-line:last-child{border-bottom:0}
.ccod-img{background:#fff;border:1px solid var(--line);width:64px;height:64px;padding:3px;display:block}
.ccod-img img{width:100%;height:100%;object-fit:contain;display:block;margin:0}
/* redesign-home.css fija Jost con !important en 'html body a': aquí se recupera la Cormorant */
.ccod .ccod-name{font-family:'Cormorant Garamond',Georgia,serif!important;font-weight:600;font-size:19px;line-height:1.12;display:block;text-decoration:none;color:var(--navy-deep)}
.ccod .ccod-name:hover{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}
.ccod-unit{font-size:14px;color:var(--mute);margin:2px 0 8px}
.ccod-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ccod-qty{display:inline-flex;align-items:stretch;border:1px solid var(--line);background:#fff}
.ccod .ccod-qty button{width:40px;height:40px;font-size:18px;color:var(--ink)}
.ccod .ccod-qty button:hover:not(:disabled){background:var(--tint)}
.ccod-qty button:disabled{opacity:.35;cursor:not-allowed}
.ccod .ccod-qty span{min-width:36px;display:grid;place-items:center;font-size:16px;font-weight:500;border-left:1px solid var(--line);border-right:1px solid var(--line)}
.ccod .ccod-rm{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);min-height:40px}
.ccod .ccod-rm span{letter-spacing:.12em;font-weight:500;text-transform:uppercase}
.ccod .ccod-rm:hover{color:var(--ember)}
.ccod-total{font-weight:600!important;font-size:16px;white-space:nowrap}

/* totales */
.ccod-totals{margin:0 0 12px}
.ccod-totals>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;font-size:17px}
.ccod-totals dt{color:var(--ink-soft);margin:0}
.ccod-totals dd{margin:0;text-align:right}
.ccod-totals .disc dd{color:var(--win);font-weight:500}
.ccod-totals .grand{border-top:1px solid var(--line);margin-top:10px;padding-top:16px}
.ccod .ccod-totals .grand dt{font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--navy-deep)}
.ccod .ccod-totals .grand dd{font-size:27px;letter-spacing:-.01em;font-weight:600;color:var(--navy-deep)}

/* botón: recto, navy sólido, mayúsculas espaciadas */
.ccod .ccod-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:54px;padding:0 24px;margin:0;border:1px solid var(--navy);border-radius:0;font-size:15px;font-weight:500;line-height:1.2;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;background:var(--navy);color:#fff!important;transition:background-color .2s ease}
.ccod .ccod-btn span{letter-spacing:.18em;font-weight:500;text-transform:uppercase}
.ccod .ccod-btn svg{color:var(--gold-light)}
.ccod .ccod-btn:hover{background:var(--navy-deep);border-color:var(--navy-deep)}
.ccod .ccod-link{display:flex;justify-content:center;align-items:center;font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)!important;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:5px;padding:0;min-height:44px;margin-top:2px}
/* enlace al cupón: alineado a la izquierda bajo las líneas, como .link-btn del drawer de la app */
.ccod .ccod-link.ccod-coupon{display:inline-flex;justify-content:flex-start;padding:10px 0;margin:6px 0 0}
.ccod .ccod-link:hover{color:var(--navy-deep)!important;text-decoration-color:var(--gold)}

/* fila de confianza */
.ccod-trust{list-style:none;margin:8px 0 0;padding:12px 0 0;border-top:1px solid var(--line-soft);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ccod-trust li{display:flex;flex-direction:column;align-items:center;gap:7px;margin:0;text-align:center;font-size:12.5px;line-height:1.3;color:var(--ink-soft)}
.ccod-trust svg{color:var(--gold)}

.ccod-empty{text-align:center;padding:48px 8px}
.ccod-empty p{font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;color:var(--navy-deep);margin:0 0 18px}
.ccod-empty .ccod-btn{display:inline-flex;width:auto;margin-top:4px}
.ccod-skel{height:120px;background:linear-gradient(90deg,#f1e8d6,#faf4e7,#f1e8d6);background-size:200% 100%;animation:ccodsk 1.4s linear infinite}
@keyframes ccodsk{to{background-position:-200% 0}}
.ccod :focus-visible{outline:2px solid var(--gold-deep);outline-offset:3px}
body.ccod-lock{overflow:hidden}
/* El chat en vivo (#cco-chat, z-index 2147483000) taparía el botón de pago: se oculta con el drawer abierto. */
body.ccod-lock #cco-chat{display:none!important}
.cco-qadd.ccod-loading,.ccod-loading{opacity:.6;pointer-events:none}
@media (max-width:520px){.ccod-line{grid-template-columns:56px minmax(0,1fr) auto;gap:2px 14px}.ccod-img{width:56px;height:56px}.ccod-row{gap:6px 10px}}
@media (prefers-reduced-motion:reduce){.ccod-panel,.ccod-scrim{transition:none}}
