/* ===== Contact page specific styles ===== */

.contact-wrap {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 48px;
  align-items: start;
}

.contact-info .info-item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 20px 0;
  border-bottom: 1px solid var(--line);
}
.contact-info .info-item:last-child { border-bottom: 0; }
.contact-info .ic {
  width: 48px; height: 48px; flex: none;
  border-radius: 12px;
  background: var(--red-soft);
  color: var(--red);
  display: grid; place-items: center;
  font-size: 1.3rem;
}
.contact-info .info-item h4 { font-size: 1rem; margin-bottom: 4px; }
.contact-info .info-item p, .contact-info .info-item a { color: var(--muted); font-size: .94rem; }
.contact-info .info-item a:hover { color: var(--red); }

/* Form */
.contact-form {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 40px;
  box-shadow: var(--shadow);
}
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.field { margin-bottom: 18px; }
.field label { display: block; font-size: .86rem; font-weight: 500; margin-bottom: 8px; }
.field input, .field textarea, .field select {
  width: 100%;
  padding: 13px 16px;
  border: 1px solid var(--line);
  border-radius: 10px;
  font-family: inherit;
  font-size: .95rem;
  background: var(--bg-soft);
  transition: border-color .2s ease, background .2s ease;
}
.field input:focus, .field textarea:focus, .field select:focus {
  outline: none;
  border-color: var(--red);
  background: #fff;
}
.field textarea { resize: vertical; min-height: 120px; }
.form-note { font-size: .82rem; color: var(--muted); margin-top: 4px; }
.form-success {
  display: none;
  background: #e8f7ec; color: #1a7f3c;
  border: 1px solid #b6e6c4;
  padding: 14px 18px; border-radius: 10px;
  margin-bottom: 18px; font-size: .92rem;
}
.form-success.show { display: block; }

.map-embed {
  margin-top: 50px;
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}
.map-embed iframe { width: 100%; height: 380px; border: 0; display: block; }

@media (max-width: 900px) {
  .contact-wrap { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
}
