/* View Toggle Grid/List Buttons */
.w2r-view-toggle {
    display: flex;
    gap: 8px;
    position: absolute;
    right: 0px;
    margin-right: 10px;
}


.w2r-grid-list-content {
    padding: 20px 10px;
}

.w2r-grid-list-content .w2r-grid-list-card {
    display: flex;
    flex-direction: column;
    margin: 0px;
    padding: 5px;
}

.w2r-grid-list-content.row {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
}


.w2r-view-btn {
    background: transparent;
    border: 2px solid var(--color-text-header);
    color: var(--color-text-header);
    padding: 4px 12px;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 14px;
    font-weight: 500;
    font-family: inherit;
    opacity: 0.7;
}

.w2r-view-btn:hover {
    opacity: 1;
    background: var(--color-bg-panel);
    color: var(--color-bg-header);
}

.w2r-view-btn.active {
    background: var(--color-bg-panel);
    color: var(--color-bg-header);
    border-color: var(--color-bg-panel);
    opacity: 1;
}

.w2r-view-btn i {
    font-size: 16px;
}

.w2r-view-btn span {
    font-weight: 600;
}

/* No Results Message Styling */
.w2r-no-results {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 120px;
    width: 100%;
    background: var(--color-bg-card);
    border-radius: 8px;
    margin: 12px 0;
    padding: 24px 0;
}

.w2r-no-results-inner {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--color-text-muted);
    font-size: 18px;
    font-weight: 500;
}

.w2r-no-results-inner i {
    font-size: 22px;
    color: var(--color-info);
}


/* Force single column in list mode for grid-layout */
[data-view="list"]>[class*="col-"] {
    flex: 0 0 100%;
    max-width: 100%;
}

/* ---- Mobile ---- */
@media (max-width: 768px) {
    .w2r-grid-list-content {
        gap: 0px !important;
        padding: 0px !important;
    }

    .w2r-view-toggle {
        display: none !important;
    }
}

@media (max-width: 480px) {
    .w2r-grid-list-content {
        gap: 2px !important;
        padding: 0px !important;
    }
}

/* ---- Fleet Pagination bar (count left + controls centred, same row) ---- */
.w2r-fleet-pagination-bar {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 10px 20px;
}

.w2r-fleet-count-indicator {
    position: absolute;
    left: 10px;
    font-size: 13px;
    color: var(--color-text-muted, #6c757d);
    white-space: nowrap;
}

.w2r-fleet-pagination {
    display: flex;
    justify-content: center;
}

/* Load More button */
.w2r-load-more-btn {
    min-width: 180px;
}

/* Numbered pagination — Bootstrap .pagination is used, these fine-tune spacing */
.w2r-numbered-pagination .pagination {
    margin-bottom: 0;
    flex-wrap: wrap;
    gap: 2px;
}

.w2r-numbered-pagination .page-link {
    border-radius: 4px !important;
    font-size: 14px;
    padding: 5px 11px;
}

@media (max-width: 576px) {
    /* Stack count above controls on small screens */
    .w2r-fleet-pagination-bar {
        flex-direction: column;
        gap: 6px;
        padding: 8px 10px 4px;
    }

    .w2r-fleet-count-indicator {
        position: static;
        font-size: 12px;
    }
}

/* ---- Client-side filter visibility ---- */
/*
 * Applied by w2r-step2-filters.js to cards that do not match the active
 * filters. The !important ensures CSS overrides any jQuery .show() calls
 * from the pagination module.
 */
.w2r-filter-hidden {
    display: none !important;
}