/* =========================
   CTA SPOTLIGHT (CONFORTÁVEL) — CSS COMPLETO ATUALIZADO
   ✅ Botões forçados no padrão dourado + brilho
   ✅ 1 linha garantida (desktop + mobile)
   ========================= */

.cta-spotlight-section {
  position: relative;
  padding: clamp(96px, 9vw, 140px) 0;
  overflow: hidden;
}

.cta-spotlight-content {
  position: relative;
  width: 100%;
  max-width: 1240px;
  padding: 0 24px;
  margin: 0 auto;
}

.cta-main-card {
  position: relative;
  border-radius: 22px;
  padding: clamp(28px, 4vw, 40px);
  background: rgba(255, 255, 255, 0.10);
  border: 1px solid rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  display: flex;
  flex-direction: column;
  gap: 20px;

  min-width: 0;

  max-width: 920px;
  margin: 0 auto;
}

/* =========================
   LINHA DOURADA FINAL
   ========================= */

.cta-main-card::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: 2px;
  background: linear-gradient(
    90deg,
    transparent,
    #c99a05,
    #f5c542,
    #c99a05,
    transparent
  );
  border-radius: 2px;
  pointer-events: none;
}

/* =========================
   BOTÕES (DOURADO + BRILHO)
   ========================= */

.cta-action-buttons {
  display: flex;
  gap: 16px;
  margin-top: 10px;
  min-width: 0;
  justify-content: center;
}

.cta-action-buttons > a {
  flex: 0 1 520px;
  max-width: 100%;
  min-width: 0;
  text-decoration: none;
}

.cta-action-buttons .btn {
  width: 100% !important;
  min-height: 56px !important;
  padding: 14px 20px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;

  /* 🔽 Fonte (desktop) */
  font-size: 0.72rem !important;

  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.15 !important;
  text-align: center !important;
  text-decoration: none !important;

  border: 0 !important;

  background: linear-gradient(
    135deg,
    var(--color-secondary, #FFD700),
    #FFC400
  ) !important;
  color: #0b0b0b !important;

  position: relative !important;
  overflow: hidden !important;
  cursor: pointer !important;

  /* ✅ 1 linha garantida */
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;

  max-width: 100% !important;
  min-width: 0 !important;

  transition: transform 300ms ease, box-shadow 300ms ease !important;
}

/* ✅ garante que o texto (span) NUNCA quebre */
.cta-action-buttons .btn span {
  white-space: nowrap !important;
}

/* brilho animado */
.cta-action-buttons .btn::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: -100% !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.30),
    transparent
  ) !important;
  transition: left 0.7s ease !important;
}

.cta-action-buttons .btn:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 25px rgba(255, 215, 0, 0.30) !important;
}

.cta-action-buttons .btn:hover::before {
  left: 100% !important;
}

.cta-action-buttons .btn span,
.cta-action-buttons .btn svg,
.cta-action-buttons .btn img {
  position: relative !important;
  z-index: 1 !important;
}

.cta-action-buttons .btn:focus-visible {
  outline: none !important;
  box-shadow:
    0 0 0 3px rgba(255, 215, 0, 0.28),
    0 10px 25px rgba(255, 215, 0, 0.30) !important;
}

/* =========================
   SOCIAL PROOF
   ========================= */

.cta-social-proof {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 12px;
  justify-content: center;
}

.social-proof-avatars {
  display: flex;
  align-items: center;
}

.social-proof-avatars img {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  object-fit: cover;
  border: 2px solid rgba(255, 255, 255, 0.4);
  margin-left: -12px;
}

.social-proof-avatars img:first-child {
  margin-left: 0;
}

/* =========================
   RESPONSIVO
   ========================= */

@media (max-width: 900px) {
  .cta-main-card {
    padding: 24px;
    gap: 18px;
    max-width: none;
    margin: 0;
  }

  .cta-action-buttons {
    flex-direction: column;
    gap: 14px;
    justify-content: flex-start;
  }

  .cta-action-buttons > a {
    flex: 1 1 auto;
  }

  .cta-action-buttons .btn {
    min-height: 54px !important;

    /* 🔽 Fonte menor no mobile (pra caber 1 linha) */
    font-size: 0.68rem !important;

    padding: 13px 16px !important;

    /* ✅ mantém 1 linha também no mobile */
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .cta-social-proof {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 10px;
  }
}

@media (max-width: 420px) {
  .cta-main-card {
    padding: 20px;
  }

  .cta-action-buttons .btn {
    font-size: 0.64rem !important;
    min-height: 52px !important;
    padding: 12px 14px !important;
  }
}
