/* Base form styling */
.webform-submission-form {
  max-width: 600px;
  margin: 0 auto;
  padding: 24px;
  border-radius: 12px;
  margin-bottom: 10px;
}

/* Top message styling */
.webform-top-message {
  background-color: #e8f4fd;
  border-left: 5px solid #2196f3;
  padding: 12px 16px;
  margin-bottom: 24px;
  font-weight: 500;
  color: #0d47a1;
  border-radius: 6px;
}

/* Input field common styles */
.webform-name-field,
.webform-email-field,
.webform-program-field,
.webform-program-feedback-field,
.webform-library-name-field,
.webform-library-location-field,
.webform-job-field {
  display: flex;
  flex-direction: column;
  margin-bottom: 20px;
}

.webform-name-field label,
.webform-email-field label,
.webform-program-field label,
.webform-program-feedback-field label,
.webform-library-name-field label,
.webform-library-location-field label,
.webform-job-field label {
  font-weight: 600;
  margin-bottom: 8px;
  color: #333;
}

/* Input, textarea, select styles */
.webform-name-field input,
.webform-email-field input,
.webform-program-field select,
.webform-program-feedback-field textarea,
.webform-library-name-field input,
.webform-library-location-field input,
.webform-job-field input {
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 6px;
  transition: border-color 0.3s ease;
  font-size: 16px;
}

.webform-program-feedback-field textarea {
  resize: vertical;
  min-height: 100px;
}

.webform-name-field input:focus,
.webform-email-field input:focus,
.webform-program-field select:focus,
.webform-program-feedback-field textarea:focus,
.webform-library-name-field input:focus,
.webform-library-location-field input:focus,
.webform-job-field input:focus {
  border-color: #1976d2;
  outline: none;
}

/* Responsive tweaks */
@media (max-width: 480px) {
  .webform-submission-form {
    padding: 16px;
  }
}