/**
 * La Dalia — cesta lateral (diseño design_handoff_cesta_lateral).
 *
 * Añadido de La Dalia sobre sidcart: se carga después de sidcart.css y sidcart-right.css
 * para poder pisar sus reglas. Los contenedores del módulo (.sb-menu-right, .sidcart-overlay,
 * .close-cart) se reestilan con el diseño; el contenido usa clases .ld-*.
 */

:root{
  --ld-cart-blue:#E0192E;
  --ld-cart-blue-deep:#141414;
  --ld-cart-ink:#141414;
  --ld-cart-grey-1:#9A9A9E;
  --ld-cart-grey-2:#84848B;
  --ld-cart-grey-3:#6E6E75;
  --ld-cart-chip:#5D5D64;
  --ld-cart-line:#ECECEE;
  --ld-cart-line-soft:#F0F0F2;
  --ld-cart-surface:#F7F7F9;
  --ld-cart-track:#E4E4E9;
  --ld-cart-scrim:rgba(20,20,24,.34);
  --ld-cart-mute:#B6B6BC;
  --ld-cart-disabled:#C8C8CE;
  --ld-cart-font:'Jost',system-ui,-apple-system,sans-serif;
  --ld-cart-w:452px;
  --ld-cart-pad:28px;
  --ld-cart-thumb-w:96px;
  --ld-cart-thumb-h:124px;
  --ld-cart-t-color:.2s ease;
  --ld-cart-t-fade:.25s ease;
  --ld-cart-t-drawer:.42s cubic-bezier(.2,.75,.2,1);
}

/* ==========================================================================
   1. Overlay y contenedor (clases de sidcart)
   ========================================================================== */
.sidcart-overlay{background-color:var(--ld-cart-scrim);backdrop-filter:blur(2px);
  transition:opacity var(--ld-cart-t-fade)}
.sb-menu-right{width:var(--ld-cart-w);max-width:100%;background:#fff;color:var(--ld-cart-ink);
  font-family:var(--ld-cart-font);box-shadow:-24px 0 60px rgba(20,20,24,.16);overflow:hidden;
  transition:transform var(--ld-cart-t-drawer)}
.sb-menu-right .cart-preview,.sb-menu-right #js-cart-sidcart{display:flex;flex-direction:column;height:100%;min-height:0;margin:0;padding:0}
.sb-menu-right .sidcart-wrapper{display:flex;flex-direction:column;height:100%;min-height:0;padding:0}
.sb-menu-right ::-webkit-scrollbar{width:4px}
.sb-menu-right ::-webkit-scrollbar-thumb{background:#D9D9DE}

/* Aspa de cierre: la añade el JS del módulo dentro de .sb-menu-right */
.sb-menu-right .close-cart{position:absolute;top:26px;right:var(--ld-cart-pad);z-index:4;display:grid;place-items:center;
  width:38px;height:38px;border:1px solid #ECECEC;background:#fff center/14px no-repeat
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23141414' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M5 5l14 14M19 5L5 19'/%3E%3C/svg%3E");
  font-size:0;line-height:0;color:transparent;cursor:pointer;transition:border-color var(--ld-cart-t-color)}
.sb-menu-right .close-cart:hover{border-color:var(--ld-cart-ink)}

/* ==========================================================================
   2. Cabecera
   ========================================================================== */
.ld-dhead{padding:26px var(--ld-cart-pad) 20px;padding-right:calc(var(--ld-cart-pad) + 50px)}
.ld-added{display:flex;align-items:center;gap:9px;margin:0;font-size:11px;line-height:1;font-weight:600;
  letter-spacing:.24em;text-transform:uppercase;color:var(--ld-cart-blue)}
.ld-added[hidden]{display:none}
.ld-added svg{flex:none;width:15px;height:15px;fill:none;stroke:var(--ld-cart-blue);stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;display:block}
.ld-dtitle{display:flex;align-items:baseline;gap:10px;margin-top:14px}
.ld-dtitle h2,.ld-dtitle .ld-dtitle__h{margin:0;font-size:24px;line-height:1;font-weight:500;letter-spacing:.24em;
  text-transform:uppercase;color:var(--ld-cart-ink)}
.ld-dtitle__count{font-size:15px;line-height:1;font-weight:400;color:var(--ld-cart-grey-1)}

/* ==========================================================================
   3. Barra de envío gratis
   ========================================================================== */
.ld-ship{flex:none;margin:0 var(--ld-cart-pad);padding:14px 16px;background:var(--ld-cart-surface)}
.ld-ship__row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ld-ship__msg{margin:0;font-size:12.5px;line-height:1.3;letter-spacing:.04em;color:var(--ld-cart-ink)}
.ld-ship__tag{font-size:10.5px;line-height:1;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ld-cart-grey-3);white-space:nowrap}
.ld-ship.is-free .ld-ship__tag{color:var(--ld-cart-blue)}
.ld-ship__track{height:3px;margin-top:11px;background:var(--ld-cart-track)}
.ld-ship__fill{height:3px;background:var(--ld-cart-blue);transition:width var(--ld-cart-t-fade)}

