/* main style of the entire page */
body {
  margin: 0;
  font-family: 'Segoe UI', Arial, sans-serif;
  background-color: #f4f4f4;
}

/* container layout and size */
.container {
  width: 100vw;
  min-height: 100vh;
  display: grid;

  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: 160px auto auto 125px;
  gap: 10px;
  padding: 15px;
  box-sizing: border-box;
}

/* general container style */
.container div {
  padding: 20px;
  background-color: white;
  border-radius: 12px;
}

/* specific container styles */
header {
  background-color: white;
  text-align: center;
  border-radius: 12px;
  padding: 20px;
  grid-column: 1 / 5;
}

footer {
  background-color: white;
  text-align: center;
  border-radius: 12px;
  padding: 20px;
  grid-column: 1 / 5;
}

.box0 {
  grid-column: 1 / 4;
  grid-row: 2 / 4;

  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.section0{
  display: flex;
  flex-direction: column;
}

.section0Header{
  text-align: center;
}

#passLength{
  width:125px; 
  height: 25px; 
  font-size: 15px;
}

#passLengthRange{
  -webkit-appearance: none;
  appearance: none;
  width: 250px;
  height: 7px;
  background: #ddd;
  border-radius: 4px;
  outline: none;
}

#lowercase,#uppercase,#numbers,#symbols{
  accent-color: #222;
  width: 16px;
  height: 16px;
  cursor: pointer;
  margin-right: 0.5rem;
}

.checkbox-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  font-size: 15px;
  gap: 10px 20px;
}

.section1 {
  display: flex;
  flex-direction: column;
  text-align: center;
  justify-content: center;
}

#generate-btn{
  background-color: #222;
  color: white;
  border: none;
  padding: 0.6rem 1.2rem;
  border-radius: 6px;
  cursor: pointer;
  font-size: 1rem;
}

.box1 { grid-column: 4 / 5; grid-row: 2 / 3; }
.box2 { grid-column: 4 / 5; grid-row: 3 / 4; }
