/* ==========================================================================
   Desafio FocoFit - Formulário de Captura Seguro & Responsivo
   ========================================================================== */

:root {
  --form-primary: #0D3D2F;
  --form-accent: #C5F542;
  --form-accent-hover: #b0e031;
  --form-accent-glow: rgba(197, 245, 66, 0.35);
  --form-text: #F5F1E8;
  --form-text-muted: #A3B8B0;
  --form-bg-card: rgba(13, 61, 47, 0.85);
  --form-bg-input: rgba(7, 33, 25, 0.7);
  --form-border-input: rgba(197, 245, 66, 0.25);
  --form-border-focus: #C5F542;
  --form-error: #FF5A5F;
  --form-error-glow: rgba(255, 90, 95, 0.35);
  --form-success: #2ED573;
  --form-success-glow: rgba(46, 213, 115, 0.35);
  --form-radius: 18px;
  --form-radius-input: 12px;
  --form-font-heading: "Semakin", sans-serif;
  --form-font-body: "Verdana", sans-serif;
}

/* Container do Formulário */
.focofit-lead-wrapper {
  width: 100%;
  max-width: 580px;
  margin: 32px auto 0 auto;
  position: relative;
  box-sizing: border-box;
}

.focofit-lead-card {
  background: var(--form-bg-card);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(197, 245, 66, 0.25);
  border-radius: var(--form-radius);
  padding: 36px 32px;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.45);
  transition: transform 0.3s ease;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
}

/* Estrutura dos Campos */
.focofit-form-group {
  margin-bottom: 22px;
  position: relative;
  text-align: left;
}

.focofit-form-label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--form-text);
  font-family: var(--form-font-heading);
  font-size: 0.88rem;
  font-weight: 700;
  margin-bottom: 8px;
  letter-spacing: 0.3px;
}

.focofit-form-label .required-star {
  color: var(--form-accent);
  margin-left: 3px;
}

.focofit-input-box {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}

.focofit-input-icon {
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  color: var(--form-text-muted);
  transition: color 0.3s ease;
  pointer-events: none;
  z-index: 3;
}

.focofit-input-icon svg {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px;
  min-height: 18px;
  max-width: 18px;
  max-height: 18px;
  fill: currentColor;
  display: block;
}

/* Forçar padding com alta especificidade contra resets do tema */
.focofit-lead-card input.focofit-input,
.focofit-input-box input[type="text"].focofit-input,
.focofit-input-box input[type="email"].focofit-input,
.focofit-input-box input[type="tel"].focofit-input,
.focofit-input {
  width: 100% !important;
  box-sizing: border-box !important;
  background: var(--form-bg-input) !important;
  border: 1.5px solid var(--form-border-input) !important;
  border-radius: var(--form-radius-input) !important;
  color: var(--form-text) !important;
  font-family: var(--form-font-body) !important;
  font-size: 1.02rem !important;
  font-weight: 500 !important;
  padding: 16px 44px 16px 52px !important; /* Espaço suficiente para o ícone à esquerda */
  outline: none !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  line-height: 1.4 !important;
  height: auto !important;
}

.focofit-input::placeholder {
  color: rgba(163, 184, 176, 0.55) !important;
  font-weight: 400 !important;
  font-size: 0.95rem !important;
}

/* Estados do Input */
.focofit-lead-card input.focofit-input:focus,
.focofit-input:focus {
  border-color: var(--form-border-focus) !important;
  background: rgba(13, 61, 47, 0.9) !important;
  outline: none !important;
  box-shadow: none !important;
}

.focofit-input:focus ~ .focofit-input-icon {
  color: var(--form-accent);
}

/* Indicador de Status (Check / Warning) */
.focofit-status-icon {
  position: absolute;
  right: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: scale(0.6);
  transition: all 0.25s ease;
  pointer-events: none;
}

.focofit-status-icon svg {
  width: 18px;
  height: 18px;
}

/* Estado de Erro */
.focofit-form-group.has-error .focofit-input {
  border-color: var(--form-error) !important;
  box-shadow: none !important;
  outline: none !important;
  background: rgba(45, 15, 20, 0.75) !important;
}

.focofit-form-group.has-error .focofit-input-icon {
  color: var(--form-error) !important;
}

.focofit-form-group.has-error .focofit-status-icon {
  opacity: 1;
  transform: scale(1);
  color: var(--form-error);
}

.focofit-form-group.has-error .focofit-input {
  animation: focofitShake 0.45s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}

