/* ===========================================================================
   GAMA VAI — página de produto (/vai)
   Carregado depois do css/style.css: reaproveita tokens, hero, painel, hiw,
   etapas, crono, faq e cta-final. Aqui fica só o que é próprio desta página:
   barra da marca, conversa do hero, dores, IA, termômetro, funil da meta,
   públicos e credenciais.
   =========================================================================== */

/* ---- A marca ---------------------------------------------------------------
   No logo do topo (e no rodapé) só o "ai" de Vai é rosa. Nos textos, o nome
   "Gama Vai" aparece sempre inteiro em rosa. */
.vai-ai { color: var(--red); }
.vai-nome { color: var(--red); }
.roi-panel .vai-nome,
.section--dark .vai-nome,
.crono .vai-nome,
.cta-final .vai-nome { color: var(--red-light); }

/* ---- Ajustes gerais desta página ------------------------------------------ */
.page-vai section[id] { scroll-margin-top: 72px; }

/* Títulos e apoios ocupam a largura da coluna, sem trava em caracteres */
.page-vai .section-head { max-width: 860px; }
.page-vai .gtm-hero__lead { max-width: none; }
.page-vai .faq-item__a { max-width: none; }
.page-vai .faq__head { top: 104px; }

/* Peso máximo 700 nos títulos (o cronograma base usa 800) */
.page-vai .crono__title,
.page-vai .crono__result strong { font-weight: 700; }

/* Fundos: branco e cinza claro se alternam entre as seções claras */
.page-vai .vai-dor,
.page-vai .vai-quem { background: var(--skin-bg-soft); }
.page-vai .vai-ia,
.page-vai .vai-cred { background: var(--skin-bg); }

/* Frase de destaque: a segunda parte (em rosa) sempre começa em linha própria */
.page-vai .destaque em { display: block; }

/* O cabeçalho da etapa gruda abaixo da barra da marca */
.page-vai .etapa__aside { top: 104px; }
.page-vai .etapa__intro { max-width: none; }

/* ===========================================================================
   Barra da marca
   =========================================================================== */
.vai-top {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 255, 255, .86);
  backdrop-filter: saturate(180%) blur(14px);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
  border-bottom: 1px solid var(--border);
}
.vai-top__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  height: 72px;
}

/* Assinatura: logo da Gama + "Vai", com o "ai" em rosa */
.vai-lock {
  display: inline-flex;
  align-items: baseline; /* a base do "Vai" assenta na base do logo */
  gap: 8px;
  flex: 0 0 auto;
}
.vai-lock img {
  display: block;
  width: auto;
  height: 28px;
}
.vai-lock__vai {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 33px;
  line-height: 28px;
  letter-spacing: -1.3px;
  color: var(--text-main);
}
.vai-top__cta { padding: 11px 20px; }

@media (max-width: 560px) {
  .vai-top__inner { height: 64px; }
  .vai-lock img { height: 22px; }
  .vai-lock__vai { font-size: 26px; line-height: 22px; letter-spacing: -1px; }
  .vai-top__cta { padding: 10px 16px; font-size: 13px; }
}

/* ===========================================================================
   Hero
   =========================================================================== */
.page-vai .gtm-hero { padding-top: clamp(40px, 6vw, 84px); }
.page-vai .gtm-hero__title { font-size: clamp(36px, 4.5vw, 60px); }
.page-vai .gtm-hero__lead { font-size: clamp(16px, 1.5vw, 19px); }

/* ---- Conversa no WhatsApp (ilustrativa) ----------------------------------- */
.vai-chat {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  margin: 18px 0 4px;
}
.vai-msg {
  max-width: 92%;
  padding: 10px 14px;
  border-radius: 16px;
  font-size: 13.5px;
  line-height: 1.45;
  opacity: 0;
  transform: translateY(10px);
}
.gtm-hero__viz.is-visible .vai-msg {
  animation: vaiMsg .6s var(--ease) forwards;
  animation-delay: var(--d, 0s);
}
.vai-msg--out {
  align-self: flex-end;
  background: var(--red);
  color: var(--white);
  border-bottom-right-radius: 5px;
}
.vai-msg--in {
  align-self: flex-start;
  display: flex;
  flex-direction: column;
  gap: 3px;
  background: rgba(255, 255, 255, .06);
  border: 1px solid var(--on-dark-border);
  border-bottom-left-radius: 5px;
  color: var(--on-dark);
}
.vai-msg--curta { display: block; }

