.contato__grid {
  display: grid;
  grid-template-columns: .86fr 1fr;
  gap: 62px;
  align-items: start;
}

.contato__content p,
.contato__info span {
  color: rgba(255,255,255,.72);
  font-weight: 300;
}

.contato__info {
  display: grid;
  gap: 12px;
  margin-top: 30px;
}

.contato__info span {
  display: inline-flex;
  width: fit-content;
  padding: 12px 16px;
  border: 1px solid rgba(216,189,131,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.045);
}

.contato__form {
  display: grid;
  gap: 18px;
  padding: 34px;
  border: 1px solid rgba(216,189,131,.22);
  border-radius: 34px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.045));
  box-shadow: 0 28px 80px rgba(0,0,0,.20);
  backdrop-filter: blur(20px);
}

.contato__form label {
  display: grid;
  gap: 8px;
  color: rgba(255,255,255,.86);
  font-weight: 500;
  font-size: .92rem;
}

.contato__form input,
.contato__form select,
.contato__form textarea {
  width: 100%;
  padding: 15px 16px;
  color: var(--white);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 18px;
  background: rgba(255,255,255,.07);
  outline: none;
  font: inherit;
  font-weight: 300;
  transition: border-color .25s ease, background .25s ease, box-shadow .25s ease;
}

.contato__form input:focus,
.contato__form select:focus,
.contato__form textarea:focus {
  border-color: rgba(216,189,131,.55);
  background: rgba(255,255,255,.10);
  box-shadow: 0 0 0 4px rgba(216,189,131,.08);
}

.contato__form input::placeholder,
.contato__form textarea::placeholder {
  color: rgba(255,255,255,.46);
}

.contato__form option {
  color: var(--navy-950);
}

.whatsapp-float {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 999;
  width: 66px;
  height: 66px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 50%;
  background: var(--gold-700);
  box-shadow: 0 18px 42px rgba(2,10,17,.22);
  cursor: pointer;
}

.chat-widget {
  position: fixed;
  right: 24px;
  bottom: 104px;
  z-index: 1000;
  width: min(368px, calc(100% - 36px));
  border: 1px solid rgba(184,148,84,.18);
  border-radius: 28px;
  overflow: hidden;
  background: rgba(255,255,255,.96);
  box-shadow: var(--shadow-soft);
  opacity: 0;
  pointer-events: none;
  transform: translateY(18px);
  transition: opacity .25s ease, transform .25s ease;
}

.chat-widget.is-open {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.chat-widget__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 20px;
  color: var(--white);
  background: linear-gradient(135deg, var(--navy-950), var(--navy-820));
}

.chat-widget__header button {
  width: 32px;
  height: 32px;
  color: var(--white);
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  font-size: 1.25rem;
  cursor: pointer;
}

.chat-widget__body {
  padding: 18px;
}

.chat-bubble {
  padding: 15px;
  margin-bottom: 16px;
  border-radius: 18px 18px 18px 5px;
  color: var(--text);
  background: var(--cream);
}

#chatForm {
  display: flex;
  gap: 8px;
}

#chatForm input {
  flex: 1;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(9,33,52,.12);
  border-radius: 999px;
  font: inherit;
}

#chatForm button {
  border: 0;
  border-radius: 999px;
  padding: 0 16px;
  color: var(--navy-950);
  background: linear-gradient(135deg, var(--gold-700), var(--gold-300));
  font: inherit;
  font-weight: 600;
}

@media (max-width: 860px) {
  .contato__grid { grid-template-columns: 1fr; }
}