:root {
  --background-color: #fce4ec; /* Light pink background */
  --header-background-color: #f8bbd0; /* Pink header */
  --text-color: #333;
  --header-text-color: #fff;
  --main-background-color: #fff;
  --heading-color: #c2185b; /* Deeper pink for headings */
  --button-background-color: #f06292; /* Lighter pink button */
  --button-hover-background-color: #ec407a; /* Darker pink on hover */
  --footer-text-color: #666;
}

[data-theme='dark'] {
  --background-color: #263238; /* Dark blue-grey background */
  --header-background-color: #37474f; /* Slightly lighter dark header */
  --text-color: #eceff1; /* Light grey text */
  --header-text-color: #fff;
  --main-background-color: #455a64; /* Darker card background */
  --heading-color: #f48fb1; /* Light pink for headings */
  --button-background-color: #ad1457; /* Deeper pink button */
  --button-hover-background-color: #880e4f; /* Darker pink on hover */
  --footer-text-color: #b0bec5; /* Lighter grey for footer */
}

body {
  font-family: 'Arial', sans-serif;
  background-color: var(--background-color);
  color: var(--text-color);
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: background-color 0.3s, color 0.3s;
}

header {
  background-color: var(--header-background-color);
  padding: 20px;
  text-align: center;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

h1 {
  margin: 0;
  color: var(--header-text-color);
  text-shadow: 2px 2px 4px rgba(0,0,0,0.2);
}

#theme-toggle {
  position: absolute;
  right: 20px;
}

nav {
  margin: 0 20px;
}

nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 20px;
}

nav a {
  text-decoration: none;
  color: var(--header-text-color);
  font-weight: bold;
  transition: color 0.3s;
}

nav a:hover {
  color: var(--heading-color);
}

main {
  max-width: 800px;
  margin: 20px;
  padding: 20px;
  background-color: var(--main-background-color);
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  transition: background-color 0.3s;
}

.gallery {
  text-align: center;
}

.image-container img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

.facts {
  margin-top: 20px;
  text-align: center;
}

h2 {
  color: var(--heading-color);
}

button {
  background-color: var(--button-background-color);
  color: white;
  border: none;
  padding: 10px 20px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  margin-top: 10px;
  cursor: pointer;
  border-radius: 4px;
  transition: background-color 0.3s;
}

button:hover {
  background-color: var(--button-hover-background-color);
}

footer {
  margin-top: 20px;
  padding: 10px;
  text-align: center;
  width: 100%;
  font-size: 0.8em;
  color: var(--footer-text-color);
}

.contact-form {
  margin-top: 20px;
  text-align: center;
  width: 100%;
  max-width: 600px;
}

.contact-form form {
  display: flex;
  flex-direction: column;
  gap: 15px;
  padding: 20px;
  border-radius: 8px;
  background-color: var(--main-background-color);
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.contact-form label {
  text-align: left;
  font-weight: bold;
  color: var(--text-color);
}

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form textarea {
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 16px;
  background-color: var(--main-background-color);
  color: var(--text-color);
}

.contact-form input[type="text"]:focus,
.contact-form input[type="email"]:focus,
.contact-form textarea:focus {
  border-color: var(--button-background-color);
  outline: none;
}

.contact-form button[type="submit"] {
  align-self: center;
  width: auto;
  min-width: 150px;
}
