@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&family=Space+Grotesk:wght@300..700&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Sofia+Sans+Semi+Condensed:ital,wght@0,1..1000;1,1..1000&display=swap');


:root {
  /* Colors */
  --color-primary: #000;
  --color-secondary: #1E1E1E;
  --color-border: ;

  /* Typography */
  /* --font-family-primary: "Space Grotesk", sans-serif; */
    --font-family-primary: "Sofia Sans Semi Condensed", sans-serif;
  --font-family-secondary: "Roboto", sans-serif ;
  --font-size-sm: 0.875rem;
  --font-size-md: 48px;
  --font-size-lg: 70px;
  --font-size-xl: 2rem;
  --line-height: 1.5;

  /* Spacing (use scale 4, 8, 16, etc.) */
  /* --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px; */

  /* Border radius & shadow */
  /* --radius-sm: 4px;
  --radius-md: 8px;
  --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.1); */
}

.hidden {
  display: none;
}

    .filter-container {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        width: 100%;
        padding: 0 0 2rem;
        border-bottom: 2px solid #00000060;
        
        p{
            width: 40%;
            font-family: var(--font-family-secondary);
            font-size: 16px;
            font-weight: 500;
            color: #00000080;
        }

        .filters {
            display: flex;
            flex-direction: row;
            gap: 2rem;
            
        }

        a {
            color: #00000060;
        }
    }

    .projects-container {
        display: flex;
        flex-direction: column;
        height: fit-content;
    }

    .project {
        display: flex;
        height: 350px;
        flex-direction: row;
        width: 100%;
        padding: 2rem 0;
        gap: 1rem;
        justify-content: space-between;
        border-bottom: 2px solid #00000060;
    }

    
.project-info {
  font-family: var(--font-family-secondary);

  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
}

.project-info h3 {
    font-family: var(--font-family-primary);
  font-size: 32px;
  text-transform: uppercase;
  font-weight: 600;
  color: #000000;
}

.project-info p {
    font-size: 16px;
    color: #00000080;
    width: 90%;
}

.project-info a {
  display: flex;
  flex-direction: row;
  align-items: center;
  text-transform: uppercase;
  color: #000000;
  font-size: 16px;
  font-weight: 500;
  width: max-content;
  border-bottom: 2px solid #00000060;
}


    .project-img-1, .project-img-2 {
        flex: 1;
    }

    .project-img-1 img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .project-img-2 img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .filters a:hover {
  border-bottom: 2px solid #00000060;
}

/* ACTIVE STATE */
.filters a.active {
  font-weight: 600;
  border-bottom: 2px solid #000;
}


    /* Project Description */

    .project-header-img {
        width: 100%;
        object-fit: cover;
        height: 400px;
    }

    .project-description {
        display: flex;
        flex-direction: row;
        height: 70vh;
        justify-content: space-between;
        gap: 5rem;

    }

    .about-project {
        text-align: end;
    }

    .project-specs {

        display: flex;
        flex-direction: column;
        gap: 2rem;
        
        p {
            font-size: 20px;
            font-family: var(--font-family-secondary);
            font-weight: 400;
            color: #00000080;
        }
        ul {
            list-style: none;
        }

        li {
            width: 100%;
            text-transform: uppercase;
            font-size: 16px;
            color: #00000080;
            font-family: var(--font-family-secondary);
            border-bottom: 2px solid #00000060;
            padding: 1rem 0;
        }
       }

       .project-gallery {
    display: grid;
    height: 150vh;
    width: 100%;
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: repeat(6, 1fr);
    gap: 8px;
       }

    .project-gallery img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform 0.4s ease;
}

.img1 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
}

.img2 {
    grid-column: span 4 / span 4;
    grid-row: span 2 / span 2;
    grid-column-start: 3;
}

.img3 {
    grid-column: span 3 / span 3;
    grid-row: span 2 / span 2;
    grid-row-start: 3;
}

.img4 {
    grid-column: span 3 / span 3;
    grid-row: span 2 / span 2;
    grid-column-start: 4;
    grid-row-start: 3;
}

.img5 {
    grid-column: span 4 / span 4;
    grid-row: span 2 / span 2;
    grid-row-start: 5;
}

.img6 {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-column-start: 5;
    grid-row-start: 5;
}


@media screen and (max-width: 1024px) {

     .project-description {
        flex-direction: column;
        height: fit-content;
    }

    .project-description img {
        width: 100%;
        height: 350px;
    }

    
        .project-gallery {
        height: auto;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: auto;
    }
    /* Remove manual placements → auto-flow for neat layout */
    .project-gallery img {
        height: 250px;
    }
    .project-gallery img[class^="img"] {
        grid-column: span 1 !important;
        grid-row: auto !important;
    }

}

@media screen and (max-width: 480px) {

    section {
        padding: 0 20px;
    }

    .filter-container {
        font-size: 14px;
        flex-direction: column;
        gap: 2rem;
    }

    .filter-container p {
        width: 100%;
    }

    .filters a {
        font-size: 14px;
    }

    .project {
        flex-direction: column;
        height: fit-content;
    }

    .project-info {
        gap: 1rem;
    }

    .project-info h3 {
        font-size: 2rem;
    }

    .project-info p {
        font-size: 20px;
    }



    /* Individual project page */

    .project-description {
        flex-direction: column;
        height: fit-content;
    }

    .project-description img {
        width: 100%;
        height: 350px;
    }

        .project-gallery {
        grid-template-columns: 1fr;
    }
    .project-gallery img {
        height: 220px;
    }

}