/* Estado de Sucesso */
.focofit-form-group.has-success .focofit-input {
  border-color: var(--form-success);
}

.focofit-form-group.has-success .focofit-status-icon {
  opacity: 1;
  transform: scale(1);
  color: var(--form-success);
}

/* Mensagem de Feedback */
.focofit-error-message {
  display: block;
  min-height: 20px;
  font-family: var(--form-font-body);
  font-size: 0.84rem;
  font-weight: 500;
  color: var(--form-error);
  margin-top: 6px;
  padding-left: 4px;
  opacity: 0;
  transform: translateY(-4px);
  transition: all 0.25s ease;
}

.focofit-form-group.has-error .focofit-error-message {
  opacity: 1;
  transform: translateY(0);
}

.focofit-form-status {
  min-height: 0;
  margin: 0 0 10px;
  color: var(--form-text-muted);
  font-family: var(--form-font-body);
  font-size: 0.84rem;
  line-height: 1.4;
  text-align: center;
}

.focofit-form-status:not(:empty) {
  min-height: 20px;
}

.focofit-form-status.is-error {
  color: var(--form-error);
}

.focofit-form-status.is-success {
  color: var(--form-success);
}

/* Campo Invisível Anti-Spam (Honeypot) */
.focofit-security-field {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  height: 0;
  width: 0;
  z-index: -1;
  pointer-events: none;
}

/* Botão de Envio */
.focofit-lead-card button.focofit-btn-submit,
.focofit-lead-card button[type=submit].focofit-btn-submit,
button.focofit-btn-submit {
  width: 100%;
  background-color: var(--form-accent) !important;
  background: var(--form-accent) !important;
  color: #0D3D2F !important;
  border: none !important;
  border-radius: var(--form-radius-input) !important;
  font-family: var(--form-font-heading) !important;
  font-size: 1.1rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  padding: 18px 24px !important;
  cursor: pointer;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 12px;
  box-shadow: none !important;
  transition: background-color 0.2s ease, transform 0.2s ease, opacity 0.2s ease !important;
  margin-top: 10px;
  position: relative;
  overflow: hidden;
}

.focofit-lead-card button.focofit-btn-submit:hover:not(:disabled),
button.focofit-btn-submit:hover:not(:disabled) {
  background-color: var(--form-accent-hover) !important;
  background: var(--form-accent-hover) !important;
  color: #0D3D2F !important;
  transform: translateY(-2px);
  box-shadow: none !important;
}

.focofit-lead-card button.focofit-btn-submit:active:not(:disabled),
button.focofit-btn-submit:active:not(:disabled) {
  background-color: var(--form-accent) !important;
  background: var(--form-accent) !important;
  color: #0D3D2F !important;
  transform: translateY(0);
  box-shadow: none !important;
}

/* Estado Desabilitado / Carregando (Bloqueia totalmente o hover vermelho #c36 do tema base) */
.focofit-lead-card button.focofit-btn-submit:disabled,
.focofit-lead-card button.focofit-btn-submit:disabled:hover,
.focofit-lead-card button.focofit-btn-submit:disabled:focus,
.focofit-lead-card button.focofit-btn-submit.is-loading,
.focofit-lead-card button.focofit-btn-submit.is-loading:hover,
.focofit-lead-card button.focofit-btn-submit.is-loading:focus,
button.focofit-btn-submit:disabled,
button.focofit-btn-submit:disabled:hover,
button.focofit-btn-submit:disabled:focus,
button.focofit-btn-submit.is-loading,
button.focofit-btn-submit.is-loading:hover,
button.focofit-btn-submit.is-loading:focus {
  background-color: var(--form-accent) !important;
  background: var(--form-accent) !important;
  color: #0D3D2F !important;
  opacity: 0.65 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}

.focofit-btn-submit svg.btn-arrow {
  width: 18px;
  height: 18px;
  transition: transform 0.25s ease;
}

.focofit-btn-submit:hover:not(:disabled) svg.btn-arrow {
  transform: translateX(4px);
}

/* Spinner de Carregamento */
.focofit-spinner {
  display: none;
  width: 22px;
  height: 22px;
  border: 3px solid rgba(13, 61, 47, 0.3);
  border-radius: 50%;
  border-top-color: #0D3D2F;
  animation: focofitSpin 0.75s linear infinite;
}

.focofit-btn-submit.is-loading .focofit-spinner {
  display: inline-block;
}

.focofit-btn-submit.is-loading .btn-text,
.focofit-btn-submit.is-loading .btn-arrow {
  display: none;
}

