:root {
    --rose50: hsl(330, 100%, 98%);
    --rose: hsl(332, 51%, 32%);
    --brown: hsl(14, 45%, 36%);
    --stone900: hsl(24, 5%, 18%);
    --stone600: hsl(30, 10%, 34%);
    --stone150:  hsl(30, 18%, 87%);
    --stone100: hsl(30, 54%, 90%);
    --white: hsl(0, 0%, 100%);
    --outfit: "Outfit", sans-serif;
    --young-serif: "Young Serif", serif;
}
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body{
    background-color: var(--stone100);
    display: flex;
    font-family: var(--young-serif);
    justify-content: center;
    align-items: center;
    padding: 2rem;
    min-height: 100vh;
    color: var(--stone900);
    font-size: 16px;
}

h2 {
    color: var(--brown);
    font-weight: 400;
}

ul, p, ol {
    font-family: var(--outfit);
}
.wrapper {
    max-width: 740px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.card {
    width: 100%;
    border-radius: 20px;
    background-color: var(--white);
    padding: 2rem;
}

img {
    width: 100%;
    border-radius: 1rem;

}

.intro {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding-top: 1rem;
}

.intro h1 {
    font-size: 35px;
    font-weight: 400;
}

.intro p {
    color: var(--stone600);
    font-weight: 400;
    font-size: 15px;
    line-height: 1.6;
    font-family: var(--outfit);
}

.preparation-time {
    background-color: var(--rose50);
    border-radius: 8px;
    padding: 1rem;
    font-family: var(--outfit);
    line-height: 2;
}

.preparation-time h3 {
    color: var(--rose);
}

.preparation-time ul {
    padding-left: 2rem;
}

.preparation-time li::marker {
    color: var(--rose);
}

.ingredients ul {
    padding: 1rem 0  1rem 2rem;
    line-height: 2;
    

}

.ingredients li::marker {
    color: var(--brown);
}

.instructions {
    padding-top: 1rem;
}

.instructions ol {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 1rem 0 1rem 2rem;
    line-height: 1.6;
}

ol li::marker {
    color: var(--brown);
    font-weight: bold;
}

.nutrition {
    padding-top: 1rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.nutrition table {
    font-family: var(--outfit);
    font-weight: 400;
    line-height: 2;
    border-collapse: collapse;
}

.nutrition tr {
    border-bottom: 1px solid var(--stone150);
}

.nutrition td {
    padding-bottom: 0.75rem;
}

.nutrition td:first-child {
    padding-left: 2rem;
}
.nutrition td:last-child {
    color: var(--brown);
    font-weight: bold;
}

.attribution {
    font-family: var(--outfit);
    font-weight: 400;
}

.attribution a {
    margin-top: 1rem;
    display: inline-block;
    color: var(--stone600);
    text-decoration:none;
    font-style: italic;
    transition: transform 0.5 ease;
}

.attribution a:hover {
    transform: translate(4px, -4px);
    color: var(--brown);
}

@media (min-width: 768px) {
    .wrapper {
        max-width: 740px; /*already set*/
        margin: 0 auto;
    }
    .card {
        padding: 3rem;
    }
    body {
        padding: 3rem;
    }

}