/* ==========================================================================
   7. MODERN CONTACT PAGE STYLES - FIXED FOR SINGLE-COLUMN LAYOUT
   ========================================================================== */

/* This styles the main content box that holds all the contact info and the form,
   giving it the "card" appearance from your screenshot. */
.contact-container {
  background-color: var(--bg-secondary);
  padding: 30px 35px;
  border-radius: 12px;
  border: 1px solid var(--card-border-light-trans);
  box-shadow: 0 6px 20px var(--shadow-color);
  max-width: 750px; /* Limits the width of the content area */
  margin: 40px auto; /* Centers the container on the page */
}

/* Styles for the "Contact Information" section */
.contact-info {
  margin-bottom: 40px; /* Adds space between this section and the form */
}

.contact-info h2,
.contact-form h2 {
  font-size: 1.6em;
  color: var(--text-heading);
  margin-bottom: 10px;
}

.contact-info p {
  color: var(--text-secondary);
  line-height: 1.6;
}

/* Styles for the email address line (icon + link) */
.contact-info-item {
  display: flex;
  align-items: center;
  gap: 12px; /* Space between the envelope icon and the email */
  margin-top: 20px;
}

.contact-info-item .fas {
  color: var(--accent-primary);
  font-size: 1.2em;
}

.contact-info-item a {
  color: var(--text-primary);
  text-decoration: none;
  font-size: 1.1em;
  transition: color 0.3s ease;
}

.contact-info-item a:hover {
  color: var(--accent-primary);
}

/* FORM STYLES - Now correctly targeting your HTML classes */
.contact-form .form-group {
  margin-bottom: 20px;
}

.contact-form-label {
  display: block;
  margin-bottom: 8px;
  font-weight: 500;
  color: var(--text-secondary);
  font-size: 0.95em;
}

.contact-form-input {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid var(--border-primary);
  border-radius: 8px;
  background-color: var(--bg-primary);
  color: var(--text-primary);
  font-size: 1em;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
  box-sizing: border-box; /* Ensures padding does not affect width */
}

.contact-form-input::placeholder {
  color: var(--text-secondary);
  opacity: 0.7;
}

.contact-form-input:focus {
  outline: none;
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 3px var(--accent-primary-transparent);
}

.contact-form-textarea {
  min-height: 150px;
  resize: vertical;
}

/* Styles for the "Send Message" button */
.contact-submit-btn {
  width: 100%;
  padding: 15px 20px;
  background-color: var(--accent-primary);
  color: white;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: 1.1em;
  font-weight: 600;
  transition: background-color 0.3s ease, transform 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 10px;
}

.contact-submit-btn:hover {
  background-color: var(--accent-primary-hover);
  transform: translateY(-2px);
}
