/* ═══════════════════════════════════════════════════════════════
   HCV Landing Page — WordPress / Elementor
   Colar em Elementor → CSS da Página  (ou Customize → Additional CSS)
   ═══════════════════════════════════════════════════════════════ */

/* ── Tokens ──────────────────────────────────────────────────── */
.hcv-lp {
  --red:       #c8262a;
  --red-dark:  #a31e21;
  --red-deep:  #7a1215;
  --gold:      #b8922a;
  --gray-dark: #1e2533;
  --gray-mid:  #4b4f58;
  --gray-light:#f4f6f8;
  --white:     #ffffff;
  --border:    #dde2e8;
  --shadow-sm: 0 2px 12px rgba(0,0,0,.06);
  --shadow-md: 0 8px 32px rgba(0,0,0,.10);
  --shadow-lg: 0 20px 60px rgba(0,0,0,.13);
  --radius:    16px;
  --radius-sm: 10px;
  --ease:      all .25s cubic-bezier(.4,0,.2,1);
  font-family: 'Montserrat', sans-serif;
}

/* ── Layout ──────────────────────────────────────────────────── */
.hcv-lp__container {
  max-width: 600px;
  margin: 0 auto;
  padding: 0 20px;
}

/* ── Hero ────────────────────────────────────────────────────── */
.hcv-lp__hero {
  background: linear-gradient(135deg, var(--red) 0%, var(--red-dark) 50%, var(--red-deep) 100%);
  padding: 56px 0 52px;
  text-align: center;
  position: relative;
  overflow: hidden;
  animation: hcvFadeInUp .45s ease both;
}

.hcv-lp__hero::before {
  content: '';
  position: absolute;
  top: -80px; right: -80px;
  width: 320px; height: 320px;
  background: rgba(255,255,255,.06);
  border-radius: 50%;
  pointer-events: none;
}

.hcv-lp__hero::after {
  content: '';
  position: absolute;
  bottom: -100px; left: 8%;
  width: 240px; height: 240px;
  background: rgba(255,255,255,.04);
  border-radius: 50%;
  pointer-events: none;
}

.hcv-lp__logo {
  max-width: 200px;
  height: auto;
  margin-bottom: 20px;
  position: relative;
  z-index: 1;
  filter: brightness(0) invert(1);
}

.hcv-lp__badge {
  display: inline-flex;
  align-items: center;
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.3);
  color: rgba(255,255,255,.95);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 5px 13px;
  border-radius: 20px;
  margin-bottom: 22px;
  position: relative;
  z-index: 1;
}

.hcv-lp__headline {
  color: #fff !important;
  font-size: clamp(1.7rem, 4vw, 2.5rem) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -.025em !important;
  margin: 0 0 14px !important;
  text-shadow: 0 2px 16px rgba(0,0,0,.25) !important;
  position: relative;
  z-index: 1;
}

.hcv-lp__headline::after {
  content: '';
  display: block;
  width: 52px;
  height: 4px;
  background: rgba(255,255,255,.4);
  border-radius: 2px;
  margin: 16px auto 0;
}

.hcv-lp__lede {
  color: rgba(255,255,255,.88) !important;
  font-size: 1.05rem !important;
  margin: 0 0 28px !important;
  position: relative;
  z-index: 1;
}

.hcv-lp__wa-cta {
  display: inline-flex !important;
  align-items: center !important;
  background: #fff !important;
  color: var(--red-dark) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  text-decoration: none !important;
  padding: 14px 28px !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: 0 6px 24px rgba(0,0,0,.18) !important;
  transition: var(--ease) !important;
  position: relative;
  z-index: 1;
  margin-bottom: 18px;
}

.hcv-lp__wa-cta:hover {
  background: #f5f5f5 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 32px rgba(0,0,0,.24) !important;
}

.hcv-lp__meta {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: rgba(255,255,255,.75) !important;
  font-size: .83rem !important;
  margin: 0 !important;
  position: relative;
  z-index: 1;
}

/* ── Body section ────────────────────────────────────────────── */
.hcv-lp__body {
  background: #ffffff;
  padding: 0 0 60px;
  animation: hcvFadeInUp .45s ease .1s both;
}