/* Termo de Privacidade */
.focofit-privacy-notice {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--form-text-muted);
  font-family: var(--form-font-body);
  font-size: 0.8rem;
  margin-top: 18px;
  text-align: center;
}

.focofit-privacy-notice svg {
  width: 14px;
  height: 14px;
  fill: var(--form-accent);
  flex-shrink: 0;
}

/* ==========================================================================
   Modal de Sucesso / Confirmação com WhatsApp CTA
   ========================================================================== */

.focofit-modal-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  min-width: 100vw !important;
  min-height: 100vh !important;
  z-index: 99999999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.3s ease;
}

.focofit-modal-overlay.is-active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.focofit-modal-backdrop {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(0, 0, 0, 0.85) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  z-index: 1 !important;
}

.focofit-modal-card {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: 500px !important;
  background: #0D3D2F !important;
  border: none !important;
  border-radius: 20px !important;
  padding: 38px 28px !important;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.85) !important;
  text-align: center !important;
  transform: scale(0.9) translateY(20px);
  transition: transform 0.35s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
  box-sizing: border-box !important;
  margin: auto !important;
}

.focofit-modal-overlay.is-active .focofit-modal-card {
  transform: scale(1) translateY(0) !important;
}

/* Botão de Fechar Modal */
.focofit-modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: var(--form-text-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  padding: 0;
  outline: none;
}

.focofit-modal-close:hover {
  background: rgba(255, 255, 255, 0.2);
  color: #FFFFFF;
  transform: rotate(90deg);
}

.focofit-modal-close svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

.focofit-success-icon-wrap {
  width: 84px;
  height: 84px;
  margin: 0 auto 20px auto;
  border-radius: 50%;
  background: var(--form-accent);
  border: 3px solid rgba(255, 255, 255, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
  animation: focofitPop 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

.focofit-success-icon-wrap svg {
  width: 44px;
  height: 44px;
  fill: #0D3D2F !important;
  color: #0D3D2F !important;
}

.focofit-success-title {
  color: var(--form-text);
  font-family: var(--form-font-heading);
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1.25;
  margin: 0 0 12px 0;
  text-transform: uppercase;
}

.focofit-success-desc {
  color: var(--form-text-muted);
  font-family: var(--e-global-typography-text-font-family, "Helvetica", Arial, sans-serif);
  font-size: 1.02rem;
  line-height: 1.6;
  margin: 0 0 26px 0;
}

.focofit-success-desc strong {
  color: var(--form-accent);
}

/* Botão do WhatsApp (Padrão Normal) */
.focofit-btn-whatsapp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  background: #25D366;
  color: var(--form-primary) !important;
  text-decoration: none;
  font-family: var(--form-font-heading);
  font-size: clamp(0.72rem, 2.7vw, 1rem);
  font-weight: 800;
  text-transform: uppercase;
  line-height: 1;
  letter-spacing: 0.25px;
  white-space: nowrap;
  padding: 18px 20px;
  border-radius: var(--form-radius-input);
  box-shadow: none;
  transition: background 0.2s ease, transform 0.2s ease;
  box-sizing: border-box;
  animation: none;
}

.focofit-btn-whatsapp svg {
  width: 24px;
  height: 24px;
  fill: currentColor;
  flex-shrink: 0;
}

.focofit-btn-whatsapp span {
  white-space: nowrap;
}

.focofit-btn-whatsapp:hover {
  background: #20BA5A;
  transform: translateY(-2px);
  box-shadow: none;
  color: var(--form-primary) !important;
}

/* ==========================================================================
   Keyframe Animations
   ========================================================================== */

@keyframes focofitShake {
  0%, 100% { transform: translateX(0); }
  20%, 60% { transform: translateX(-6px); }
  40%, 80% { transform: translateX(6px); }
}

@keyframes focofitSpin {
  to { transform: rotate(360deg); }
}

@keyframes focofitFadeIn {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes focofitPop {
  0% { transform: scale(0); opacity: 0; }
  80% { transform: scale(1.1); }
  100% { transform: scale(1); opacity: 1; }
}

@keyframes focofitPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.6);
  }
  70% {
    box-shadow: 0 0 0 14px rgba(37, 211, 102, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
  }
}

/* ==========================================================================
   Responsividade
   ========================================================================== */

