/* 联系我们页：信息栏 + 询盘表单 */
.contact-layout {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: 64px;
  align-items: start;
  padding-top: 48px;
}
.contact-info { display: grid; gap: 26px; }
.contact-block {
  padding-bottom: 22px;
  border-bottom: 1px solid var(--line);
}
.contact-block:last-child { border-bottom: 0; padding-bottom: 0; }
.contact-block h2 {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
  margin-bottom: 10px;
}
.contact-block p,
.contact-block address {
  font-style: normal;
  font-size: 15px;
  line-height: 1.65;
  margin: 0;
}
.contact-block a { border-bottom: 1px solid var(--line); transition: border-color .18s ease, color .18s ease; }
.contact-block a:hover { border-color: var(--brand); color: var(--brand-strong); }

/* 联系方式清单：公司名 + 图标行 */
.contact-card {
  border: 1px solid var(--line);
  background: var(--surface);
  padding: 24px 26px 12px;
}
.contact-card-title {
  font-size: 1.12rem;
  font-weight: 700;
  letter-spacing: .01em;
  color: var(--ink);
  margin: 0;
}
.contact-rows {
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
  border-top: 1px solid var(--line);
}
.contact-row {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
}
.contact-row:last-child { border-bottom: 0; }
.contact-row-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--brand-soft);
  color: var(--brand-strong);
  border: 1px solid rgba(235, 117, 29, .22);
  transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.contact-row-icon svg { width: 17px; height: 17px; display: block; }
.contact-row:hover .contact-row-icon,
.contact-row:focus-within .contact-row-icon {
  background: var(--brand);
  border-color: var(--brand);
  color: #fff;
  transform: translateY(-1px);
}
.contact-row-body { display: grid; gap: 3px; min-width: 0; }
.contact-row-label {
  font-family: var(--font-mono);
  font-size: 10.5px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--muted);
  line-height: 1.4;
}
.contact-row-value {
  font-size: 15px;
  line-height: 1.6;
  color: var(--ink);
  font-style: normal;
  overflow-wrap: anywhere;
}
a.contact-row-value {
  justify-self: start;
  border-bottom: 1px solid transparent;
  transition: color .18s ease, border-color .18s ease;
}
a.contact-row-value:hover { color: var(--brand-strong); border-color: var(--brand); }
a.contact-row-value:focus-visible { outline: 2px solid var(--brand-strong); outline-offset: 3px; }
.contact-row-im {
  justify-self: start;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--brand-strong);
  border-bottom: 1px solid rgba(235, 117, 29, .45);
  transition: color .18s ease, border-color .18s ease;
}
.contact-row-im:hover { color: var(--brand); border-color: var(--brand); }
.contact-row-im:focus-visible { outline: 2px solid var(--brand-strong); outline-offset: 2px; }

.lead-form {
  border: 1px solid var(--line);
  background: var(--surface);
  padding: 32px 30px;
}
.lead-form h2 { font-size: 1.35rem; margin-bottom: 8px; }
.lead-form .form-note { font-size: 13.5px; color: var(--muted); margin-bottom: 24px; }
.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 20px;
}
.field { display: flex; flex-direction: column; gap: 7px; }
.field--wide { grid-column: 1 / -1; }
.field label {
  font-family: var(--font-mono);
  font-size: 10.5px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--muted);
}
.field .optional { text-transform: none; letter-spacing: 0; color: #a2938a; }
.field input,
.field select,
.field textarea {
  width: 100%;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--bg);
  color: var(--ink);
  font-family: inherit;
  font-size: 14.5px;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.field input:hover,
.field select:hover,
.field textarea:hover { border-color: #cfc5bd; }
.field input:focus,
.field select:focus,
.field textarea:focus {
  outline: none;
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(235, 117, 29, .16);
}
.field textarea { min-height: 132px; resize: vertical; }
.form-foot {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 20px;
  align-items: center;
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
.form-status {
  font-size: 13.5px;
  color: var(--muted);
  margin: 0;
  min-height: 1.4em;
}
.form-status.is-ok { color: #217a4b; }
.form-status.is-error { color: #a3352a; }
.form-hint { font-size: 12px; color: var(--muted); margin-top: 14px; }
.btn[disabled] { opacity: .6; cursor: progress; transform: none; }

.map-note {
  margin-top: 26px;
  padding: 18px 20px;
  border-left: 3px solid var(--brand);
  background: var(--brand-soft);
  font-size: 13.5px;
  color: var(--muted);
}

@media (max-width: 900px) {
  .contact-layout { grid-template-columns: minmax(0, 1fr); gap: 34px; padding-top: 34px; }
  .lead-form { padding: 26px 20px; }
}

@media (max-width: 560px) {
  .form-grid { grid-template-columns: minmax(0, 1fr); }
  .contact-card { padding: 20px 18px 8px; }
  .contact-row { grid-template-columns: 32px minmax(0, 1fr); gap: 12px; }
  .contact-row-icon { width: 32px; height: 32px; }
  .contact-row-icon svg { width: 15px; height: 15px; }
}
