/* CTA compartilhado entre home e páginas internas. */
.cta-band {
  padding: 0 !important;
  background: var(--cream-50) !important;
}

.cta-band .container {
  width: 100%;
  max-width: none !important;
  padding: 0 !important;
}

.cta-inner {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0, 56%) minmax(0, 44%) !important;
  min-height: 510px !important;
  padding: 0 !important;
  gap: 0 !important;
  align-items: stretch !important;
  overflow: hidden;
  color: #fff;
  background: #064f46 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.cta-inner::before,
.cta-inner::after { display: none !important; }

.cta-panel {
  position: relative;
  z-index: 2;
  display: flex;
  min-width: 0;
  padding: 76px clamp(34px, 5vw, 92px) 72px max(5vw, calc((100vw - 1320px) / 2));
  flex-direction: column;
  justify-content: center;
  background:
    radial-gradient(circle at 10% 100%, rgba(35,136,121,.24), transparent 34%),
    linear-gradient(122deg, #003f39 0%, #064f46 100%);
}

.cta-content {
  display: block !important;
  max-width: 650px !important;
  text-align: left !important;
}

.cta-mark { display: none !important; }

.cta-content h3 {
  max-width: 620px;
  margin: 0 0 20px;
  color: #fff;
  font-family: var(--font-serif);
  font-size: clamp(2.55rem, 4vw, 4.15rem) !important;
  font-weight: 500 !important;
  line-height: 1.05 !important;
  letter-spacing: -.035em;
}

.cta-content h3 .cta-accent { color: var(--gold-400) !important; }

.cta-content p {
  max-width: 550px !important;
  margin: 0;
  color: rgba(255,255,255,.78) !important;
  font-size: 1rem !important;
  line-height: 1.7;
}

.cta-actions {
  position: static !important;
  z-index: 3;
  display: flex !important;
  width: max-content !important;
  margin-top: 30px !important;
  flex-direction: row !important;
  gap: 12px !important;
}

.cta-actions .btn-whatsapp,
.cta-actions .btn-gold {
  width: auto !important;
  min-height: 48px;
  padding: 13px 20px !important;
  color: #fff !important;
  background: transparent !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  box-shadow: none !important;
}

.cta-actions .btn-whatsapp:hover,
.cta-actions .btn-gold:hover {
  color: #003f39 !important;
  background: #fff !important;
  border-color: #fff !important;
}

.cta-media {
  position: relative;
  z-index: 1;
  min-width: 0;
  min-height: 510px;
  overflow: hidden;
  background: #d8d0c2;
}

.cta-media::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  z-index: 2;
  width: clamp(90px, 12vw, 190px);
  background: linear-gradient(90deg, #064f46 0%, rgba(6,79,70,.76) 22%, rgba(6,79,70,.25) 63%, transparent 100%);
  pointer-events: none;
}

.cta-media picture,
.cta-media img {
  display: block;
  width: 100%;
  height: 100%;
}

.cta-media picture { position: absolute; inset: 0; }
.cta-media img { object-fit: cover; object-position: center; }

@media (max-width: 991px) {
  .cta-inner {
    grid-template-columns: minmax(0, 54%) minmax(0, 46%) !important;
    min-height: 470px !important;
  }
  .cta-panel { padding: 58px 38px; }
  .cta-content h3 { font-size: clamp(2.35rem, 5.4vw, 3.4rem) !important; }
  .cta-actions { width: 100% !important; flex-wrap: wrap; }
  .cta-media { min-height: 470px; }
}

@media (max-width: 767px) {
  .cta-inner {
    display: flex !important;
    min-height: 0 !important;
    flex-direction: column !important;
  }
  .cta-panel { min-height: 440px; padding: 54px 24px 48px; }
  .cta-content h3 { font-size: clamp(2.35rem, 10vw, 3.2rem) !important; }
  .cta-content p { font-size: .95rem !important; }
  .cta-actions { display: grid !important; grid-template-columns: 1fr 1fr; }
  .cta-actions .btn { justify-content: center; }
  .cta-media { min-height: 330px; }
  .cta-media::before {
    inset: 0 0 auto;
    width: 100%;
    height: 105px;
    background: linear-gradient(180deg, #064f46 0%, rgba(6,79,70,.6) 32%, rgba(6,79,70,.13) 72%, transparent 100%);
  }
}

@media (max-width: 520px) {
  .cta-panel { min-height: 0; padding: 48px 20px 42px; }
  .cta-content h3 { font-size: clamp(2.15rem, 10.5vw, 2.8rem) !important; }
  .cta-actions { grid-template-columns: 1fr; }
  .cta-media { min-height: 285px; }
}
