/* ---------- Drawer da solicitacao ---------- */
.cp-drawer{position:fixed;inset:0;z-index:300}
.cp-drawer[hidden]{display:none}

.cp-drawer__overlay{
  position:absolute;inset:0;background:rgba(31,36,43,.55);
  opacity:0;transition:opacity var(--dur-slow);
}
.cp-drawer.is-on .cp-drawer__overlay{opacity:1}

.cp-drawer__panel{
  position:absolute;top:0;right:0;bottom:0;
  width:min(460px,100vw);
  background:var(--surface-card);
  box-shadow:var(--shadow-drawer);
  display:flex;flex-direction:column;
  transform:translateX(100%);
  transition:transform var(--dur-slow) cubic-bezier(.32,.72,0,1);
}
.cp-drawer.is-on .cp-drawer__panel{transform:translateX(0)}

/* Cabecalho escuro com o saldo */
.cp-drawer__head{
  position:relative;flex-shrink:0;
  background:var(--surface-dark);color:var(--text-on-dark);
  padding:24px 26px 20px;
}
.cp-drawer__title h2{
  font-weight:var(--fw-bold);font-size:20px;letter-spacing:var(--ls-h2);
  color:var(--text-on-dark);margin:0 0 3px;line-height:1.2;
}
.cp-drawer__title p{
  font-weight:var(--fw-light);font-size:var(--fs-small);
  color:var(--text-on-dark-muted);margin:0;
}
.cp-drawer__close{
  position:absolute;top:20px;right:22px;
  width:30px;height:30px;display:flex;align-items:center;justify-content:center;
  background:var(--white-a06);border:var(--hairline) solid var(--border-on-dark);
  border-radius:var(--radius-sm);color:var(--text-on-dark-muted);cursor:pointer;
  transition:background var(--dur-fast),color var(--dur-fast);
}
.cp-drawer__close:hover{background:var(--white-a15);color:var(--text-on-dark)}
.cp-drawer__close svg{width:14px;height:14px}

.cp-drawer__saldo{margin-top:18px}
.cp-drawer__linha{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  font-size:var(--fs-body-sm);color:var(--text-on-dark-muted);margin:0 0 7px;
}
.cp-drawer__linha strong{font-weight:var(--fw-bold);color:var(--text-on-dark);white-space:nowrap}
.cp-drawer__linha em{font-style:normal;font-weight:var(--fw-light);color:var(--text-on-dark-muted)}
.cp-drawer__livre{
  font-weight:var(--fw-bold);font-size:var(--fs-body-sm);
  color:var(--gold);margin:9px 0 0;
}

/* Lista de itens */
.cp-drawer__corpo{flex:1;overflow-y:auto;overscroll-behavior:contain}
.cp-drawer__item{
  display:flex;gap:14px;align-items:flex-start;
  padding:18px 26px;
  border-bottom:var(--hairline) solid var(--gray-200);
}
.cp-drawer__foto{
  flex-shrink:0;width:56px;height:56px;
  display:flex;align-items:center;justify-content:center;
  background:var(--white);border:var(--hairline) solid var(--border-card);
  border-radius:var(--radius-md);padding:6px;overflow:hidden;
}
.cp-drawer__foto img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.cp-drawer__info{flex:1;min-width:0}
.cp-drawer__nome{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 3px;
}
.cp-drawer__nome span{font-weight:var(--fw-bold);font-size:var(--fs-body);color:var(--navy);line-height:1.3}
.cp-drawer__nome strong{font-weight:var(--fw-bold);font-size:var(--fs-body);color:var(--navy);white-space:nowrap}
.cp-drawer__meta{font-size:var(--fs-small);color:var(--text-caption);margin:0 0 10px}
.cp-drawer__acoes{display:flex;align-items:center;gap:16px}
.cp-drawer__remover{
  background:none;border:none;padding:0;cursor:pointer;
  font-size:var(--fs-body-sm);color:var(--text-muted);
  text-decoration:underline;text-underline-offset:3px;
  transition:color var(--dur-fast);
}
.cp-drawer__remover:hover{color:#B3261E}
.cp-drawer__min{font-size:var(--fs-small);color:var(--text-meta);margin:8px 0 0}

.cp-qty--mini .cp-qty__btn{width:28px;font-size:14px}
.cp-qty--mini .cp-qty__input{width:52px;padding-block:6px;font-size:var(--fs-body-sm)}

/* Vazio */
.cp-drawer__vazio{padding:56px 32px;text-align:center}
.cp-drawer__vazio-titulo{font-weight:var(--fw-bold);font-size:var(--fs-h4);color:var(--navy);margin:0 0 8px}
.cp-drawer__vazio-texto{font-weight:var(--fw-light);font-size:var(--fs-body-sm);color:var(--text-muted);margin:0}

/* Rodape */
.cp-drawer__foot{
  flex-shrink:0;padding:20px 26px 24px;
  border-top:var(--hairline) solid var(--border-card);
  background:var(--surface-card);
}
.cp-drawer__total{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 14px;
}
.cp-drawer__total span{font-size:var(--fs-body);color:var(--text-muted)}
.cp-drawer__total strong{
  font-weight:var(--fw-black);font-size:24px;letter-spacing:var(--ls-h2);color:var(--navy);
}
.cp-drawer__nota{
  font-weight:var(--fw-light);font-size:var(--fs-small);line-height:1.5;
  color:var(--text-caption);text-align:center;margin:12px 0 0;
}
.cp-btn.is-off{pointer-events:none;background:var(--gray-200);color:var(--text-meta)}

/* Enquanto o drawer trabalha */
.cp-drawer__panel.is-busy{opacity:.6;pointer-events:none}

body.cp-travado{overflow:hidden}

@media(max-width:560px){
  .cp-drawer__panel{width:100vw}
  .cp-drawer__head{padding:20px}
  .cp-drawer__item{padding:16px 20px}
  .cp-drawer__foot{padding:18px 20px 22px}
}
@media(prefers-reduced-motion:reduce){
  .cp-drawer__panel,.cp-drawer__overlay{transition:none}
}
