:root {
  --background: #84b907;
  --dark-green: #046a38;
  --accents: #ff8400;
  --white: #ffffff;
}
body {
  font-family: "Lato", sans-serif;
}
.container {
  display: flex;
  flex-direction: column;
  background-color: var(--background);
  border-radius: 10px;
  padding: 20px;
  width: 100%;
  overflow-x: hidden;
  box-sizing: border-box;
  justify-content: center;
  align-items: center;
}
.header {
  background-color: var(--dark-green);
  color: white;
  padding: 10 px;
  text-align: center;
  width: 100%;
}

.reminders {
  display: flex;
  flex-direction: column;
  background-color: var(--white);
  padding: 2rem;
  width: 75%;
  margin: 1rem 0;
  height: 100%;
  border-radius: 12px;
  border: 1px solid var(--dark-green);
}
.form-group {
  width: 75%; /* responsive width */
  margin: 0 auto; /* center the form group */
  padding: 2rem;
  border-radius: 12px;
  border: 1px solid var(--dark-green);
  background-color: var(--white);
  display: flex;
  flex-direction: column;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  margin-bottom: 0.5rem;
}

.form-group p {
  margin: 0 0 0.5rem 0;
  padding: 0;
  size: 2rem;
  font-weight: bold;
}

#orderForm {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.required-label::after {
  content: " *";
  color: red;
}
.submit-button {
  background-color: var(--dark-green);
  color: var(--white);
  border: none;
  padding: 10px 20px;
  border-radius: 5px;
  cursor: pointer;
  font-size: 1rem;
  transition: background-color 0.3s ease;
}

.submit-button:hover {
  background-color: var(--accents);
}

.reset-button {
  background-color: rgb(209, 26, 2);
  color: var(--white);
  border: none;
  padding: 10px 20px;
  border-radius: 5px;
  cursor: pointer;
  font-size: 1rem;
  transition: background-color 0.3s ease;
}

.reset-button:hover {
  background-color: yellow;
  color: black;
}

.save-button {
  background-color: rgb(0, 85, 197);
  color: var(--white);
  border: none;
  padding: 10px 20px;
  border-radius: 5px;
  cursor: pointer;
  font-size: 1rem;
  transition: background-color 0.3s ease;
}
.save-button:hover {
  background-color: rgb(2, 114, 226);
}

input[type="text"],
input[type="email"],
textarea {
  background-color: var(--white);
  border: 1px solid var(--dark-green);
  resize: vertical;
  border-radius: 5px;
  padding: 10px;
  font-size: 1rem;
  width: 100%;
  box-sizing: border-box;
}

/* --- quick fixes --- */
.header {
  padding: 10px;
} /* fix: '10 px' -> '10px' */
.form-group p {
  font-size: 1.1rem;
} /* fix: 'size' isn't valid */

/* --- start delivery-only fields hidden; JS will reveal --- */
#address-group,
#deliveryDate,
#deliveryTime {
  display: none;
}

/* --- nicer form layout --- */
.form-group label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  line-height: 1.3;
  margin: 0.25rem 0;
  flex-wrap: wrap; /* prevents overflow on long labels/dates */
}

/* tighten radio/checkbox spacing a touch */
.form-group input[type="checkbox"],
.form-group input[type="radio"] {
  margin: 0;
  accent-color: var(--dark-green); /* modern browsers */
}

/* button row */
.button-group {
  width: 75%;
  margin: 0 auto 1rem;
  display: flex;
  gap: 0.75rem;
  justify-content: center;
  flex-wrap: wrap;
}

/* keyboard focus visibility */
input[type="text"],
input[type="email"],
textarea,
.form-group input[type="checkbox"],
.form-group input[type="radio"],
button {
  outline: none;
}

input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus,
button:focus-visible {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accents) 35%, transparent);
  border-color: var(--accents);
}

/* tidy the container a bit */
.container {
  gap: 1rem;
}

/* --- responsive tweaks --- */
@media (max-width: 900px) {
  .reminders,
  .form-group,
  .button-group {
    width: 90%;
  }
}

@media (max-width: 600px) {
  .reminders,
  .form-group,
  .button-group {
    width: 95%;
    padding: 1rem;
  }
  .submit-button,
  .reset-button,
  .save-button {
    width: 100%;
  }
}
