@import url('https://fonts.googleapis.com/css2?family=Young+Serif&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&family=Young+Serif&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root{
    --White: hsl(0, 0%, 100%);
    --Stone-100: hsl(30, 54%, 90%);
    --Stone-150: hsl(30, 18%, 87%);
    --Stone-600: hsl(30, 10%, 34%);
    --Stone-900: hsl(24, 5%, 18%);
    --Brown-800: hsl(14, 45%, 36%);
    --Rose-800: hsl(332, 51%, 32%);
    --Rose-50: hsl(330, 100%, 98%);
}

body {
    background-color: var(--Stone-100);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 5rem;
}

article{
    background-color: var(--White);
    width: 45.875rem;
    height: 103.125rem;
    display: flex;
    flex-direction: column;
    border-radius: 20px;
    padding: 2.5rem;
    margin-bottom: 2rem;
}

.card-conteiner {
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
    gap: 1rem;
}

.card-conteiner img {
    width: 653px;
    height: 299px;
    border-radius: 8px;
}

.card-conteiner h1 {
    font-family: 'Young Serif', serif;
    font-size: 2.5rem;
    color: var(--Stone-900);
    font-weight: 400;
}

.card-conteiner p {
    font-family: 'Outfit', sans-serif;
    font-size: 1rem;
    color: var(--Stone-600);
    line-height: 1rem;
    font-weight: 400;
}

.prep-time {
    background-color: var(--Rose-50);
    display: flex;
    flex-direction: column;
    align-items: start;
    padding: 1rem;
    border-radius: 8px;
    width: 650px;
    margin: 1.5rem 0;
    height: 181px;
}

.prep-time h2 {
    font-family: 'Outfit', serif;
    font-size: 1.5rem;
    color: var(--Rose-800);
    font-weight: 600;
    margin: 0.2rem 0.5rem;
}

.prep-time ul {
    margin-top: 0.5rem;
    color: var(--Rose-800);
}

.prep-time ul li {
    font-family: 'Outfit', serif;
    font-size: 1rem;
    color: var(--Stone-600);
    line-height: 1rem;
    font-weight: 400;
    margin-left: 2.2rem;
    padding: 0.5rem 1rem;
}

.prep-time ul li::marker {
    color: var(--Rose-800);
    font-size: 0.7rem;
}


.ingredients h2 { 
    color:var(--Brown-800);
    font-family: 'Young Serif', serif;
    font-size: 1.8rem;
    font-weight: 400;
    margin-bottom: 1rem;
    margin: 1rem 0 1rem 0;
}

.ingredients ul {
    color: var(--Stone-600);
    font-family: 'Outfit', serif; 
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 400;
    list-style-type: disc;
    padding-left: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--Stone-150);
}

.ingredients ul li {
    margin: 0.5rem 0;
    padding: 0rem 1rem;
}

.ingredients ul li::marker {
    color: var(--Brown-800);
    font-size: 0.8rem;
}


.instructions h2 { 
    color:var(--Brown-800);
    font-family: 'Young Serif', serif;
    font-size: 1.8rem;
    font-weight: 400;
    margin: 1.5rem 0 1rem 0;
}

.instructions ol {
    color: var(--Stone-600);
    font-family: 'Outfit', serif; 
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 400;
    padding-left: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--Stone-150);
}

.instructions ol li {
    margin: 0.5rem 0;
    padding: 0rem 1.2rem;
}

.instructions ol li::marker {
    color: var(--Brown-800);
    font-size: 1rem;
    font-weight: 800;
    font-family: 'Outfit', serif;
}

.nutrition h2 { 
    color:var(--Brown-800);
    font-family: 'Young Serif', serif;
    font-size: 1.8rem;
    font-weight: 400;
    margin: 2rem 0 1rem 0;
}

.nutrition p {
    color: var(--Stone-600);
    font-family: 'Outfit', serif; 
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 400;
}

.nutrition .nutrition-sidebar {
    margin: 1.5rem 0rem;
}

.nutrition-item {
    display: flex;
    margin: 0.5rem 0;
    border-bottom:1px solid var(--Stone-150);
    padding-bottom: 0.5rem;
}

.nutrition-item:last-child {
  border-bottom: none;
}


.nutrition-item .label {
    flex: 0.5;
    color: var(--Stone-600);
    font-family: 'Outfit', serif; 
    font-size: 1.2rem;
    font-weight: 400;
    padding-left: 2rem;
}

.nutrition-item .value {
    color: var(--Brown-800);
    font-family: 'Outfit', serif; 
    font-size: 1.2rem;
    font-weight: 600;
    text-align:start;
    padding-left: 4rem;
}
    
.attribution { 
    font-size: 11px; 
    text-align: center; 
}
.attribution a {
    color: hsl(228, 45%, 44%); 
}

/* Mobile Responsive */
@media (max-width: 425px) {
    body {
        padding: 2rem;
    }

    article {
        width: 21rem;
        height: 135rem;
        padding: 1.5rem;
    }

    .card-conteiner img {
        width: 100%;
        height: auto;
    }

    .prep-time {
        width: 100%;
        height: auto;
    }
}