/* cesta.css — cajón de la cesta para las páginas de la v2.
   Usa los mismos tokens que el resto del diseño; si la página no los define,
   los valores de reserva mantienen el aspecto. */
.cesta-velo{position:fixed;inset:0;z-index:980;background:rgba(30,23,19,.5);
  opacity:0;visibility:hidden;transition:opacity .45s cubic-bezier(.22,1,.36,1),visibility .45s}
.cesta-velo.abierta{opacity:1;visibility:visible}

.cesta{position:fixed;top:0;right:0;bottom:0;z-index:990;width:min(420px,92vw);
  display:flex;flex-direction:column;background:var(--paper,#F4EEE7);
  border-left:1px solid var(--hair,#D9CEC0);box-shadow:-18px 0 44px rgba(72,50,32,.12);
  transform:translateX(100%);transition:transform .5s cubic-bezier(.22,1,.36,1)}
.cesta.abierta{transform:none}

.cesta-cab{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:24px clamp(20px,4vw,28px);border-bottom:1px solid var(--hair,#D9CEC0)}
.cesta-tit{font-family:var(--f-display,'Alta',Georgia,serif);font-size:23px;color:#2F2C2A}
.cesta-x{background:none;border:0;font-size:26px;line-height:1;color:var(--ink-3,#8C7E71);
  cursor:pointer;padding:0 2px;transition:color .3s ease}
.cesta-x:hover{color:var(--ink,#2A2521)}

.cesta-cuerpo{flex:1;overflow-y:auto;padding:clamp(16px,3vw,22px) clamp(20px,4vw,28px)}
.cesta-vacia{font-family:var(--f-body,'Crimson Pro',Georgia,serif);font-size:17px;font-weight:300;
  color:var(--ink-3,#8C7E71);text-align:center;padding:40px 0}

.cesta-linea{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:14px;align-items:start;
  padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--hair,#D9CEC0)}
.cesta-linea:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.cesta-ph{display:block;width:64px;aspect-ratio:840/1087;overflow:hidden;background:var(--paper-3,#E3D9CC)}
.cesta-ph img{width:100%;height:100%;object-fit:cover}
.cesta-info{min-width:0}
.cesta-info b{display:block;font-family:var(--f-display,'Alta',Georgia,serif);font-size:17px;
  font-weight:400;line-height:1.2;color:#2F2C2A}
.cesta-talla{display:block;margin-top:3px;font-family:var(--f-sans,Inter,sans-serif);font-size:11.5px;
  font-weight:300;color:var(--ink-3,#8C7E71)}
.cesta-cant{display:inline-flex;align-items:center;gap:10px;margin-top:9px}
.cesta-cant button{width:24px;height:24px;display:flex;align-items:center;justify-content:center;
  background:none;border:1px solid var(--ink-4,#B4A798);color:var(--ink-2,#574C43);cursor:pointer;
  font-family:var(--f-sans,Inter,sans-serif);font-size:13px;line-height:1;transition:background .25s ease}
.cesta-cant button:hover{background:rgba(42,37,33,.06)}
.cesta-cant span{min-width:16px;text-align:center;font-family:var(--f-body,'Crimson Pro',Georgia,serif);
  font-size:16px;font-weight:300}
.cesta-lado{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.cesta-precio{font-family:var(--f-body,'Crimson Pro',Georgia,serif);font-size:17px;font-weight:300;
  color:var(--ink,#2A2521);white-space:nowrap}
.cesta-quitar{background:none;border:0;padding:0;cursor:pointer;
  font-family:var(--f-tag),'Jost',sans-serif;font-size:9.5px;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-4,#B4A798);transition:color .3s ease}
.cesta-quitar:hover{color:var(--ink,#2A2521)}

.cesta-pie{padding:clamp(18px,3vw,24px) clamp(20px,4vw,28px);border-top:1px solid var(--hair,#D9CEC0);
  background:var(--paper-2,#ECE4DA)}
.cesta-pie:empty{display:none}
.cesta-total{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px}
.cesta-total span{font-family:var(--f-tag),'Jost',sans-serif;font-size:11px;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2,#574C43)}
.cesta-total b{font-family:var(--f-body,'Crimson Pro',Georgia,serif);font-size:25px;font-weight:300;color:var(--ink,#2A2521)}
.cesta-pagar{display:flex;align-items:center;justify-content:center;height:58px;
  background:var(--olive,#47513C);color:var(--paper,#F4EEE7);
  font-family:var(--f-tag),'Jost',sans-serif;font-size:11.5px;font-weight:500;letter-spacing:.18em;
  text-transform:uppercase;box-shadow:0 2px 10px rgba(72,50,32,.06);
  transition:background .35s ease,box-shadow .35s ease,transform .18s ease-out}
.cesta-pagar:hover{background:var(--olive-dp,#363E2D);box-shadow:0 18px 44px rgba(72,50,32,.12);transform:translateY(-2px)}
.cesta-seguro{margin-top:12px;text-align:center;font-family:var(--f-sans,Inter,sans-serif);
  font-size:11.5px;font-weight:300;color:var(--ink-3,#8C7E71)}
