/* ==== FORMULÁRIO BOT (Paperform) — PT-PT — v5.12: layout duplo de 2018, campos em linha do microformulário (28.10) ====
   GERADO por docs/design/global/paperform-gerar.py a partir de paperform-modelo.css (não editar o ficheiro gerado).
   Onde se põe: Paperform → o formulário → Theme & Appearance → Custom CSS (colar tudo). Testar num formulário DUPLICADO.
   Desenho (Paulo, 28.10): o layout duplo do formulário de 2018: faixa verde em cima com o logótipo alinhado ao início do
   formulário; formulário à esquerda no branco; à direita, no cinzento, a dica de cada etapa. Campos como o microformulário:
   pergunta em IBM Plex Mono cinza, resposta em Poppins, filete cinzento que fica verde ao escrever, círculo branco com
   sombra e o número em cinza; ao preencher, o círculo salta e aparece o ✓ verde. Erros no balão roxo da arte de 2018.
   Base técnica: estudo do Paulo e relatório de teste ES (28.10): estado no <html> (.body--live), só a página atual no DOM,
   barra de setas position:fixed, o Paperform copia o valor de cada campo para o atributo value.
   Regras respeitadas: não muda o display de páginas/figuras; nada de transform/filter/overflow:hidden nos antepassados da
   barra de setas; não toca no z-index do campo ativo, no input de ficheiro, na estrutura do react-select, nos papéis
   ARIA; o aviso de erro só muda cor e tipografia no estado base. Animações só com prefers-reduced-motion livre. */

@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Poppins:wght@300;400;500;600&display=swap');

:root{
  --bot-tinta:#1D1D1B; --bot-cinza:#5E5F65; --bot-cinza-claro:#8A8B90; --bot-filete:#E2E2E4;
  --bot-rotulo:#9A9A9F; --bot-resposta:#1D1D1B; --bot-linha:#C4C4C8; --bot-sombra:0 2px 7px rgba(29,29,27,.16);
  --bot-bloco:#F0F0F2; --bot-nevoa:#FAFAFA; --bot-verde:#00F698; --bot-escuro-hover:#3A3A3A;
  --bot-roxo:#6527DB; --bot-roxo-hover:#5A22C4; --bot-azul:#547AEE; /* azul das Web Colors de 2018: sugestões */
  --bot-poppins:'Poppins','Helvetica Neue',Helvetica,Arial,sans-serif;
  --bot-mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;
  --bot-curva:cubic-bezier(.22,1,.36,1);
  /* layout duplo: formulário 600 + vão 72 + dicas 300 = 972, centrado; o cinzento começa a meio do vão */
  --bot-form:600px; --bot-vao:72px; --bot-dicas:300px; --bot-esq:calc(50% - 486px);
  --bot-circulo:32px; --bot-recuo:56px;
  --bot-logo:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 310.47 233.33"%3E%3Cpath fill="%23FFFFFF" d="M267.59,88.68a38.68,38.68,0,0,0-.56-4.11V42.22h39.74V20H267V0H240.17l0,90.3c0,28.2,23.25,51.14,50.94,53.3V115.66A27.19,27.19,0,0,1,267.59,88.68Z"/%3E%3Cpath fill="%23FFFFFF" d="M173.26,36.53a53.81,53.81,0,1,0,53.81,53.81A53.81,53.81,0,0,0,173.26,36.53Zm0,80.33a26.52,26.52,0,1,1,26.52-26.52A26.52,26.52,0,0,1,173.26,116.86Z"/%3E%3Cpath fill="%23FFFFFF" d="M108.69,90.12A53.57,53.57,0,0,0,55.23,36.45c-7.88,0-20.94,5.57-28.38,14L26.81,0H0L0,90.3c0,29.64,25.68,53.48,55.2,53.48A53.56,53.56,0,0,0,108.69,90.12Zm-80.86.23a26.52,26.52,0,1,1,26.52,26.52A26.52,26.52,0,0,1,27.82,90.34Z"/%3E%3Cpath fill="%23FFFFFF" d="M154.49,207.9A106.4,106.4,0,0,1,48.84,172.11L31.36,186.68a129,129,0,0,0,99.28,46.65,130.79,130.79,0,0,0,28.87-3.24l20.28-4.59-5-22.19Z"/%3E%3C/svg%3E');
  --bot-check:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"%3E%3Cpolyline points="3,8.6 6.6,12 13,4.6" fill="none" stroke="%2300F698" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/%3E%3C/svg%3E');
  --bot-alerta:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"%3E%3Cpath d="M12 3.2 22 20.5H2Z" fill="none" stroke="%23FFFFFF" stroke-width="1.5" stroke-linejoin="round"/%3E%3Cpath d="M12 9.5v5.2" stroke="%23FFFFFF" stroke-width="1.6" stroke-linecap="round"/%3E%3Ccircle cx="12" cy="17.6" r="1" fill="%23FFFFFF"/%3E%3C/svg%3E');
  --bot-lampada:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"%3E%3Cpath d="M9 18h6M10 21h4M12 3a6 6 0 0 0-3.6 10.8c.8.6 1.1 1.4 1.1 2.2h5c0-.8.3-1.6 1.1-2.2A6 6 0 0 0 12 3z" fill="none" stroke="%23FFFFFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/%3E%3C/svg%3E');
  --bot-camiao:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"%3E%3Cpath d="M3 9h18v15H3zM21 14h7l5 5v5H21z" fill="none" stroke="%231D1D1B" stroke-width="1.5" stroke-linejoin="round"/%3E%3Ccircle cx="9" cy="26" r="3" fill="%23FFFFFF" stroke="%231D1D1B" stroke-width="1.5"/%3E%3Ccircle cx="27" cy="26" r="3" fill="%23FFFFFF" stroke="%231D1D1B" stroke-width="1.5"/%3E%3Cpath d="M6 13h8M6 17h5" stroke="%2300F698" stroke-width="1.5" stroke-linecap="round"/%3E%3C/svg%3E'); --bot-camiao-branco:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"%3E%3Cpath d="M3 9h18v15H3zM21 14h7l5 5v5H21z" fill="none" stroke="%23FFFFFF" stroke-width="1.5" stroke-linejoin="round"/%3E%3Ccircle cx="9" cy="26" r="3" fill="%23FFFFFF" stroke="%23FFFFFF" stroke-width="1.5"/%3E%3Ccircle cx="27" cy="26" r="3" fill="%23FFFFFF" stroke="%23FFFFFF" stroke-width="1.5"/%3E%3Cpath d="M6 13h8M6 17h5" stroke="%2300F698" stroke-width="1.5" stroke-linecap="round"/%3E%3C/svg%3E');
  --bot-loja:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"%3E%3Cpath d="M5 15v16h26V15M3 15l3-9h24l3 9z" fill="none" stroke="%231D1D1B" stroke-width="1.5" stroke-linejoin="round"/%3E%3Cpath d="M15 31v-8h6v8" fill="none" stroke="%231D1D1B" stroke-width="1.5" stroke-linejoin="round"/%3E%3Ccircle cx="26" cy="21" r="2" fill="%2300F698"/%3E%3C/svg%3E'); --bot-loja-branca:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"%3E%3Cpath d="M5 15v16h26V15M3 15l3-9h24l3 9z" fill="none" stroke="%23FFFFFF" stroke-width="1.5" stroke-linejoin="round"/%3E%3Cpath d="M15 31v-8h6v8" fill="none" stroke="%23FFFFFF" stroke-width="1.5" stroke-linejoin="round"/%3E%3Ccircle cx="26" cy="21" r="2" fill="%2300F698"/%3E%3C/svg%3E');
  --bot-ampulheta:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"%3E%3Cpath d="M10 5h16M10 31h16M12 5c0 7.5 12 9 12 13s-12 5.5-12 13M24 5c0 7.5-12 9-12 13s12 5.5 12 13" fill="none" stroke="%231D1D1B" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/%3E%3C/svg%3E'); --bot-ampulheta-branca:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"%3E%3Cpath d="M10 5h16M10 31h16M12 5c0 7.5 12 9 12 13s-12 5.5-12 13M24 5c0 7.5-12 9-12 13s12 5.5 12 13" fill="none" stroke="%23FFFFFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/%3E%3C/svg%3E');
  --bot-cronometro:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"%3E%3Ccircle cx="18" cy="20" r="11" fill="none" stroke="%231D1D1B" stroke-width="1.5"/%3E%3Cpath d="M15 5h6M18 5v4M27 10l2-2" fill="none" stroke="%231D1D1B" stroke-width="1.5" stroke-linecap="round"/%3E%3Cpath d="M18 20V13" stroke="%2300F698" stroke-width="1.8" stroke-linecap="round"/%3E%3C/svg%3E'); --bot-cronometro-branco:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"%3E%3Ccircle cx="18" cy="20" r="11" fill="none" stroke="%23FFFFFF" stroke-width="1.5"/%3E%3Cpath d="M15 5h6M18 5v4M27 10l2-2" fill="none" stroke="%23FFFFFF" stroke-width="1.5" stroke-linecap="round"/%3E%3Cpath d="M18 20V13" stroke="%2300F698" stroke-width="1.8" stroke-linecap="round"/%3E%3C/svg%3E');
  --bot-raio:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"%3E%3Cpath d="M23 3 13 18h7l-3 15 11-16h-7l4-14z" fill="%236527DB"/%3E%3Cpath d="M3 12h7M5 18h6M3 24h7" stroke="%2300F698" stroke-width="1.8" stroke-linecap="round"/%3E%3C/svg%3E'); --bot-raio-branco:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"%3E%3Cpath d="M23 3 13 18h7l-3 15 11-16h-7l4-14z" fill="%23FFFFFF"/%3E%3Cpath d="M3 12h7M5 18h6M3 24h7" stroke="%2300F698" stroke-width="1.8" stroke-linecap="round"/%3E%3C/svg%3E');
  --bot-estrela:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"%3E%3Cpath d="M12 2.5l2.9 6.1 6.6.8-4.9 4.6 1.3 6.6L12 17.3l-5.9 3.3 1.3-6.6-4.9-4.6 6.6-.8z" fill="%23F1BF00"/%3E%3C/svg%3E'); --bot-cadeado:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"%3E%3Crect x="5" y="10.5" width="14" height="10" rx="1.5" fill="none" stroke="%235E5F65" stroke-width="1.5"/%3E%3Cpath d="M8 10.5V8a4 4 0 0 1 8 0v2.5" fill="none" stroke="%235E5F65" stroke-width="1.5"/%3E%3Ccircle cx="12" cy="15.5" r="1.4" fill="%2300F698"/%3E%3C/svg%3E'); --bot-aspas:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 20"%3E%3Cpath d="M0 20V12C0 5.6 3.3 1.6 9.6 0l1.2 2.6C7.6 3.7 6 5.9 5.8 9H10v11H0zm13.6 0V12c0-6.4 3.3-10.4 9.6-12l1.2 2.6c-3.2 1.1-4.8 3.3-5 6.4h4.2v11H13.6z" fill="%2300F698"/%3E%3C/svg%3E');
}
@media (max-width:1079px){:root{--bot-circulo:28px;--bot-recuo:44px}}

