



/* *************************************************************** */
/*? HEADER  */
/* *************************************************************** */
.header{
    display: flex;
    justify-content: space-between;
    align-items: center;

    background-color: #fdf2e9;

    /* ? not using padding to add vertical height  */
    /* ? bcz we will later make it sticky */
    height: 9.6rem;
    padding: 0 4.8rem;

    position: relative;
}

.logo{
    height: 2.2rem;

}



/* *************************************************************** */
/*? NAVIGATION  */
/* *************************************************************** */

.main-nav-list{
    display: flex;
    list-style: none;
    gap:4.8rem;
    align-items: center;
}

.main-nav-link:link, .main-nav-link:visited {
    display: inline-block;
    color: #333;
    font-size: 1.8rem;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.3s;
}

.main-nav-link:hover, .main-nav-link:active {
    color: #cf711f;
}

.main-nav-link.nav-cta:link, .main-nav-link.nav-cta:visited{
    padding: 1.2rem 2.4rem;
    border-radius: 9px;
    background-color: #e67e22;
    color: #fff;
}
.main-nav-link.nav-cta:hover, .main-nav-link.nav-cta:active{
    background-color: #cf711f;
}


/*? MOBILE NAVIGATION*/

.btn-mobile-nav{
    border:none;
    background: none;
    cursor: pointer;


    display: none;
}
.icon-mobile-nav{
    height: 4.8rem;
    width: 4.8rem;
    color: #333;
}

/*- Using Attribute selector */
.icon-mobile-nav[name="close-outline"]{
    display: none;
}



/*? STICKY NAVIGATION */
/*! Add new class to parent element to check if this class exists or not and then add its properties to child element to be altered */
/*- If parent has sticky class then add new header class with sticky properties to child  element */
/*- Parent here is body  */
.sticky .header{
    position:fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.97);
    z-index: 999;
    
    padding-top: 0;
    padding-bottom: 0;
    height: 8rem;
    
    box-shadow: 0 1.2rem 3.2rem rgba(0, 0, 0 , 0.03);
}

/*- If parent has sticky class then add new properties */
/*- Adding extra margin as sticky is like absolute positioning i.e. out of flow */
.sticky .section-hero{
    margin-top: 9.6rem;
}


/* *************************************************************** */
/*? HERO SECTION */
/* *************************************************************** */


.section-hero{
    background-color: #fdf2e9;
    padding: 4.8rem 0 9.6rem 0;

}


.hero-grid{
    max-width: 130rem;
    margin: 0 auto;
    padding: 0 3.2rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9.6rem;
    align-items: center;

}




.hero-description{
    font-size: 2rem;
    line-height: 1.6;
    margin-bottom: 4.8rem;
}




.hero-img{
    width: 100%;
}


.delivered-meals{
    margin-top: 8rem;
    display: flex;
    align-items: center;
    gap: 1.6rem;
}

.delivered-imgs{
    display: flex;

    /* - Not Works (to overlap images)*/
    /* gap:-1.6rem; */
}

.delivered-imgs img{
    height: 4.8rem;
    width: 4.8rem;
    border-radius: 50%;


    /* - To overlap images */
    margin-right: -1.6rem;;
    /* - To make visible space b/w images */
    border: 3px solid #fdf2e9;
}
.delivered-imgs img:last-child{
    margin: 0;
}

.delivered-text{
    font-size: 1.8rem;
    font-weight: 600;
}

.delivered-text span{
    color: #cf711f;
    font-weight: 700;
}


/* *************************************************************** */
/*? FEATURED SECTION */
/* *************************************************************** */

.section-featured{
    padding: 4.8rem 0 3.2rem 0;
}
.heading-featured-in{
    font-size: 1.4rem;
    text-transform: uppercase;
    letter-spacing: 0.75px;
    font-weight: 500;
    margin-bottom: 2.4rem;
    text-align: center;
    color: #888;
}

.logos{
    display: flex;
    justify-content: space-around;
}

.logos img{
    height: 3.2rem;
    /* ? We dont want our logos to have any color other than main color */
    /* ? Also we dont want it to be attention grabbing */
    
    /* filter: grayscale(100%); */
    filter: brightness(0);
    opacity: 50%;
}







/* *************************************************************** */
/*? HOW SECTION */
/* *************************************************************** */

.section-how{
    padding: 9.6rem 0;

}

.step-number{
    font-size: 8.6rem;
    font-weight: 600;
    color: #ddd;
    margin-bottom: 1.2rem;
}

.step-description{
    font-size: 1.8rem;
    line-height: 1.8;

}

