/* ================= CTA SECTION ================= */
.cta-section{
  width:100%;
  padding:90px 0 90px;
  overflow:hidden;

  /* BG IMAGEM 100% VISÍVEL */
  background-image: url("../../images/cta2.png");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  background-attachment:fixed; /* parallax CSS */
}

/* CONTAINER */
.cta-inner{
  width:100%;
  max-width:90%;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:60px;

  /* ✅ evita “bug” de texto estourando em flex */
  flex-wrap:nowrap;

  /* ENTRADA GERAL */
  animation:ctaFadeIn 1s ease forwards;
}

/* TEXTO */
.cta-text{
  max-width:720px;

  /* ✅ importantíssimo em layouts flex p/ não invadir o botão */
  min-width:0;

  opacity:0;
  transform:translateY(40px);
  animation:ctaTextIn .9s cubic-bezier(.22,.61,.36,1) forwards;
  animation-delay:.2s;
}

.cta-text h2{
  font-size:48px;
  font-weight:900;
  line-height:1.2;
  color:#092D69;
  margin-bottom:24px;

  /* mantém 1 linha em telas grandes */
  white-space:nowrap;
}

.cta-text p{
  font-size:18px;
  line-height:1.7;
  color:#092D69;
  opacity:.8;
}

/* BOTÃO */
.cta-action{
  flex-shrink:0;

  /* ✅ garante que ele fique à direita quando houver wrap */
  margin-left:auto;

  opacity:0;
  transform:translateY(40px);
  animation:ctaBtnIn .9s cubic-bezier(.22,.61,.36,1) forwards;
  animation-delay:.45s;
}

.cta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:18px 46px;
  border-radius:34px;
  background:#4ec5f2;
  color:#092D69;
  font-weight:800;
  font-size:15px;
  text-decoration:none;
  position:relative;

  transition:transform .3s ease, box-shadow .3s ease;
}

/* HOVER */
.cta-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 34px rgba(78,197,242,.35);
}

/* PULSE SUAVE */
.cta-btn.pulse::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  box-shadow:0 0 0 0 rgba(78,197,242,.45);
  animation:pulse-soft 3.5s infinite;
}

/* DIVISOR REMOVIDO */
.cta-divider{
  display:none;
}

/* ================= ANIMAÇÕES ================= */
@keyframes ctaFadeIn{
  from{ opacity:0; }
  to{ opacity:1; }
}
@keyframes ctaTextIn{
  to{ opacity:1; transform:translateY(0); }
}
@keyframes ctaBtnIn{
  to{ opacity:1; transform:translateY(0); }
}
@keyframes pulse-soft{
  0%{ box-shadow:0 0 0 0 rgba(78,197,242,.35); }
  70%{ box-shadow:0 0 0 18px rgba(78,197,242,0); }
  100%{ box-shadow:0 0 0 0 rgba(78,197,242,0); }
}

/* =========================================================
   ✅ NOVO BREAKPOINT (TABLET / TELAS “MEIO TERMO”)
   Evita o botão “subir”/invadir o título entre 901px e 1100px
========================================================= */
@media (max-width:1100px){
  .cta-inner{
    /* ✅ se ficar apertado, o botão desce sem sobrepor */
    flex-wrap:wrap;
    gap:24px 32px;
  }

  .cta-text{
    /* ✅ texto ocupa a linha e quebra correto */
    flex:1 1 520px;
    max-width:none;
  }

  .cta-text h2{
    /* ✅ libera quebra de linha e limita largura do título */
    white-space:normal;
    max-width:26ch;

    /* ✅ reduz suave sem “pular” */
    font-size:clamp(34px, 4vw, 44px);
  }

  .cta-action{
    /* ✅ mantém à direita; se quebrar linha, fica alinhado à direita */
    margin-left:auto;
  }
}

/* =========================================================
   ✅ RESPONSIVO (PADRÃO • MOBILE CENTRALIZADO)
========================================================= */
@media (max-width:900px){
  .cta-inner{
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    gap:22px;
  }

  .cta-text{
    max-width:720px;
  }

  .cta-action{
    margin-top:8px;
    margin-left:0; /* ✅ no mobile centraliza melhor */
  }

  .cta-text h2{
    font-size:38px;
    white-space:normal;
    max-width:none;
  }

  /* iOS FIX: remove attachment fixed */
  .cta-section{
    background-attachment:scroll;
  }
}

@media (max-width:600px){
  .cta-section{
    padding:72px 0;
  }

  .cta-inner{
    max-width:90%;
  }

  .cta-text h2{
    font-size:32px;
    margin-bottom:16px;
  }

  .cta-text p{
    font-size:16px;
    line-height:1.75;
  }

  .cta-btn{
    width:100%;
    max-width:340px;
    justify-content:center;
    padding:16px 22px;
    border-radius:28px;
  }
}

@media (max-width:420px){
  .cta-inner{ max-width:92%; }
  .cta-btn{ max-width:100%; }
}