.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-xl); align-items: start; }
.contact-details h2 { margin-bottom: var(--sp-lg); }
.contact-list { list-style: none; display: flex; flex-direction: column; gap: var(--sp-md); margin-bottom: var(--sp-lg); }
.contact-list li { display: flex; flex-direction: column; gap: 0.2rem; }
.contact-list strong { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--grey-mid); }
.contact-list span, .contact-list a { font-size: 1rem; color: var(--black); }
.contact-list a:hover { color: var(--gold-dark); }
.contact-map { border-radius: var(--radius); overflow: hidden; }
.contact-form-wrap h2 { margin-bottom: var(--sp-sm); }
.contact-form-wrap > p { color: var(--grey-mid); margin-bottom: var(--sp-lg); }
.contact-form { display: flex; flex-direction: column; gap: var(--sp-md); }
.form-group { display: flex; flex-direction: column; gap: 0.35rem; }
.form-group label { font-size: 0.85rem; font-weight: 600; color: var(--black); }
.form-group input, .form-group select, .form-group textarea { padding: 0.65rem 0.85rem; border: 1.5px solid var(--grey-light); border-radius: var(--radius); font-family: var(--font-body); font-size: 0.95rem; color: var(--black); background: var(--white); transition: border-color 0.15s; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { outline: none; border-color: var(--gold); }
.form-group textarea { resize: vertical; }
.btn-full { width: 100%; text-align: center; }
.btn-full:disabled { opacity: 0.65; cursor: not-allowed; }

.form-error {
  font-size: 0.9rem;
  color: #c0392b;
  margin-top: var(--sp-sm);
}

.form-success {
  text-align: center;
  padding: var(--sp-xl) var(--sp-lg);
}
.form-success-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--gold);
  color: var(--black);
  font-size: 1.6rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--sp-md);
}
.form-success h3 { margin-bottom: var(--sp-sm); }
.form-success p { color: var(--grey-mid); margin-bottom: var(--sp-sm); }

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