@import url('https://fonts.googleapis.com/css2?family=League+Spartan:wght@100..900&display=swap');

:root {
    --Very-Dark-Magenta: hsl(300, 43%, 22%);
    --Dark-Grayish-Magenta: hsl(303, 10%, 53%);
    --Light-Grayish-Magenta: hsl(300, 24%, 96%);
    --Soft-Pink: hsl(333, 80%, 67%);
    --White: hsl(0, 0%, 100%);
}

* {
    margin: 0;
    padding: 0;
    font-family: "League Spartan", sans-serif;
}

body {
    height: 100%;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}


/* Container - Outside Box area */
.container {
    padding-top: 4.8rem;
    width: 90%;
    display: flex;
    flex-direction: column;
    gap: 50px;
    transition: all 500ms ease;
}


/* Introducion - 1st Div area */
.intro {
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 20px;
    
    h1.title {
        color: var(--Very-Dark-Magenta);
        font-size: 38px;
        font-weight: 700;
    }
    
    p {
        color: var(--Very-Dark-Magenta);
        line-height: 1.3;
        font-size: 18.5px;
    }
}


/* User Ratings - 2nd Div area */
.ratings {
    display: flex;
    flex-direction: column;
    gap: 15px;
    text-align: center;
    
    .rating {
        padding: 20px 0;
        background-color: var(--Light-Grayish-Magenta);
        border-radius: 7px;
    }
    
    p {
        margin-top: 10px;
        color: var(--Very-Dark-Magenta);
        font-weight: 700;
    }
}


/* User Reviews - 3rd Div area */
.reviews {
    display: flex;
    flex-direction: column;
    gap: 20px;
    
    * { color: var(--White); }
    
    .review {
        padding: 2.5rem;
        background-color: var(--Very-Dark-Magenta);
        display: flex;
        flex-direction: column;
        gap: 20px;
        border-radius: 7px;
    }
    
    .top {
        display: flex;
        align-items: center;
        gap: 20px;
    }
    
    .profile {
        width: 36px;
        border-radius: 50%;
    }
    
    h3.name {
        font-size: 17px;
        font-weight: 700;
    }
    
    h4.verification {
        margin-top: 5px;
        font-weight: 500;
        color: var(--Soft-Pink);
    }
    
    p.brief {
        line-height: 1.3;
        margin-right: 10px;
    }
}


/* Individual Elements style */
.coder, .coder * {
    padding: 20px 0 2rem;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
}


/* Responsive Design - Media Queries */
@media screen and (min-width:445px) {
    .container { width: 400px; }
}

@media screen and (min-width:1200px) {
    .container {
        width: 1100px;
        padding: 2rem 0 0;
        display: grid;
        grid-template: repeat(2, auto) / repeat(2, 1fr);
        gap: 70px 50px;
    }
    
    .intro {
        grid-area: 1 / 1 / 2 / 2;
        text-align: left;
        margin-right: 4rem;
        gap: 30px;
        
        h1.title { font-size: 52px; }
    }
    
    .ratings {
        grid-area: 1 / 2 / 2 / 3;

        >:nth-child(2), >:nth-child(3) { margin-left: 50px; }

        >:nth-child(3) { margin-left: 100px; }
        
        .rating {
            width: 425px;
            padding: 1.4rem 30px;
            display: flex;
            align-items: center;
            gap: 30px;
            box-sizing: border-box;
        }

        p { margin: 0; }
    }
    
    .reviews {
        grid-area: 2 / 1 / 3 / 3;
        display: grid;
        grid-template: 1fr / repeat(3, 1fr);
        gap: 30px;

        >:nth-child(2) { margin-top: 25px; }

        >:nth-child(3) { margin-top: 50px; }

        .review {
            height: 215px;
            box-sizing: border-box;
        }

        .profile { width: 43px; }

        p.brief { font-size: 15px; }
    }
}