@media (max-width: 600px) {
  .focofit-lead-card {
    padding: 28px 18px;
  }

  .focofit-lead-card input.focofit-input,
  .focofit-input {
    font-size: 0.96rem !important;
    padding: 14px 38px 14px 48px !important;
  }

  .focofit-btn-submit {
    font-size: 0.98rem;
    padding: 16px 18px;
  }

  .focofit-btn-whatsapp {
    gap: 7px;
    padding: 16px 12px;
  }

  .focofit-btn-whatsapp svg {
    width: 20px;
    height: 20px;
  }

  .focofit-success-title {
    font-size: 1.5rem;
  }
}

@media (max-width: 380px) {
  .focofit-modal-overlay {
    padding: 12px !important;
  }

  .focofit-modal-card {
    padding: 34px 14px !important;
  }

  .focofit-btn-whatsapp {
    font-size: 0.68rem;
  }
}

/* CTA: elimina o container externo e deixa o formulário como card branco */
.elementor-9 .elementor-element.elementor-element-e55d21f {
  background: transparent !important;
  padding: 0 !important;
  margin: 26px 0 !important;
}

.focofit-lead-card {
  background: #ffffff;
}

.focofit-form-label {
  color: var(--form-primary);
}

/* A seção inteira se transforma de cartão em fundo branco de ponta a ponta. */
#oferta {
  padding: 0;
  overflow: hidden;
  background-color: var(--form-primary) !important;
}

/* A expansão já controla esta seção; remove o fade/blur que deixava rastros na saída. */
#oferta .scroll-bottom,
#oferta .scroll-bottom.ativo {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  transition: none !important;
  will-change: auto;
}

#oferta > .oferta-surface {
  width: 100vw;
  max-width: 100vw !important;
  min-height: 100vh;
  min-height: 100svh;
  padding: clamp(48px, 6vw, 80px) clamp(20px, 4vw, 64px);
  align-items: center;
  background: var(--e-global-color-text, #F5F1E8);
  border-radius: var(--oferta-radius, 0px);
  transform: scale(var(--oferta-scale, 1));
  transform-origin: center top;
}

#oferta .elementor-element-54c5e62,
#oferta .elementor-element-ebebcad {
  width: 100%;
  max-width: 1140px;
}

#oferta .elementor-heading-title {
  color: var(--form-primary);
  fill: var(--form-primary);
}

#oferta .elementor-element-e55d21f {
  --oferta-card-padding: clamp(28px, 3.5vw, 52px);
  width: 100%;
  max-width: 1180px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.82fr);
  align-items: center;
  gap: clamp(36px, 5vw, 72px);
  background: var(--form-primary) !important;
  padding: var(--oferta-card-padding) !important;
  border: 1px solid rgba(197, 245, 66, 0.16);
  border-radius: 32px;
  box-shadow:
    0 18px 36px -24px rgba(13, 61, 47, 0.45),
    0 6px 14px -10px rgba(13, 61, 47, 0.16);
  overflow: hidden;
}

#oferta .focofit-lead-wrapper {
  max-width: 580px;
  margin: 0;
}

#oferta .focofit-form-image {
  width: calc(100% + var(--oferta-card-padding));
  max-width: none;
  height: calc(100% + var(--oferta-card-padding) + var(--oferta-card-padding));
  margin: calc(0px - var(--oferta-card-padding)) calc(0px - var(--oferta-card-padding)) calc(0px - var(--oferta-card-padding)) 0;
  justify-self: end;
  align-self: stretch;
  overflow: hidden;
  aspect-ratio: auto;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

#oferta .focofit-form-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 48%;
}

#oferta .focofit-lead-card {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

#oferta .focofit-hotmart-cta[hidden],
#oferta #focofit-form-content[hidden] {
  display: none !important;
}

#oferta .focofit-hotmart-cta .contextual-cta__button {
  width: 100%;
  max-width: none;
  text-decoration: none;
}

#oferta .focofit-hotmart-cta .contextual-cta__button[aria-disabled="true"] {
  opacity: 0.6;
  cursor: not-allowed;
}

#oferta .focofit-hotmart-message {
  margin: 20px 0 0;
  color: var(--form-text);
  text-align: center;
}

/* ===========================================================================
   Motion da CTA final
   Entrada em camadas, seguindo o vocabulário de fade + deslocamento
   usado nas demais seções. Ao sair da viewport, os estados são rebobinados.
   ========================================================================== */

