:root {
  --background-color: #ffffff;
  --text-color: #000000;
  --button-bg-color: #f0f0f0;
  --button-text-color: #000000;
  --input-border-color: #cccccc;
  --input-bg-color: #ffffff;
}

body {
  background-color: var(--background-color);
  color: var(--text-color);
  font-family: sans-serif;
  transition: background-color 0.3s, color 0.3s;
  padding: 20px;
  margin: 0;
}

body.dark-mode {
  --background-color: #121212;
  --text-color: #ffffff;
  --button-bg-color: #333333;
  --button-text-color: #ffffff;
  --input-border-color: #555555;
  --input-bg-color: #333333;
}

button {
  padding: 8px 16px;
  border: 1px solid var(--text-color);
  background-color: var(--button-bg-color);
  color: var(--button-text-color);
  cursor: pointer;
  border-radius: 4px;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}

button:hover {
  opacity: 0.9;
}

/* Form styles */
#contact-form {
  margin-top: 40px;
  max-width: 500px;
  background-color: var(--background-color);
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border: 1px solid var(--input-border-color); /* Added border to form itself */
}

#contact-form h2 {
  color: var(--text-color);
  margin-top: 0;
}

#contact-form label {
  display: block;
  margin-bottom: 5px;
  color: var(--text-color);
}

#contact-form input[type="text"],
#contact-form input[type="email"],
#contact-form textarea {
  width: 100%;
  padding: 10px;
  margin-bottom: 15px;
  border: 1px solid var(--input-border-color);
  border-radius: 4px;
  background-color: var(--input-bg-color);
  color: var(--text-color);
  box-sizing: border-box; /* Ensures padding doesn't increase total width */
  transition: border-color 0.3s, background-color 0.3s, color 0.3s;
}

#contact-form input[type="text"]:focus,
#contact-form input[type="email"]:focus,
#contact-form textarea:focus {
  border-color: #007bff; /* Highlight focus with a distinct color */
  outline: none;
}

#contact-form button[type="submit"] {
  background-color: #007bff;
  color: #ffffff;
  border: 1px solid #007bff;
  padding: 10px 20px;
  border-radius: 5px;
  cursor: pointer;
  font-size: 16px;
  transition: background-color 0.3s, border-color 0.3s, color 0.3s;
}

#contact-form button[type="submit"]:hover {
  background-color: #0056b3;
  border-color: #0056b3;
}

/* Ensure form buttons also respect theme */
body.dark-mode #contact-form button[type="submit"] {
  background-color: #0056b3;
  border-color: #0056b3;
}

body.dark-mode #contact-form button[type="submit"]:hover {
  background-color: #003d80;
  border-color: #003d80;
}