body {
    background: #f6f9fc00;
    font-family: "Josefin Sans", sans-serif;
    color: #ffffff00;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.container {
    display: flex;
    flex-wrap: wrap; /* Allows cards to wrap to the next row */
    justify-content: center;
    gap: 16px; /* Space between cards */
    padding: 16px;
}

.photo-card {
    background-color: rgba(126, 126, 126, 0.551); /* Mildly transparent white */
    border-radius: 2px;
    overflow: hidden;
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
    width: calc(25% - 32px); /* 4 columns with spacing */
    max-width: 400px; /* Prevents cards from becoming too wide */
    box-sizing: border-box;
}

.photo-card > .image {
    border-radius: 2px 2px 0 0;
    width: 100%; /* Ensures the image spans the card width */
    height: auto;
}

.photo-card > .heading,
.photo-card > .description,
.photo-card > .actions {
    padding: 0 20px;
}

.photo-card > .heading .title {
    color: #eeeeee; /* Light text color for title */
    margin: 10px 0 5px;
}

.photo-card > .heading .subtitle {
    color: #cccccc; /* Softer light color for subtitle */
    font-size: 16px;
    margin: 0;
}

.photo-card > .description {
    color: #dddddd; /* Light gray text for description */
    font-size: 14px;
    line-height: 1.5; /* Slightly increased line spacing for readability */
}

.photo-card > .actions {
    border-top: 1px solid rgba(204, 204, 204, 0.5); /* Light and subtle border */
    padding: 15px 0; /* Adds spacing for actions */
    text-align: center;
}

.photo-card > .actions > .button {
    display: inline-block; /* Inline-block allows buttons to adjust width */
    background: rgba(0, 123, 255, 0.8); /* Semi-transparent button background */
    color: white;
    text-decoration: none;
    padding: 10px 20px;
    border-radius: 4px;
    font-size: 14px;
    transition: background 0.4s, color 0.4s;
}

.photo-card > .actions > .button:hover {
    background: rgba(0, 86, 179, 0.9); /* Slightly darker on hover */
    color: #ffffff;
}

@media (max-width: 768px) {
    .photo-card {
        width: calc(50% - 32px); /* 2 columns with spacing */
    }
}

@media (max-width: 480px) {
    .photo-card {
        width: calc(100% - 32px); /* Single column layout */
    }

    .photo-card > .heading .subtitle {
        font-size: 14px; /* Adjust subtitle size for smaller screens */
    }

    .photo-card > .description {
        font-size: 12px; /* Adjust description size for smaller screens */
    }

    .photo-card > .actions > .button {
        font-size: 12px; /* Adjust button size for smaller screens */
        padding: 8px 16px; /* Adjust padding for smaller screens */
    }
}
