/********  Bless Form — tema clean premium  ********/
:root{
  --ink: #0f0f0f;        /* texto principal (alto contraste) */
  --ink-2:#2e2e2e;       /* rótulos */
  --muted:#6b6b6b;       /* placeholders/auxiliares */
  --line:#e7e7e7;        /* bordas */
  --surface:#fafafa;     /* fundo dos campos */
  --focus: rgba(0,0,0,.14);
  --btn:#111111;         /* botão */
  --btn-hover:#2b2b2b;
}

.bless-form-wrap{ 
  max-width: 560px;                  /* + estreito e elegante */
  margin: 0 auto;
  padding: 0 16px;
  box-sizing: border-box;
}

.bless-form{
  font-family:'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--ink);
}

/* ====== Tipografia & espaçamentos ====== */
.bless-form .form-label{
  font-weight: 700;
  font-size: 15px;                   /* maior e legível */
  color: var(--ink-2);
  margin-bottom: 6px;
  letter-spacing:.2px;
}

.bless-form .form-control{
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--ink);
  border-radius: 12px;               /* cantos mais suaves */
  padding: 14px 16px;                /* respiro */
  font-size: 16px;                   /* tamanho confortável */
  line-height: 1.35;
  box-shadow: 0 1px 0 rgba(0,0,0,.02);
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.bless-form .form-control::placeholder{
  color: var(--muted);
}

.bless-form .form-control:focus{
  background: #fff;
  border-color: #bdbdbd;
  box-shadow: 0 0 0 4px var(--focus);
  outline: none;
}

/* textarea */
.bless-form textarea.form-control{
  min-height: 130px;
  resize: vertical;
}

/* grupos/linhas mais compactos e ritmados */
.bless-form .row.g-3{ --bs-gutter-y: 1rem; --bs-gutter-x: 1rem; }
.bless-form .invalid-feedback{ font-size: 13px; }

/* ====== Botão com contraste alto ====== */
.bless-form .bf-submit,
.bless-form .btn.btn-dark{
  background: var(--btn) !important;
  border-color: var(--btn) !important;
  color: #fff !important;
  border-radius: 12px;
  padding: 12px 22px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing:.2px;
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
  transition: transform .08s ease, background .2s ease, box-shadow .2s ease;
}

.bless-form .bf-submit:hover,
.bless-form .btn.btn-dark:hover{
  background: var(--btn-hover) !important;
  border-color: var(--btn-hover) !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(0,0,0,.12);
}

.bless-form .bf-submit:active,
.bless-form .btn.btn-dark:active{
  transform: translateY(0);
  box-shadow: 0 4px 12px rgba(0,0,0,.10);
}

.bless-form .bf-submit[disabled],
.bless-form .btn.btn-dark[disabled]{
  opacity:.7; cursor:not-allowed;
}

/* Mensagem pós-envio */
.bless-form .bf-msg{
  min-height: 20px;
  margin-left: .25rem;
}

/* ====== Pequenos refinamentos responsivos ====== */
@media (max-width: 480px){
  .bless-form-wrap{ max-width: 100%; }
  .bless-form .form-label{ font-size:14.5px; }
  .bless-form .form-control{ font-size:16px; padding:13px 14px; } /* 16px evita zoom iOS */
  .bless-form .bf-submit{ width:100%; } /* botão cheio no mobile */
}
