/* Contact page tweaks (inherits BCstylesheet.css theme) */
/* Author: Alberto Gonzalez | Updated: 08/20/2025 */

.contact-wrap {
  gap: 20px;
  align-items: flex-start;
}

.contact-card, .map-card {
  width: 100%;
  max-width: 900px;
  margin: 0 auto 20px;
}

.contact-card h1, .map-card h2 {
  color: #39FF14; /* neon accent headings */
  margin-bottom: 10px;
}

.muted { color: #bdbdbd; }
.small { font-size: .9rem; }
.req { color: #39FF14; }

/* Form fields (matches Services selects) */
.field {
  display: grid;
  gap: 8px;
  margin-bottom: 14px;
}

.field label, .radios legend {
  font-weight: 700;
}

.field input[type="text"],
.field input[type="email"],
.field select,
.field textarea,
.field input[type="file"] {
  background: #1f1f1f;
  color: #f2f2f2;
  border: 1px solid #3a3a3a;
  border-radius: 8px;
  padding: 10px;
  outline: none;
}

.field textarea { resize: vertical; min-height: 140px; }

.field input:focus,
.field select:focus,
.field textarea:focus,
.field input[type="file"]:focus {
  border-color: #39FF14;
  box-shadow: 0 0 0 2px rgba(57,255,20,0.15);
}

/* Radios — make dots neon green */
.radios {
  display: flex;
  gap: 16px;
  align-items: center;
  border: 1px dashed #3a3a3a;
  border-radius: 10px;
  padding: 10px 12px;
}
.radios label { display: inline-flex; gap: 8px; align-items: center; }
.radios input[type="radio"] { accent-color: #39FF14; }

/* Buttons (matches theme) */
.btn {
  background: #39FF14;
  color: #000;
  border: none;
  border-radius: 10px;
  padding: 10px 16px;
  font-weight: 700;
  cursor: pointer;
  transition: filter .15s ease, transform .02s;
}
.btn:hover { filter: brightness(.92); }
.btn:active { transform: translateY(1px); }

/* Error + success messages */
.errors {
  background: #2a1414;
  border: 1px solid #7a2727;
  color: #ffb3b3;
  padding: 10px 12px;
  border-radius: 8px;
  margin: 8px 0 12px;
  display: none;
}
.errors p { margin: 4px 0; }

.success {
  background: #0f2a14;
  border: 1px solid #2e7d32;
  color: #b2f5bf;
  padding: 10px 12px;
  border-radius: 8px;
  margin: 8px 0 12px;
  display: none;
}

/* Map */
.map-card .map-box {
  height: 380px;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #3a3a3a;
  margin-top: 10px;
}

/* 👇 Updated spacing for button & text */
.map-actions {
  margin-top: 12px;
  margin-bottom: 22px; /* extra breathing room under button */
}

/* Responsive */
@media (max-width: 768px) {
  .contact-card, .map-card { max-width: 95%; }
}
