/* ===== Fontes canônicas do site Baru (copiadas literalmente do TEMPLATE_LP_BARU.html) ===== */
@font-face {
  font-family: 'Montserrat';
  src: url(/assets/arquivos/a14f7ffbd7d9.woff2) format('woff2');
  font-weight: 500 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Maven Pro';
  src: url(/assets/arquivos/73ce22a9ec1f.woff2) format('woff2');
  font-weight: 400 900;
  font-style: normal;
  font-display: swap;
}
html:has(.baru-form), body:has(.baru-form){ overflow-x: clip; }

.baru-form{
  /* paleta oficial Baru; páginas institucionais usam a cor institucional #10544f */
  --brand-teal:#299d8f; --brand-dark:#04211d; --brand-teal-dark:#10544f; --white:#ffffff; --amber:#e7a77a;
  --c1: var(--brand-teal-dark);
  --accent: var(--amber);
  --ink: var(--brand-dark);
  --ink-soft: rgba(4,33,29,0.72);
  --bg-alt-2: rgba(4,33,29,0.02);
  --radius-lg: 28px; --radius-sm: 10px;
  --shadow-soft: 0 24px 60px -20px rgba(4,33,29,0.35);
  --font-title: 'Montserrat', sans-serif;
  --font-body: 'Maven Pro', sans-serif;
  /* sai do container do tema e ocupa a tela de ponta a ponta (mesma técnica da Institucional) */
  width: calc(100vw - var(--baru-sbw, 0px));
  margin-left: calc(50% - 50vw + var(--baru-sbw, 0px) / 2);
  font-family: var(--font-body); color: var(--ink); line-height: 1.55;
  -webkit-font-smoothing: antialiased; text-align: left;
  background: var(--white); /* base sólida: o fundo da seção é translúcido e não deve misturar com o do tema */
}
.baru-form *, .baru-form *::before, .baru-form *::after{ box-sizing: border-box; margin: 0; padding: 0; }

.baru-form .formulario{ padding: 96px 24px; background: var(--bg-alt-2); }
.baru-form .form-shell{ max-width: 720px; margin: 0 auto; }
.baru-form .section-head{ max-width: 640px; margin: 0 auto 40px; text-align: center; }
.baru-form .eyebrow{
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-title); font-weight: 700; font-size: 0.75rem;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--brand-teal);
  margin-bottom: 14px;
}
.baru-form .eyebrow::before{ content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--accent); display: inline-block; }
.baru-form h2{
  font-family: var(--font-title); font-weight: 700; font-size: clamp(1.6rem, 2.7vw, 2.3rem);
  line-height: 1.2; letter-spacing: -0.01em; color: var(--ink); text-transform: none;
}
.baru-form h3{ font-family: var(--font-title); font-weight: 700; font-size: 1.15rem; line-height: 1.2; color: var(--ink); }
.baru-form p{ font-family: var(--font-body); font-size: 1.02rem; color: var(--ink-soft); }
.baru-form .section-head p{ margin-top: 14px; }

