/* General Layout */
body {
  font-family: 'Arial', sans-serif;
  background-color: #1e212b; /* Dark, sleek background */
  color: #ffffff; /* Bright white text for contrast */
  margin: 0;
  padding: 0;
  text-align: center;
}

/* Header Section */
header {
  background-color: #2c2f38; /* Slightly lighter gray for separation */
  padding: 20px 0;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}

header h1 {
  font-size: 3em;
  margin: 0;
  color: #f39c12; /* Bright orange to symbolize energy and creativity */
}

header p {
  font-size: 1.2em;
  margin-top: 10px;
  color: #b3b3b3; /* Subtle gray for a softer touch */
}

/* Section Styling */
section {
  margin: 30px auto;
  padding: 20px;
  width: 90%;
  max-width: 1200px;
  background-color: #2c2f38; /* Matches header for consistency */
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
}

/* Synthesizer Section */
#synth-section h2 {
  font-size: 2em;
  color: #f39c12;
}

#synth-modules {
  padding: 20px;
  background-color: #41454f; /* Neutral dark gray for synth modules */
  border-radius: 10px;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3);
}

#synth-modules button {
  padding: 10px 20px;
  font-size: 1em;
  background-color: #f39c12;
  color: #ffffff;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: transform 0.2s ease, background-color 0.3s ease;
}

#synth-modules button:hover {
  background-color: #d88705; /* Darker orange on hover */
  transform: scale(1.05);
}

/* Beat Sequencer Section */
#sequencer-section h2 {
  font-size: 2em;
  color: #f39c12;
}

#beat-sequencer {
  display: grid;
  grid-template-columns: repeat(16, 1fr); /* 16 steps for the sequencer */
  gap: 5px;
  margin-top: 20px;
}

#beat-sequencer .step {
  width: 40px;
  height: 40px;
  background-color: #41454f;
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.2s ease;
}

#beat-sequencer .step.active {
  background-color: #f39c12;
}

#beat-sequencer .step.highlight {
  outline: 2px solid #ffffff;
  transform: scale(1.1); /* Slight zoom for active step */
}

#sequencer-controls {
  margin-top: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
}

#sequencer-controls button {
  padding: 10px 20px;
  background-color: #f39c12;
  color: #ffffff;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  font-size: 1em;
  transition: transform 0.2s ease, background-color 0.3s ease;
}

#sequencer-controls button:hover {
  background-color: #d88705;
  transform: scale(1.05);
}

#sequencer-controls input[type="number"] {
  width: 80px;
  font-size: 1em;
  padding: 5px;
  border-radius: 5px;
  border: 1px solid #b3b3b3;
}

/* Ambient Effects Section */
#effects-section h2 {
  font-size: 2em;
  color: #f39c12;
}

#effects label {
  display: block;
  font-size: 1.2em;
  margin: 10px 0;
  cursor: pointer;
}

#effects input[type="checkbox"] {
  margin-right: 10px;
  transform: scale(1.2); /* Slightly larger checkboxes */
}

/* Export Section */
#export-section h2 {
  font-size: 2em;
  color: #f39c12;
}

#export-section button {
  padding: 15px 30px;
  background-color: #f39c12;
  color: #ffffff;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  font-size: 1.2em;
  transition: background-color 0.3s ease, transform 0.2s ease;
}

#export-section button:hover {
  background-color: #d88705;
  transform: scale(1.05);
}

/* Footer Styling */
footer {
  background-color: #2c2f38;
  padding: 10px 0;
  font-size: 0.9em;
  color: #b3b3b3;
  text-align: center;
}

footer p {
  margin: 0;
}

/* Responsive Design */
@media (max-width: 768px) {
  #beat-sequencer .step {
    width: 30px;
    height: 30px;
  }

  #sequencer-controls button {
    font-size: 0.9em;
    padding: 8px 15px;
  }

  #export-section button {
    font-size: 1em;
    padding: 10px 20px;
  }
}