/* ==========================================================================
   4. Líneas
   ========================================================================== */
.ld-dbody{flex:1;min-height:0;overflow-y:auto;padding:8px var(--ld-cart-pad) 22px}
.cart-preview .ld-dbody .ld-line{display:grid;grid-template-columns:var(--ld-cart-thumb-w) 1fr;gap:18px;
  margin:0;padding:22px 0;border-bottom:1px solid var(--ld-cart-line-soft);text-align:left;
  transition:opacity var(--ld-cart-t-fade)}
.ld-line:has(.adding),.ld-line.is-busy{opacity:.6;pointer-events:none}
.cart-preview .ld-line .ld-line__media{position:relative;flex:none;width:auto;height:var(--ld-cart-thumb-h);
  background:var(--ld-cart-surface);border:0;overflow:hidden;display:block}
.cart-preview .ld-line .ld-line__media img{position:absolute;top:0;left:0;width:100%;height:100%;max-width:none;
  padding:0;object-fit:cover;display:block}
.ld-line__main{display:flex;flex-direction:column;min-width:0;padding:0}
.ld-line__top{display:flex;align-items:flex-start;gap:10px}
.ld-line__brand{font-size:9.5px;line-height:1;font-weight:500;letter-spacing:.26em;text-transform:uppercase;
  color:var(--ld-cart-grey-1)}
.cart-preview .ld-line .ld-line__name{display:block;margin-top:7px;font-size:13.5px;line-height:1.4;color:var(--ld-cart-ink);
  text-wrap:pretty}
.cart-preview .ld-line .ld-line__name:hover{color:var(--ld-cart-blue)}
.ld-line.is-out .ld-line__name{color:var(--ld-cart-grey-1)}
.cart-preview .ld-line .ld-remove{position:static;flex:none;display:grid;place-items:center;width:22px;height:22px;
  padding:0;border:0;background:transparent;color:var(--ld-cart-mute);cursor:pointer;transition:color var(--ld-cart-t-color)}
.cart-preview .ld-line .ld-remove:hover{color:var(--ld-cart-blue)}
.ld-remove svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;display:block}

.ld-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}
.ld-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border:1px solid var(--ld-cart-line);
  font-size:11px;line-height:1;letter-spacing:.1em;color:var(--ld-cart-chip)}
.ld-chip--size{font-weight:500;letter-spacing:.12em}
.ld-line.is-out .ld-chip--size{text-decoration:line-through}
.ld-chip__dot{flex:none;width:9px;height:9px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.18)}
.ld-line__note{margin:9px 0 0;font-size:11.5px;line-height:1.3;letter-spacing:.06em;color:var(--ld-cart-blue)}

