body {
    background-color: grey;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column; /* keeps header and inputs stacked above the box */
    align-items: center;    /* centers content horizontally */
    min-height: 100vh;
}
.CourseDetail{
    background-color: #D3D3D3;
    text-align: center;
    width: 90%;              /* takes 80% of screen on small devices */
    max-width: 700px;        /* but never exceeds 700px */
    padding: 50px;
    margin-top: 30px;        /* space from header */
    margin-bottom: 30px;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2); /* optional, for depth */
    transition: all 0.3s ease-in-out;
}
.CourseDetail1{
    margin-bottom: 50px;
}
.course{
  margin-bottom: 20px;
}
.firstDiv{
    text-align: center;
}
.boldonse-regular {
  font-family: "Boldonse", system-ui;
  font-weight: 400;
  font-style: normal;
}

.inter-regular {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
p {
    font-family: Helvetica, sans-serif;
    font-size: 20px;
}
label{
    font-family: Helvetica, sans-serif;
    font-size: px;
}
button {
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  border-radius: 0.5rem;
  cursor: pointer;
  border: none;
  background-color: #222222;
  color: white;
  transition: background-color 0.3s ease;
}

button:hover {
  background-color: grey;
}
.erase:hover {
  background-color: maroon;
}

.courseName {
  width: 30%;
  max-width: 500px;
  padding: 0.6rem 0.9rem;
  font-size: 15px;
  border: 1px solid #ccc;
  border-radius: 0.5rem;
  box-sizing: border-box;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.creditUnit{
    width: 20px;
}
#previousCgpa {
    width: 30%;
    max-width: 500px;
    padding: 0.75rem 1rem;
    font-size: 15px;
    border: 1px solid #ccc;
    border-radius: 0.5rem;
    box-sizing: border-box;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
#tcup {
    width: 30%;
    max-width: 500px;
    padding: 0.75rem 1rem;
    font-size: 15px;
    border: 1px solid #ccc;
    border-radius: 0.5rem;
    box-sizing: border-box;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  button {
    padding: 0.65rem 1.2rem;
    font-size: 0.9rem;
  }
}

@media (max-width: 480px) {
  button {
    width: 100%;
    font-size: 1rem;
    padding: 1rem;
  }
}
