@import "../component-loading/style.css";
@import "../component-pagination/style.css";

.article-list{
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    align-items: start;
    gap: 24px;
    padding-bottom: 80px;
}
.article-list-sidebar{
    grid-column: span 3;
    position: sticky;
    z-index: 1;
    top: calc(var(--nav-height) + 40px);
}
.article-list-cat-dropdown-trigger{
    display: flex;
    align-items: center;
    gap: 40px;
}
.article-list-cat-dropdown-trigger__text{
    text-align: start;
    color: var(--color-primary-1);
}
.article-list-cat-dropdown-trigger__svg{
    transition: transform 0.5s;
}
.article-list-cat-dropdown-trigger__svg--active{
    transform: rotate(180deg);
}
.article-list-cat-dropdown{
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .5s;
}
.article-list-cat-dropdown--active{
    grid-template-rows: 1fr;
}
.article-list-cat-dropdown__hidden{
    overflow: hidden;
}
.article-list-cat-dropdown__btn-group{
    padding-top: 45px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.article-list-cat-dropdown__btn{
    width: fit-content;
    color: var(--color-gray-3);
    padding-left: 15px;
    border-left: 5px solid var(--color-gray-2);
    transition: color 0.3s, border-left 0.3s;
}
.article-list-cat-dropdown__btn:hover,
.article-list-cat-dropdown__btn--active{
    color: var(--color-primary-1);
    border-left: 5px solid var(--color-primary-1);
}

#article-list-mobile-cat {
    display: none;
    width: 100%;
    padding: 12px;
    border-radius: 0;
    border: 1px solid var(--color-gray-3);
    color: var(--color-gray-3);
    outline: none;
}
#article-list-mobile-cat:focus,
#article-list-mobile-cat:focus-visible {
    border: 1px solid var(--color-gray-1);
    color: var(--color-gray-1);
}
.article-list-content{
    grid-column: span 9;
}
.article-list-content__title{
    margin-bottom: 60px;
}

.article-list-card{
    display: flex;
    gap: 40px;
    margin-bottom: 40px;
}
.article-list-card:has(.article-list-card__link:hover) .article-list-card__img{
    transform: scale(1.1);
}
.article-list-card__img-container{
    aspect-ratio: 3 / 2;
    border-radius: 20px;
    overflow: hidden;
    max-width: 300px;
}
.article-list-card__img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

.article-list-card__title{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-bottom: 24px;
}
.article-list-card__date{
    color: var(--color-gray-3);
}
.article-list-card__desc{
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    margin-bottom: 32px;
}
.article-list-card__link{
    color: var(--color-primary-1);
    width: fit-content;
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 10px;
    opacity: 0.2;
    transition: opacity 0.3s;
}
.article-list-card__link:hover{
    opacity: 1;
}
.article-list-card:last-child{
    margin-bottom: 0;
}
.article-list-render-area__no-data{
    text-align: center;
    padding: 100px 0;
}

@media screen and (width < 1024px) {
    .article-list{
        gap: 60px;
        grid-template-columns: 100%;
    }
    .article-list-sidebar{
        grid-column: auto;
        background-color: white;
        top: var(--nav-height);
        padding-top: 16px;
        padding-bottom: 16px;
    }
    .article-list-cat-dropdown-trigger{
        display: none;
    }
    .article-list-cat-dropdown{
        display: none;
    }
    #article-list-mobile-cat {
        display: block;
    }
    .article-list-content{
        grid-column: auto;
    }
}

@media screen and (width < 768px) {
    .article-list{
        padding-bottom: 60px;
    }
    .article-list-card{
        gap: 24px;
    }
    .article-list-card__img-container{
        aspect-ratio: 1;
        max-width: 200px;
    }
    .article-list-card__title{
        flex-direction: column;
        align-items: start;
    }
}
@media screen and (width < 576px) {
    .article-list-card{
        margin-bottom: 60px;
        gap: 40px;
        flex-direction: column;
    }
    .article-list-card__img-container{
        aspect-ratio: 3 / 2;
        max-width: none;
    }
    .article-list-card__date{
        order: -1;
    }
    .article-list-card__desc{
        margin-bottom: 40px;
    }
    .article-list-card__link{
        margin-left: 0;
    }
}