/* ==========================================================================
   contact.css — styles unique to contact.html
   ========================================================================== */

.page-header {
  padding: var(--space-lg) 0;
}

.page-header h1 {
  margin-top: var(--space-xs);
  max-width: 560px;
}

.page-header p {
  margin-top: var(--space-sm);
  font-size: 1.1rem;
  max-width: 520px;
}

.contact-layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: var(--space-lg);
  align-items: start;
}

.quote-form {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: var(--space-lg);
}

.field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-md);
}

.form-status {
  font-size: 0.9rem;
  margin-bottom: var(--space-sm);
  font-family: var(--font-mono);
}

.form-status.success {
  color: #1a7a3d;
}

.form-status.error {
  color: #b3261e;
}

#submit-btn[disabled] {
  opacity: 0.6;
  cursor: not-allowed;
}

.form-legal-note {
  margin-top: var(--space-sm);
  font-size: 0.8rem;
  color: var(--charcoal);
  text-align: center;
}

.form-legal-note a {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.contact-aside {
  position: sticky;
  top: calc(var(--nav-height) + var(--space-md));
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.aside-block {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: var(--space-md);
  background: var(--paper);
}

.aside-block h3 {
  font-size: 1rem;
  margin-bottom: var(--space-xs);
}

.aside-block p {
  font-size: 0.9rem;
}

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

  .contact-aside {
    position: static;
  }
}

@media (max-width: 600px) {
  .field-row {
    grid-template-columns: 1fr;
  }

  .quote-form {
    padding: var(--space-md);
  }
}