.hcv-lp__divider {
  display: flex;
  align-items: center;
  gap: 14px;
  color: var(--gray-mid);
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 28px 0 20px;
}

.hcv-lp__divider::before,
.hcv-lp__divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--border);
}

/* ── Details toggle ──────────────────────────────────────────── */
.hcv-lp__toggle {
  background: var(--white);
  border-radius: var(--radius);
  box-shadow: var(--shadow-md);
  overflow: hidden;
}

.hcv-lp__toggle summary {
  font-size: .97rem;
  font-weight: 600;
  color: var(--gray-dark);
  padding: 20px 28px;
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  user-select: none;
  border-bottom: 1px solid transparent;
  transition: var(--ease);
}

.hcv-lp__toggle summary::-webkit-details-marker { display: none; }

.hcv-lp__toggle summary::after {
  content: '+';
  font-size: 1.3rem;
  font-weight: 300;
  color: var(--red);
  line-height: 1;
  transition: transform .25s ease;
}

.hcv-lp__toggle[open] summary {
  border-bottom-color: var(--border);
}

.hcv-lp__toggle[open] summary::after {
  transform: rotate(45deg);
}

.hcv-lp__form-wrap {
  padding: 24px 28px 28px;
}

.hcv-lp__form-sub {
  font-size: .9rem !important;
  color: var(--gray-mid) !important;
  margin: 0 0 20px !important;
}

.hcv-lp__gdpr {
  display: flex !important;
  align-items: flex-start !important;
  font-size: .78rem !important;
  color: #8a8f99 !important;
  margin: 16px 0 0 !important;
  line-height: 1.55 !important;
}

/* ═══════════════════════════════════════════════════════════════
   WPForms — estilos do formulário
   ═══════════════════════════════════════════════════════════════ */

/* Container */
.hcv-lp .wpforms-container {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Fields */
.hcv-lp .wpforms-field {
  padding: 10px 0 4px !important;
}

.hcv-lp .wpforms-field-label {
  font-size: .75rem !important;
  font-weight: 700 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  color: var(--gray-dark) !important;
  margin-bottom: 8px !important;
  display: block !important;
}

.hcv-lp .wpforms-required-label {
  color: var(--red) !important;
}

/* Text & textarea inputs */
.hcv-lp .wpforms-field input[type="text"],
.hcv-lp .wpforms-field input[type="tel"],
.hcv-lp .wpforms-field input[type="email"],
.hcv-lp .wpforms-field textarea {
  width: 100% !important;
  padding: 13px 16px !important;
  border: 1.5px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: .97rem !important;
  color: var(--gray-dark) !important;
  background: var(--gray-light) !important;
  transition: var(--ease) !important;
  box-shadow: none !important;
  outline: none !important;
  box-sizing: border-box !important;
}

.hcv-lp .wpforms-field input[type="text"]:focus,
.hcv-lp .wpforms-field input[type="tel"]:focus,
.hcv-lp .wpforms-field input[type="email"]:focus,
.hcv-lp .wpforms-field textarea:focus {
  border-color: var(--red) !important;
  background: var(--white) !important;
  box-shadow: 0 0 0 3px rgba(200,38,42,.12) !important;
}

.hcv-lp .wpforms-field textarea {
  resize: vertical !important;
  min-height: 80px !important;
}

.hcv-lp .wpforms-field input::placeholder,
.hcv-lp .wpforms-field textarea::placeholder {
  color: #b0b5be !important;
}

/* Field description */
.hcv-lp .wpforms-field-description {
  font-size: .78rem !important;
  color: #8a8f99 !important;
  margin-top: 5px !important;
}

/* Submit */
.hcv-lp .wpforms-submit-container {
  margin-top: 18px !important;
}

.hcv-lp .wpforms-submit {
  display: block !important;
  width: 100% !important;
  padding: 16px 32px !important;
  background: linear-gradient(135deg, var(--red) 0%, var(--red-dark) 100%) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius-sm) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: var(--ease) !important;
  box-shadow: 0 4px 20px rgba(200,38,42,.32) !important;
  box-sizing: border-box !important;
}

