.contactContainer {
  background-color: #fafafa;
  padding: 60px 24px;
}

.contactContent {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  gap: 60px;
  align-items: flex-start;
}

.infoContainer {
  flex: 0 0 320px;
}

.contactInfoTitle {
  font-size: 26px;
  margin-bottom: 16px;
}

.info {
  font-size: 15px;
  margin-bottom: 4px;
}

.hoursContainer {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 16px 0;
}

/* Each row keeps its day paired with its time, so wrapping can never
   desync them (e.g. "Closed" drifting up next to "Saturday"). */
.hoursRow {
  display: flex;
  gap: 16px;
  align-items: baseline;
}

.hoursRow .hoursDay {
  white-space: nowrap;
  min-width: 150px;
}

.mapImage {
  margin-top: 14px;
  height: 200px;
  width: 100%;
  background-image: url(/images/map.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 10px;
}

/* Contact Form */
.contactFormContainer {
  flex: 1;
}

.formTitle {
  font-size: 26px;
  margin-bottom: 20px;
}

.contactInput {
  display: block;
  width: 100%;
  box-sizing: border-box;
  border: 1.5px solid #e0e6f0;
  border-radius: 10px;
  padding: 12px 16px;
  font-size: 15px;
  font-family: inherit;
  color: #1a1a2e;
  background: white;
  margin-bottom: 14px;
  outline: none;
  transition: border-color 0.2s;
  resize: vertical;
}

.contactInput:focus {
  border-color: #1a73e8;
}

.contactInput::placeholder {
  color: #aab;
}

.contactSubmitBtn {
  display: block;
  width: 100%;
  background: linear-gradient(135deg, #1a73e8, #0d47a1);
  color: white;
  border: none;
  border-radius: 10px;
  padding: 14px;
  font-size: 16px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  transition: opacity 0.2s;
}

.contactSubmitBtn:hover { opacity: 0.9; }
.contactSubmitBtn:disabled { opacity: 0.5; cursor: not-allowed; }

.contactFormStatus {
  font-size: 14px;
  margin-top: 10px;
  min-height: 20px;
}

@media (max-width: 860px) {
  .contactContent {
    flex-direction: column;
    gap: 36px;
  }
  .infoContainer {
    flex: none;
    width: 100%;
  }
}

@media (max-width: 480px) {
  .contactContainer {
    padding: 40px 20px;
  }
  .contactInfoTitle,
  .formTitle {
    font-size: 22px;
  }
}
