

.resource-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); /* Max 3 columns naturally */
    gap: 80px;
    padding: 20px 0;
    margin: 0 auto;
}

.resource-card {
    display: block;
    color: inherit;
    text-decoration: none;
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    cursor: pointer;
    height: 100%;
}

.resource-card:hover,
.resource-card:focus-visible {
    transform: translateY(-8px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.resource-card img {
    width: 100%;
    height: 240px;
    border-radius: 8px;
    object-fit: cover;
}

.resource-card h3 {
    margin: 10px;
    font-size: 1.2rem;
}

.resource-card:hover h3,
.resource-card:focus-visible h3 {
    text-decoration: underline;
}

.resource-card p {
    margin: 0 10px 15px 10px;
    font-size: 0.95rem;
    color: #555;
    flex-grow: 1;
}

.resource-card p em {
    margin-left: auto;
    display: block;
    text-align: right;
}





@media (max-width: 768px) {
    .resource-grid {
        margin: 0 20px;
    }
}