/* ===== card e campos (CSS do TEMPLATE_LP_BARU.html, escopado) ===== */
.baru-form .form-card{
  background: var(--white); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft); padding: 48px 40px;
}
.baru-form .form-field{ margin-bottom: 20px; }
.baru-form .form-field label{
  display: block; font-family: var(--font-body); font-weight: 700;
  font-size: 0.88rem; color: var(--ink); margin-bottom: 8px; line-height: 1.4;
}
.baru-form .form-field label .req{ color: #b42318; margin-left: 2px; }
.baru-form .form-field input, .baru-form .form-field select, .baru-form .form-field textarea{
  display: block; width: 100%; min-height: 46px; height: auto; padding: 12px 14px; font-size: 0.95rem; line-height: 1.4;
  font-family: var(--font-body); color: var(--ink); background: var(--bg-alt-2);
  border: 1px solid rgba(4,33,29,0.14); border-radius: var(--radius-sm); outline: none; box-shadow: none; margin: 0;
}
.baru-form .form-field input:focus, .baru-form .form-field select:focus, .baru-form .form-field textarea:focus{
  border-color: var(--c1); box-shadow: 0 0 0 3px rgba(16,84,79,0.15); background: var(--white);
}
.baru-form .form-field.invalid input, .baru-form .form-field.invalid select, .baru-form .form-field.invalid textarea{ border-color: #b42318; }
.baru-form .form-field .field-error{ display: none; color: #b42318; font-size: 0.78rem; margin-top: 6px; }
.baru-form .form-field.invalid .field-error{ display: block; }
.baru-form .form-field input[type="file"]{ padding: 10px 12px; cursor: pointer; }
.baru-form .form-field input[type="file"]::file-selector-button{
  margin-right: 12px; padding: 6px 14px; border: 1px solid rgba(4,33,29,0.14); border-radius: 999px;
  background: var(--white); color: var(--ink); font: inherit; font-weight: 700; cursor: pointer;
}
.baru-form .form-hint{ color: var(--ink-soft); font-size: 0.78rem; margin-top: 6px; }
.baru-form .form-field.invalid .form-hint{ display: none; }

/* botão principal no padrão da Institucional: âmbar com texto escuro */
.baru-form .form-submit{
  display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%;
  margin-top: 8px; padding: 14px 28px; border: 0; border-radius: 999px; cursor: pointer;
  background: var(--accent); color: var(--ink); font-family: var(--font-body); font-weight: 700; font-size: 0.95rem;
  line-height: 1.2; text-transform: none; letter-spacing: normal;
  box-shadow: 0 14px 30px -10px rgba(4,33,29,0.35);
  transition: transform .18s ease, filter .18s ease;
}
.baru-form .form-submit:hover:not(:disabled){ transform: translateY(-2px); filter: brightness(0.92); background: var(--accent); color: var(--ink); }
.baru-form .form-submit:disabled{ opacity: 0.7; cursor: not-allowed; }
.baru-form .form-submit .spinner{
  display: none; width: 16px; height: 16px; border: 2px solid rgba(4,33,29,0.25);
  border-top-color: var(--ink); border-radius: 50%; animation: baru-form-spin 0.8s linear infinite;
}
.baru-form .form-submit.sending .spinner{ display: inline-block; }
@keyframes baru-form-spin{ to{ transform: rotate(360deg); } }
.baru-form .form-status{
  display: none; margin-top: 16px; padding: 12px 14px; border-radius: var(--radius-sm);
  font-size: 0.88rem; line-height: 1.4;
}
.baru-form .form-status.error{ display: block; color: #b42318; background: #fef3f2; border: 1px solid #fecdca; }
.baru-form .form-success{ display: none; text-align: center; }
.baru-form .form-success.active{ display: block; }
.baru-form .form-success .check{
  width: 56px; height: 56px; margin: 0 auto 16px; border-radius: 50%;
  background: #ecfdf3; color: #067647; display: flex; align-items: center;
  justify-content: center; font-size: 28px; font-weight: 700;
}
.baru-form .form-success h3{ margin-bottom: 8px; }
.baru-form .form-success p{ max-width: 520px; margin: 0 auto 20px; }
.baru-form .form-reset{
  display: inline-flex; align-items: center; justify-content: center;
  padding: 12px 22px; border-radius: 999px; border: 1.5px solid var(--c1); background: transparent;
  color: var(--c1); font-family: var(--font-body); font-weight: 700; font-size: 0.88rem; cursor: pointer;
  transition: background .18s ease, color .18s ease;
}
.baru-form .form-reset:hover{ background: var(--c1); color: var(--white); }

@media (max-width: 720px){
  .baru-form .formulario{ padding: 64px 16px; }
  .baru-form .form-card{ padding: 32px 20px; border-radius: 20px; }
}