/* Input groups should span the accordion width */
.input-group.w-100 {
  width: 100%;
}

/* Ensure optional unit selectors don't stretch the input group */
.unit-select,
.input-group .form-select.w-auto {
  width: auto !important;
  min-width: unset !important;
}

/* Ensure images shrink on small screens */
img {
  max-width: 100%;
  height: auto;
}

.container {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 1;
  background-color: #fff;
  padding: 2rem;
  border-radius: 0.5rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
  width: 65%;
  max-width: 900px;
}

body {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 100vh;
  background: linear-gradient(-45deg, #2ecc71, #1abc9c, #3498db, #1abc9c);
  background-size: 400% 400%;
  animation: gradientShift 15s ease infinite;
}

@keyframes gradientShift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

.accordion {
  width: 60%;
  margin: 0 auto;
  overflow-anchor: none; /* reduce scroll jumpiness on toggle */
}

/* On small screens make the card and accordion span the full width */
@media (max-width: 576px) {
  .container,
  .accordion {
    width: 100%;
  }

  /* Keep inputs on one line but allow them to shrink */
  .input-group { flex-wrap: nowrap; width: 100%; }
  .input-group .input-group-text { flex: 0 0 auto; }
  .input-group .form-control { flex: 1 1 auto; min-width: 0; }
  .input-group .form-select { flex: 0 0 auto; width: auto; }
}

footer {
  color: #fff;
  margin-top: auto;
  font-size: 0.875rem;
}

footer a {
  color: #fff;
  text-decoration: underline;
}

button.btn-primary:disabled {
  cursor: not-allowed;
}
 
