@import url('https://fonts.googleapis.com/css2?family=Source+Code+Pro:ital,wght@0,200..900;1,200..900&display=swap');

:root {
    --sectionHeight: 100vh;

    --background: black;
    --primary: #00a2ff;
    --accent: #355394;
    --text: #ffffff;
}

* {
    margin:0;
    padding:0;
    color: var(--text);
}

body {
    background: var(--background);
}

.sectionTitle {
    font-family: 'Source Code Pro', monospace;
    font-size: 10vw;
    white-space: nowrap;
    overflow: hidden;

    background: -webkit-linear-gradient(-90deg, var(--primary), var(--accent));
    -webkit-text-fill-color: transparent;
    background-clip:text;
}


.cardTitle {
    font-family: 'Source Code Pro', monospace;
    font-size: 6vw;
    text-wrap:wrap;
    white-space: nowrap;
    overflow: hidden;

    background: -webkit-linear-gradient(-90deg, #00e1ff, #0e96f1);
    -webkit-text-fill-color: transparent;
    background-clip:text;

    text-wrap:auto;

}

/* PROJECTS SECTION */
.projects {
    min-height: calc(var(--sectionHeight) - 20px);
    height: fit-content;
    border-bottom: 10px double var(--accent);
    padding-top: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
}


/* CARDS FOR PROJECTS */

.projectsContainer {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap:20px;
}

.projectCard {
    margin-top: 30px;
    width: 75%;
    aspect-ratio: 5/6;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    overflow: hidden;
    border-radius: 25px;
    border: 4px solid var(--primary);
}
.projectCard * {
    font-family: 'Source Code Pro', monospace;
}
.bottomPart {
    background: rgba(0,0,0,.6);
    height: 15%;
    transition: height .5s;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    padding: 10px;
    
    overflow-y: overlay;
    overflow-x: hidden !important;
}

.bottomPart p,
.bottomPart .buttons{
    display:none;
}

.buttons {
    width: 100%;

    display: flex;
    justify-content: flex-end;
    gap:10px;
    padding-right: 10px;
}

.git-btn, .link-btn {
    width: min(20%, 75px) !important;
    aspect-ratio: 1/1;
    border:none;
    border-radius: 50%;
    background-color: rgb(59, 59, 59, .25);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 24px;
    transition: background-color 500ms ease-in-out;
}
.git-btn:hover, .link-btn:hover {
    background-color: rgb(59, 59, 59, 1);
}

.activeCard .bottomPart {
    height: 95%;
}

.activeCard p{
    display: block
}
.activeCard .buttons {
    display:flex;
}

#stuf {
    margin:10px;
}

@media only screen and (min-width: 450px) {
    .projectsContainer {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 20px;
        justify-content: space-between;
        max-width: 90%;
        width:90%;
    }

    .projectCard {
        margin-top: 20px;
        width: 100%;
        aspect-ratio: 4 / 3;
    }

    .bottomPart {
        font-size: 1rem; /* Adjust font size for tablet screens */
    }

    .cardTitle {
        font-size: calc(0.8rem + 1vw); /* Responsive font size for card titles */
    }

    .sectionTitle {
        font-size: calc(1rem + 1.5vw); /* Ensures section title is always larger than card title */
    }
}

@media only screen and (min-width: 1024px) {
    .projectsContainer {
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    }

    .projectCard {
        aspect-ratio: 16 / 9;
    }

    .bottomPart, .cardTitle {
        font-size: 1.2rem; /* Larger text for desktop screens */
    }

    .sectionTitle {
        font-size: calc(1.2rem + 2vw); /* Even larger to ensure it stands out */
    }
}