/* COMPRA RÁPIDA — o popup de pedir sem sair da tela.
   Vive aqui e não dentro de um template porque três telas o usam (conta,
   cardápio e a página do produto): CSS de componente não se escreve três vezes. */

.cr-ov{position:fixed;inset:0;background:rgba(30,18,26,.5);display:none;
  align-items:center;justify-content:center;z-index:9000;padding:16px}
.cr-ov.on{display:flex}

.cr-pop{background:#fff;border-radius:18px;width:100%;max-width:940px;
  max-height:92vh;overflow:auto;box-shadow:0 20px 60px rgba(30,18,26,.25)}
.cr-cab{display:flex;align-items:baseline;gap:10px;padding:18px 22px 12px;
  border-bottom:1px solid #F1E5EA;position:sticky;top:0;background:#fff;z-index:2}
.cr-cab b{font-size:18px;color:#3A2430}
.cr-sub{color:#8A6B76;font-size:13px;flex:1}
.cr-x{margin-left:auto;border:none;background:transparent;font-size:26px;line-height:1;
  color:#8A6B76;cursor:pointer;padding:0 4px}
.cr-x:hover{color:#D6336C}
.cr-x:focus-visible{outline:2px solid #D6336C;outline-offset:2px;border-radius:4px}

.cr-corpo{display:grid;grid-template-columns:1fr 300px;gap:0}
.cr-ofertas{padding:16px 22px 22px;min-width:0}
.cr-secao{margin-bottom:22px}
.cr-tit{display:flex;align-items:baseline;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.cr-tit b{font-size:14px;color:#3A2430}
.cr-tit small{color:#8A6B76;font-size:12px;flex:1}

.cr-grade{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}
.cr-item{display:flex;flex-direction:column;gap:5px;padding:9px;border:1px solid #EFE3E8;
  border-radius:13px;background:#fff;cursor:pointer;text-align:left;font:inherit;
  transition:border-color .15s,transform .1s}
.cr-item:hover{border-color:#D6336C}
.cr-item:active{transform:scale(.97)}
.cr-item:focus-visible{outline:2px solid #D6336C;outline-offset:2px}
.cr-item img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:9px}
.cr-sem{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;
  background:#FBF7F9;border-radius:9px;font-size:26px}
.cr-nome{font-size:12.5px;font-weight:650;color:#3A2430;line-height:1.3}
.cr-preco{font-size:13px;font-weight:800;color:#1F8A5B;font-variant-numeric:tabular-nums}

.cr-sacola{background:#FBF7F9;border-left:1px solid #F1E5EA;padding:16px 18px;
  display:flex;flex-direction:column;gap:11px}
.cr-sacola > b{font-size:14px;color:#3A2430}
.cr-lista{display:flex;flex-direction:column;gap:7px;max-height:230px;overflow:auto}
.cr-nada{color:#B79AA6;font-size:12.5px;margin:0}
.cr-linha{display:flex;align-items:center;gap:8px;font-size:12.5px}
.cr-l-nome{flex:1;color:#3A2430;line-height:1.3}
.cr-l-qtd{display:flex;align-items:center;gap:5px}
.cr-l-qtd button{width:23px;height:23px;border:1px solid #EFE3E8;background:#fff;
  border-radius:7px;cursor:pointer;font-size:14px;line-height:1;color:#7A5563}
.cr-l-qtd button:hover{border-color:#D6336C;color:#D6336C}
.cr-l-qtd b{min-width:16px;text-align:center;font-variant-numeric:tabular-nums}
.cr-l-val{font-weight:700;color:#3A2430;font-variant-numeric:tabular-nums;min-width:66px;text-align:right}

.cr-entrega{display:flex;gap:12px;font-size:12.5px;color:#7A5563;flex-wrap:wrap}
.cr-entrega label{display:flex;align-items:center;gap:5px;cursor:pointer}
.cr-end{font-size:12px;color:#8A6B76;margin:0;line-height:1.5}
.cr-end.cr-alerta{color:#B4690E}
.cr-carteira{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:#7A5563}
.cr-carteira label{display:flex;align-items:center;gap:6px;cursor:pointer}
.cr-carteira b{margin-left:auto;color:#1F8A5B;font-variant-numeric:tabular-nums}
.cr-vale input{width:100%;padding:8px 10px;border:1px solid #EFE3E8;border-radius:8px;
  font-size:12.5px;box-sizing:border-box;text-transform:uppercase}
.cr-vale input:focus-visible{outline:2px solid #D6336C;outline-offset:-1px}

.cr-total{display:flex;justify-content:space-between;align-items:baseline;
  padding-top:9px;border-top:1px solid #EFE3E8;font-size:13px;color:#7A5563}
.cr-total b{font-size:19px;color:#3A2430;font-variant-numeric:tabular-nums}
.cr-msg{font-size:12.5px;font-weight:650;min-height:1em}
.cr-msg.ok{color:#1F8A5B}
.cr-msg.erro{color:#C2410C}
.cr-obs{font-size:11px;color:#B79AA6;margin:0;line-height:1.5}

.cr-btn{border:1px solid #EFE3E8;background:#fff;color:#7A5563;border-radius:9px;
  padding:9px 16px;font-size:13px;font-weight:700;cursor:pointer;
  text-decoration:none;display:inline-block;text-align:center}
.cr-btn:hover{border-color:#D6336C;color:#D6336C}
.cr-btn:focus-visible{outline:2px solid #D6336C;outline-offset:2px}
.cr-btn-pri{background:#D6336C;border-color:#D6336C;color:#fff}
.cr-btn-pri:hover{background:#BC2D5F;color:#fff}
.cr-btn-pri:disabled{opacity:.5;cursor:not-allowed;background:#D6336C}
.cr-btn-fraco{padding:5px 11px;font-size:12px}
.cr-vazio{padding:28px 22px;text-align:center;color:#7A5563}
.cr-vazio p{margin:0 0 14px;font-size:13.5px;line-height:1.6}

@media (max-width:760px){
  .cr-corpo{grid-template-columns:1fr}
  .cr-sacola{border-left:none;border-top:1px solid #F1E5EA;
    position:sticky;bottom:0;background:#FBF7F9}
  .cr-pop{max-height:96vh}
}
@media (prefers-reduced-motion:reduce){
  .cr-item{transition:none}
}
