/* Somente os novos campos do agendamento: mantém o visual original. */
.kp-form {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  width: min(100%, 420px);
  padding: clamp(1.1rem, 2.4vw, 1.55rem);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, 0.7);
  box-shadow: var(--shadow-sm);
}
.kp-eyebrow {
  color: var(--color-rose-dark);
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: .13em;
}
.kp-form-title {
  color: var(--color-rose-dark);
  font: 500 1.55rem/1.2 var(--font-serif);
  margin-bottom: 0.35rem;
}
.kp-form label {
  font: 600 0.86rem/1.4 var(--font-sans);
  color: var(--color-text-primary);
  margin-top: 0.15rem;
}
.kp-form input,
.kp-form select,
.kp-form textarea {
  display: block;
  width: 100%;
  min-width: 0;
  border: 1px solid rgba(155, 106, 104, 0.25);
  border-radius: var(--radius-sm);
  background: var(--color-cream);
  color: var(--color-text-primary);
  font: 400 0.9rem/1.45 var(--font-sans);
  padding: 0.75rem 0.85rem;
  outline-offset: 3px;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.kp-form input:focus,
.kp-form select:focus,
.kp-form textarea:focus {
  border-color: var(--color-rose);
  box-shadow: 0 0 0 3px rgba(155, 106, 104, 0.10);
}
.kp-form textarea { resize: vertical; }
.kp-submit {
  width: 100%;
  border: 0;
  border-radius: var(--radius-full);
  padding: 0.88rem 1rem;
  color: var(--color-white);
  background: var(--color-rose-dark);
  font: 600 .92rem/1.5 var(--font-sans);
  transition: background var(--transition-fast), transform var(--transition-fast);
  margin-top: .55rem;
}
.kp-submit:hover { background: #3e2830; transform: translateY(-1px); }
.kp-submit:focus-visible { outline: 2px solid var(--color-rose); outline-offset: 3px; }
.kp-help { color: var(--color-text-secondary); line-height: 1.55; font-size: .75rem; }
#contato { scroll-margin-top: 110px; }
@media (max-width: 760px) { .kp-form { width: 100%; } }

/* Os cartões usam ilustrações abstratas; nenhum caminho de arquivo é exibido ao público. */
._placeholderText_f7xrr_74 { display: none; }

/* No celular, a classe genérica .btn não deve sobrescrever o menu responsivo. */
@media (max-width: 900px) {
  header a[class*="ctaBtn_"] { display: none; }
  header button[class*="menuToggle_"] { display: flex; }
}




/* Logo original da marca no menu, sem fundo branco. */
header [class*="logo_"] {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
}
header [class*="logo_"] svg,
header [class*="logo_"] [class*="monogram_"],
header [class*="logo_"] [class*="brandText_"] {
  display: none !important;
}
.kp-logo-brand {
  display: block;
  object-fit: contain;
}
.kp-logo-brand--header {
  width: 220px;
  height: auto;
  max-height: 72px;
}
@media (max-width: 900px) {
  .kp-logo-brand--header {
    width: 180px;
    max-height: 60px;
  }
}
@media (max-width: 640px) {
  .kp-logo-brand--header {
    width: 155px;
    max-height: 54px;
  }
}
