*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
}

:root {
    --color-text-one: #111;
    --color-text-two: #FCFCFC;
    --color-text-three: rgb(194, 194, 194);
    --color-bg: #FCFCFC;
    --color-border: #111;
    --color-icons: #111;
    --color-buttons: rgb(253, 99, 163);
    --color-details: rgb(232, 232, 232);
}

body {
    font-family: sans-serif;
    color: var(--color-text-one);
}

main {
    background-color: var(--color-bg);
}


h1 {
    text-transform: uppercase;
    text-align: start;
    font-size: 1.5em;
    margin: 1em;
}

header nav {
    display: flex;
    justify-content: center;
    color: var(--color-text-one);
    border-bottom: 1px solid var(--color-details);
    padding: 1em 0;

    & ul {
        display: flex;
        gap: 1em;
        padding: 0;

        & li {
            list-style: none;
        }

        & a {
            text-decoration: none;
            color: var(--color-text-three);
            font-weight: bold;
        }
    }

    li:nth-of-type(1) a {
        color: var(--color-text-one);
    }
}

.main-container {
    display: flex;
    flex-direction: column;
    gap: 3em;
    padding: 2.5em;
    justify-content: center;
    align-items: center;
}

h1 {
    text-transform: uppercase;
    text-align: center;
}

.post-container {
    height: 70svh;
    min-height: 700px;
    width: 70vw;
    max-width: 550px;
    min-width: 350px;
    background-color: var(--color-bg);
    border-radius: 20px;
    padding: 1em 1.5em;

    display: grid;
    grid-template-areas:
    "header"
    "post"
    "likes-container"
    "caption"
    "comment";
    grid-template-rows: auto 375px min-content auto auto;
    gap: .5em;

    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.6)
}

.header {
    grid-area: header;
    display: flex;
    align-items: center;
    gap: 1em;

    & .pp {
        border-radius: 50%;
        border: 1px solid var(--color-border);
        width: 50px;
        height: 50px;
        object-fit: cover;
    }

    & h2 {
        font-size: 1.25rem;
    }

    .play-audio {
        background: none;
        border: none;
        margin-left: auto;

        & .audio {
            display: block;
            fill: var(--color-icons);
            stroke: var(--color-icons);

            width: 30px;
            height: 30px;
        }
    }
}

.post {
    grid-area: post;
    display: block;
    border-radius: 15px;
    width: 100%;
    height: 375px;
    object-fit: cover;
    
}

.likes-container {
    grid-area: likes-container;
}

.likes {
    display: flex;
    align-items: center;
    align-self: center;

    & .heart-button,
    .comment-button {
        background: none;
        border: none;
    }

    & .heart {
        fill: var(--color-icons);
    }

    & .comment {
        stroke: var(--color-icons);
    }
}

.likes-count {
    font-weight: bold;
    align-self: center;
    padding-top: .5em;
}

.caption {
    grid-area: caption;
    display: flex;
    align-items: start;
    margin-top: 1em;
    gap: .75em;
}

.add-comment {
    grid-area: comment;
    display: flex;
    gap: 1em;
    align-items: center;

    & .user-comment {
        width: 90%;

        & input {
            color: var(--color-border);
            width: 100%;
            height: 3em;
            background-color: transparent;
            border-radius: 20px;
            border: 1px solid var(--color-border);
            padding: 1em;

            &::placeholder {
                color: lightgray;
            }
        }
    }
}