/* Store listing cards — equal height per row */
@media (min-width: 768px) {
    .stores-page .stores-grid {
        align-items: stretch !important;
    }

    .stores-page .stores-grid > .store-card {
        height: 100% !important;
        align-self: stretch !important;
    }

    .stores-page .stores-grid > .store-card > .store-card-body {
        flex: 1 1 auto !important;
    }

    .stores-page .stores-grid > .store-card .store-card-footer {
        margin-top: auto !important;
    }
}

/* Compact business button */
.stores-page .stores-grid > .store-card .store-card-actions {
    width: auto !important;
    flex: 0 0 auto !important;
}

.stores-page .stores-grid > .store-card .store-card-link {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    min-height: 34px !important;
    padding: 7px 12px !important;
    white-space: nowrap !important;
}

/* Mobile: two equal columns and aligned card footers */
@media (max-width: 767.98px) {
    .stores-page .stores-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        align-items: stretch !important;
    }

    .stores-page .stores-grid > .store-card {
        height: 100% !important;
        align-self: stretch !important;
        min-width: 0 !important;
    }

    .stores-page .stores-grid > .store-card > .store-card-body {
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }

    .stores-page .stores-grid > .store-card .store-card-footer {
        margin-top: auto !important;
    }

    .stores-page .stores-grid > .store-card .store-card-link {
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        padding: 6px 9px !important;
        font-size: 11px !important;
        white-space: nowrap !important;
    }
}
