/* ===== Assistente de pedidos ===== */
.bot__fab {
  position: fixed; left: 20px; bottom: 20px; z-index: 58;
  display: flex; align-items: center; gap: 6px; height: 52px; padding: 0 18px 0 14px;
  border: 0; border-radius: 999px; background: var(--yellow); color: var(--wine-deep);
  font: 800 15px/1 Inter, sans-serif; box-shadow: var(--shadow); cursor: pointer; font-size: 22px;
}
.bot__fab span { font-size: 15px; }
body.has-cart .bot__fab { bottom: 96px; }
.bot__panel {
  position: fixed; left: 16px; bottom: 84px; z-index: 59;
  width: min(360px, calc(100vw - 32px)); height: min(480px, calc(100vh - 120px));
  display: flex; flex-direction: column; background: var(--cream); color: var(--text);
  border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden;
}
.bot__panel[hidden] { display: none; }
body.has-cart .bot__panel { bottom: 160px; height: min(440px, calc(100vh - 190px)); }
.bot__head { display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; background: var(--wine); color: #fff; }
.bot__close { border: 0; background: none; color: #fff; font-size: 18px; cursor: pointer; }
.bot__log { flex: 1; overflow-y: auto; padding: 14px; display: flex; flex-direction: column; gap: 10px; }
.bot__msg { max-width: 88%; }
.bot__msg p { margin: 0; padding: 10px 12px; border-radius: 14px; font-size: 14px; line-height: 1.4; }
.bot__msg--bot p { background: #fff; border-bottom-left-radius: 4px; }
.bot__msg--me { align-self: flex-end; }
.bot__msg--me p { background: var(--red); color: #fff; border-bottom-right-radius: 4px; }
.bot__acts { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.bot__acts button { border: 1.5px solid var(--red); background: #fff; color: var(--red); border-radius: 999px; padding: 6px 12px; font: 700 13px Inter, sans-serif; cursor: pointer; }
.bot__acts button:hover { background: var(--red); color: #fff; }
.bot__form { display: flex; gap: 8px; padding: 10px; border-top: 1px solid #ecd7c4; background: #fff; }
.bot__form input { flex: 1; min-width: 0; border: 1px solid #e2c9b5; border-radius: 999px; padding: 10px 14px; font: 15px Inter, sans-serif; }
.bot__form button { border: 0; border-radius: 999px; padding: 0 16px; background: var(--red); color: #fff; font: 700 14px Inter, sans-serif; cursor: pointer; }

/* Painel de pagamento online */
.pay-panel { position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; padding: 16px; background: rgba(0, 0, 0, .6); }
.pay-panel__box { width: min(380px, 100%); background: var(--cream); color: var(--text); border-radius: var(--radius); padding: 24px; text-align: center; display: grid; gap: 12px; }
.pay-panel__box h3 { margin: 0; }
.pay-panel__box p { margin: 0; }
.footer__legal a { color: inherit; opacity: .7; }
