/* ==========================================================================
   Boteco do Manolo — o anfitrião que acompanha a leitura
   --------------------------------------------------------------------------
   Seu Manolo fica no canto inferior direito e troca de pose conforme o título
   da seção sobe na tela, com uma fala curta à esquerda dele. Fica fora do
   caminho do conteúdo e some no celular, onde a barra de conversão já ocupa
   o rodapé.
   ========================================================================== */

.mascote {
  position: fixed;
  right: 18px;
  bottom: 0;
  z-index: 50;
  display: flex;
  align-items: flex-end;
  gap: 10px;
  pointer-events: none;
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 520ms var(--mola), transform 520ms var(--mola);
}
.mascote.visivel { opacity: 1; transform: none; }
.mascote.recolhido { opacity: 0; transform: translateY(24px); pointer-events: none; }

/* As poses vêm na mesma tela e na mesma escala, então a caixa é dimensionada
   pela altura e todas se empilham alinhadas: mesma cabeça, mesma linha de pé. */
.mascote-figura {
  position: relative;
  width: 104px;
  height: 150px;
  flex: none;
  order: 2;           /* o personagem fica à direita, encostado na borda */
}
.mascote-pose {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: bottom center;
  opacity: 0;
  transform: translateY(14px) scale(0.96);
  transition: opacity 420ms var(--mola), transform 420ms var(--mola);
  filter: drop-shadow(0 8px 16px rgba(28, 9, 11, 0.26));
}
.mascote-pose.ativa { opacity: 1; transform: none; }

/* O balão fica à esquerda, com a pontinha virada para o personagem. */
.mascote-balao {
  position: relative;
  order: 1;
  margin-bottom: 56px;
  max-width: 186px;
  padding: 9px 13px;
  border-radius: 14px 14px 4px 14px;
  background: var(--creme);
  border: 1.5px solid var(--borda);
  box-shadow: var(--sombra);
  font-family: var(--serif);
  font-size: 15px;
  line-height: 1.22;
  color: var(--escuro);
  text-align: right;
  opacity: 0;
  transform: translateX(8px) scale(0.94);
  transform-origin: right bottom;
  transition: opacity 360ms var(--mola), transform 360ms var(--mola);
  pointer-events: none;
}
.mascote-balao.visivel { opacity: 1; transform: none; }
.mascote-balao::after {
  content: '';
  position: absolute;
  right: -8px;
  bottom: 10px;
  width: 14px; height: 14px;
  background: var(--creme);
  border-right: 1.5px solid var(--borda);
  border-bottom: 1.5px solid var(--borda);
  transform: rotate(-45deg);
  border-radius: 0 0 4px 0;
}

.mascote-x {
  position: absolute;
  right: 80px;
  bottom: 128px;
  width: 22px; height: 22px;
  border-radius: 50%;
  background: var(--escuro);
  color: var(--creme);
  display: grid;
  place-items: center;
  opacity: 0;
  pointer-events: auto;
  transition: opacity var(--rapido), transform var(--rapido);
}
.mascote:hover .mascote-x { opacity: 1; }
.mascote-x:hover { transform: scale(1.12); background: var(--tijolo); }

/* Sobre faixas escuras o balão inverte, para não virar um borrão claro. */
.mascote.sobre-escuro .mascote-balao {
  background: var(--escuro);
  color: var(--creme);
  border-color: rgba(244, 231, 209, 0.24);
}
.mascote.sobre-escuro .mascote-balao::after {
  background: var(--escuro);
  border-color: rgba(244, 231, 209, 0.24);
}

@media (max-width: 1200px) {
  .mascote { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .mascote, .mascote-pose, .mascote-balao { transition: none; }
}

/* Título com o anfitrião ao lado: bloco dos Estados Unidos e reputação. */
.cabeca-com-mascote {
  display: flex;
  align-items: flex-end;
  gap: clamp(20px, 3vw, 40px);
  margin-bottom: clamp(30px, 4vw, 48px);
}
.cabeca-com-mascote .cabeca-secao { margin-bottom: 0; }
.cabeca-mascote {
  flex: none;
  width: auto;
  height: 220px;
  filter: drop-shadow(0 14px 26px rgba(28, 9, 11, 0.45));
}
@media (max-width: 720px) {
  .cabeca-com-mascote { flex-direction: column; align-items: flex-start; }
  .cabeca-mascote { height: 170px; }
}