#oferta.oferta-motion-ready .elementor-element-ebebcad,
#oferta.oferta-motion-ready .elementor-element-54c5e62,
#oferta.oferta-motion-ready .elementor-element-e55d21f,
#oferta.oferta-motion-ready .focofit-form-heading h3,
#oferta.oferta-motion-ready .focofit-form-heading p,
#oferta.oferta-motion-ready #focofit-lead-form > .focofit-form-group,
#oferta.oferta-motion-ready .focofit-btn-submit,
#oferta.oferta-motion-ready .focofit-privacy-notice,
#oferta.oferta-motion-ready .focofit-form-image {
  opacity: 0;
  transition: opacity 0.38s var(--ease-in-out-smooth, cubic-bezier(0.4, 0, 0.2, 1)),
              transform 0.38s var(--ease-in-out-smooth, cubic-bezier(0.4, 0, 0.2, 1));
}

#oferta.oferta-motion-ready .elementor-element-ebebcad,
#oferta.oferta-motion-ready .elementor-element-54c5e62 {
  transform: translateY(28px) scale(0.98);
}

#oferta.oferta-motion-ready .elementor-element-e55d21f {
  transform: translateY(34px) scale(0.965);
}

#oferta.oferta-motion-ready .focofit-form-heading h3,
#oferta.oferta-motion-ready .focofit-form-heading p,
#oferta.oferta-motion-ready #focofit-lead-form > .focofit-form-group,
#oferta.oferta-motion-ready .focofit-btn-submit,
#oferta.oferta-motion-ready .focofit-privacy-notice {
  transform: translateX(-30px);
}

#oferta.oferta-motion-ready .focofit-form-image {
  transform: translateX(46px) scale(0.97);
  transform-origin: center;
}

#oferta.oferta-motion-ready.oferta-motion-active .elementor-element-ebebcad,
#oferta.oferta-motion-ready.oferta-motion-active .elementor-element-54c5e62,
#oferta.oferta-motion-ready.oferta-motion-active .elementor-element-e55d21f,
#oferta.oferta-motion-ready.oferta-motion-active .focofit-form-heading h3,
#oferta.oferta-motion-ready.oferta-motion-active .focofit-form-heading p,
#oferta.oferta-motion-ready.oferta-motion-active #focofit-lead-form > .focofit-form-group,
#oferta.oferta-motion-ready.oferta-motion-active .focofit-btn-submit,
#oferta.oferta-motion-ready.oferta-motion-active .focofit-privacy-notice,
#oferta.oferta-motion-ready.oferta-motion-active .focofit-form-image {
  opacity: 1;
  transform: translate(0, 0) scale(1);
  transition-duration: 0.65s;
  transition-timing-function: var(--ease-out-expo, cubic-bezier(0.16, 1, 0.3, 1));
}

#oferta.oferta-motion-active .elementor-element-ebebcad { transition-delay: 0s; }
#oferta.oferta-motion-active .elementor-element-54c5e62 { transition-delay: 0.07s; }
#oferta.oferta-motion-active .elementor-element-e55d21f { transition-delay: 0.14s; }
#oferta.oferta-motion-active .focofit-form-heading h3 { transition-delay: 0.23s; }
#oferta.oferta-motion-active .focofit-form-heading p { transition-delay: 0.29s; }
#oferta.oferta-motion-active #focofit-lead-form > .focofit-form-group:nth-of-type(2) { transition-delay: 0.35s; }
#oferta.oferta-motion-active #focofit-lead-form > .focofit-form-group:nth-of-type(3) { transition-delay: 0.41s; }
#oferta.oferta-motion-active #focofit-lead-form > .focofit-form-group:nth-of-type(4) { transition-delay: 0.47s; }
#oferta.oferta-motion-active .focofit-btn-submit { transition-delay: 0.53s; }
#oferta.oferta-motion-active .focofit-privacy-notice { transition-delay: 0.59s; }
#oferta.oferta-motion-active .focofit-form-image { transition-delay: 0.21s; }

#oferta .focofit-form-heading {
  margin-bottom: 44px;
  text-align: left;
}

#oferta .focofit-form-heading h3 {
  margin: 0 0 9px;
  color: var(--form-accent);
  font-family: var(--form-font-heading);
  font-size: clamp(2rem, 3vw, 3rem);
  font-weight: 900;
  line-height: 1;
}

#oferta .focofit-form-heading p {
  margin: 0;
  color: rgba(245, 241, 232, 0.82);
  font-family: var(--form-font-body);
  font-size: clamp(0.98rem, 1.2vw, 1.08rem);
  line-height: 1.45;
}

#oferta .focofit-form-label {
  color: #f5f1e8;
}

#oferta .focofit-form-label .required-star {
  color: var(--form-accent);
}

