.container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px; /* Adjust the gap between images as needed */
    padding: 10px; /* Optional: Add padding around the container */
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 1em;
}

@media screen and (max-width: 750px) {
    .container {
        grid-template-columns: repeat(1, 1fr);
        max-width: 90%;
        margin-left: auto;
        margin-right: auto;
    }
}

.container img {
    width: 100%; /* Ensure images take the full width of their grid cell */
    height: auto; /* Maintain the aspect ratio of the images */
    object-fit: cover; /* Optional: Ensure images cover their grid cell */
    border-radius: 5px; /* Optional: Add rounded corners to images */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Optional: Add a subtle shadow */
}

.hover-image {
    position: relative;
    display: inline-block;
}

.hover-image img {
    display: block;
}

.hover-image .title {
    visibility: hidden;
    width: 100%;
    height: 100%;
    background-color: #000000aa;
    text-align: center;
    position: absolute;

    z-index: 1;
    opacity: 0;
    bottom: 0%;
    transition: opacity 0.3s;
}

.hover-image .title span {
    font-size: 2em;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.hover-image:hover .title {
    visibility: visible;
    opacity: 1;
}

a {
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

.nsfw-toggle-link {
    position: absolute;
    right: 1em;
}

.artist-filter {
    display: flex;
    border: none;
    gap: 4px;
}

.artist-filter div input[type="radio"] {
    opacity: 0;
    position: fixed;
    width: 0;
}

.artist-filter div label {
    display: inline-block;
    background-color: #ddd;
    color: black;
    padding: 4px 8px;
}

.artist-filter div input[type="radio"]:checked + label {
    background-color: #444;
    color: white;
}
