.oak-row:has(.oak-cards) {
    overflow: visible;
}

.oak-cards {
    width: 100%;
    padding: 0 var(--oak-spacing-2xl);
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: var(--oak-spacing-xl);
}
@media (max-width: 768px) {
    .oak-cards {
        gap: var(--oak-spacing-m);
    }
}

@media (max-width: 512px) {
    .oak-cards {
        gap: var(--oak-spacing-s);
    }
}

    .oak-card {
        width: 100%;
        max-width: calc((100% - (var(--oak-spacing-xl) * 2)) / 3);
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        color: var(--oak-black);
        background-color: var(--oak-white);
        border-radius: var(--oak-radius-l);
        text-decoration: none;
        outline: none;
    }

    .oak-cards.oak-theme-dark-green .oak-card {
        background-color: var(--oak-green-500);
    }

    .oak-cards.oak-theme-dark-olive .oak-card {
        background-color: var(--oak-olive-800);
    }

    .oak-cards.oak-theme-dark-orange .oak-card {
        background-color: var(--oak-orange-900);
    }

    .oak-cards.oak-theme-dark-yellow .oak-card {
        background-color: var(--oak-yellow-600);
    }

    .oak-cards.oak-theme-light-green .oak-card {
        background-color: var(--oak-green-200);
    }

    .oak-cards.oak-theme-light-olive .oak-card {
        background-color: var(--oak-olive-800);
    }

    .oak-cards.oak-theme-light-orange .oak-card {
        background-color: var(--oak-orange-500);
    }

    .oak-cards.oak-theme-light-yellow .oak-card {
        background-color: var(--oak-yellow-300);
    }

    .oak-card-image {
        width: 100%;
        aspect-ratio: 1;
        background-size: cover;
        background-position: center;
        border-radius: var(--oak-radius-l) var(--oak-radius-l) 0 0;
    }

    .oak-card-title-container {
        padding: var(--oak-spacing-xl);
    }

    @media (max-width: 1920px) {
        .oak-cards {
            padding: 0 var(--oak-spacing-xl);
        }
    }

    @media (max-width: 1440px) {
        .oak-cards {
            padding: 0 var(--oak-spacing-m);
        }

        .oak-card {
            max-width: calc((100% - (var(--oak-spacing-m) * 2)) / 2);
        }
    }

    @media (max-width: 1024px) {
        .oak-cards {
            padding: 0;
        }
    }

    @media (max-width: 768px) {
        .oak-card {
            max-width: 100%;
        }

        .oak-card-title-container {
            padding: var(--oak-spacing-xl) var(--oak-spacing-m);
        }
    }

    @media (max-width: 512px) {
        .oak-card-title-container {
            padding: var(--oak-spacing-l) var(--oak-spacing-s);
        }
    }