#oferta .focofit-lead-card input.focofit-input {
  background: #f5f1e8 !important;
  border-color: rgba(197, 245, 66, 0.42) !important;
  color: var(--form-primary) !important;
}

#oferta .focofit-lead-card input.focofit-input::placeholder {
  color: rgba(13, 61, 47, 0.5) !important;
}

#oferta .focofit-input-icon {
  color: #668078;
}

#oferta .focofit-lead-card input.focofit-input:focus {
  background: #ffffff !important;
  border-color: var(--form-accent) !important;
  box-shadow: 0 0 0 3px rgba(197, 245, 66, 0.16) !important;
}

#oferta .focofit-form-group.has-error input.focofit-input {
  background: #fff4f4 !important;
  border-color: var(--form-error) !important;
}

#oferta .focofit-privacy-notice {
  color: rgba(245, 241, 232, 0.72);
}

#oferta .focofit-privacy-notice svg {
  color: var(--form-accent);
  fill: var(--form-accent);
}

@media (max-width: 600px) {
  #oferta .focofit-lead-card {
    padding-inline: 0;
  }

  #oferta .focofit-form-heading {
    margin-bottom: 44px;
    text-align: center;
  }
}

@media (max-width: 900px) {
  #oferta .elementor-element-e55d21f {
    --oferta-card-padding: 24px;
    grid-template-columns: minmax(0, 1fr);
    gap: 34px;
    max-width: 620px;
    padding: 24px !important;
    border-radius: 24px;
  }

  #oferta .focofit-lead-wrapper,
  #oferta .focofit-form-image {
    width: 100%;
    max-width: 100%;
    justify-self: center;
  }

  #oferta .focofit-form-image {
    width: calc(100% + var(--oferta-card-padding) + var(--oferta-card-padding));
    height: auto;
    margin: 0 calc(0px - var(--oferta-card-padding)) calc(0px - var(--oferta-card-padding));
    aspect-ratio: 4 / 5;
    max-height: none;
    border-radius: 0;
  }
}

@media (max-width: 600px) {
  #oferta > .oferta-surface {
    padding: 30px 14px;
  }

  #oferta .elementor-element-e55d21f {
    --oferta-card-padding: 18px;
    gap: 24px;
    padding: 18px !important;
    border-radius: 20px;
  }

  #oferta .focofit-form-heading {
    margin-bottom: 24px;
  }

  #oferta .focofit-form-heading h3 {
    margin-bottom: 7px;
    font-size: clamp(1.65rem, 8vw, 2rem);
  }

  #oferta .focofit-form-heading p {
    font-size: 0.84rem;
    line-height: 1.35;
  }

  #oferta .focofit-form-group {
    margin-bottom: 12px;
  }

  #oferta .focofit-form-label {
    margin-bottom: 6px;
    font-size: 0.76rem;
  }

  #oferta .focofit-lead-card input.focofit-input {
    padding: 12px 34px 12px 44px !important;
    font-size: 0.88rem !important;
  }

  #oferta .focofit-input-icon {
    left: 14px;
  }

  #oferta .focofit-error-message {
    min-height: 12px;
    margin-top: 2px;
    font-size: 0.7rem;
    line-height: 1.1;
  }

  #oferta .focofit-lead-card button.focofit-btn-submit {
    gap: 8px;
    margin-top: 4px;
    padding: 14px 10px !important;
    font-size: clamp(0.72rem, 3.4vw, 0.84rem) !important;
    letter-spacing: 0.1px !important;
  }

  #oferta .focofit-btn-submit .btn-text {
    line-height: 1.15;
    text-align: center;
    white-space: normal;
  }

  #oferta .focofit-btn-submit svg.btn-arrow {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
  }

  #oferta .focofit-privacy-notice {
    gap: 5px;
    margin-top: 10px;
    font-size: clamp(0.54rem, 2.55vw, 0.65rem);
    line-height: 1.35;
    white-space: normal;
  }

  #oferta .focofit-form-image {
    width: calc(100% + 36px);
    max-width: none;
    margin-right: -18px;
    margin-bottom: -18px;
    margin-left: -18px;
  }
}

