/* ==========================================================================
   Component · CTA — home-theater scene + closing pitch + store badges
   ========================================================================== */

.cta {
  padding-top: calc(var(--section-pad) / 2);
  padding-bottom: var(--section-pad);
  text-align: center;
}

.cta__scene img {
  width: 100%;
}

/* O fundo pintado dá base para a imagem em blend mesmo dentro do contexto de
   empilhamento isolado do reveal. Também é o contexto de posicionamento do
   vídeo sobreposto na tela da TV. */
.cta__scene {
  position: relative;
  width: 100%;
  background: var(--color-bg);
}

/* Vídeo de showcase mapeado sobre a tela da TV. O retângulo foi medido nos
   exports 2880x1646 da cena (pixels de tela: 543,13 → 2339,1022), expresso em
   porcentagem para escalar com a imagem. Invisível até tocar de fato; até lá
   aparece o print embutido na cena. */
.cta__scene-video {
  position: absolute;
  /* retângulo da tela + ~2px de overscan para as bordas sumirem sob o bezel */
  left: 18.78%;
  top: 0.61%;
  width: 62.5%;
  height: 61.66%;
  object-fit: cover;
  opacity: 0;
  transition: opacity var(--duration-medium) var(--ease-gentle);
}

.cta__scene-video.is-playing {
  opacity: 1;
}

/* Lighten dissolve os pretos embutidos da cena no fundo da página */
.cta__scene-img {
  mix-blend-mode: lighten;
}

.cta__title {
  margin-top: clamp(3.5rem, 2rem + 4vw, 6rem);
  font-family: var(--font-display);
  font-size: var(--text-display);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: var(--tracking-hero);
  padding-inline: var(--gutter);
}

.cta__sub {
  margin-top: 1.75rem;
  font-size: var(--text-sub);
  color: var(--color-text-tertiary);
  padding-inline: var(--gutter);
}

.cta__badges {
  margin-top: clamp(2.5rem, 2rem + 2vw, 3.75rem);
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.625rem;
  padding-inline: var(--gutter);
}

.cta__badges a {
  display: block;
  border-radius: var(--radius-badge);
  transition: transform var(--duration-fast) var(--ease-spring);
}

.cta__badges a:hover {
  transform: scale(1.045);
}

.cta__badges img {
  height: clamp(52px, 44px + 1.6vw, 66px);
  width: auto;
}

/* ---- Ações da chamada final (05/10) --------------------------------------
   Substituem os selos das lojas enquanto o app não está nelas: o app web e o
   APK do Android. Um primário (pill off-white) e um secundário neutro — sem
   azul aqui, o acento da tela já é o CTA do topo. */
.cta__actions {
  margin-top: clamp(2.5rem, 2rem + 2vw, 3.75rem);
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.875rem 1rem;
  padding-inline: var(--gutter);
}
