body {
    font-family: Arial, sans-serif;
    background: #f0f0f0;
}

/* .container { max-width: 1200px; margin: 20px auto; }
.cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 20px; }
.card { background: #fff; border-radius: 8px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.1); }
.card img { width: 100%; display: block; }
.card-content { padding: 10px; display: flex; flex-direction: column; justify-content: space-between; min-height:165px; }
.card-content h3 { margin: 0 0 5px; font-size: 1.1em; }
.card-content p { margin: 0 0 5px; color: #555; font-size: 0.9em; }
.card-content p.trailer-released { font-size: 0.7em; margin-top: auto; }
.card-content a { text-decoration: none; color: #007bff; font-weight: bold; }
.card-content a:hover { text-decoration: underline; } */
/* --- Global Container --- */
.container {
    max-width: 1200px;
    margin: 20px auto;
}

/* --- 🚀 Grid Layout (.cards) --- */
.cards {
    display: grid;
    /* Increased minimum width and gap for a cleaner look */
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 25px;
}

/* --- 🌟 The Card (.card) --- */
.card {
    background: #fff;
    /* Increased border-radius for a softer, modern look */
    border-radius: 12px;
    overflow: hidden;
    /* Soft, deeper shadow for a 'floating' feel */
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);

    /* Add smooth transition for the hover effect */
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1),
        box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.card:hover {
    /* Lift and deepen shadow on hover */
    transform: translateY(-8px);
    box-shadow: 0 16px 30px rgba(0, 0, 0, 0.2);
}

.card a {
    text-decoration: none;
    color: inherit;
    display: unset;
}

.card img {
    width: 100%;
    display: block;
    /* Optional: Slight effect on the image itself */
    transition: filter 0.3s ease-in-out;
}

.card:hover img {
    filter: brightness(1.05);
}

/* --- Card Content (.card-content) --- */
.card-content {
    padding: 15px 20px;
    /* Increased padding for more space */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    /* You can remove or adjust min-height, but it's fine for structure */
    min-height: 165px;
}

/* Title */
.card-content h3 {
    margin: 0 0 8px;
    /* Slightly more space below the title */
    font-size: 16px;
    /* Slightly larger title */
    font-weight: 600;
    /* Bolder title for better hierarchy */
    color: #1e293b;
    /* Darker, less harsh black */
}

/* Release Date Paragraph */
.card-content p {
    margin: 0 0 5px;
    color: #64748b;
    /* Subdued color for metadata */
    font-size: 0.9em;
}

/* Time Ago Stamp */
.card-content p.trailer-released {
    font-size: 0.8em;
    color: #94a3b8;
    /* Lighter color for least important info */
    margin-top: auto;
    padding-top: 5px;
    /* Visual separation from link/date */
    border-top: 1px solid #f0f4f8;
    /* Very light separator line */
}

@media (max-width: 768px) {
    .cards {
        grid-template-columns: none;
    }

    .cards .card a {
        display: flex;
    }

    .cards .card a .card-image {
        min-width: 150px;
        max-width: 150px;
    }

    .cards .card a .card-content {
        min-height: auto;
    }
}