@media (min-width: 901px) {
  #oferta > .oferta-surface {
    min-height: 100vh;
    min-height: 100svh;
    padding-block: clamp(22px, 3vh, 34px);
    gap: 8px;
  }

  #oferta .elementor-element-e55d21f {
    --oferta-card-padding: clamp(26px, 3vh, 34px);
    height: clamp(680px, 78vh, 740px);
    margin-block: 12px !important;
  }

  #oferta .focofit-lead-card {
    padding: 8px 0 34px;
  }

  #oferta .focofit-form-heading {
    margin-bottom: 50px;
  }

  #oferta .focofit-form-heading h3 {
    font-size: clamp(2.2rem, 2.8vw, 2.75rem);
  }

  #oferta .focofit-form-heading p {
    font-size: clamp(0.94rem, 1.1vw, 1.04rem);
  }

  #oferta .focofit-form-group {
    margin-bottom: 10px;
  }

  #oferta .focofit-form-label {
    margin-bottom: 6px;
  }

  #oferta .focofit-lead-card input.focofit-input {
    padding-block: 12px !important;
  }

  #oferta .focofit-error-message {
    min-height: 13px;
    margin-top: 3px;
    font-size: 0.76rem;
    line-height: 1.15;
  }

  #oferta .focofit-lead-card button.focofit-btn-submit {
    margin-top: 4px;
    padding-block: 14px !important;
  }

  #oferta .focofit-privacy-notice {
    margin-top: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #oferta > .oferta-surface {
    transform: none;
    border-radius: 0;
  }

  #oferta.oferta-motion-ready .elementor-element-ebebcad,
  #oferta.oferta-motion-ready .elementor-element-54c5e62,
  #oferta.oferta-motion-ready .elementor-element-e55d21f,
  #oferta.oferta-motion-ready .focofit-form-heading h3,
  #oferta.oferta-motion-ready .focofit-form-heading p,
  #oferta.oferta-motion-ready #focofit-lead-form > .focofit-form-group,
  #oferta.oferta-motion-ready .focofit-btn-submit,
  #oferta.oferta-motion-ready .focofit-privacy-notice,
  #oferta.oferta-motion-ready .focofit-form-image {
    opacity: 1;
    filter: none;
    transform: none;
    transition: none;
    will-change: auto;
  }
}

/* O CTA direto usa toda a altura da coluna: título no topo e botão no centro. */
#oferta .elementor-element-e55d21f.is-hotmart {
  align-items: stretch;
}

#oferta .is-hotmart .focofit-lead-wrapper {
  align-self: stretch;
}

#oferta .is-hotmart .focofit-lead-card {
  display: grid;
  grid-template-rows: auto 1fr;
  height: 100%;
  overflow: visible;
}

#oferta .is-hotmart .focofit-form-heading {
  margin-bottom: 0;
  text-align: left;
}

#oferta .is-hotmart .focofit-hotmart-cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  align-self: start;
  gap: 20px;
  padding: 0 14px 40px;
  text-align: center;
}

#oferta .focofit-offer-includes {
  align-self: stretch;
  max-width: 100%;
  margin: 28px auto 0;
  text-align: left;
  color: var(--form-text);
  font-family: var(--form-font-body);
}

#oferta .focofit-offer-includes h4 {
  margin: 0 0 10px;
  color: var(--form-accent);
  font-size: 1.1rem;
}

#oferta .focofit-offer-includes ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(5, auto);
  grid-auto-flow: column;
  gap: 8px 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (max-width: 600px) {
  #oferta .focofit-offer-includes ul {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    grid-auto-flow: row;
  }
}

#oferta .focofit-offer-includes li {
  position: relative;
  padding-left: 26px;
  font-size: 0.95rem;
  line-height: 1.35;
}

#oferta .focofit-offer-includes li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--form-accent);
  font-weight: 700;
}

#oferta .focofit-offer-prices[hidden] {
  display: none !important;
}

#oferta .focofit-offer-prices {
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: var(--form-text);
  font-family: var(--form-font-body);
}

#oferta .focofit-offer-prices__original {
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  opacity: 0.75;
}

#oferta .focofit-offer-prices s,
#oferta .focofit-offer-prices strong {
  font-family: var(--form-font-heading);
}

#oferta .focofit-offer-prices__current {
  font-size: clamp(1.3rem, 2.3vw, 2rem);
  font-weight: 700;
}

#oferta .focofit-offer-prices__current strong {
  color: var(--form-accent);
  font-size: 1.45em;
}

#oferta .is-hotmart .focofit-hotmart-cta .contextual-cta__button {
  width: calc(100% - 20px) !important;
  max-width: 520px;
  min-height: 64px;
  margin-inline: 10px;
}

@media (max-width: 900px) {
  #oferta .is-hotmart .focofit-hotmart-cta {
    min-height: 190px;
  }
}

