/* Standalone ABC3 Search /spaces fallback page.
 *
 * Shared controls are styled by directory-toolbar.css.
 * Reusable search modals are styled by abc3search-modals.css.
 * ABC3Cat owns the canonical card presentation when that module is available.
 */

.abc3search-spaces-page {
    padding-bottom: 30px;
}

.abc3search-spaces-page .abc3search-space-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 8px;
    width: 100%;
    margin: 0 0 18px;
    padding: 0;
}

/* The CSS grid, not Bootstrap card columns, owns each result width. */
.abc3search-spaces-page .abc3search-space-grid > * {
    float: none !important;
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.abc3search-spaces-page .abc3search-space-grid > .abc3cat-space-card,
.abc3search-spaces-page .abc3search-space-grid > .abc3cat-spaces-directory-card,
.abc3search-spaces-page .abc3search-space-grid > .card-panel {
    height: 100% !important;
}

.abc3search-spaces-page .abc3search-space-grid > .panel {
    grid-column: 1 / -1;
}

.abc3search-spaces-page .pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: 8px 0 10px;
}

.abc3search-spaces-page .pagination a,
.abc3search-spaces-page .pagination span {
    display: inline-block;
    padding: 4px 8px;
    line-height: 1.15;
    text-decoration: none;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.abc3search-spaces-page .pagination .active {
    color: #fff;
    background: #337ab7;
    border-color: #337ab7;
}

@media (max-width: 767.98px) {
    .abc3search-spaces-page .abc3search-space-grid {
        grid-template-columns: 1fr;
    }

    .abc3search-spaces-page .pagination a,
    .abc3search-spaces-page .pagination span {
        padding: 5px 7px;
        font-size: 12px;
    }
}
