/* Assistente de pedidos (abre a partir do botão flutuante) */
.assist {
  position: fixed; right: clamp(.9rem, 2vw, 1.75rem); bottom: clamp(.9rem, 2vw, 1.75rem); z-index: 60;
  width: min(25.5rem, calc(100vw - 2rem)); height: min(40rem, calc(100svh - 2rem));
  display: flex; flex-direction: column; overflow: hidden;
  background: var(--papel); color: var(--tinta); border-radius: 1.75rem 1.75rem 1rem 1rem;
  box-shadow: 0 30px 70px -20px color-mix(in srgb, var(--noite) 55%, transparent), 0 0 0 1px color-mix(in srgb, var(--azul) 12%, transparent);
  font: 400 .97rem/1.45 var(--sans);
}
.assist[hidden] { display: none; }
html.assist-aberto .zap { opacity: 0; visibility: hidden; }

.assist-topo { display: flex; align-items: center; gap: .75rem; padding: .9rem 1rem .9rem 1.25rem; background: var(--noite); color: var(--papel); }
.assist-topo img { height: 2.4rem; width: auto; }
.assist-topo div { flex: 1; min-width: 0; }
.assist-topo h2 { font: 400 1.3rem/1.1 var(--serifa); }
.assist-topo p { font-size: .8rem; color: var(--ouro-claro); }
.assist-fechar {
  width: 2.75rem; height: 2.75rem; flex: none; border: 0; border-radius: 50%; background: color-mix(in srgb, var(--papel) 10%, transparent); color: inherit;
  font: 300 1.8rem/1 var(--sans); cursor: pointer;
}
.assist-fechar:hover { background: color-mix(in srgb, var(--papel) 20%, transparent); }

/* Progresso: as faixas da logo */
.assist-passos { display: flex; gap: 4px; padding: 0; background: var(--noite); }
.assist-passos i { flex: 1; height: 4px; background: color-mix(in srgb, var(--papel) 14%, transparent); transition: background-color .3s; }
.assist-passos i.feito { background: var(--ouro); }
.assist-passos i.atual { background: var(--ouro-claro); }

.assist-msgs { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 1.1rem 1rem .5rem; display: flex; flex-direction: column; gap: .55rem; }
.assist-bolha { max-width: 86%; padding: .65rem .9rem; border-radius: 1.1rem; white-space: pre-wrap; overflow-wrap: anywhere; }
.assist-bot { align-self: flex-start; background: var(--papel-2); border-bottom-left-radius: .3rem; }
.assist-eu { align-self: flex-end; background: var(--azul); color: var(--papel); border-bottom-right-radius: .3rem; }
.assist-escrevendo { display: flex; gap: .3rem; padding: .85rem 1rem; }
.assist-escrevendo i { width: .42rem; height: .42rem; border-radius: 50%; background: var(--tinta-2); opacity: .5; animation: assist-pulo 1s infinite ease-in-out; }
.assist-escrevendo i:nth-child(2) { animation-delay: .15s; }
.assist-escrevendo i:nth-child(3) { animation-delay: .3s; }
@keyframes assist-pulo { 0%, 100% { transform: translateY(0); opacity: .35; } 40% { transform: translateY(-4px); opacity: .9; } }

.assist-resumo { margin: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .35rem .75rem; font-size: .92rem; }
.assist-resumo dt { font-weight: 700; color: var(--azul); }
.assist-resumo dd { margin: 0; white-space: pre-wrap; }
.assist-bot:has(.assist-resumo) { max-width: 100%; width: 100%; background: #fff; border: 1px solid color-mix(in srgb, var(--azul) 15%, transparent); }

.assist-escolhas { display: flex; flex-wrap: wrap; gap: .45rem; padding: 0 1rem; }
.assist-escolhas:not(:empty) { padding-bottom: .9rem; }
.assist-chip {
  min-height: 2.75rem; padding: .55rem 1rem; border: 1.5px solid var(--azul); border-radius: 99px; background: transparent; color: var(--azul);
  font: 600 .9rem/1.2 var(--sans); text-align: left; text-decoration: none; cursor: pointer; display: inline-flex; align-items: center;
  transition: background-color .2s, color .2s;
}
.assist-chip:hover { background: var(--azul); color: var(--papel); }
.assist-chip-principal { background: var(--ouro); border-color: var(--ouro); color: var(--noite); }
.assist-chip-principal:hover { background: var(--ouro-claro); color: var(--noite); }

.assist-form { padding: .7rem 1rem .9rem; border-top: 1px solid color-mix(in srgb, var(--azul) 14%, transparent); background: #fff; }
.assist-form[hidden] { display: none; }
.assist-campos { display: flex; gap: .5rem; align-items: flex-end; flex-wrap: wrap; }
.assist-pais, .assist-input, .assist-texto {
  font: 400 1rem/1.35 var(--sans); color: var(--tinta); background: var(--papel); border: 1.5px solid color-mix(in srgb, var(--azul) 25%, transparent); border-radius: .9rem;
  padding: .65rem .8rem; min-height: 2.9rem;
}
.assist-pais { flex: 1 0 100%; }
.assist-input, .assist-texto { flex: 1; min-width: 0; }
.assist-texto { resize: none; max-height: 9rem; }
.assist-pais:focus, .assist-input:focus, .assist-texto:focus { outline: 0; border-color: var(--azul); box-shadow: 0 0 0 3px color-mix(in srgb, var(--azul) 15%, transparent); }
.assist-pais[hidden], .assist-input[hidden], .assist-texto[hidden] { display: none; }
.assist-enviar { flex: none; width: 2.9rem; height: 2.9rem; border: 0; border-radius: 50%; background: var(--azul); color: var(--papel); cursor: pointer; display: grid; place-items: center; }
.assist-enviar svg { width: 1.3rem; height: 1.3rem; }
.assist-enviar:hover { background: var(--noite); }
.assist-erro { font-size: .85rem; color: #A3361F; margin-top: .4rem; }
.assist-erro:empty { display: none; }

/* Celular: ocupa o ecrã inteiro (a altura acompanha o teclado via JS) */
@media (max-width: 600px) {
  .assist { inset: 0; width: 100%; height: 100dvh; border-radius: 0; box-shadow: none; }
  .assist-topo { padding-top: max(.9rem, env(safe-area-inset-top)); }
  .assist-form { padding-bottom: max(.9rem, env(safe-area-inset-bottom)); }
  html.assist-aberto { overflow: hidden; }
  .assist-bolha { max-width: 90%; }
}
@media (prefers-reduced-motion: reduce) {
  .assist-escrevendo i { animation: none; }
}

/* Escolha inicial (Academia / Consultoria), lista de itens e voltar */
.assist-escolhas { max-height: min(46svh, 22rem); overflow-y: auto; overscroll-behavior: contain; }
.assist-chip-grande { flex: 1 1 8rem; justify-content: center; text-align: center; padding: .85rem 1rem; font-size: 1rem; font-weight: 700; }
.assist-voltar { background: none; border-style: dashed; opacity: .85; }
.assist-voltar:hover { opacity: 1; }
