/* assets/css/contact.css */

.contact-hero::before { content: '✉'; }

.contact-layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 0;
  border-top: 1px solid var(--bd);
  min-height: 60vh;
}

/* ── FORM COLUMN ──────────────────────────────────────────────────────── */
.contact-form-col {
  padding: 3rem 4rem;
  border-right: 1px solid var(--bd);
}

.contact-error {
  background: rgba(239,68,68,.08);
  border: 1px solid rgba(239,68,68,.25);
  color: var(--rd);
  padding: .75rem 1rem;
  border-radius: 5px;
  font-size: .82rem;
  margin-bottom: 1.5rem;
}

.contact-form { display: flex; flex-direction: column; gap: 1.25rem; }

.contact-field { display: flex; flex-direction: column; gap: .4rem; }
.contact-field label {
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--tx3);
}
.req { color: var(--ac); }

.contact-field input,
.contact-field select,
.contact-field textarea {
  padding: .65rem .85rem;
  border: 1px solid var(--bd2);
  border-radius: 5px;
  font-size: .9rem;
  background: var(--bg);
  color: var(--tx);
  font-family: 'DM Sans', system-ui, sans-serif;
  transition: border-color .15s;
  width: 100%;
  box-sizing: border-box;
}
.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus {
  outline: none;
  border-color: var(--ac);
  box-shadow: 0 0 0 3px rgba(13,115,119,.08);
}
.contact-field textarea { resize: vertical; line-height: 1.6; }

.contact-submit {
  align-self: flex-start;
  padding: .7rem 1.75rem;
  background: var(--ac);
  color: #fff;
  border: none;
  border-radius: 5px;
  font-size: .9rem;
  font-weight: 700;
  cursor: pointer;
  font-family: 'DM Sans', system-ui, sans-serif;
  transition: background .15s;
  margin-top: .25rem;
}
.contact-submit:hover { filter: brightness(1.1); }

/* ── SUCCESS ──────────────────────────────────────────────────────────── */
.contact-success {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 2rem 0;
}
.contact-success-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: rgba(34,197,94,.12);
  color: var(--gn);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  margin-bottom: 1.25rem;
}
.contact-success h2 {
  font-family: 'Fraunces', 'Playfair Display', Georgia, serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--tx);
  margin-bottom: .5rem;
}
.contact-success p { font-size: .9rem; color: var(--tx2); line-height: 1.6; }

/* ── ASIDE ────────────────────────────────────────────────────────────── */
.contact-aside {
  padding: 3rem 2.5rem;
  background: var(--bg2);
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.contact-info-block {}
.contact-info-label {
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ac);
  margin-bottom: .6rem;
}
.contact-info-block p {
  font-size: .83rem;
  line-height: 1.7;
  color: var(--tx2);
  margin: 0 0 .6rem;
}

/* Obfuscated email display */
.contact-email {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .5rem .85rem;
  background: var(--bg3);
  border: 1px solid var(--bd);
  border-radius: 5px;
  cursor: pointer;
  transition: border-color .15s, background .15s;
  margin-top: .25rem;
}
.contact-email:hover {
  border-color: var(--ac);
  background: rgba(13,115,119,.06);
}
.contact-email-icon { font-size: .9rem; color: var(--ac); }
.contact-email-text {
  font-size: .82rem;
  font-weight: 600;
  color: var(--tx);
  font-family: monospace;
  letter-spacing: .02em;
  user-select: none;
}

/* ── RESPONSIVE ───────────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .contact-layout { grid-template-columns: 1fr; }
  .contact-form-col { padding: 2.5rem 2rem; border-right: none; border-bottom: 1px solid var(--bd); }
  .contact-aside { padding: 2rem; }
}
@media (max-width: 600px) {
  .contact-form-col { padding: 1.75rem 1.25rem; }
  .contact-aside { padding: 1.5rem 1.25rem; }
}