@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@300;400;500;600;700&display=swap');
/*
    Quicksand:
    300: light
    400: regular
    500: medium
    600: semibold
    700: bold
*/

:root {
    --primary: #2fa1af;
    --primary-light: #baebf0;
    --light: #def5f5;
    --dark: #06394a;
    --accent: #2a8d28;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background-color: var(--light);
    color: var(--dark);
    font-family: 'Quicksand', sans-serif;
}

.site-header {
    display: grid;
    grid-template-rows: 3rem;
    grid-template-columns: auto 1fr auto auto;
    grid-template-areas: "logo links search user";
    column-gap: 1rem;

    padding: 0.5rem;
    align-items: center;

    background-color: var(--primary);
    color: var(--light);
}

.site-header a {
    color: var(--light);
    text-decoration: none;
    font-weight: 500;
}

.site-header > .logo {
    grid-area: logo;
    height: 2.5rem;
}

.site-header > .logo > img {
    height: 100%;
}

.site-header > .links {
    grid-area: links;
    display: flex;
    margin-left: 0.5rem;
    column-gap: 1rem;
}

.site-header > .search {
    width: 15rem;
    height: 2rem;
    grid-area: search;
    display: grid;
    grid-template-columns: 1fr 1rem;
}

.site-header > .search > input {
    grid-column: 1 / -1;
    grid-row: 1;
    background-color: var(--light);
    border-radius: 1rem;
    border: 2px solid black;
    padding: 0.3rem 1rem;
}

.site-header > .search > button {
    grid-column: 2;
    grid-row: 1;
    margin-right: 1rem;
    padding: 0;

    display: flex;
    justify-content: center;
    align-items: center;

    background-color: transparent;
    border: none;
}

.site-header > .search > button > img {
    height: 1rem;
}

.site-header > .user {
    grid-area: user;
    height: 100%;
    display: flex;
    align-items: center;
    column-gap: 0.5rem;
}

.site-header > .user > img {
    height: 2rem;
}

@media screen and (max-width: 800px) {
    .site-header {
        grid-template-rows: 3rem 2rem;
        grid-template-areas:
            "logo links links user"
            "search search search search";
        row-gap: 0.5rem;
    }

    .site-header > .search {
        width: 100%;
    }
}

main {
    max-width: 60rem;
    margin: 30px auto 0;
    padding: 0 1rem;
}

.recommendations {
    width: 20rem;
    height: fit-content;
    padding: 0.2rem 0.4rem 0.5rem;
    background-color: var(--primary-light);
    border-radius: 1rem;
    border-bottom: 0.1rem solid var(--dark);
    /* border: 0.2rem solid var(--primary); */
}

.recommendations h2 {
    margin: 0;
}

.recommendations .review-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.review-list .review {
    color: inherit;
    text-decoration: none;
    display: grid;
    min-height: 4rem;
    grid-template-columns: 4rem auto 1fr;
    gap: 0.2rem;
    align-items: center;
}

.review-list .review .score {
    justify-self: end;
    color: var(--primary);
    /* text-shadow: 0 0 0.2em var(--dark); */
    font-weight: 700;
}

.review-list .review img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.review-list .review .title {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.review-list .review .title * {
    margin: 0;
}

.rating {
    display: inline-flex;
    gap: 0.1rem;
}

.star {
    display: inline-block;
    background-image: url("resources/icons/star-empty.png");
    background-size: contain;
    width: 1em;
    height: 1em;
}

.star.filled {
    background-image: url("resources/icons/star-filled.png");
}