.magazine-version {
    background-color: var(--color-neutral-100);
}

.keyword-bar {
    background-color: var(--color-neutral-100);
    box-shadow: 2px 15vmax 1px 17vmax var(--color-neutral-100);
}

.magazine-version .category-header__main {
    margin-bottom: 0;
}

.magazine-version .category-header {
    padding-bottom: 0;
    border-bottom: none;
}

.magazine-version__header {
    font: 700 24px var(--font-highlight);
    color: var(--color-secondary-900);
    margin-bottom: 24px;
}

.magazine-version__content {
    display: flex;
}

.magazine-version__left-col {
    width: 23.623%;
    margin-right: 24px;
}

    .magazine-version__left-col .magazine-version__header {
        margin-bottom: 8px;
    }

.post-year__item:nth-last-child(n+2) {
    margin-bottom: 8px;
}

.post-year__item > * {
    display: block;
    padding: 8px 16px;
    border-radius: 2px;
    border: 1px solid var(--color-neutral-200);
    background-color: #FFFFFFB2;
    font: 500 16px var(--font-body);
    color: var(--color-neutral-800);
}

.post-year__item--active > * {
    background-color: var(--color-secondary-900);
    color: var(--color-neutral-0);
}

    .post-year__item--active > *:hover {
        color: var(--color-neutral-0);
    }

.magazine-version__right-col {
    flex: 1;
    padding-bottom: 32px;
}

    .magazine-version__right-col > *:first-child {
        padding-bottom: 24px;
        margin-bottom: 24px;
        border-bottom: 3px solid var(--color-neutral-200);
    }

.magazine-version__list {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto;
}

.magazine__image-wrapper {
    position: relative;
    border-radius: 2px;
    overflow: hidden;
}

    .magazine__image-wrapper::before {
        content: "";
        display: block;
        padding-top: 139.16%; /* 398 / 286 × 100% */
    }

.magazine__post {
    position: relative;
}

.magazine__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.magazine__image-wrapper > *::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(360deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 100%);
}

.magazine__caption {
    position: absolute;
    right: 16px;
    bottom: 16px;
    left: 16px;
    z-index: 3;
    font: 500 16px/149% var(--font-body);
    color: var(--color-neutral-0);
    margin-top: 8px;
    margin-bottom: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2; /* number of lines */
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@media screen and (max-width: 576px) {
    .magazine-version .category-header {
        display: none;
    }

    .magazine-version,
    .keyword-bar {
        background-color: initial;
        box-shadow: none;
    }

    .magazine-version__content {
        flex-direction: column;
    }

    .magazine-version__left-col {
        width: 100%;
        margin-right: 0;
        margin-bottom: 16px;
    }

    .post-year__list {
        display: flex;
        overflow-x: auto;
    }

        .post-year__list::-webkit-scrollbar {
            width: 8px;
        }

        /* track */
        .post-year__list::-webkit-scrollbar-track {
            background: #f1f1f1;
        }

        /* thumb */
        .post-year__list::-webkit-scrollbar-thumb {
            background: #888;
            border-radius: 10px;
        }

    .post-year__item:nth-last-child(n+2) {
        margin-right: 8px;
    }

    .magazine-version__header {
        margin-bottom: 16px;
    }

    .magazine-version__list {
        gap: 16px;
        grid-template-columns: repeat(2,1fr);
    }

    .magazine-version__right-col > *:first-child {
        padding-bottom: 0;
        margin-bottom: 16px;
        border-bottom: none;
    }

    .magazine__caption {
        right: 8px;
        bottom: 8px;
        left: 8px;
    }
}