.hcv-lp .wpforms-submit:hover {
  background: linear-gradient(135deg, var(--red-dark) 0%, var(--red-deep) 100%) !important;
  box-shadow: 0 8px 28px rgba(200,38,42,.44) !important;
  transform: translateY(-2px) !important;
}

.hcv-lp .wpforms-submit:active {
  transform: translateY(0) !important;
}

/* Processing state */
.hcv-lp .wpforms-submit[disabled] {
  opacity: .7 !important;
  cursor: not-allowed !important;
  transform: none !important;
}

/* Error states */
.hcv-lp label.wpforms-error {
  color: var(--red) !important;
  font-size: .78rem !important;
  font-weight: 500 !important;
  margin-top: 5px !important;
  display: block !important;
}

.hcv-lp .wpforms-has-error input,
.hcv-lp .wpforms-has-error textarea {
  border-color: var(--red) !important;
  background: #fff5f5 !important;
}

/* Confirmation / success */
.hcv-lp .wpforms-confirmation-container-full,
.hcv-lp .wpforms-confirmation-scroll {
  background: linear-gradient(135deg, #e8f5e9, #f1f8e9) !important;
  border-left: 4px solid #4caf50 !important;
  border-radius: var(--radius-sm) !important;
  padding: 20px 24px !important;
  color: #2e7d32 !important;
  font-weight: 500 !important;
  font-size: .95rem !important;
  margin-top: 4px !important;
}

/* ── Animações ────────────────────────────────────────────────── */
@keyframes hcvFadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0);    }
}

/* ── Responsivo ──────────────────────────────────────────────── */
@media (max-width: 640px) {
  .hcv-lp__hero {
    padding: 44px 0 40px;
  }

  .hcv-lp__headline {
    font-size: 1.65rem !important;
  }

  .hcv-lp__toggle summary,
  .hcv-lp__form-wrap {
    padding-left: 20px;
    padding-right: 20px;
  }

  .hcv-lp .wpforms-submit {
    padding: 15px 20px !important;
    font-size: .92rem !important;
  }
}

@media (max-width: 400px) {
  .hcv-lp__hero {
    padding: 36px 0 32px;
  }

  .hcv-lp__headline {
    font-size: 1.45rem !important;
  }
}
/* ================================================
   MODAL HCV — CORREÇÕES DO FORMULÁRIO
   ================================================ */

/* 1. Ocultar campos hidden (UTMs e honeypot)
   Problema: o style.css do tema (.wpforms-field { display: block })
   carrega depois do wpforms e sobrescreve o display:none nativo.
   Solução: forçar com !important e ID específico do modal.
   ------------------------------------------------ */
#msf-modal-box .wpforms-field-hidden,
#msf-modal-box .wpforms-field-hp {
  display: none !important;
}

/* 2. Desfazer o grid (flex) — ordem vertical: fone → consentimento → botão
   Problema: a regra inline `.wpforms-form { display: flex !important; ... }`
   coloca o field-container e o submit-container lado a lado.
   ------------------------------------------------ */
#msf-modal-box .wpforms-form {
  display: block !important;
}

/* 3. Submit container ocupa largura total após desfazer o flex
   ------------------------------------------------ */
#msf-modal-box .wpforms-submit-container {
  width: 100% !important;
  margin-top: 16px !important;
}

/* 4. Botão vermelho conforme padrão do site (#d42327)
   Problema: a regra inline `button.wpforms-submit { background-color: var(--e-global-color-astglobalcolor1) !important; ... }`
   (astglobalcolor1 = #3a3a3a, cinza-escuro) sobrescreve a cor vermelha.
   Solução: usar o mesmo seletor com contexto do modal para ganhar em cascade.
   ------------------------------------------------ */
#msf-modal-box button.wpforms-submit {
  background-color: #d42327 !important;
  border: 2px solid #d42327 !important;
  color: #fff !important;
  width: 100% !important;
  border-radius: 45px !important;    /* padrão do site (botão "Marcar Consulta") */
  padding: 15px 20px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease, box-shadow 0.2s ease !important;
}

#msf-modal-box button.wpforms-submit:hover {
  background-color: #b81e22 !important;
  border-color: #b81e22 !important;
  box-shadow: 0 8px 28px rgba(212, 35, 39, 0.4) !important;
}