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


/* REquired color scheme*/
: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%);
}

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Outfit", sans-serif;
}

body{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: var(--Stone_100);
    padding: 100px;

}

.container{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: var(--White);
    width: 800px;
    border-radius: 20px;
    padding: 30px;
    
}

/* Image and header section CSS  */
.wrapper .image-card img{
    width: 100%;
    height: auto;
    border-radius: 15px;
    
}

header {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 10px;
}

h1{
    font-family: "Young Serif", serif;
    font-size: 2.7rem;
    font-weight: 500;
    color: var(--Stone_900);
}

.title-desc{
    margin: 20px 0;
    font-size: 1.1rem;
    color: var(--Stone_600);

}

/* Preparation Time CSS */
.pre-time{
    background: var(--Rose_50);
    padding: 25px;
    border-radius: 15px;
    margin: 20px 0 5px 0;
}

.preparation-wrapper{
    margin: 0 20px;
}

.preparation{
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 60px;
    padding-bottom: 10px;
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--Rose_800);
}

.prep-list{
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 0 25px;
    color: var(--Stone_600);
}

section ul li,
div ul li{
    padding-left: 1rem;
}

span.head{
    font-size: 1rem;
    font-weight: 700;
    color: var(--Stone_600);

}

/* Ingredients section CSS  */

article{
    margin: 0 20px;
}

section{
    margin: 20px 0;
}

section .header{
    font-family: "Young Serif", serif;
    font-size: 1.7rem;
    font-weight: 500;
    color: var(--Brown_800);
    padding: 5px 0 20px 0;
}

ul.down,
ol.down {
    padding: 0 0 35px 20px;
    border-bottom: 1px solid var(--Stone_150);
    
}

ol li{
    color: var(--Stone_600);
    padding-left: 1em;
}

::marker{
    font-weight: 900;
    color: var(--Brown_800);
}

/* Nutrition section CSS  */

.nutrition-desc{
    margin-bottom: 20px;
    font-size: 1.1rem;
    color: var(--Stone_600);
}

.nutrition-tab{
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 15px;
    list-style-type: none;
    color: var(--Stone_600);
}

span.main-val{
    width: 40%;
}

.first-val{
    display: flex;
    border-bottom: 1px solid var(--Stone_150);
    padding: 0 0 15px 30px;
    gap: 55px;
}

.first-val:last-child{
    border-bottom: none;
}

.nd-val{
    font-size: 1rem;
    font-weight: 900;
    color: var(--Brown_800);
}

@media screen and (max-width: 768px) {
    body{
        padding: 0;
    }
    .container{
        width: 100%;
        
    }
}

@media screen and (max-width: 460px) {
    body{
        padding: 0;
    }
    .container{
        width: 100%;
        padding: 0;
        
    }
    
    .wrapper{
        display: flex;
        flex-direction: column;
        width: 100%;
        padding: 0;
    }

    .wrapper .image-card{
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
    }

    .wrapper .image-card img{
        width: 100%;
        height: auto;
        border-radius: 0;
    }

    h1{
        font-size: 2.3rem;
        padding: 5px 20px 0 20px;
    }

    .title-desc{
        margin: 20px;
        font-size: 1.0rem;
    }
    
    .pre-time{
        padding: 10px;
        margin: 20px;
    }
    
    .preparation-wrapper{
        margin: 0 20px;
    }

    .prep-list{
        padding: 0 25px;
    }

    article{
        padding: 0 10px;
    }

}

@media screen and (max-width: 365px) {
    h1{
        font-size: 2rem;
    }
}

@media screen and (max-width: 335px) {
    h1{
        font-size: 1.9rem;
    }
    .preparation{
        font-size: 1.4rem;
    }

    .pre-time{
        padding: 15px;
        margin: 20px 10px 0 10px;
    }
}