.ld-line__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px}
.cart-preview .ld-line .ld-qty{display:flex;align-items:center;margin:0;border:1px solid #E6E6EA}
.cart-preview .ld-line .ld-qty button{width:28px;height:28px;padding:0;border:0;background:transparent;
  color:var(--ld-cart-ink);font-family:var(--ld-cart-font);font-size:15px;line-height:1;cursor:pointer}
.cart-preview .ld-line .ld-qty button:disabled{color:var(--ld-cart-disabled);cursor:not-allowed}
.cart-preview .ld-line .ld-qty__val{width:34px;min-width:26px;height:28px;padding:0;border:0;border-radius:0;
  background:transparent;color:var(--ld-cart-ink);font-family:var(--ld-cart-font);font-size:12.5px;font-weight:500;
  text-align:center;-moz-appearance:textfield}
.ld-qty__val::-webkit-outer-spin-button,.ld-qty__val::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ld-line__price{font-size:14.5px;line-height:1;font-weight:600;color:var(--ld-cart-ink);white-space:nowrap}

.ld-empty{padding:70px 0;text-align:center}
.ld-empty p{margin:0;font-size:15px;line-height:1.5;color:var(--ld-cart-grey-2)}
.ld-empty a{display:inline-block;margin-top:18px;padding-bottom:4px;border-bottom:1px solid var(--ld-cart-ink);
  color:var(--ld-cart-ink);font-size:11.5px;line-height:1;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.ld-empty a:hover{color:var(--ld-cart-blue);border-color:var(--ld-cart-blue)}

/* ==========================================================================
   5. Pie de resumen
   ========================================================================== */
.cart-preview .ld-dfoot{flex:none;padding:22px var(--ld-cart-pad) 26px;border-top:1px solid var(--ld-cart-line)}
.cart-preview .ld-dfoot .ld-sum{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0}
.ld-sum + .ld-sum{margin-top:10px}
.ld-sum__k{font-size:13px;line-height:1;letter-spacing:.08em;color:var(--ld-cart-grey-3)}
.ld-sum__v{font-size:13px;line-height:1;color:var(--ld-cart-ink)}
.ld-sum__v.is-free{font-weight:500;letter-spacing:.06em;color:var(--ld-cart-blue)}
.ld-rule{height:1px;margin:16px 0;background:var(--ld-cart-line)}
.cart-preview .ld-dfoot .ld-total{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0;padding:0;border:0}
.ld-total__k{font-size:12px;line-height:1;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--ld-cart-ink)}
.ld-total__v{font-size:26px;line-height:1;font-weight:600;letter-spacing:.01em;color:var(--ld-cart-blue)}
.ld-tax{margin:8px 0 0;font-size:11.5px;line-height:1.4;font-weight:300;color:var(--ld-cart-grey-1);text-align:right}

.cart-preview .ld-checkout{display:grid;place-items:center;width:100%;height:56px;margin-top:20px;padding:0;border:0;
  background:var(--ld-cart-blue);color:#fff;font-family:var(--ld-cart-font);font-size:12.5px;line-height:1;font-weight:600;
  letter-spacing:.24em;text-transform:uppercase;text-align:center;cursor:pointer;transition:background var(--ld-cart-t-color)}
.cart-preview .ld-checkout:hover{background:var(--ld-cart-blue-deep);color:#fff}
.ld-checkout[aria-disabled="true"]{opacity:.4;pointer-events:none}
.cart-preview .ld-continue{display:block;width:100%;height:46px;margin-top:10px;padding:0;border:0;background:transparent;
  color:var(--ld-cart-ink);font-family:var(--ld-cart-font);font-size:11.5px;line-height:1;font-weight:500;letter-spacing:.2em;
  text-transform:uppercase;cursor:pointer;transition:color var(--ld-cart-t-color)}
.cart-preview .ld-continue:hover{color:var(--ld-cart-blue)}

/* ==========================================================================
   6. Barra de confianza (nombre propio: .ld-trust ya lo usa la home)
   ========================================================================== */
.ld-ctrust{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;margin-top:20px;padding-top:18px;
  border-top:1px solid #F2F2F4}
.ld-ctrust span{display:inline-flex;align-items:center;gap:7px;font-size:11px;line-height:1;letter-spacing:.08em;
  color:var(--ld-cart-grey-2)}
.ld-ctrust svg{flex:none;width:14px;height:14px;fill:none;stroke:var(--ld-cart-blue);stroke-width:1.5;
  stroke-linecap:round;stroke-linejoin:round;display:block}

/* ==========================================================================
   7. Foco
   ========================================================================== */
.sb-menu-right button:focus-visible,.sb-menu-right a:focus-visible,.sb-menu-right input:focus-visible{
  outline:2px solid var(--ld-cart-blue);outline-offset:2px}

/* ==========================================================================
   8. Responsive
   ========================================================================== */
@media (max-width:575px){
  :root{--ld-cart-w:100%;--ld-cart-pad:18px;--ld-cart-thumb-w:80px;--ld-cart-thumb-h:104px}
  .sb-menu-right{width:100%}
  .ld-dtitle h2,.ld-dtitle .ld-dtitle__h{font-size:20px;letter-spacing:.2em}
  .cart-preview .ld-dbody .ld-line{gap:14px}
  .ld-ctrust{gap:14px}
  .ld-ctrust span{font-size:10.5px}
  .cart-preview .ld-checkout{height:52px;letter-spacing:.2em}
  .cart-preview .ld-line .ld-qty button{width:34px;height:34px}
  .cart-preview .ld-line .ld-qty__val{height:34px}
}

/* ==========================================================================
   9. Movimiento reducido
   ========================================================================== */
@media (prefers-reduced-motion:reduce){
  .sb-menu-right,.sidcart-overlay,.ld-ship__fill,.cart-preview .ld-dbody .ld-line{transition:none}
}
