/* ==========================================================================
   Formulários (CF7) no visual do site — classe .frelo-form (B2B, Indique, etc.)
   ========================================================================== */

/* Formulário (CF7) — visual do site */
.frelo-form__row { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.frelo-form__row label { font-size: .74rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--in-muted); }
.frelo-form input[type=text],
.frelo-form input[type=email],
.frelo-form input[type=tel],
.frelo-form select,
.frelo-form textarea {
  width: 100%; border: 1.5px solid var(--in-line, #e0e0e5); border-radius: 12px;
  padding: 12px 16px; font-size: 1rem; font-family: inherit; color: var(--in-ink); background: #fff;
}
.frelo-form select { height: 48px; appearance: none; -webkit-appearance: none; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; padding-right: 40px; }
.frelo-form input:focus,
.frelo-form select:focus,
.frelo-form textarea:focus { outline: none; border-color: var(--in-red); box-shadow: 0 0 0 3px var(--in-red-50, #fdeaec); }
.frelo-form textarea { min-height: 96px; resize: vertical; }
.frelo-form input[type=file] { width: 100%; border: 1.5px dashed var(--in-line, #d8d8de); border-radius: 12px; padding: 13px 16px; background: #fafafb; font-size: .92rem; font-family: inherit; color: var(--in-ink); cursor: pointer; }
.frelo-form input[type=file]:focus { outline: none; border-color: var(--in-red); }
.frelo-form__hint { display: block; font-size: .8rem; color: var(--in-muted); margin-top: 4px; }
.frelo-form__accept { display: flex; align-items: flex-start; gap: 8px; margin: 6px 0 14px; font-size: .85rem; color: var(--in-muted); }
.frelo-form__accept .wpcf7-list-item { margin: 0; }
.frelo-form .wpcf7-submit {
  width: 100%; border: none; cursor: pointer; background: var(--in-red); color: #fff;
  font-weight: 700; letter-spacing: .03em; text-transform: uppercase; font-size: .9rem;
  padding: 14px 20px; border-radius: var(--in-radius-pill, 999px); transition: .16s ease;
}
.frelo-form .wpcf7-submit:hover { background: #a80a1c; }
.frelo-form .wpcf7-not-valid-tip { color: var(--in-red); font-size: .8rem; }
/* A mensagem de resposta do CF7 vira uma "torradeira" no topo (forms.js). */
.frelo-form .wpcf7-response-output { display: none !important; }
/* Evita padding/margem extra no rodapé do card do formulário. */
.frelo-form form > .frelo-form__row:last-child,
.frelo-form form > p:last-child,
.frelo-form .wpcf7-submit { margin-bottom: 0; }

/* ==========================================================================
   Toaster global de validação/erro/sucesso dos formulários (CF7)
   ========================================================================== */
.in-toast-wrap { position: fixed; top: 18px; left: 50%; transform: translateX(-50%); z-index: 9999; display: flex; flex-direction: column; gap: 10px; width: max-content; max-width: min(92vw, 560px); pointer-events: none; }
.in-toast {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 14px 18px; border-radius: 14px;
  background: rgba(18,18,22,.82); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.12);
  color: #fff; font-size: .92rem; line-height: 1.4;
  box-shadow: 0 16px 44px rgba(0,0,0,.32);
  pointer-events: auto;
  opacity: 0; transform: translateY(-10px); transition: opacity .28s ease, transform .28s ease;
}
.in-toast.is-in { opacity: 1; transform: translateY(0); }
.in-toast__ico { flex: 0 0 auto; width: 20px; height: 20px; margin-top: 1px; display: grid; place-items: center; border-radius: 50%; }
.in-toast--error .in-toast__ico { color: #ff6b7d; }
.in-toast--success .in-toast__ico { color: #8ee06a; }
.in-toast__msg { flex: 1; }
.in-toast__close { flex: 0 0 auto; background: none; border: 0; color: rgba(255,255,255,.6); font-size: 18px; line-height: 1; padding: 0 2px; cursor: pointer; }
.in-toast__close:hover { color: #fff; }
@media (max-width: 560px) { .in-toast-wrap { top: 10px; max-width: 94vw; } }