.step-img-box{
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.step-img-box::before, .step-img-box::after{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #fdf2e9;
    border-radius: 1000px;
}

.step-img-box::before{

    width: 60%;
    /* ? This height not works */
    /* height: 60%; */
    
    /*? This height trick works */
    /* - 60% of parent's width */
    padding-bottom: 60%;

    background-color: #fdf2e9;
    z-index: -2;
}
.step-img-box::after{

    width: 45%;
    padding-bottom: 45%;
    background-color: #fae5d3;
    z-index: -1;

}

.step-img{
    max-width: 35%;
}



/* *************************************************************** */
/*? MEALS SECTION */
/* *************************************************************** */

.section-meals{
    padding: 9.6rem 0;

}

.meal{
    box-shadow: 0 2.4rem 4.8rem rgba(0,0,0,0.075);
    border-radius: 11px;
    
    /* - Image overflows and hides border radius */
    overflow: hidden;
    
    transition: all 0.4s;
}

.meal:hover{
    transform: translateY(-1.2rem);
    box-shadow: 0 3.2rem 6.4rem rgba(0,0,0,0.06);
}



.meal-img{
    width: 100%;
}

.meal-content{
    padding: 3.2rem 4.8rem 4.8rem 4.8rem;
}

.meal-tags{
    margin-bottom: 1.2rem;
    display: flex;
    gap: 0.4rem;

}
.tag{
    display: inline-block;
    padding: 0.4rem 0.8rem; 
    font-size: 1.2rem;
    text-transform: uppercase;
    color: #333;
    border-radius: 600px;
    font-weight: 600;
}


.tag--vegetarian{
    background-color: #51cf66;
}
.tag--vegan{
    background-color: #94d82d;
}
.tag--paleo{
    background-color: #ffd43b;
}
.meal-title{
    font-size: 2.4rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 3.2rem;
}

.meal-icon{
    height: 2.4rem;
    width: 2.4rem;
    color: #e67e22;
}
.meal-attributes{
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.meal-attribute{
    font-size: 1.8rem;
    display: flex;
    align-items: center;
    gap: 1.6rem;    
}



.all-recipes{
    text-align: center;
    font-size: 1.8rem;
}





/* *************************************************************** */
/*? TESTIMONIALS SECTION */
/* *************************************************************** */


.section-testimonials{
    background-color: #fdf2e9;
    display: grid;
    /* ? Using fr as percentages */
    grid-template-columns: 55fr 45fr;
    align-items: center;
}

.testimonials-container{
    padding: 9.6rem;
}

.testimonials{
    display: grid;
    grid-template-columns: 1fr 1fr;
    row-gap:4.8rem;
    column-gap: 8rem;

    
}

.testimonial-img{
    width:6.4rem;
    border-radius: 50%;
    margin-bottom: 1.2rem;
}

.testimonial-text{
    font-size: 1.8rem;
    line-height: 1.8;
    margin-bottom: 1.6rem;
}

.testimonial-name{
    font-size: 1.6rem;
    /* ? contrast below 4.5 */
    /* color:#777; */
    /* ? contrast of 4.5 */
    color: #6f6f6f;
}

.gallery{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap:1.6rem;
    padding: 1.6rem;
}

.gallery-item{
    overflow: hidden;
}

.gallery-item img{
    /* By default there is white space between images as imgs are inline element by default */
    display: block;
    width: 100%;

    transition: all 0.4s;
}

.gallery-item img:hover{
    transform:scale(1.1);
}

/* *************************************************************** */
/*? PRICING SECTION */
/* *************************************************************** */


.section-pricing{
    padding: 9.6rem 0;
}

.pricing-plan{
    /* - De-Emphasisng First plan by not giving it background color */
    /* background-color: #fdf2e9; */
    border-radius: 11px;
    /* padding: 4.8rem; */
    width: 75%;
}

.pricing-plan--starter{
    justify-self: end;

    border: 2px solid #fdf2e9;

    /*? Here due to border element shrinks 2px from all side */
    /*? Due box-sizing border-box */
    /*- so reduncing padding to compensate */
    padding: 4.6rem;
}
.pricing-plan--complete{
    background-color: #fdf2e9;
    padding: 4.8rem;
    position: relative;

    /*? To hide overflow rotated ribbon */
    overflow: hidden;
}
.pricing-plan--complete::before{
    content: "Best value";
    text-transform: uppercase;
    position: absolute;
    top: 6%;
    right: -18%;
    transform: rotate(45deg);
    background-color: #ffd43b;
    color: #333;
    padding: 0.8rem 8rem;

    font-size:1.4rem;
    font-weight: 700;
    letter-spacing: 0.75;

}

.plan-header{
    text-align: center;
    margin-bottom: 4.8rem;
}
.plan-name{
    font-size: 2rem;
    color: #cf711f;
    font-weight: 600;
    letter-spacing: 0.75;
    text-transform: uppercase;
    margin-bottom: 3.2rem;

}
.plan-price{
    font-size: 6.2rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 1.6rem;

}

.plan-price span{
    font-size: 3.2rem;
    font-weight: 500;
    margin-right: .8rem;
}
.plan-text{
    font-size: 1.6rem;
    line-height: 1.6;
    color: #6f6f6f;
}

.plan-sign-up{
    text-align: center;
    margin-top: 4.8rem;
}


.plan-details{
    font-size: 1.6rem;
    line-height: 1.6;
    text-align: center;
}



.feature-icon{
    height: 3.2rem;
    width: 3.2rem;
    color: #e67e22;
    margin-bottom: 3.2rem;
    background-color: #fdf2e9;
    
    border-radius: 50%;
    padding: 1.6rem;
}

.feature-title{
    font-size: 2.4rem;
    color: #333;
    font-weight: 700;
    margin-bottom: 1.6rem;
}

.feature-text{
    font-size: 1.8rem;
    color: #888;
    line-height: 1.8;
}





/* *************************************************************** */
/*? CTA SECTION */
/* *************************************************************** */


.section-cta{
    padding: 9.6rem 0;
    padding-bottom: 12.8rem;
    padding-top: 4.8rem;
}

.cta{
    /* display: grid; */
    grid-template-columns: 2fr 1fr;
    /* background-color: #e67e22; */
    background-image:linear-gradient(to right bottom, #eb984e, #e67e22 );
    box-shadow: 0 2.4rem 4.8rem rgba(0,0,0,0.15);
    border-radius: 11px;
    overflow: hidden;
}

.cta-text-box{
    padding: 4.8rem 6.4rem 6.4rem 6.4rem;

    color: #45260a;
}

.cta .heading-secondary{
    color: #45260a;
    margin-bottom: 3.2rem;
}

.cta-text{
    font-size: 1.8rem;
    line-height: 1.8;
    margin-bottom: 4.8rem;
}


.cta-img-box{
    background-image:linear-gradient(to right bottom, rgba(235, 151, 78, 0.35), rgb(230, 126, 34, 0.35) ), url("../img/eating.jpg");
    background-size: cover;

    /*? If image could not be displayed completely then  */
    /*? which part of image should be rendered eg top center left etc */
    background-position: center;
}
.cta-form{
    column-gap: 3.2rem;
    row-gap:2.4rem;
}

.cta-form label{
    display: block;
    font-size: 1.6rem;
    font-weight: 500;
    margin-bottom: 1.2rem;
}
.cta-form input, .cta-form select{
    width: 100%;
    padding: 1.2rem;
    font-size: 1.8rem;

    /*? To color value entered in input field */
    color: inherit;

    /*? font family is not inherited by form elements */
    font-family: inherit;

    border: none;
    background-color: #fdf2e9;
    border-radius: 9px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.1);
}
.cta-form input::placeholder{
    color: #aaa;
}

.cta *:focus{
    outline: none;
    box-shadow: 0 0 0 0.8rem rgba(253, 242, 233, 0.5);
}


/* *************************************************************** */
/*? FOOTER SECTION */
/* *************************************************************** */


.footer{
    padding: 12.8rem 0; 
    border-top: 1px solid #eee;
}

/* .footer div:nth-child(1),  */
.grid--footer{
    grid-template-columns: 1.5fr 1.5fr 1fr 1fr 1fr;
}
.logo-col{
    display: flex;
    flex-direction: column;
}

.footer-logo{
    display: block;
    margin-bottom: 3.2rem;
}
.social-links{
    list-style: none;
    display: flex;
    gap: 2.4rem;
}
.social-icon{
    height: 2.4rem;
    width: 2.4rem;
}

.copyright{
    font-size: 1.4rem;
    line-height: 1.6;
    color: #767676;

    /*? Trick to send last child element to the very last in sequence (keeping other child elements one side) */
    /*- flex in parent container + margin=auto */
    margin-top: auto;
}



.footer-heading{
    font-size: 1.8rem;
    font-weight: 500;
    margin-bottom: 4rem;
}

.contact{
    font-style: normal;
    font-size: 1.6rem;
    line-height: 1.6;
}
.address{
    margin-bottom: 2.4rem;
}

.footer-nav{
    list-style: none;
    text-decoration: none;

    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}

.footer-link:link, .footer-link:visited{
    text-decoration: none;
    font-size: 1.6rem;
    color: #767676;
    transition: all 0.3s;
}
.footer-link:hover, .footer-link:active{
    color: #555;
}


