/* QuickGrid Paginator Styles */

/* Main container */
.quickgrid-paginator {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 1rem 0;
    font-family: var(--bs-body-font-family);
}

/* Pagination controls */
.quickgrid-paginator nav {
    display: flex;
    align-items: center;
}

/* Page size selector */
.quickgrid-paginator .page-size-selector {
    margin-right: 1rem;
}

/* Pagination buttons container */
.quickgrid-paginator ul.pagination {
    display: flex;
    padding-left: 0;
    list-style: none;
    margin: 0;
}

/* Individual page items */
.quickgrid-paginator .page-item {
    margin: 0 0.125rem;
}

/* Page links */
.quickgrid-paginator .page-link {
    position: relative;
    display: block;
    padding: 0.375rem 0.75rem;
    color: var(--primary-color, #052767);
    text-decoration: none;
    background-color: #fff;
    border: 1px solid #dee2e6;
    border-radius: 0.25rem;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}

/* Hover state */
.quickgrid-paginator .page-link:hover {
    z-index: 2;
    color: var(--secondary-color, #3a0647);
    background-color: #e9ecef;
    border-color: #dee2e6;
}

/* Focus state */
.quickgrid-paginator .page-link:focus {
    z-index: 3;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(5, 39, 103, 0.25);
}

/* Active state */
.quickgrid-paginator .page-item.active .page-link {
    z-index: 3;
    color: #fff;
    background-color: var(--primary-color, #052767);
    border-color: var(--primary-color, #052767);
}

/* Disabled state */
.quickgrid-paginator .page-item.disabled .page-link {
    color: #6c757d;
    pointer-events: none;
    background-color: #fff;
    border-color: #dee2e6;
}

/* First and last page buttons */
.quickgrid-paginator .page-item:first-child .page-link,
.quickgrid-paginator .page-item:last-child .page-link {
    font-weight: bold;
}

/* Previous and next buttons */
.quickgrid-paginator .page-item .page-link[aria-label="Previous"],
.quickgrid-paginator .page-item .page-link[aria-label="Next"] {
    font-size: 1.25rem;
    line-height: 1;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

/* Arrow icons for previous and next */
.quickgrid-paginator .page-link[aria-label="Previous"]::after {
    content: "«";
    display: inline-block;
}

.quickgrid-paginator .page-link[aria-label="Next"]::after {
    content: "»";
    display: inline-block;
}

/* Microsoft QuickGrid specific styles */
.quickgrid-paginator button {
    position: relative;
    display: block;
    padding: 0.375rem 0.75rem;
    color: var(--primary-color, #052767);
    text-decoration: none;
    background-color: #fff;
    border: 1px solid #dee2e6;
    border-radius: 0.25rem;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
    margin: 0 0.125rem;
    cursor: pointer;
}

.quickgrid-paginator button:hover {
    z-index: 2;
    color: var(--secondary-color, #3a0647);
    background-color: #e9ecef;
    border-color: #dee2e6;
}

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

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

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

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

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

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

/* Ensure arrows are visible */
.quickgrid-paginator button[aria-label="Go to first page"],
.quickgrid-paginator button[aria-label="Go to previous page"],
.quickgrid-paginator button[aria-label="Go to next page"],
.quickgrid-paginator button[aria-label="Go to last page"] {
    font-size: 1.25rem;
    line-height: 1;
    min-width: 2.5rem;
    text-align: center;
}