@media (max-width: 600px) {
  #oferta .elementor-element-e55d21f.is-hotmart {
    gap: 8px;
  }

  #oferta .is-hotmart .focofit-hotmart-cta {
    min-height: 0;
    padding-bottom: 0;
  }
}

/* Mantém a FAQ no bege e destaca o rodapé com o verde da marca. */
.elementor-9 .elementor-element.elementor-element-a79776a {
  background-color: var(--e-global-color-text, #F5F1E8) !important;
}

.elementor-9 .elementor-element.elementor-element-b5a06e1 {
  background-color: var(--e-global-color-primary, #0D3D2F) !important;
}

.elementor-9 .elementor-element.elementor-element-8197778 .elementor-heading-title,
.elementor-9 .elementor-element.elementor-element-46220ea .elementor-heading-title {
  color: var(--e-global-color-primary, #0D3D2F);
}

.elementor-9 .elementor-element.elementor-element-46220ea .elementor-heading-title {
  opacity: 0.78;
}

.elementor-9 .elementor-element.elementor-element-49f5a12 {
  --n-accordion-title-normal-color: var(--e-global-color-text, #F5F1E8);
  --n-accordion-title-hover-color: var(--e-global-color-secondary, #C5F542);
  --n-accordion-title-active-color: var(--e-global-color-secondary, #C5F542);
  --n-accordion-icon-normal-color: var(--e-global-color-secondary, #C5F542);
  --n-accordion-icon-hover-color: var(--e-global-color-secondary, #C5F542);
  --n-accordion-icon-active-color: var(--e-global-color-secondary, #C5F542);
}

.elementor-9 .elementor-element.elementor-element-49f5a12 .e-n-accordion-item {
  overflow: hidden;
  background: var(--e-global-color-primary, #0D3D2F);
  border: 1px solid rgba(13, 61, 47, 0.16);
  border-radius: 12px;
  box-shadow: 0 10px 28px rgba(13, 61, 47, 0.08);
}

.elementor-9 .elementor-element.elementor-element-49f5a12 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title,
.elementor-9 .elementor-element.elementor-element-49f5a12 > .e-n-accordion > .e-n-accordion-item[open] > .e-n-accordion-item-title {
  background-color: var(--e-global-color-primary, #0D3D2F);
  color: var(--e-global-color-text, #F5F1E8);
}

.elementor-9 .elementor-element.elementor-element-49f5a12 .e-n-accordion-item > .e-con {
  display: flex !important;
  max-height: 260px;
  overflow: hidden;
  padding: 0 18px 18px !important;
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  background-color: #164f3e !important;
  transition: max-height 0.5s cubic-bezier(0.22, 1, 0.36, 1),
              padding 0.5s cubic-bezier(0.22, 1, 0.36, 1),
              opacity 0.3s ease 0.08s,
              transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
              visibility 0s linear 0s;
}

.elementor-9 .elementor-element.elementor-element-49f5a12 .e-n-accordion-item:not([open]) > .e-con {
  display: flex !important;
  max-height: 0;
  padding-block: 0 !important;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: max-height 0.42s cubic-bezier(0.4, 0, 0.2, 1),
              padding 0.42s cubic-bezier(0.4, 0, 0.2, 1),
              opacity 0.22s ease,
              transform 0.32s ease,
              visibility 0s linear 0.42s;
}

.elementor-9 .elementor-element.elementor-element-49f5a12 .e-n-accordion-item-title {
  transition: background-color 0.35s ease, color 0.35s ease;
}

.elementor-9 .elementor-element.elementor-element-49f5a12 .e-n-accordion-item-title-icon svg {
  transition: fill 0.35s ease, transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.elementor-9 .elementor-element.elementor-element-49f5a12 .elementor-widget-text-editor p {
  margin-block: 0;
}

.elementor-9 .elementor-element.elementor-element-49f5a12 .elementor-widget-text-editor {
  color: var(--e-global-color-text, #F5F1E8) !important;
}

.elementor-9 .elementor-element.elementor-element-9dda0f7 .elementor-heading-title {
  color: rgba(245, 241, 232, 0.78);
}

@media (prefers-reduced-motion: reduce) {
  .elementor-9 .elementor-element.elementor-element-49f5a12 .e-n-accordion-item > .e-con,
  .elementor-9 .elementor-element.elementor-element-49f5a12 .e-n-accordion-item-title,
  .elementor-9 .elementor-element.elementor-element-49f5a12 .e-n-accordion-item-title-icon svg {
    transition: none !important;
  }
}