/* Áudio enviado */
.vai-audio { display: flex; align-items: center; gap: 10px; }
.vai-audio__play {
  display: grid; place-items: center;
  width: 28px; height: 28px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .22);
  font-size: 20px;
}
.vai-audio__wave { display: flex; align-items: center; gap: 3px; height: 24px; }
.vai-audio__wave i {
  display: block;
  width: 3px;
  border-radius: 3px;
  background: rgba(255, 255, 255, .85);
}
.vai-audio__time { font-size: 11.5px; font-weight: 600; opacity: .85; }

/* Foto enviada */
.vai-foto { display: inline-flex; align-items: center; gap: 8px; font-weight: 500; }
.vai-foto .mat-icon { font-size: 18px; }

/* Contato organizado pela IA */
.vai-msg__head {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--red-light);
}
.vai-msg__head .mat-icon { font-size: 15px; }
.vai-msg__quem {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 15.5px;
  letter-spacing: -.3px;
  line-height: 1.2;
  color: var(--white);
}
.vai-msg__quem small {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 12.5px;
  letter-spacing: 0;
  color: var(--on-dark-sub);
}
.vai-msg__tags { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 6px; }
.vai-tag {
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  padding: 5px 9px;
  border-radius: 100px;
  border: 1px solid var(--on-dark-border);
  color: var(--on-dark);
}
.vai-tag--quente {
  background: var(--red);
  border-color: var(--red);
  color: var(--white);
}
.vai-msg__passo { margin-left: 4px; font-size: 12.5px; color: var(--on-dark); }
.vai-msg__passo b { color: var(--white); font-weight: 600; }

/* Meta do dia, no pé do painel */
.vai-meta {
  margin-top: 12px;
  padding-top: 14px;
  border-top: 1px solid var(--on-dark-border);
}
.vai-meta__linha {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.vai-meta__k {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--on-dark-faint);
}
.vai-meta__v {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 15px;
  letter-spacing: -.3px;
  color: var(--white);
}
.vai-meta__bar {
  height: 6px;
  margin: 10px 0 9px;
  border-radius: 6px;
  background: rgba(255, 255, 255, .12);
  overflow: hidden;
}
.vai-meta__bar i {
  display: block;
  height: 100%;
  width: 0;
  border-radius: 6px;
  background: linear-gradient(90deg, var(--red), var(--red-light));
  transition: width 1.4s var(--ease) 3.8s;
}
.gtm-hero__viz.is-visible .vai-meta__bar i { width: 60%; }
.vai-meta__nota { display: block; font-size: 12.5px; color: var(--on-dark-sub); }

@keyframes vaiMsg {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .vai-msg { opacity: 1; transform: none; }
  .vai-meta__bar i { width: 60%; }
}

/* ===========================================================================
   O problema: o que acontece sem método, em cada momento
   =========================================================================== */
.vai-dor__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.vai-dor__card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 28px;
  transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.vai-dor__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 48px -28px rgba(17, 17, 17, .26);
  border-color: rgba(222, 0, 72, .25);
}
.vai-dor__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 22px;
}
.vai-dor__icon {
  display: grid; place-items: center;
  width: 46px; height: 46px;
  border-radius: 12px;
  background: var(--red-dim);
  color: var(--red);
  font-size: 24px;
}
.vai-dor__fase {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text-faint);
}
.vai-dor__card p {
  margin-top: 10px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--text-sub);
}

/* ===========================================================================
   Como funciona: o verbo de cada etapa (ajudamos, prestamos, buscamos)
   =========================================================================== */
.vai-step__verbo {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: var(--red-light);
}
.page-vai .hiw__head { max-width: 860px; }
.page-vai .hiw__outro { max-width: 900px; }

/* ===========================================================================
   A IA: quatro passos no WhatsApp
   =========================================================================== */
