/* PROJETS */
.projects {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 60px;
    padding: 20px 0px 60px;
}

.project {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    width: 100%;
    border: 2px solid var(--box-shadow);
    border-radius: 30px;
    box-shadow: 6px 6px var(--box-shadow);
    background-color: var(--white);
    overflow: hidden;

    &.reverse {
        flex-direction: row-reverse;
    }

    .project-visual {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 55%;
        background-color: var(--vert-sarcell-800);
        overflow: hidden;

        img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: top left;
            transition: 0.4s all ease-in-out;
        }

        &:hover img {
            transform: scale(1.03);
        }
    }

    .project-body {
        display: flex;
        flex-direction: column;
        align-items: start;
        width: 45%;
        padding: 40px;
        gap: 15px;

        .project-tag {
            font-family: "Hanken Grotesk", sans-serif;
            font-size: 0.85em;
            font-weight: 500;
            letter-spacing: 1px;
            text-transform: uppercase;
            color: var(--vert-sarcell-500);
        }

        h2 {
            font-family: "Fredoka", sans-serif;
            font-size: 2.2em;
            font-weight: 600;
            color: var(--text-principal);
        }

        p {
            font-family: "Hanken Grotesk", sans-serif;
            font-size: 1.05em;
            font-weight: 300;
            color: var(--text-secondaire);
        }
    }

    .project-features {
        display: flex;
        flex-direction: column;
        gap: 8px;
        list-style: none;

        li {
            display: flex;
            align-items: start;
            gap: 10px;
            font-family: "Hanken Grotesk", sans-serif;
            font-size: 0.95em;
            color: var(--text-principal);

            i {
                margin-top: 3px;
                color: var(--vert-sarcell-500);
            }
        }
    }

    .project-stack {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;

        span {
            padding: 5px 12px;
            border-radius: 20px;
            border: 1px solid var(--vert-sarcell-300);
            background-color: var(--vert-sarcell-50);
            font-family: "Fredoka", sans-serif;
            font-size: 0.85em;
            color: var(--vert-sarcell-800);
        }
    }

    .project-link {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-top: 5px;
        padding: 12px 24px;
        border: 2px solid var(--box-shadow);
        border-radius: 50px;
        box-shadow: 4px 4px var(--box-shadow);
        background-color: var(--vert-sarcell-800);
        color: var(--white);
        font-family: "Fredoka", sans-serif;
        font-weight: 500;
        text-decoration: none;
        transition: 0.3s all ease-in-out;

        &:hover {
            transform: translateY(4px);
            box-shadow: 0px 0px var(--box-shadow);
        }
    }
}

/* COMPÉTENCES */
.skills {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: 100%;
    gap: 20px;

    .skill {
        display: flex;
        flex-direction: column;
        align-items: start;
        gap: 12px;
        padding: 25px;
        border: 2px solid var(--box-shadow);
        border-radius: 20px;
        box-shadow: 6px 6px var(--box-shadow);
        background-color: var(--white);

        .round {
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 15px;
            border-radius: 20px;
            border: 2px solid var(--vert-sarcell-800);
            background-color: var(--vert-sarcell-50);
            color: var(--vert-sarcell-800);
        }

        h3 {
            font-family: "Fredoka", sans-serif;
            font-size: 1.4em;
            font-weight: 600;
            color: var(--text-principal);
        }

        p {
            font-family: "Hanken Grotesk", sans-serif;
            font-weight: 300;
            color: var(--text-secondaire);
        }
    }
}

@media (max-width: 1024px) {
    .project,
    .project.reverse {
        flex-direction: column;

        .project-visual,
        .project-body {
            width: 100%;
        }

        .project-visual img {
            height: auto;
        }
    }

    .skills {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .projects {
        gap: 40px;
    }

    .project {
        border-radius: 20px;

        .project-body {
            padding: 25px;

            h2 {
                font-size: 1.8em;
            }
        }
    }

    .skills {
        grid-template-columns: 1fr;
    }
}