/* ---------- regra que já existia (manter tal como está) ---------- */
.Address__inputwrapper:has(div#PlacesAutocomplete__root) { width: 50%; }

/* ==========================================================================
   PÁGINA: faixa verde com o logótipo (alinhado ao início do formulário); branco à esquerda, cinzento à direita
   ========================================================================== */
html.body--live{background:#FFFFFF!important}
@media (min-width:1080px){html.body--live{background:linear-gradient(90deg,#FFFFFF calc(50% + 150px),var(--bot-nevoa) calc(50% + 150px))!important}}
html.body--live body,.body--live #root,.body--live .Theme__backgroundImageContainer{background:transparent!important}
/* logótipo: 50% da posição de fundo conta sobre (largura − logótipo), por isso o −454px põe-no em 50% − 486px */
html.body--live body::before{content:"";display:block;height:104px;background:var(--bot-logo) calc(50% - 454px) center/64px auto no-repeat var(--bot-verde)}
@media (max-width:1079px){html.body--live body::before{height:80px;background-position:max(20px,calc(50% - 274px)) center;background-size:52px auto}}
/* dentro do site (formulário embutido) a faixa sai: o site já tem o logótipo */
html._iframe body::before,body._iframe::before,._iframe body::before{display:none!important}
.body--live .editor--live{color:var(--bot-tinta);font-family:var(--bot-poppins);-webkit-font-smoothing:antialiased;padding:0 0 120px!important;justify-content:flex-start!important}
.body--live .editor--live::before,.body--live .editor--live::after{content:none!important}

/* ==========================================================================
   AS DUAS COLUNAS: à esquerda o formulário (com a etiqueta da etapa por cima);
   à direita dois balões: SUGESTÃO (azul, lâmpada) = ::before e ALERTA (roxo, triângulo) = ::after.
   Uma etapa sem um dos tipos não mostra esse balão (content:none).
   ========================================================================== */
.body--live .editor--live>.DraftEditor-root{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr);align-items:start;row-gap:12px;
  align-self:center;width:calc(100% - 40px);max-width:var(--bot-form);margin:0 auto;padding:32px 0 40px;background:transparent;box-shadow:none}
/* no telemóvel: formulário primeiro, balões no fim */
.body--live .editor--live>.DraftEditor-root>.DraftEditor-editorContainer{grid-row:1;min-width:0}
.body--live .editor--live>.DraftEditor-root::before{grid-row:2}
.body--live .editor--live>.DraftEditor-root::after{grid-row:3}
@media (min-width:1080px){
  .body--live .editor--live>.DraftEditor-root{grid-template-columns:var(--bot-form) var(--bot-dicas);grid-template-rows:auto auto 1fr;column-gap:var(--bot-vao);row-gap:16px;
    align-self:flex-start;width:auto;max-width:none;margin:0 0 0 var(--bot-esq);padding:64px 0 40px}
  .body--live .editor--live>.DraftEditor-root>.DraftEditor-editorContainer{grid-column:1;grid-row:1 / span 3}
  .body--live .editor--live>.DraftEditor-root::before{grid-column:2;grid-row:1}
  .body--live .editor--live>.DraftEditor-root::after{grid-column:2;grid-row:2}
  /* a etapa 1 não tem sugestão: o alerta do e-mail sobe para o topo da coluna */
  html.body--live:has(.paperform__page--0) .editor--live>.DraftEditor-root::after{grid-row:1}
}
.body--live .editor--live>.DraftEditor-root>.DraftEditor-editorContainer>.public-DraftEditor-content>[data-contents]>*{max-width:none!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;box-sizing:border-box}

/* etiqueta da etapa (Plex Mono), por cima do formulário */
.body--live .editor--live>.DraftEditor-root>.DraftEditor-editorContainer::before{display:block;margin:0 0 16px;
  font-family:var(--bot-mono);font-size:11px;font-weight:500;letter-spacing:.14em;line-height:16px;text-transform:uppercase;color:var(--bot-cinza)}
html.body--live:has(.paperform__page--0) .editor--live>.DraftEditor-root>.DraftEditor-editorContainer::before{content:"Etapa 1 de 4 · Os seus contactos"}
html.body--live:has(.paperform__page--1) .editor--live>.DraftEditor-root>.DraftEditor-editorContainer::before{content:"Etapa 2 de 4 · Recolha ou entrega"}
html.body--live:has(.paperform__page--2) .editor--live>.DraftEditor-root>.DraftEditor-editorContainer::before{content:"Etapa 3 de 4 · O seu equipamento"}
html.body--live:has(.paperform__page--3) .editor--live>.DraftEditor-root>.DraftEditor-editorContainer::before{content:"Etapa 4 de 4 · Prioridade"}

/* os balões: caixa com contorno, faixa colorida com o ícone (o desenho do balão de 2018) */
.body--live .editor--live>.DraftEditor-root::before,.body--live .editor--live>.DraftEditor-root::after{display:block;box-sizing:border-box;padding:18px 20px 18px 64px;
  border:1px solid var(--bot-tinta);border-radius:4px;font-family:var(--bot-poppins);font-size:14px;line-height:22px;font-weight:400;color:var(--bot-tinta);white-space:pre-line;
  transition:box-shadow 300ms ease}
.body--live .editor--live>.DraftEditor-root::before{background:var(--bot-lampada) 12px 18px/20px auto no-repeat,linear-gradient(var(--bot-azul),var(--bot-azul)) left top/44px 100% no-repeat,#FFFFFF}
.body--live .editor--live>.DraftEditor-root::after{background:var(--bot-alerta) 12px 18px/20px auto no-repeat,linear-gradient(var(--bot-roxo),var(--bot-roxo)) left top/44px 100% no-repeat,#FFFFFF}
/* Só o que é crítico (Paulo, 29.10). Vazio no gerador = esse balão não existe nessa etapa. */
html.body--live:has(.paperform__page--0) .editor--live>.DraftEditor-root::before{content:none}
html.body--live:has(.paperform__page--1) .editor--live>.DraftEditor-root::before{content:"Se for um computador, envie só o disco rígido ou SSD: não aceitamos computadores completos."}
html.body--live:has(.paperform__page--2) .editor--live>.DraftEditor-root::before{content:"Não sabe o modelo ou o número de série? Basta enviar as fotos da etiqueta."}
html.body--live:has(.paperform__page--3) .editor--live>.DraftEditor-root::before{content:"Se escolher Prioritário ou Urgente, não paga nada agora: ao enviar o formulário, recebe por e-mail as instruções de pagamento."}
html.body--live:has(.paperform__page--2) .editor--live>.DraftEditor-root::after{content:none}
html.body--live:has(.paperform__page--3) .editor--live>.DraftEditor-root::after{content:none}
/* ALERTAS QUE SURGEM: o do e-mail aparece quando a pessoa começa a escrever o e-mail e fica até ao fim da etapa 1;
   o da embalagem aparece só se a pessoa escolher a recolha. Entram com um pequeno salto; enquanto o e-mail tem o cursor, brilha. */
html.body--live:has(.paperform__page--0) .editor--live>.DraftEditor-root::after,
html.body--live:has(.paperform__page--1) .editor--live>.DraftEditor-root::after{content:none}
html.body--live:has(.paperform__page--0):has(.LiveField--email:focus-within,.LiveField--email input[value]:not([value=""])) .editor--live>.DraftEditor-root::after{content:"Confirme bem o e-mail: com um erro (gmail.con, hotmial…) o orçamento não lhe chega.";animation:bot-surge-balao 520ms var(--bot-curva) backwards}
html.body--live:has(.paperform__page--1):has(.LiveField--choices .Choices__choice:nth-child(1)[aria-checked="true"]) .editor--live>.DraftEditor-root::after{content:"Peça a recolha só com o equipamento já embalado, com proteção contra impactos. O estafeta leva a etiqueta: não precisa de etiquetar a caixa.";animation:bot-surge-balao 520ms var(--bot-curva) backwards}
html.body--live:has(.paperform__page--0):has(.LiveField--email:focus-within) .editor--live>.DraftEditor-root::after{
  border-color:var(--bot-roxo);box-shadow:0 0 0 3px rgba(101,39,219,.2);animation:bot-surge-balao 520ms var(--bot-curva) backwards,bot-acende-roxo 900ms 200ms var(--bot-curva)}
/* etapa 4: ao escolher a modalidade do diagnóstico (o campo com a opção "48 h"), o alerta do prazo acende.
   Nada de :has() dentro de :has(): é inválido e anula a regra inteira. */
html.body--live:has(.paperform__page--3):has(.LiveField--choices:is(:focus-within,.LiveField--active) [aria-label*="48"]) .editor--live>.DraftEditor-root::after{
  border-color:var(--bot-roxo);box-shadow:0 0 0 3px rgba(101,39,219,.2);animation:bot-acende-roxo 900ms var(--bot-curva)}
@keyframes bot-surge-balao{0%{opacity:0;transform:translateY(14px) scale(.97)}60%{opacity:1;transform:translateY(-3px) scale(1.01)}100%{opacity:1;transform:none}}
@keyframes bot-acende-roxo{0%{box-shadow:0 0 0 0 rgba(101,39,219,.5)}50%{box-shadow:0 0 0 10px rgba(101,39,219,0)}100%{box-shadow:0 0 0 3px rgba(101,39,219,.2)}}

/* TELEMÓVEL: balões compactos (letra menor, faixa mais estreita), no fim do formulário;
   os alertas que surgem (e-mail, recolha) ficam fixos em baixo, por cima das setas, para se verem enquanto se escreve;
   os outros aparecem ao chegar a eles com o scroll (onde o navegador o suporta) */
@media (max-width:1079px){
  .body--live .editor--live>.DraftEditor-root::before,.body--live .editor--live>.DraftEditor-root::after{padding:12px 14px 12px 50px;font-size:13px;line-height:20px;
    background-size:16px auto,34px 100%,auto;background-position:9px 13px,left top,0 0}
  /* fixo no ecrã (o Paperform faz o scroll num elemento próprio, por isso sticky não pega) */
  html.body--live:has(.paperform__page--0) .editor--live>.DraftEditor-root::after,
  html.body--live:has(.paperform__page--1) .editor--live>.DraftEditor-root::after{position:fixed;left:20px;right:20px;bottom:84px;z-index:20;margin:0}
  /* espaço a mais no fim da página enquanto o alerta está à vista, para ele não tapar o último campo */
  html.body--live:has(.paperform__page--0):has(.LiveField--email:focus-within,.LiveField--email input[value]:not([value=""])) .editor--live,
  html.body--live:has(.paperform__page--1):has(.LiveField--choices .Choices__choice:nth-child(1)[aria-checked="true"]) .editor--live{padding-bottom:240px!important}
}
@media (max-width:1079px) and (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    .body--live .editor--live>.DraftEditor-root::before,
    html.body--live:has(.paperform__page--3) .editor--live>.DraftEditor-root::after{animation:bot-surge-balao linear both;animation-timeline:view();animation-range:entry 0% entry 70%}
  }
}
@media (prefers-reduced-motion:reduce){.body--live .editor--live>.DraftEditor-root::before,.body--live .editor--live>.DraftEditor-root::after{animation:none!important}}

/* ==========================================================================
   ETAPA 2: as duas opções explicam-se a si mesmas (ícone, nome da opção e o que é), uma por linha.
   As caixas de texto do editor sobre recolha e entrega podem sair. (Só onde a etapa 2 tem a escolha; o BR não tem.)
   ========================================================================== */
html.body--live:has(.paperform__page--1) .LiveField--choices .Choices{grid-template-columns:minmax(0,1fr)!important}
html.body--live:has(.paperform__page--1) .LiveField--choices .Choices__choice{display:grid!important;grid-template-columns:36px minmax(0,1fr) 20px;grid-template-rows:auto auto;column-gap:16px;row-gap:4px;align-items:start;padding:18px 20px!important}
html.body--live:has(.paperform__page--1) .LiveField--choices .Choices__choice::before{content:"";grid-column:1;grid-row:1 / span 2;width:36px;height:36px;background:center/contain no-repeat}
html.body--live:has(.paperform__page--1) .LiveField--choices .Choices__choice:nth-child(1)::before{background-image:var(--bot-camiao)}
html.body--live:has(.paperform__page--1) .LiveField--choices .Choices__choice:nth-child(2)::before{background-image:var(--bot-loja)}
html.body--live:has(.paperform__page--1) .LiveField--choices .Choices__choice:nth-child(1)[aria-checked="true"]::before{background-image:var(--bot-camiao-branco)}
html.body--live:has(.paperform__page--1) .LiveField--choices .Choices__choice:nth-child(2)[aria-checked="true"]::before{background-image:var(--bot-loja-branca)}
html.body--live:has(.paperform__page--1) .LiveField--choices .Choices__label{grid-column:2;grid-row:1;font-size:16px!important;font-weight:500!important;line-height:24px}
html.body--live:has(.paperform__page--1) .LiveField--choices .Choices__choice .material-icons{grid-column:3;grid-row:1;margin:2px 0 0!important}
html.body--live:has(.paperform__page--1) .LiveField--choices .Choices__choice::after{grid-column:2;grid-row:2;font-family:var(--bot-poppins);font-size:14px;line-height:22px;font-weight:400;color:var(--bot-cinza);white-space:pre-line}
html.body--live:has(.paperform__page--1) .LiveField--choices .Choices__choice[aria-checked="true"]::after{color:rgba(255,255,255,.82)}
html.body--live:has(.paperform__page--1) .LiveField--choices .Choices__choice:nth-child(1)::after{content:"Um estafeta especializado recolhe o equipamento no próprio dia ou no dia útil seguinte, com rastreio e sem custos. Escolha esta opção só se o equipamento já estiver embalado."}
html.body--live:has(.paperform__page--1) .LiveField--choices .Choices__choice:nth-child(2)::after{content:"Nas nossas unidades de Lisboa (Alcântara e Parque das Nações), Porto (Batalha e Matosinhos), Braga e Coimbra."}

/* ==========================================================================
   ETAPA 2 (recolha/entrega): sem círculo, cartões à largura toda (na etapa 4 as modalidades mantêm o círculo, Paulo 28.10)
   ========================================================================== */
html.body--live:has(.paperform__page--1) .LiveField--choices{counter-increment:none!important}
html.body--live:has(.paperform__page--1) .LiveField--choices::before{display:none!important}
html.body--live:has(.paperform__page--1) .LiveField--choices .LiveField__container{padding-left:0!important}
html.body--live:has(.paperform__page--1) .LiveField--choices.LiveField--error .LiveField__error{margin-left:0!important}

/* ==========================================================================
   ETAPA 4: as 3 modalidades do diagnóstico em cartões (ícone, preço e o que é); as pagas primeiro e valorizadas,
   a urgência em roxo como no botão de aprovação do orçamento. O campo é o que tem a opção "48 h".
   ========================================================================== */
html.body--live:has(.paperform__page--3) .LiveField--choices:has([aria-label*="48"]) .Choices{grid-template-columns:minmax(0,1fr)!important}
html.body--live:has(.paperform__page--3) .LiveField--choices:has([aria-label*="48"]) .Choices>div{display:grid!important;grid-template-columns:minmax(0,1fr);gap:8px!important;width:100%}
html.body--live:has(.paperform__page--3) .LiveField--choices:has([aria-label*="48"]) .Choices>div>div{min-width:0}
html.body--live:has(.paperform__page--3) .LiveField--choices:has([aria-label*="48"]) .Choices__choice{display:grid!important;grid-template-columns:36px minmax(0,1fr) 20px;grid-template-rows:auto auto;column-gap:16px;row-gap:4px;align-items:start;padding:18px 20px!important}
html.body--live:has(.paperform__page--3) .LiveField--choices:has([aria-label*="48"]) .Choices>div>div:nth-child(3){order:-2}
html.body--live:has(.paperform__page--3) .LiveField--choices:has([aria-label*="48"]) .Choices>div>div:nth-child(2){order:-1}
html.body--live:has(.paperform__page--3) .LiveField--choices:has([aria-label*="48"]) .Choices__choice::before{content:"";grid-column:1;grid-row:1 / span 2;width:36px;height:36px;background:center/contain no-repeat}
html.body--live:has(.paperform__page--3) .LiveField--choices:has([aria-label*="48"]) .Choices>div>div:nth-child(1) .Choices__choice::before{background-image:var(--bot-ampulheta)}
html.body--live:has(.paperform__page--3) .LiveField--choices:has([aria-label*="48"]) .Choices>div>div:nth-child(2) .Choices__choice::before{background-image:var(--bot-cronometro)}
html.body--live:has(.paperform__page--3) .LiveField--choices:has([aria-label*="48"]) .Choices>div>div:nth-child(3) .Choices__choice::before{background-image:var(--bot-raio)}
html.body--live:has(.paperform__page--3) .LiveField--choices:has([aria-label*="48"]) .Choices>div>div:nth-child(1) .Choices__choice[aria-checked="true"]::before{background-image:var(--bot-ampulheta-branca)}
html.body--live:has(.paperform__page--3) .LiveField--choices:has([aria-label*="48"]) .Choices>div>div:nth-child(2) .Choices__choice[aria-checked="true"]::before{background-image:var(--bot-cronometro-branco)}
html.body--live:has(.paperform__page--3) .LiveField--choices:has([aria-label*="48"]) .Choices>div>div:nth-child(3) .Choices__choice[aria-checked="true"]::before{background-image:var(--bot-raio-branco)}
html.body--live:has(.paperform__page--3) .LiveField--choices:has([aria-label*="48"]) .Choices__label{grid-column:2;grid-row:1;font-size:16px!important;font-weight:500!important;line-height:24px}
html.body--live:has(.paperform__page--3) .LiveField--choices:has([aria-label*="48"]) .Choices__choice .material-icons{grid-column:3;grid-row:1;margin:2px 0 0!important}
html.body--live:has(.paperform__page--3) .LiveField--choices:has([aria-label*="48"]) .Choices__label::after{display:block;margin-top:4px;font-family:var(--bot-poppins);font-size:14px;line-height:22px;font-weight:400;color:var(--bot-cinza);letter-spacing:0;text-transform:none}
html.body--live:has(.paperform__page--3) .LiveField--choices:has([aria-label*="48"]) .Choices__choice[aria-checked="true"] .Choices__label::after{color:rgba(255,255,255,.85)}
/* o preço numa etiqueta discreta mas que se lê: Plex Mono, fundo branco, ✓ verde (o desconto no serviço é argumento) */
html.body--live:has(.paperform__page--3) .LiveField--choices:has([aria-label*="48"]) .Choices__choice::after{grid-column:2;grid-row:2;justify-self:start;margin-top:8px;padding:5px 10px 5px 28px;border-radius:4px;
  background:#FFFFFF var(--bot-check) 8px center/14px auto no-repeat;font-family:var(--bot-mono);font-size:12px;line-height:18px;font-weight:500;letter-spacing:.02em;color:var(--bot-tinta);white-space:normal}
html.body--live:has(.paperform__page--3) .LiveField--choices:has([aria-label*="48"]) .Choices__choice[aria-checked="true"]::after{background-color:rgba(255,255,255,.14);color:#FFFFFF}
html.body--live:has(.paperform__page--3) .LiveField--choices:has([aria-label*="48"]) .Choices>div>div:nth-child(1) .Choices__label::after{content:"Diagnóstico completo e orçamento detalhado."}
html.body--live:has(.paperform__page--3) .LiveField--choices:has([aria-label*="48"]) .Choices>div>div:nth-child(1) .Choices__choice::after{content:"Sem custos"}
html.body--live:has(.paperform__page--3) .LiveField--choices:has([aria-label*="48"]) .Choices>div>div:nth-child(2) .Choices__label::after{content:"O mesmo diagnóstico, com prioridade no laboratório."}
html.body--live:has(.paperform__page--3) .LiveField--choices:has([aria-label*="48"]) .Choices>div>div:nth-child(2) .Choices__choice::after{content:"127 € com IVA · deduzidos no serviço se aprovar"}
html.body--live:has(.paperform__page--3) .LiveField--choices:has([aria-label*="48"]) .Choices>div>div:nth-child(3) .Choices__label::after{content:"O mesmo diagnóstico, com prioridade máxima no laboratório."}
html.body--live:has(.paperform__page--3) .LiveField--choices:has([aria-label*="48"]) .Choices>div>div:nth-child(3) .Choices__choice::after{content:"270 € com IVA · deduzidos no serviço se aprovar"}
/* a urgência destaca-se: contorno e nome em roxo; escolhida, fica toda roxa (como o botão de aprovação) */
html.body--live:has(.paperform__page--3) .LiveField--choices:has([aria-label*="48"]) .Choices>div>div:nth-child(3) .Choices__choice{box-shadow:inset 0 0 0 1.5px var(--bot-roxo)!important}
html.body--live:has(.paperform__page--3) .LiveField--choices:has([aria-label*="48"]) .Choices>div>div:nth-child(3) .Choices__choice:not([aria-checked="true"]) .Choices__label{color:var(--bot-roxo)!important}
html.body--live:has(.paperform__page--3) .LiveField--choices:has([aria-label*="48"]) .Choices>div>div:nth-child(3) .Choices__label::before{content:"Mais rápido";display:block;margin:0 0 2px;font-family:var(--bot-mono);font-size:11px;line-height:16px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--bot-roxo)}
html.body--live:has(.paperform__page--3) .LiveField--choices:has([aria-label*="48"]) .Choices>div>div:nth-child(3) .Choices__choice[aria-checked="true"] .Choices__label::before{color:var(--bot-verde)}
/* prioritário: um contorno discreto, para se distinguir do gratuito */
html.body--live:has(.paperform__page--3) .LiveField--choices:has([aria-label*="48"]) .Choices>div>div:nth-child(2) .Choices__choice:not([aria-checked="true"]){box-shadow:inset 0 0 0 1px var(--bot-tinta)!important}
html.body--live:has(.paperform__page--3) .LiveField--choices:has([aria-label*="48"]) .Choices>div>div:nth-child(3) .Choices__choice[aria-checked="true"]{background:var(--bot-roxo)!important;box-shadow:none!important}

/* ==========================================================================
   TOPO DA ETAPA 1 (bloco HTML): título, frase, provas e ajuda com botões
   Serve o bloco novo .bf-hero (sem <style>) e o antigo .bot-form-top enquanto existir
   ========================================================================== */
.body--live .bot-proof,.body--live .bot-chips{display:none!important}

/* ==========================================================================
   FRASE DE EFEITO (Paulo, 29.10, opção A): um detalhe para quem repara. No computador, no canto de baixo da coluna
   cinzenta, fixa; no telemóvel, no fim do formulário, por cima das setas. Letra pequena e cinzenta, estrela dourada
   nossa, sem nota nem estrelas da plataforma (guião P17).
   O TEXTO vem sempre deste CSS (as 4 frases do PT, traduzidas em cada idioma: DEP no gerador).
   O LINK só pode vir de HTML: se a etapa tiver o bloco .bot-review, o texto do CSS entra dentro do link do bloco
   (o texto do bloco é ignorado) e leva ao relato no Trustpilot do país; sem bloco, a frase aparece sem link.
   Um bloco antigo que aponte para outro relato não leva a lado nenhum (para não abrir um relato que não é o da frase).
   ========================================================================== */
.body--live .bot-band{display:block!important;position:static!important;margin:0!important;padding:0!important;min-height:0!important;height:0!important;
  background:none!important;border:0!important;box-shadow:none!important;overflow:visible!important}
.body--live .bot-band>:not(.bot-review){display:none!important}
.body--live .customHTML,.body--live .LiveHTML,.body--live .bot-form-top{position:static!important}
.body--live .editor--live{overflow:visible!important}
/* com bloco: o link fica no canto; o texto do bloco sai e entra o do CSS */
.body--live .bot-review{position:fixed!important;z-index:1;left:calc(50% + 186px)!important;right:auto!important;top:auto!important;bottom:32px!important;width:var(--bot-dicas)!important;height:auto!important;
  display:block!important;margin:0!important;padding:0!important;max-width:none!important;background:none!important;border:0!important;box-shadow:none!important;text-align:left!important}
.body--live .bot-review::before,.body--live .bot-review::after{content:none!important;display:none!important}
.body--live .bot-review-quote,.body--live .bot-review-meta{display:none!important}
.body--live .bot-review-link{display:block!important;max-width:none!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;text-decoration:none!important;color:var(--bot-cinza)!important;text-align:left!important}
.body--live .bot-review-link:not([href*="68bad851"]):not([href*="6a68b418"]):not([href*="6a58d152"]):not([href*="69336e1d"]){pointer-events:none}
/* a frase (::before do link; sem bloco, ::after da coluna do formulário): itálico, estrela dourada um pouco maior */
.body--live .bot-review-link::before,
html.body--live:not(:has(.bot-review)) .editor--live>.DraftEditor-root>.DraftEditor-editorContainer::after{display:block;margin:0;padding:0 0 0 22px;background:var(--bot-estrela) left 3px/14px 14px no-repeat;
  font-family:var(--bot-poppins);font-size:13px;line-height:20px;font-weight:400;font-style:italic;color:var(--bot-cinza);white-space:pre-line;text-align:left}
/* o autor e a data (::after do link; sem bloco, ::after do conteúdo): mais pequenos, Plex Mono, sublinhados como link */
.body--live .bot-review-link::after,
html.body--live:not(:has(.bot-review)) .editor--live>.DraftEditor-root>.DraftEditor-editorContainer>.public-DraftEditor-content::after{display:block;margin:4px 0 0 22px;
  font-family:var(--bot-mono);font-size:9px;line-height:12px;font-weight:400;font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:var(--bot-cinza-claro);
  text-decoration:underline;text-decoration-color:var(--bot-linha);text-underline-offset:3px;transition:color 200ms ease}
.body--live .bot-review-link:hover::after,.body--live .bot-review-link:focus-visible::after{color:var(--bot-tinta);text-decoration-color:var(--bot-tinta)}
html.body--live:has(.paperform__page--0) .bot-review-link::before{content:"“Achei que tinha perdido tudo. Foi um alívio ter meus dados recuperados.”"}
html.body--live:has(.paperform__page--1) .bot-review-link::before{content:"“Salvou toda minha vida acadêmica.”"}
html.body--live:has(.paperform__page--2) .bot-review-link::before{content:"“A Bot mostrou ter uma comunicação extremamente empática e acolhedora.”"}
html.body--live:has(.paperform__page--3) .bot-review-link::before{content:"“Recuperaram os meus dados na totalidade e a minha alegria.”"}
html.body--live:has(.paperform__page--0) .bot-review-link::after{content:"Carlos D. · Trustpilot ↗ · set. 2025"}
html.body--live:has(.paperform__page--1) .bot-review-link::after{content:"Allan C. · Trustpilot ↗ · jul. 2026"}
html.body--live:has(.paperform__page--2) .bot-review-link::after{content:"Pedro B. · Trustpilot ↗ · jul. 2026"}
html.body--live:has(.paperform__page--3) .bot-review-link::after{content:"Fernando M. · Trustpilot ↗ · dez. 2025"}
/* sem bloco (sem link): a frase e o autor no mesmo sítio, presos ao fundo */
html.body--live:not(:has(.bot-review)) .editor--live>.DraftEditor-root>.DraftEditor-editorContainer::after{position:fixed;z-index:1;left:calc(50% + 186px);bottom:50px;width:var(--bot-dicas)}
html.body--live:not(:has(.bot-review)) .editor--live>.DraftEditor-root>.DraftEditor-editorContainer>.public-DraftEditor-content::after{position:fixed;z-index:1;left:calc(50% + 186px);bottom:32px;width:calc(var(--bot-dicas) - 22px);text-decoration:none}
html.body--live:has(.paperform__page--0):not(:has(.bot-review)) .editor--live>.DraftEditor-root>.DraftEditor-editorContainer::after{content:"“Achei que tinha perdido tudo. Foi um alívio ter meus dados recuperados.”"}
html.body--live:has(.paperform__page--1):not(:has(.bot-review)) .editor--live>.DraftEditor-root>.DraftEditor-editorContainer::after{content:"“Salvou toda minha vida acadêmica.”"}
html.body--live:has(.paperform__page--2):not(:has(.bot-review)) .editor--live>.DraftEditor-root>.DraftEditor-editorContainer::after{content:"“A Bot mostrou ter uma comunicação extremamente empática e acolhedora.”"}
html.body--live:has(.paperform__page--3):not(:has(.bot-review)) .editor--live>.DraftEditor-root>.DraftEditor-editorContainer::after{content:"“Recuperaram os meus dados na totalidade e a minha alegria.”"}
html.body--live:has(.paperform__page--0):not(:has(.bot-review)) .editor--live>.DraftEditor-root>.DraftEditor-editorContainer>.public-DraftEditor-content::after{content:"Carlos D. · Trustpilot · set. 2025"}
html.body--live:has(.paperform__page--1):not(:has(.bot-review)) .editor--live>.DraftEditor-root>.DraftEditor-editorContainer>.public-DraftEditor-content::after{content:"Allan C. · Trustpilot · jul. 2026"}
html.body--live:has(.paperform__page--2):not(:has(.bot-review)) .editor--live>.DraftEditor-root>.DraftEditor-editorContainer>.public-DraftEditor-content::after{content:"Pedro B. · Trustpilot · jul. 2026"}
html.body--live:has(.paperform__page--3):not(:has(.bot-review)) .editor--live>.DraftEditor-root>.DraftEditor-editorContainer>.public-DraftEditor-content::after{content:"Fernando M. · Trustpilot · dez. 2025"}
/* telemóvel: no fim do formulário (a coluna guarda espaço em baixo) */
@media (max-width:1079px){
  html.body--live .editor--live>.DraftEditor-root>.DraftEditor-editorContainer{padding-bottom:96px}
  .body--live .bot-review{position:absolute!important;left:var(--bot-recuo)!important;right:0!important;bottom:16px!important;width:auto!important}
  html.body--live:not(:has(.bot-review)) .editor--live>.DraftEditor-root>.DraftEditor-editorContainer::after{position:absolute;left:var(--bot-recuo);right:0;bottom:32px;width:auto}
  html.body--live:not(:has(.bot-review)) .editor--live>.DraftEditor-root>.DraftEditor-editorContainer>.public-DraftEditor-content::after{position:absolute;left:var(--bot-recuo);right:0;bottom:14px;width:auto}
}

.body--live .bot-form-top .bot-wrap,.body--live .bf-hero{text-align:left!important;padding:0!important;margin:0 0 16px!important}
.body--live .bot-form-top .bot-title,.body--live .bot-form-top .bot-title-line,.body--live .bf-title,.body--live .__header-one,.body--live .__header-one span{
  margin:0 0 12px!important;padding:0!important;max-width:none!important;font-family:var(--bot-poppins)!important;font-size:31px!important;line-height:38px!important;font-weight:600!important;letter-spacing:-.01em!important;color:var(--bot-tinta)!important;text-align:left!important;font-style:normal!important}
.body--live .bot-form-top .bot-title-line{display:inline!important;margin:0!important}
.body--live .bot-form-top .bot-subtitle,.body--live .bot-form-top .bot-subtitle *,.body--live .bf-lead{margin:0!important;padding:0!important;max-width:none!important;font-family:var(--bot-poppins)!important;font-size:16px!important;line-height:26px!important;font-style:normal!important;font-weight:400!important;color:var(--bot-cinza)!important;text-align:left!important}
.body--live .bot-form-top .bot-subtitle strong,.body--live .bot-form-top .bot-subtitle b{color:var(--bot-tinta)!important;font-weight:600!important}
.body--live .bf-proof{display:flex;flex-wrap:wrap;gap:6px 20px;margin:16px 0 0!important;padding:0!important;list-style:none!important}
.body--live .bf-proof li{margin:0!important;padding:0!important;font-family:var(--bot-mono)!important;font-size:11px!important;font-weight:500!important;letter-spacing:.14em!important;line-height:16px!important;text-transform:uppercase!important;color:var(--bot-cinza)!important}
.body--live .bf-proof li::before,.body--live .bf-proof li::marker{content:none!important}
.body--live .bot-form-top .bot-help,.body--live .bf-help{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:20px 0 0!important;padding:0!important;font-family:var(--bot-poppins)!important;font-size:14px!important;line-height:22px!important;color:var(--bot-tinta)!important;text-align:left!important}
.body--live .bot-form-top .bot-help a{color:var(--bot-tinta)!important;text-decoration:underline!important;text-underline-offset:3px;border:0!important}
.body--live .bf-btn{display:inline-flex!important;align-items:center;gap:8px;height:40px;padding:0 16px;border:1px solid var(--bot-tinta)!important;border-radius:4px!important;background:transparent!important;color:var(--bot-tinta)!important;
  font-family:var(--bot-mono)!important;font-size:14px!important;font-weight:500!important;letter-spacing:.04em!important;text-transform:uppercase!important;text-decoration:none!important;transition:background-color 200ms ease}
.body--live .bf-btn:hover,.body--live .bf-btn:focus-visible{background:rgba(236,236,239,.55)!important}
.body--live .bf-btn svg{width:16px;height:16px;flex:0 0 16px}
@media (max-width:700px){.body--live .bf-title,.body--live .__header-one,.body--live .__header-one span,.body--live .bot-form-top .bot-title,.body--live .bot-form-top .bot-title-line{font-size:26px!important;line-height:32px!important}}

/* ==========================================================================
   TEXTO DO EDITOR (parágrafos, listas, estilos de texto do tema por atributo)
   3au1m título roxo · 133jm título de pergunta roxo · 5iv0 ajuda roxa · 4tepu ajuda cinza · e5339 ajuda preta
   ========================================================================== */
.body--live .__unstyled,.body--live .__unstyled span{font-family:var(--bot-poppins)!important;font-style:normal!important}
.body--live .__unstyled{font-size:15px!important;line-height:24px!important;color:var(--bot-tinta)!important}
.body--live .__unstyled.block--empty{line-height:8px!important;min-height:8px}
.body--live [style*='3au1m'],.body--live .__header-two,.body--live .__header-two span{font-size:20px!important;line-height:30px!important;font-weight:600!important;color:var(--bot-tinta)!important;font-style:normal!important}
.body--live [style*='133jm']{font-size:inherit!important;font-weight:inherit!important;color:inherit!important}
.body--live [style*='5iv0'],.body--live [style*='e5339']{font-size:14px!important;line-height:22px!important;color:var(--bot-tinta)!important}
.body--live [style*='4tepu']{font-size:14px!important;line-height:22px!important;color:var(--bot-cinza)!important}
.body--live .__unordered-list-item{font-family:var(--bot-poppins)!important;font-size:15px!important;line-height:24px!important;color:var(--bot-tinta)!important}
.body--live .__unordered-list-item::marker{color:var(--bot-tinta)}
.body--live a.Link,.body--live .Link a{color:var(--bot-tinta)!important;text-decoration:underline;text-underline-offset:3px}

/* ==========================================================================
   CAMPO EM LINHA (microformulário): pergunta IBM Plex Mono cinza, resposta Poppins, filete cinzento → verde ao escrever
   ========================================================================== */
.body--live .LiveField,.body--live .LiveField--active,.body--live .LiveField--error,.body--live .LiveFieldSection{box-shadow:none!important;background:transparent!important}
.body--live .editor--live>.DraftEditor-root>.DraftEditor-editorContainer>.public-DraftEditor-content>[data-contents]{counter-reset:bot-campo}
.body--live .LiveField:not(.LiveField--calculation){counter-increment:bot-campo}
.body--live .LiveField:not(.LiveField--calculation) .LiveField__container{padding:24px 0 20px var(--bot-recuo)!important}
.body--live .LiveField__header,.body--live .Scale__checkbox-label-text,.body--live .Matrix__column-label,.body--live .Matrix__row-label{
  font-family:var(--bot-mono)!important;font-size:14px!important;line-height:20px!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important;color:var(--bot-rotulo)!important;transition:color 250ms ease}
.body--live .LiveField__header span,.body--live .LiveField__description span{font-family:inherit!important;font-style:normal!important;font-size:inherit!important;color:inherit!important;font-weight:inherit!important;letter-spacing:inherit!important}
/* o texto por baixo da pergunta acompanha a pergunta: IBM Plex Mono, um pouco mais pequeno e no mesmo cinzento (Paulo, 29.10) */
.body--live .LiveField__description{font-family:var(--bot-mono)!important;font-size:12px!important;line-height:18px!important;font-weight:400!important;font-style:normal!important;letter-spacing:0!important;color:var(--bot-rotulo)!important;margin-top:4px}
.body--live .LiveField__answer{font-family:var(--bot-poppins)!important;font-size:18px!important;line-height:28px!important;font-weight:400!important;color:var(--bot-resposta)!important}

/* texto, e-mail, telefone, número, morada */
.body--live .LiveField__input:not(.Select),.body--live textarea.LiveField__input[rows],.body--live .Address__input input{
  box-sizing:border-box;min-height:46px;padding:8px 0!important;margin-top:2px;background:transparent!important;border:0!important;border-bottom:1px solid var(--bot-linha)!important;border-radius:0!important;box-shadow:none!important;
  font-family:var(--bot-poppins)!important;font-size:18px!important;line-height:28px!important;font-weight:400!important;color:var(--bot-resposta)!important;transition:border-color 300ms ease,box-shadow 300ms ease,color 300ms ease}
.body--live .LiveField__input::placeholder,.body--live textarea.LiveField__input::placeholder{color:#B8B8BD!important;font-style:normal!important;opacity:1}
.body--live .LiveField__input:not(.Select):focus,.body--live .Address__input input:focus{
  border-bottom-color:var(--bot-verde)!important;box-shadow:0 1px 0 var(--bot-verde)!important;outline:0!important}
.body--live .LiveField__input--confirm{margin:8px 0 0!important;width:100%!important}
.body--live .Address__geolocate{flex:0 0 auto!important;display:inline-flex!important;align-items:center;justify-content:center;width:40px!important;min-width:40px!important;height:40px!important;margin:0 0 0 8px!important;padding:0!important;
  -webkit-appearance:none;appearance:none;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--bot-tinta)!important;opacity:1!important;visibility:visible!important;transition:color 200ms ease}
.body--live .Address__geolocate:hover,.body--live .Address__geolocate:focus-visible{color:var(--bot-verde)!important;background:transparent!important}
.body--live .Address__geolocate i,.body--live .Address__geolocate .material-icons{display:flex!important;align-items:center;justify-content:center;width:24px!important;height:24px!important;font-size:24px!important;line-height:1!important;color:inherit!important;opacity:1!important;visibility:visible!important}
.body--live .Address__geolocate svg{display:block!important;width:24px!important;height:24px!important;fill:currentColor!important;opacity:1!important}
.body--live .Address__geolocate svg *{fill:currentColor!important}
/* subcampos da morada (aparecem depois de escolher o endereço): rótulo como as perguntas */
.body--live .Address__input{margin:0 0 4px!important}
.body--live .Address__input label{display:block;margin:20px 0 0!important;padding:0!important;font-family:var(--bot-mono)!important;font-size:14px!important;line-height:20px!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important;color:var(--bot-rotulo)!important}
.body--live .Address__dropdown{border:1px solid var(--bot-linha)!important;border-radius:0 0 4px 4px!important;box-shadow:var(--bot-sombra)!important;background:#FFFFFF!important}
.body--live .Address__dropdownitem{font-family:var(--bot-poppins)!important;font-size:15px!important;color:var(--bot-tinta)!important}

/* listas pendentes (react-select): em linha; só cor, borda e raio — nunca display/position */
.body--live .Select-control{min-height:46px;background:transparent!important;border:0!important;border-bottom:1px solid var(--bot-linha)!important;border-radius:0!important;box-shadow:none!important;padding-left:0!important;padding-right:32px!important;transition:border-color 300ms ease,box-shadow 300ms ease}
.body--live .Select.is-focused>.Select-control,.body--live .Select.is-open>.Select-control{border-bottom-color:var(--bot-verde)!important;box-shadow:0 1px 0 var(--bot-verde)!important}
.body--live .Select-placeholder,.body--live .Select--single>.Select-control .Select-value{padding-left:0!important;padding-right:36px!important}
.body--live .Select-placeholder{font-family:var(--bot-poppins)!important;font-size:18px!important;font-weight:400!important;color:#B8B8BD!important}
.body--live .Select-value-label,.body--live .Select-input>input{font-family:var(--bot-poppins)!important;font-size:18px!important;font-weight:400!important;color:var(--bot-resposta)!important}
.body--live .Select-arrow{border-top-color:var(--bot-rotulo)!important}
.body--live .Select-menu-outer{border:1px solid var(--bot-linha)!important;border-radius:0 0 4px 4px!important;box-shadow:var(--bot-sombra)!important;background:#FFFFFF!important}
.body--live .Select-option{font-family:var(--bot-poppins)!important;font-size:15px!important;padding:12px 16px!important;color:var(--bot-tinta)!important;background:#FFFFFF!important}
.body--live .Select-option.is-focused{background:var(--bot-bloco)!important}
.body--live .Select-option.is-selected{background:var(--bot-tinta)!important;color:#FFFFFF!important}
.body--live .Select--multi .Select-value{background:var(--bot-tinta)!important;border:0!important;border-radius:4px!important}
.body--live .Select--multi .Select-value-label,.body--live .Select--multi .Select-value-icon{color:#FFFFFF!important;border-color:rgba(255,255,255,.3)!important;font-size:15px!important}

/* ==========================================================================
   O CÍRCULO DE CADA CAMPO (microformulário): branco com sombra, número cinza · ativo: número verde ·
   preenchido: salta e aparece o ✓ verde · erro: "!" roxo
   ========================================================================== */
.body--live .LiveField:not(.LiveField--calculation)::before{content:counter(bot-campo);position:absolute;z-index:1;left:0;top:calc(24px + 20px + 2px + 23px - var(--bot-circulo) / 2);box-sizing:border-box;width:var(--bot-circulo);height:var(--bot-circulo);border-radius:50%;
  display:flex;align-items:center;justify-content:center;background:#FFFFFF center/0 auto no-repeat;box-shadow:var(--bot-sombra);
  font-family:var(--bot-poppins);font-size:13px;font-weight:400;line-height:1;color:var(--bot-rotulo);
  transition:color 300ms ease,box-shadow 300ms ease}
.body--live .LiveField:not(.LiveField--calculation):is(:focus-within,.LiveField--active)::before{color:var(--bot-verde)}
.body--live .LiveField:not(.LiveField--calculation):is(
  :has(.LiveField__input:not(.Select)[value]:not([value=""])),
  :has(.Select.has-value),
  :has([aria-checked="true"]),
  :has(.Address__input input[value]:not([value=""]))
):not(:focus-within):not(.LiveField--active)::before{content:"";background-image:var(--bot-check);background-size:56% auto}
.body--live .LiveField.LiveField--error:not(:focus-within)::before{content:"!"!important;background-image:none!important;color:var(--bot-roxo)!important;font-weight:500;
  box-shadow:inset 0 0 0 1.5px var(--bot-roxo),var(--bot-sombra)!important}

/* e-mail: a nota de confirmação só aparece depois de escrito um e-mail completo e de sair do campo */
.body--live .LiveField--email .LiveField__description{max-height:0;opacity:0;overflow:hidden;transition:max-height 400ms var(--bot-curva),opacity 300ms ease}
.body--live .LiveField--email:has(input[value*="@"][value*="."]):not(:focus-within) .LiveField__description{max-height:4em;opacity:1}

/* ==========================================================================
   ESCOLHAS e SIM/NÃO: blocos cinzentos; o escolhido em tinta
   ========================================================================== */
/* lado a lado conforme as colunas escolhidas no editor (Choices__choice--2 = 2 colunas); no telemóvel, uma por linha */
.body--live .Choices{display:grid!important;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:12px!important}
@media (min-width:600px){
  .body--live .Choices:has(.Choices__choice--2){grid-template-columns:repeat(2,minmax(0,1fr))}
  .body--live .Choices:has(.Choices__choice--3){grid-template-columns:repeat(3,minmax(0,1fr))}
}
.body--live .Choices__choice,.body--live .YesNo__button{box-sizing:border-box;margin:0!important;padding:14px 18px!important;border:0!important;border-radius:4px!important;box-shadow:none!important;transform:none!important;
  background:var(--bot-bloco)!important;color:var(--bot-tinta)!important;font-family:var(--bot-poppins)!important;font-size:15px!important;line-height:24px!important;font-weight:400!important;text-transform:none!important;letter-spacing:0!important;
  transition:background-color 250ms ease,color 250ms ease}
.body--live .Choices__choice:hover,.body--live .Choices__choice:focus-visible,.body--live .YesNo__button:hover{background:#E7E8EA!important}
.body--live .Choices__choice[aria-checked="true"],.body--live .YesNo__button[aria-checked="true"]{background:var(--bot-tinta)!important;color:#FFFFFF!important;font-weight:400!important}
.body--live .Choices__choice{width:auto!important;float:none!important}
.body--live .Choices__choice[aria-checked="true"] .Choices__label{font-weight:400!important}
.body--live .Choices__choice .material-icons{opacity:1!important;color:inherit!important}
.body--live .Choices__choice[aria-checked="true"] .material-icons{color:#FFFFFF!important}
.body--live .Choices__choice .material-icons svg{fill:currentColor}

/* anexar fotos: botão em contorno (o input[type=file] por cima não é tocado) */
.body--live .File>.btn-raised{background:transparent!important;color:var(--bot-tinta)!important;border:1px solid var(--bot-tinta)!important;border-radius:4px!important;box-shadow:none!important;transition:background-color 200ms ease}
.body--live .File>.btn-raised:hover{background:rgba(236,236,239,.55)!important}
.body--live .File__label{font-family:var(--bot-mono)!important;font-size:14px!important;font-weight:500!important;letter-spacing:.04em!important;text-transform:uppercase!important;color:var(--bot-tinta)!important}
.body--live .File__percentage{background:var(--bot-verde)!important}

/* ==========================================================================
   SETAS: rodapé fixo branco sob a coluna do formulário (o cinzento das dicas fica livre), botões pretos como em 2018
   ========================================================================== */
.body--live .Pagination.Pagination--progress{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px;box-sizing:border-box;
  left:0!important;right:auto!important;width:100%!important;margin-left:0!important;bottom:0!important;
  padding:12px max(20px,calc(50% - var(--bot-form) / 2))!important;background:#FFFFFF!important;border-top:1px solid var(--bot-filete)}
@media (min-width:1080px){.body--live .Pagination.Pagination--progress{width:calc(50% + 150px)!important;padding:14px 36px 14px var(--bot-esq)!important}}
.body--live .Pagination .Pagination__btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:48px!important;min-width:64px;padding:0 20px!important;
  border:0!important;border-radius:4px!important;box-shadow:none!important;background:var(--bot-tinta)!important;color:#FFFFFF!important;line-height:1!important;transition:background-color 200ms ease}
.body--live .Pagination .Pagination__btn:hover,.body--live .Pagination .Pagination__btn:focus-visible{background:var(--bot-escuro-hover)!important}
.body--live .Pagination .Pagination__btn--previous{background:#FFFFFF!important;color:var(--bot-tinta)!important;border:1px solid var(--bot-tinta)!important}
.body--live .Pagination .Pagination__btn--previous:hover{background:rgba(236,236,239,.55)!important}
.body--live .Pagination__btn .material-icons{display:flex!important;align-items:center;line-height:0!important;margin:0!important;color:inherit!important}
.body--live .Pagination__btn .material-icons svg{fill:currentColor}
.body--live .Pagination__progress{flex:1 1 auto;max-width:none!important;background:var(--bot-filete)!important;border-radius:0!important;height:2px!important;margin:0!important;overflow:hidden}
.body--live .Pagination__progresstrack{background:var(--bot-verde)!important;border-radius:0!important;height:2px!important}
/* etapa 1: não há para onde voltar · etapa 4: o Enviar substitui a seta */
html.body--live:has(.paperform__page--0) .Pagination .Pagination__btn--previous{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
html.body--live:has(.paperform__page--3) .Pagination__btn--next{visibility:hidden!important}

/* ENVIAR (última etapa): o único botão que grita, roxo como os do site, à largura dos campos */
.body--live .submit{padding-left:var(--bot-recuo)!important}
.body--live .submit .SubmitButton.btn-raised.btn-primary{box-sizing:border-box;width:100%!important;height:56px;border:0!important;border-radius:4px!important;box-shadow:none!important;background:var(--bot-roxo)!important;color:#FFFFFF!important;
  font-family:var(--bot-mono)!important;font-size:14px!important;font-weight:500!important;letter-spacing:.04em!important;text-transform:uppercase!important;transition:background-color 200ms ease}
.body--live .submit .SubmitButton.btn-raised.btn-primary:hover{background:var(--bot-roxo-hover)!important}

/* ==========================================================================
   ERROS: o balão roxo da arte de 2018 (faixa roxa com o triângulo, caixa com contorno); filete e pergunta em roxo
   (estado base: só cor e tipografia; a caixa só existe com .LiveField--error)
   ========================================================================== */
.body--live .LiveField__error{background:transparent!important;color:var(--bot-tinta)!important;text-align:left!important;
  font-family:var(--bot-poppins)!important;font-size:14px!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important}
.body--live .LiveField--error .LiveField__error{display:block;box-sizing:border-box;margin:12px 0 0 var(--bot-recuo)!important;padding:12px 16px 12px 60px!important;min-height:46px;line-height:20px!important;
  border:1px solid var(--bot-tinta)!important;border-radius:4px!important;
  background:var(--bot-alerta) 12px center/20px auto no-repeat,linear-gradient(var(--bot-roxo),var(--bot-roxo)) left top/44px 100% no-repeat,#FFFFFF!important}
.body--live .LiveField--submiterror .LiveField__input:not(.Select),.body--live .LiveField--error .Select-control{border-bottom-color:var(--bot-roxo)!important;box-shadow:0 1px 0 var(--bot-roxo)!important}
.body--live .LiveField--submiterror .LiveField__header span{border-bottom:0!important}
.body--live .LiveField--error .LiveField__header{color:var(--bot-roxo)!important}
/* bloqueios de negócio (cálculos com ERROR()): ficam sempre visíveis, como aviso crítico em roxo */
.body--live .Calculations__error{font-family:var(--bot-poppins)!important;font-size:15px!important;line-height:24px!important;color:var(--bot-roxo)!important}
.body--live .SubmissionErrors{background:var(--bot-roxo)!important;color:#FFFFFF!important;font-family:var(--bot-poppins)!important;font-size:14px!important;border-radius:4px}

/* ==========================================================================
   MOVIMENTO (só se a pessoa não pediu menos movimento)
   ========================================================================== */
@media (prefers-reduced-motion:no-preference){
  @keyframes bot-sobe{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
  @keyframes bot-aparece{from{opacity:0}to{opacity:1}}
  /* o ✓: o círculo encolhe, salta, o visto cresce do centro e solta uma onda verde */
  @keyframes bot-check{
    0%{transform:scale(.82);background-size:0 auto;box-shadow:var(--bot-sombra),0 0 0 0 rgba(0,246,152,.55)}
    45%{transform:scale(1.15);background-size:68% auto}
    70%{transform:scale(.97)}
    100%{transform:scale(1);background-size:56% auto;box-shadow:var(--bot-sombra),0 0 0 10px rgba(0,246,152,0)}}
  @keyframes bot-ativo{0%{transform:scale(1)}50%{transform:scale(1.08)}100%{transform:scale(1)}}
  /* ao mudar de etapa, os campos entram um a um (60 ms entre eles). Sempre "backwards", nunca "both": uma animação que fica
     aplicada deixa um transform no campo e o campo seguinte passa a tapar as opções das listas pendentes (28.10) */
  .body--live .LiveFieldSection>*{animation:bot-sobe 520ms var(--bot-curva) backwards}
  .body--live .LiveFieldSection>*:nth-child(2){animation-delay:60ms}
  .body--live .LiveFieldSection>*:nth-child(3){animation-delay:120ms}
  .body--live .LiveFieldSection>*:nth-child(4){animation-delay:180ms}
  .body--live .LiveFieldSection>*:nth-child(5){animation-delay:240ms}
  .body--live .LiveFieldSection>*:nth-child(n+6){animation-delay:300ms}
    .body--live .LiveField:not(.LiveField--calculation):is(:focus-within,.LiveField--active)::before{animation:bot-ativo 400ms var(--bot-curva)}
  .body--live .LiveField:not(.LiveField--calculation):is(
    :has(.LiveField__input:not(.Select)[value]:not([value=""])),
    :has(.Select.has-value),
    :has([aria-checked="true"]),
    :has(.Address__input input[value]:not([value=""]))
  ):not(:focus-within):not(.LiveField--active)::before{animation:bot-check 700ms var(--bot-curva) backwards}
}

/* ==== FIM FORMULÁRIO BOT ==== */
