.contact-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:3.5rem; align-items:start; }
.info-col h2 { font-size:clamp(1.4rem,2.5vw,2rem); margin-bottom:.4rem; }
.info-sub { color:var(--muted); margin-bottom:1.75rem; font-size:.9rem; }
.info-items { display:flex; flex-direction:column; gap:1.25rem; margin-bottom:1.75rem; }
.info-item { display:flex; gap:.9rem; align-items:flex-start; }
.info-icon { font-size:1.1rem; margin-top:.15rem; flex-shrink:0; }
.info-text strong { display:block; font-weight:600; margin-bottom:.2rem; font-size:.88rem; color:var(--text); }
.info-text p { color:var(--muted); font-size:.86rem; line-height:1.6; }
.info-text a { color:var(--accent); transition:color var(--tr); }
.info-text a:hover { color:var(--accent2); }
.contact-person { font-weight:600; color:var(--accent); margin-bottom:.15rem !important; font-size:.92rem; }
.map-box { border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--border); }
.map-link-btn {
  display:flex; align-items:center; gap:.5rem; justify-content:center;
  padding:.6rem 1rem; background:var(--surface2); color:var(--accent);
  font-size:.82rem; font-weight:500; border-top:1px solid var(--border);
  transition:var(--tr);
}
.map-link-btn:hover { background:var(--accent-lt); }
.form-card {
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius-lg); padding:clamp(1.5rem,4vw,2.25rem);
  box-shadow:var(--shadow);
}
.form-card h2 { font-size:clamp(1.3rem,2.5vw,1.5rem); margin-bottom:.3rem; }
.form-card > p { color:var(--muted); font-size:.88rem; margin-bottom:1.5rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:.9rem; }
.fg { display:flex; flex-direction:column; gap:.35rem; margin-bottom:.9rem; }
.fg label { font-size:.81rem; font-weight:500; color:var(--muted); }
.fg input, .fg select, .fg textarea {
  background:var(--bg); border:1.5px solid var(--border);
  border-radius:var(--radius); padding:.65rem .95rem;
  font-family:'DM Sans',sans-serif; font-size:.88rem; color:var(--text);
  transition:border-color var(--tr); outline:none; width:100%;
}
.fg input::placeholder, .fg textarea::placeholder { color:var(--muted); opacity:.6; }
.fg input:focus, .fg select:focus, .fg textarea:focus {
  border-color:var(--accent2); background:var(--surface);
}
.fg textarea { resize:vertical; min-height:110px; }
.btn-full { width:100%; justify-content:center; }
.form-success {
  display:none; margin-top:.9rem;
  background:var(--accent-lt); color:var(--accent);
  border:1px solid var(--border); border-radius:var(--radius);
  padding:.75rem 1rem; font-size:.87rem; text-align:center; font-weight:500;
}
.form-success.show { display:block; }

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

.form-error {
  display:none; margin-top:.9rem;
  background: rgba(220,38,38,.08);
  color: #dc2626;
  border: 1px solid rgba(220,38,38,.25);
  border-radius: var(--radius);
  padding: .75rem 1rem;
  font-size: .87rem; text-align:center; font-weight:500;
}
.form-error.show { display:block; }
[data-theme="dark"] .form-error {
  background: rgba(220,38,38,.15);
  color: #f87171;
  border-color: rgba(220,38,38,.3);
}

/* Alan bazlı hata stilleri */
.field-error {
  display: none;
  font-size: .78rem;
  color: #dc2626;
  margin-top: .3rem;
  font-weight: 500;
}
[data-theme="dark"] .field-error { color: #f87171; }

.fg input.input-error,
.fg select.input-error,
.fg textarea.input-error {
  border-color: #dc2626 !important;
  background: rgba(220,38,38,.04) !important;
}
[data-theme="dark"] .fg input.input-error,
[data-theme="dark"] .fg select.input-error,
[data-theme="dark"] .fg textarea.input-error {
  border-color: #f87171 !important;
  background: rgba(220,38,38,.08) !important;
}

.fg input:focus,
.fg select:focus,
.fg textarea:focus {
  outline: none;
}