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

.oak-listing-cards {
    width: 100%;
    padding: var(--oak-spacing-m) var(--oak-spacing-2xl);
    display: flex;
    flex-direction: column;
    gap: var(--oak-spacing-xl);
}

.oak-listing-cards-inner {
    display: flex;
    flex-wrap: wrap;
    gap: var(--oak-spacing-xl);
}

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

.oak-listing-card-image {
    background-size: cover;
    background-position: center;
    aspect-ratio: 1;
}

.oak-listing-card-content {
    padding: var(--oak-spacing-xl);
    display: flex;
    flex-direction: column;
    gap: var(--oak-spacing-m);
}

.oak-listing-card-header {
    display: flex;
    flex-direction: column;
    gap: var(--oak-spacing-xs);
}

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

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

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

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

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

    .oak-listing-card {
        max-width: 100%;
    }

    .oak-listing-card-content {
        padding: var(--oak-spacing-xl) var(--oak-spacing-m);
    }
}

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