/* Carretó lateral — neutre (currentColor/variables); el tema el vesteix */
.pz-drawer-overlay{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.45);
  opacity:0;transition:opacity .25s}
.pz-drawer-overlay.open{opacity:1}
body.pz-drawer-lock{overflow:hidden}

.pz-drawer{position:fixed;top:0;right:0;bottom:0;z-index:1001;
  width:min(420px, 100vw);display:flex;flex-direction:column;
  background:var(--pz-drawer-bg, #fff);color:inherit;
  transform:translateX(100%);transition:transform .28s cubic-bezier(.2,.7,.3,1);
  box-shadow:-8px 0 30px rgba(0,0,0,.22)}
.pz-drawer.open{transform:translateX(0)}
/* Estat d'actualització: només la línia afectada, sense enfosquir el panell */
.pz-drawer-item{transition:opacity .18s, transform .22s, max-height .22s;max-height:260px}
.pz-drawer-item.is-updating{opacity:.85}
.pz-drawer-item.is-updating .pz-di-price{opacity:.4;transition:opacity .15s}
.pz-drawer-item.is-removing{opacity:0;transform:translateX(28px);max-height:0;
  padding-top:0;padding-bottom:0;overflow:hidden;pointer-events:none}
.pz-qty-n{transition:transform .18s}
.pz-qty-n.pz-bump{transform:scale(1.35)}
.pz-fade-in{animation:pzFade .22s ease}
@keyframes pzFade{from{opacity:.35}to{opacity:1}}

.pz-drawer-head{display:flex;align-items:center;justify-content:space-between;
  padding:16px 18px;border-bottom:1px solid rgba(128,128,128,.25);
  font-size:14px;text-transform:uppercase;letter-spacing:.1em}
.pz-drawer-close{border:0;background:transparent;font-size:26px;line-height:1;
  cursor:pointer;color:inherit;padding:0 4px}

/* Cos desplaçable: les línies ocupen l'espai que sobra i el peu (total + botons) queda
   sempre a baix del tot, enganxat a la vora si hi ha moltes pizzes. */
.pz-drawer-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;
  display:flex;flex-direction:column}
.pz-drawer-inner{flex:1 0 auto}
.pz-drawer-empty{padding:28px 18px;opacity:.6}
.pz-drawer-items{list-style:none;margin:0;padding:0}
.pz-drawer-item{display:flex;gap:12px;padding:14px 18px;position:relative;
  border-bottom:1px solid rgba(128,128,128,.16)}
.pz-di-img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.pz-di-main{flex:1;min-width:0}
.pz-di-name{display:block;font-weight:600;font-size:14.5px;padding-right:22px}
.pz-di-half{display:block;font-size:12.5px;opacity:.7;margin-top:1px}
.pz-di-supps{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}
.pz-di-supps em{font-style:normal;font-size:11px;padding:2px 8px;border-radius:999px;
  border:1px solid rgba(128,128,128,.4);opacity:.85}
.pz-di-supps em::before{content:"+ ";opacity:.7}
.pz-di-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px}
.pz-di-price{font-size:14px;font-weight:600}
.pz-di-remove{position:absolute;top:12px;right:14px;border:0;background:transparent;
  font-size:19px;line-height:1;cursor:pointer;color:inherit;opacity:.45;padding:2px 4px}
.pz-di-remove:hover{opacity:1}

.pz-qty{display:inline-flex;align-items:center;gap:2px;
  border:1.5px solid rgba(128,128,128,.45);border-radius:999px}
.pz-qty-btn{border:0;background:transparent;width:30px;height:30px;font-size:16px;
  cursor:pointer;color:inherit;line-height:1}
.pz-qty-n{min-width:22px;text-align:center;font-size:14px}

.pz-drawer-foot{position:sticky;bottom:0;background:var(--pz-drawer-bg,#fff);padding:16px 18px;padding-bottom:calc(16px + env(safe-area-inset-bottom));
  border-top:1px solid rgba(128,128,128,.25);display:flex;flex-direction:column;gap:10px}
.pz-drawer-total{display:flex;justify-content:space-between;align-items:baseline;font-size:14px}
.pz-drawer-total strong{font-size:20px}
.pz-drawer-checkout{display:block;text-align:center;padding:14px;border-radius:999px;
  background:#111;color:#fff;text-decoration:none;font-size:15px;font-weight:600}
.pz-drawer-checkout.is-disabled{opacity:.4;pointer-events:none}
.pz-drawer-continue{border:0;background:transparent;color:inherit;font-size:13px;
  text-decoration:underline;cursor:pointer;padding:4px}

@media (prefers-reduced-motion:reduce){
  .pz-drawer,.pz-drawer-overlay{transition:none}
}

/* Enllaços a la fitxa des del carretó */
.pz-di-imglink{display:block;flex:0 0 auto}
a.pz-di-name{text-decoration:none;color:inherit}
a.pz-di-name:hover{text-decoration:underline}

/* Botó eliminar amb paperera */
.pz-di-remove{display:flex;align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:8px}
.pz-di-remove:hover{background:rgba(128,128,128,.15);opacity:1}

/* ---- Línies de pizza (carretó lateral i resum del checkout; veure module-lines.php) ---- */
.pz-di-name,.pz-line-title{display:flex;align-items:baseline;gap:8px;line-height:1.3}
/* Mida: píndola fosca "2 + icona" (colors canviables des del tema amb --pz-pers-bg / --pz-pers-fg) */
.pz-pers{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;
  padding:4px 9px 4px 10px;border-radius:999px;line-height:1;white-space:nowrap;
  background:var(--pz-pers-bg,#111);color:var(--pz-pers-fg,#fff);font-size:.92em}
.pz-pers b{font-weight:800}
.pz-pers svg{flex:0 0 auto}
.pz-line-name{min-width:0}
.pz-frac{font-weight:900;font-size:1.12em}
.pz-line-title{font-weight:600}
.pz-lines{list-style:none;margin:6px 0 0;padding:0;font-size:12.5px}
.pz-lines li{display:flex;justify-content:space-between;gap:12px;padding:2px 0;
  border-top:1px dotted rgba(128,128,128,.3)}
.pz-lines li:first-child{border-top:0}
.pz-lines li span:last-child{white-space:nowrap;font-variant-numeric:tabular-nums}
.pz-l-base{opacity:.9}
.pz-l-supp{opacity:.8}
.pz-l-where{opacity:.7;white-space:nowrap}
.pz-line-note{margin:6px 0 0;font-size:12.5px;font-style:italic;opacity:.8;max-width:none}
.pz-di-each{display:block;margin-top:3px;font-size:12px;opacity:.65}
.pz-drawer-total small{font-size:11px;opacity:.6;margin-left:4px;text-transform:none}