.vai-ia__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.vai-ia__card {
  background: var(--skin-bg-soft);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 26px;
  transition: transform .3s var(--ease), border-color .3s var(--ease), background .3s var(--ease);
}
.vai-ia__card:hover {
  transform: translateY(-4px);
  background: var(--surface);
  border-color: rgba(222, 0, 72, .25);
}
.vai-ia__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 22px;
}
.vai-ia__icon {
  display: grid; place-items: center;
  width: 46px; height: 46px;
  border-radius: 12px;
  background: var(--red);
  color: var(--white);
  font-size: 23px;
}
.vai-ia__num {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 26px;
  letter-spacing: -1px;
  color: transparent;
  -webkit-text-stroke: 1.3px rgba(222, 0, 72, .4);
}
.vai-ia__card p {
  margin-top: 10px;
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--text-sub);
}

/* ---- Termômetro: quente, morno e frio ------------------------------------- */
.vai-temp {
  display: grid;
  grid-template-columns: minmax(0, 34%) minmax(0, 66%);
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
  margin-top: clamp(28px, 4vw, 44px);
  padding: clamp(26px, 3.4vw, 40px);
  border-radius: var(--radius);
  background: var(--dark);
  color: var(--on-dark);
}
.vai-temp__head .label { color: var(--red-light); }
.vai-temp__title {
  margin-top: 12px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(22px, 2.4vw, 30px);
  letter-spacing: -.8px;
  line-height: 1.15;
  color: var(--white);
}
.vai-temp__list { display: flex; flex-direction: column; }
.vai-temp__row {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr) max-content;
  align-items: center;
  gap: 18px;
  padding: 16px 0;
}
.vai-temp__row + .vai-temp__row { border-top: 1px solid var(--on-dark-border); }
.vai-temp__nivel {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 16px;
  letter-spacing: -.3px;
  color: var(--white);
}
.vai-temp__nivel i {
  width: 10px; height: 10px;
  border-radius: 50%;
  background: var(--on-dark-faint);
}
.vai-temp__row--quente .vai-temp__nivel i { background: var(--red); box-shadow: 0 0 0 4px rgba(222, 0, 72, .25); }
.vai-temp__row--morno  .vai-temp__nivel i { background: var(--red-light); }
.vai-temp__sinal { font-size: 14.5px; line-height: 1.5; color: var(--on-dark); }
.vai-temp__prazo { font-size: 13px; color: var(--on-dark-sub); white-space: nowrap; }
.vai-temp__prazo b { color: var(--white); font-weight: 600; }

/* ===========================================================================
   A conta do evento: a meta de trás para frente (sobre o vermelho do crono)
   =========================================================================== */
.page-vai .vai-conta .crono__head { max-width: 760px; }
.page-vai .vai-conta .crono__lead { max-width: none; }

.vai-funil {
  display: flex;
  align-items: stretch;
  gap: 6px;
  margin-top: clamp(40px, 6vw, 72px);
}
.vai-funil__box {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 22px 20px;
  border-radius: var(--radius);
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .22);
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .6s var(--ease), transform .6s var(--ease);
  transition-delay: calc(var(--i, 0) * .14s + .1s);
}
.vai-funil.is-visible .vai-funil__box { opacity: 1; transform: none; }
.vai-funil__etapa {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .78);
}
.vai-funil__n {
  margin: 14px 0 6px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(40px, 4.6vw, 62px);
  letter-spacing: -2px;
  line-height: 1;
  color: var(--white);
  font-variant-numeric: tabular-nums;
}
.vai-funil__nota { font-size: 13px; color: rgba(255, 255, 255, .78); }
/* A última caixa é o objetivo: fundo branco, número em vermelho */
.vai-funil__box--meta { background: var(--white); border-color: var(--white); }
.vai-funil__box--meta .vai-funil__etapa,
.vai-funil__box--meta .vai-funil__nota { color: var(--text-sub); }
.vai-funil__box--meta .vai-funil__n { color: var(--red); }

.vai-funil__seta {
  align-self: center;
  flex: 0 0 auto;
  width: clamp(20px, 2.4vw, 32px);
  text-align: center;
  font-size: clamp(18px, 2vw, 24px);
  color: rgba(255, 255, 255, .7);
}
.vai-funil__legenda {
  margin-top: 16px;
  font-size: 13.5px;
  color: rgba(255, 255, 255, .78);
}
.page-vai .vai-conta .crono__result { margin-top: clamp(28px, 4vw, 44px); }

/* ===========================================================================
   Para quem é
   =========================================================================== */
