/* ---------- COLOURS ---------- */

:root{

    --green:#8FA582;
    --green-dark:#62735A;
    --cream:#F7F6EE;
    --light:#FFFDF8;
    --yellow:#FBF8D7;
    --shadow:rgba(0,0,0,.08);

}

*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

body{

    font-family:Arial,Helvetica,sans-serif;
    background:var(--cream);
    color:#444;

}


/* ---------- HEADER ---------- */

header{

    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:20px 60px;

    background:white;

    position:sticky;
    top:0;

    z-index:100;

    box-shadow:0 5px 15px var(--shadow);

}

.logo img{

    height:65px;

}

nav{

    display:flex;
    gap:35px;

}

nav a{

    text-decoration:none;
    color:var(--green-dark);
    font-weight:bold;

}

nav a:hover{

    color:var(--green);

}

.actions{

    display:flex;
    gap:10px;

}

input,
select{

    padding:10px 15px;

    border-radius:30px;

    border:none;

    background:#F2F2F2;

}

#cartButton{

    background:var(--green);

    color:white;

    border:none;

    border-radius:50px;

    padding:12px 18px;

    cursor:pointer;

}

#cartButton:hover{

    background:var(--green-dark);

}


/* ---------- HERO ---------- */

.hero{

    padding:80px 40px;

    text-align:center;

    background:linear-gradient(
        180deg,
        white,
        var(--cream)
    );

}

.hero h1{

    font-size:52px;

    color:var(--green-dark);

    margin-bottom:20px;

}

.hero p{

    max-width:700px;

    margin:auto;

    line-height:1.8;

}

.shopButton{

    margin-top:35px;

    padding:15px 35px;

    border:none;

    border-radius:40px;

    background:var(--green);

    color:white;

    cursor:pointer;

    font-size:18px;

}

.shopButton:hover{

    background:var(--green-dark);

}


/* ---------- PRODUCTS ---------- */

.products{

    padding:60px;

}

.products h2{

    text-align:center;

    margin-bottom:35px;

    color:var(--green-dark);

}

#productGrid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));

    gap:25px;

}


/* ---------- PRODUCT ---------- */

.product{

    background:white;

    border-radius:20px;

    overflow:hidden;

    box-shadow:0 10px 20px var(--shadow);

    transition:.3s;

}

.product:hover{

    transform:translateY(-8px);

}

.image{

    height:220px;

    background:
    repeating-radial-gradient(

        circle at center,

        var(--green) 0px,

        var(--green) 18px,

        var(--yellow) 18px,

        var(--yellow) 36px

    );

}

.info{

    padding:20px;

}

.info h3{

    margin-bottom:10px;

}

.price{

    color:var(--green-dark);

    font-size:22px;

    font-weight:bold;

    margin:15px 0;

}

.rating{

    color:gold;

    margin-bottom:15px;

}

.addButton{

    width:100%;

    border:none;

    background:var(--green);

    color:white;

    padding:14px;

    border-radius:12px;

    cursor:pointer;

}

.addButton:hover{

    background:var(--green-dark);

}


/* ---------- NEWSLETTER ---------- */

.newsletter{

    background:white;

    padding:70px;

    text-align:center;

    margin-top:50px;

}

.newsletter input{

    width:320px;

    max-width:90%;

    margin:20px;

}


/* ---------- FOOTER ---------- */

footer{

    background:var(--green-dark);

    color:white;

    padding:40px;

    text-align:center;

}

.footerLinks{

    margin-top:20px;

}

.footerLinks a{

    color:white;

    text-decoration:none;

    margin:0 15px;

}


/* ---------- MOBILE ---------- */

@media(max-width:900px){

header{

    flex-direction:column;

    gap:20px;

}

nav{

    flex-wrap:wrap;

    justify-content:center;

}

.actions{

    flex-direction:column;

    width:100%;

}

input,
select,
#cartButton{

    width:100%;

}

.hero h1{

    font-size:36px;

}

.products{

    padding:25px;

}

}