/* Official QuickGrid CSS */

/* Pagination container */
.quickgrid-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 1rem 0;
    gap: 0.5rem;
}

/* Pagination buttons */
.quickgrid-pagination button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    height: 2.5rem;
    padding: 0.25rem 0.5rem;
    margin: 0 0.125rem;
    font-size: 1rem;
    line-height: 1;
    text-align: center;
    color: var(--primary-color, #052767);
    background-color: #fff;
    border: 1px solid #dee2e6;
    border-radius: 0.25rem;
    cursor: pointer;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}

/* Current page button */
.quickgrid-pagination button.current {
    color: #fff;
    background-color: var(--primary-color, #052767);
    border-color: var(--primary-color, #052767);
}

/* Disabled buttons */
.quickgrid-pagination button:disabled {
    color: #6c757d;
    pointer-events: none;
    background-color: #fff;
    border-color: #dee2e6;
    opacity: 0.65;
}

/* Hover state */
.quickgrid-pagination button:hover:not(:disabled):not(.current) {
    color: var(--secondary-color, #3a0647);
    background-color: #e9ecef;
    border-color: #dee2e6;
}

/* Navigation arrows */
.quickgrid-pagination button[aria-label="Go to first page"]::after {
    content: "«";
}

.quickgrid-pagination button[aria-label="Go to previous page"]::after {
    content: "‹";
}

.quickgrid-pagination button[aria-label="Go to next page"]::after {
    content: "›";
}

.quickgrid-pagination button[aria-label="Go to last page"]::after {
    content: "»";
}

/* Ensure arrows are visible */
.quickgrid-pagination button[aria-label="Go to first page"],
.quickgrid-pagination button[aria-label="Go to previous page"],
.quickgrid-pagination button[aria-label="Go to next page"],
.quickgrid-pagination button[aria-label="Go to last page"] {
    font-size: 1.25rem;
}

/* Page size selector */
.quickgrid-pagination .page-size-selector {
    display: flex;
    align-items: center;
    margin-right: 1rem;
}

.quickgrid-pagination .page-size-selector select {
    margin-left: 0.5rem;
    padding: 0.25rem 0.5rem;
    border: 1px solid #dee2e6;
    border-radius: 0.25rem;
}

/* Microsoft.AspNetCore.Components.QuickGrid specific classes */
.quickgrid-pagination .pagination-nav {
    display: flex;
    align-items: center;
}

.quickgrid-pagination .pagination-text {
    margin: 0 0.5rem;
}

/* Paginator component specific styles */
.paginator {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 1rem 0;
    gap: 0.5rem;
}

.paginator button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    height: 2.5rem;
    padding: 0.25rem 0.5rem;
    margin: 0 0.125rem;
    font-size: 1rem;
    line-height: 1;
    text-align: center;
    color: var(--primary-color, #052767);
    background-color: #fff;
    border: 1px solid #dee2e6;
    border-radius: 0.25rem;
    cursor: pointer;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}

.paginator button.current {
    color: #fff;
    background-color: var(--primary-color, #052767);
    border-color: var(--primary-color, #052767);
}

.paginator button:disabled {
    color: #6c757d;
    pointer-events: none;
    background-color: #fff;
    border-color: #dee2e6;
    opacity: 0.65;
}

.paginator button:hover:not(:disabled):not(.current) {
    color: var(--secondary-color, #3a0647);
    background-color: #e9ecef;
    border-color: #dee2e6;
}

/* Navigation arrows for Paginator */
.paginator button[aria-label="Go to first page"]::after {
    content: "«";
}

.paginator button[aria-label="Go to previous page"]::after {
    content: "‹";
}

.paginator button[aria-label="Go to next page"]::after {
    content: "›";
}

.paginator button[aria-label="Go to last page"]::after {
    content: "»";
}
