/* Formulário «Entre em contato» — landing Tandor */
.td-contato-box {
  border-radius: 14px;
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(201, 162, 39, .4);
  padding: 18px 20px;
  text-align: left;
}
.td-contato-head {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  font-size: 1rem;
  margin-bottom: 6px;
  color: #fff;
}
.td-contato-head i { color: var(--tandor-gold-lt, #e8c547); }
.td-contato-desc {
  font-size: .86rem;
  opacity: .85;
  margin-bottom: 12px;
  line-height: 1.45;
  color: rgba(255, 255, 255, .9);
}
.td-contato-form { display: flex; flex-direction: column; gap: 0; }
.td-contato-step { display: flex; flex-direction: column; gap: 8px; width: 100%; }
.td-contato-label { font-size: .78rem; font-weight: 600; opacity: .9; margin: 0; color: inherit; }
.td-contato-opt { font-weight: 400; opacity: .65; }
.td-contato-or { font-size: .78rem; text-align: center; opacity: .55; margin: 2px 0; }
.td-contato-resumo {
  font-size: .82rem;
  opacity: .85;
  margin: 0 0 4px;
  line-height: 1.4;
  padding: 8px 10px;
  border-radius: 8px;
  background: rgba(0, 0, 0, .15);
}
.td-contato-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  margin-top: 4px;
}
.td-contato-back {
  border: 0;
  background: transparent;
  color: inherit;
  opacity: .75;
  cursor: pointer;
  font-size: .82rem;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 0;
}
.td-contato-back:hover { opacity: 1; }
.td-contato-btn--full { width: 100%; justify-content: center; margin-top: 4px; }
.td-contato-input {
  width: 100%;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, .2);
  background: rgba(0, 0, 0, .2);
  color: #fff;
  padding: 10px 12px;
  font-size: .9rem;
}
.td-contato-input::placeholder { color: rgba(255, 255, 255, .45); }
textarea.td-contato-input {
  resize: none;
  font-family: inherit;
  line-height: 1.4;
  max-height: 120px;
}
.td-contato-input:focus {
  outline: none;
  border-color: var(--tandor-gold-lt, #e8c547);
  box-shadow: 0 0 0 2px rgba(201, 162, 39, .25);
}
.td-contato-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--tandor-gold, #c9a227), #a8841a);
  color: #1a2e2e;
  font-weight: 600;
  padding: 10px 16px;
  cursor: pointer;
  font-size: .9rem;
  white-space: nowrap;
}
.td-contato-btn:hover { filter: brightness(1.05); }
.td-contato-btn:disabled { opacity: .6; cursor: not-allowed; }
.td-contato-msg { font-size: .82rem; margin: 10px 0 0; padding: 8px 10px; border-radius: 8px; }
.td-contato-msg.is-ok {
  background: rgba(37, 211, 102, .15);
  color: #7dffb0;
  border: 1px solid rgba(37, 211, 102, .3);
}
.td-contato-msg.is-err {
  background: rgba(224, 90, 90, .15);
  color: #ffb4b4;
  border: 1px solid rgba(224, 90, 90, .35);
}

.td-contato-box--hero {
  margin: 28px auto 0;
  max-width: 480px;
}

.td-contato-float {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 1040;
}
.td-contato-float-btn {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 0;
  cursor: pointer;
  background: linear-gradient(145deg, var(--tandor-gold, #c9a227), #a8841a);
  color: #1a2e2e;
  font-size: 1.35rem;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(0, 0, 0, .35);
  transition: transform .2s, box-shadow .2s;
}
.td-contato-float-btn:hover {
  transform: scale(1.06);
  box-shadow: 0 6px 22px rgba(0, 0, 0, .4);
}
.td-contato-float.is-open .td-contato-float-btn {
  transform: scale(.94);
  opacity: .85;
}
.td-contato-float-panel {
  position: absolute;
  right: 0;
  bottom: 64px;
  width: min(320px, calc(100vw - 40px));
}
.td-contato-float-close {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  background: rgba(0, 0, 0, .08);
  color: #1a2e2e;
  font-size: .75rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.td-contato-float-close:hover { background: rgba(0, 0, 0, .14); }
.td-contato-box--float {
  background: #fff;
  border-color: #e2e8ec;
  box-shadow: 0 8px 32px rgba(11, 20, 26, .18);
  padding: 16px 16px 14px;
}
.td-contato-box--float .td-contato-head { color: #1a2e2e; font-size: .92rem; }
.td-contato-box--float .td-contato-desc { color: #5c6f78; font-size: .8rem; margin-bottom: 10px; }
.td-contato-box--float .td-contato-label { color: #1a2e2e; }
.td-contato-box--float .td-contato-or { color: #5c6f78; }
.td-contato-box--float .td-contato-resumo { color: #5c6f78; background: #f8f6ef; }
.td-contato-box--float .td-contato-back { color: #5c6f78; }
.td-contato-box--float .td-contato-input {
  background: #f6faf8;
  color: #1a2e2e;
  border-color: #d5e5db;
  min-width: 0;
}
.td-contato-box--float .td-contato-input::placeholder { color: #8fa3ad; }
.td-contato-box--float .td-contato-msg.is-ok { color: #0d6b3a; background: #e8f8ef; }
.td-contato-box--float .td-contato-msg.is-err { color: #a33; background: #fdeaea; }
