:root {
  --color-light-cream: hsl(30, 54%, 90%);
  --white: hsl(0, 0%, 100%);
  --color-dark-brown: hsl(24, 5%, 18%);
  --color-warm-gray: hsl(30, 10%, 34%);
  --color-rose-light: hsl(330, 100%, 98%);
  --color-berry: hsl(332, 51%, 32%);
  --color-terracotta: hsl(14, 45%, 36%);
  --color-light-beige: hsl(30, 18%, 87%);
}
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
body {
  background-color: var(--color-light-cream);
  display: flex;
  justify-content: center;
  font-family: "Outfit", sans-serif;
}
main {
  background-color: var(--white);
  max-width: 100vw;
  border-radius: 15px;
}
.general-information,
.ingredients,
.instructions,
.nutrition {
  padding: 0px 35px 0px 35px;
}
.nutrition {
  padding-bottom: 35px;
}
p {
  font-size: 16px;
  color: var(--color-dark-brown);
}
li,
p,
td {
  color: var(--color-warm-gray);
}
h1 {
  font-family: "Young Serif", serif;
  font-weight: 400;
  margin-top: 15px;
}
h1 + p {
  margin-top: 15px;
}
.image-container img {
  width: 100%;
}
.preparation-time {
  background-color: var(--color-rose-light);
  padding-left: 20px;
  padding-top: 20px;
  padding-bottom: 15px;
  border-radius: 10px;
  margin-top: 20px;
}
.preparation-time p {
  color: var(--color-berry);
  font-weight: bold;
  padding-bottom: 10px;
}

.preparation-time ul {
  padding-left: 15px;
}
.preparation-time ul li {
  padding-bottom: 10px;
}
.preparation-time ul li::marker {
  color: var(--color-berry);
}
.ingredients {
  margin-top: 15px;
}
.ingredients ul {
  padding-left: 15px;
}
.ingredients ul li {
  padding-bottom: 10px;
}
.ingredients ul li::marker {
  color: var(--color-terracotta);
}
h2 {
  color: var(--color-terracotta);
  padding-bottom: 15px;
  padding-top: 15px;
  font-family: "Young Serif", serif;
  font-weight: 400;
}
hr {
  border: none;
  border-top: 1px solid var(--color-light-beige);
  margin: 20px 35px;
}
.instructions ol {
  padding-left: 15px;
}
.instructions ol li {
  padding-bottom: 10px;
}
.instructions ol li::marker {
  color: var(--color-terracotta);
  font-weight: 700;
}

table {
  width: 100%;
  margin-top: 15px;
}
table tr td {
  border-bottom: 0.5px solid var(--color-terracotta);
  padding-top: 10px;
  padding-bottom: 10px;
}
table tr td:nth-child(2) {
  font-weight: 700;
  color: var(--color-terracotta);
}
table tr:last-child td {
  border-bottom: none;
}

@media (min-width: 600px) {
  body {
    margin: 30px 10px;
  }
  main {
    max-width: 700px;
    padding: 35px;
  }
  .general-information,
  .ingredients,
  .instructions,
  .nutrition {
    padding: 0;
  }
  h1 {
    margin-top: 15px;
  }
  .image-container img {
    border-radius: 10px;
  }
  .preparation-time {
    padding-left: 30px;
    padding-top: 25px;
    padding-bottom: 15px;
    border-radius: 10px;
    margin-top: 25px;
  }
  .preparation-time p {
    padding-bottom: 10px;
  }
  .preparation-time ul {
    padding-left: 15px;
  }
  .preparation-time ul li {
    padding-bottom: 10px;
  }
  .ingredients {
    margin-top: 15px;
  }
  .ingredients ul {
    padding-left: 15px;
  }
  .ingredients ul li {
    padding-bottom: 10px;
  }
  hr {
    margin: 20px 0;
  }
  .nutrition {
    padding-bottom: 0;
  }
}