.vai-quem__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.vai-quem__card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: clamp(28px, 3.4vw, 40px);
  transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.vai-quem__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 48px -28px rgba(17, 17, 17, .26);
  border-color: rgba(222, 0, 72, .25);
}
.vai-quem__icon {
  display: grid; place-items: center;
  width: 52px; height: 52px;
  margin-bottom: 22px;
  border-radius: 14px;
  background: var(--red-dim);
  color: var(--red);
  font-size: 27px;
}
.vai-quem__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(21px, 2.1vw, 26px);
  letter-spacing: -.7px;
  line-height: 1.15;
  color: var(--text-main);
}
.vai-quem__card p {
  margin-top: 12px;
  font-size: 15.5px;
  line-height: 1.65;
  color: var(--text-sub);
}
.vai-quem__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid var(--border);
}
.vai-quem__list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  font-weight: 500;
  color: var(--text-main);
}
.vai-quem__list .mat-icon {
  display: grid; place-items: center;
  flex: 0 0 auto;
  width: 22px; height: 22px;
  border-radius: 50%;
  background: var(--red);
  color: var(--white);
  font-size: 15px;
}

/* ===========================================================================
   Quem vai com você: números, eventos e onde o método já rodou
   =========================================================================== */
.vai-nums {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.vai-nums__item { padding: clamp(24px, 3vw, 36px) clamp(16px, 2.4vw, 32px) clamp(24px, 3vw, 36px) 0; }
.vai-nums__item + .vai-nums__item {
  padding-left: clamp(16px, 2.4vw, 32px);
  border-left: 1px solid var(--border);
}
.vai-nums__n {
  display: block;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(44px, 5.4vw, 72px);
  letter-spacing: -2.5px;
  line-height: 1;
  color: var(--red);
}
.vai-nums__t {
  display: block;
  margin-top: 12px;
  font-size: 15px;
  line-height: 1.5;
  color: var(--text-sub);
}

.vai-ev { margin-top: clamp(36px, 5vw, 56px); }
.vai-ev .label,
.vai-rodou .label { display: block; margin-bottom: 18px; }
.vai-ev__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.vai-ev__item {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 20px;
  border-radius: var(--radius-sm);
  background: var(--skin-bg-soft);
  border: 1px solid var(--border);
}
.vai-ev__item strong {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 16px;
  letter-spacing: -.3px;
  color: var(--text-main);
  white-space: nowrap;
}
.vai-ev__item span { font-size: 13px; color: var(--text-sub); white-space: nowrap; }

.vai-rodou { margin-top: clamp(36px, 5vw, 56px); }
.vai-rodou__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.vai-rodou__card {
  position: relative;
  overflow: hidden;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 28px;
}
.vai-rodou__card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, var(--red), var(--red-light));
}
.vai-rodou__num {
  display: block;
  margin-bottom: 14px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 26px;
  letter-spacing: -1px;
  color: transparent;
  -webkit-text-stroke: 1.3px rgba(222, 0, 72, .4);
}
.vai-rodou__card p {
  margin-top: 10px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--text-sub);
}

/* ===========================================================================
   Telas menores
   =========================================================================== */
@media (max-width: 1080px) {
  .vai-ia__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vai-ev__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
  .page-vai .gtm-hero__inner { grid-template-columns: 1fr; gap: 40px; }

  .vai-dor__grid,
  .vai-quem__grid,
  .vai-rodou__grid { grid-template-columns: 1fr; }

  .vai-temp { grid-template-columns: 1fr; }

  /* Funil vira coluna: as setas apontam para baixo */
  .vai-funil { flex-direction: column; gap: 4px; }
  .vai-funil__box {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 20px;
  }
  .vai-funil__etapa { flex: 1; }
  .vai-funil__n { margin: 0; font-size: 36px; order: 3; }
  .vai-funil__nota { order: 2; }
  .vai-funil__seta { width: auto; transform: rotate(90deg); }

  .page-vai .etapa__aside,
  .page-vai .faq__head { top: auto; }
}

@media (max-width: 560px) {
  .vai-ia__grid,
  .vai-ev__list { grid-template-columns: 1fr; }

  .vai-nums { grid-template-columns: 1fr; }
  .vai-nums__item { padding: 22px 0; }
  .vai-nums__item + .vai-nums__item {
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid var(--border);
  }

  .vai-temp__row { grid-template-columns: 1fr; gap: 6px; }
  .vai-msg { max-width: 94%; }
}
