/* ===== Shared Accessibility CSS (all portals) — loaded from _SharedScriptsPartial ===== */

/* Skip to main content link (WCAG 2.4.1) */
.skip-link {
    position: absolute;
    top: -100px;
    left: 0;
    z-index: 10000;
    padding: 8px 16px;
    background: #3E5DE6;
    color: #fff !important;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    border-radius: 0 0 4px 0;
}
.skip-link:focus {
    top: 0;
    outline: 2px solid #fff;
    outline-offset: 2px;
}

/* DataTables pagination: match Bootstrap 4 look, no underlines, brand-blue active, visible focus */
.dataTables_paginate a,
.dataTables_paginate a:link,
.dataTables_paginate a:visited,
.dataTables_paginate a:hover,
.dataTables_paginate a:focus,
.dataTables_paginate a:active,
.dataTables_paginate .page-link,
.dataTables_paginate .page-link:link,
.dataTables_paginate .page-link:visited,
.dataTables_paginate .page-link:hover,
.dataTables_paginate .page-link:focus,
.dataTables_paginate .page-link:active,
.dataTables_paginate a.paginate_button,
.dataTables_paginate a.paginate_button:link,
.dataTables_paginate a.paginate_button:visited,
.dataTables_paginate a.paginate_button:hover,
.dataTables_paginate a.paginate_button:focus,
.dataTables_paginate a.paginate_button:active {
    text-decoration: none !important;
}

.dataTables_paginate .page-link {
    color: #3E5DE6 !important;
    background-color: #fff !important;
    border: 1px solid #dee2e6 !important;
}

.dataTables_paginate .page-item.active .page-link {
    background-color: #3E5DE6 !important;
    border-color: #3E5DE6 !important;
    color: #fff !important;
}

.dataTables_paginate .page-link:hover {
    color: #2a41a1 !important;
    background-color: #eaecf4 !important;
    border-color: #dee2e6 !important;
}

.dataTables_paginate .page-item.active .page-link:hover {
    background-color: #2a41a1 !important;
    border-color: #2a41a1 !important;
    color: #fff !important;
}

.dataTables_paginate .page-link:focus,
.dataTables_paginate a.paginate_button:focus {
    outline: 3px solid #0f2a80 !important;
    outline-offset: 1px;
    box-shadow: none !important;
    background-color: #fff !important;
    z-index: 3;
}

.dataTables_paginate .page-item.disabled .page-link,
.dataTables_paginate a.paginate_button.disabled {
    pointer-events: none;
    color: #595b68 !important;
    background-color: #fff !important;
    border-color: #dee2e6 !important;
}

.dataTables_paginate .page-item.disabled .page-link:focus,
.dataTables_paginate a.paginate_button.disabled:focus {
    outline: none !important;
    box-shadow: none !important;
}

.dataTables_paginate a.paginate_button {
    color: #3E5DE6 !important;
    background-color: #fff !important;
    border: 1px solid #dee2e6 !important;
}

.dataTables_paginate a.paginate_button.current {
    background-color: #3E5DE6 !important;
    border-color: #3E5DE6 !important;
    color: #fff !important;
}

.dataTables_paginate a.paginate_button:hover {
    color: #2a41a1 !important;
    background-color: #eaecf4 !important;
    border-color: #dee2e6 !important;
}

.dataTables_paginate a.paginate_button.current:hover {
    background-color: #2a41a1 !important;
    border-color: #2a41a1 !important;
    color: #fff !important;
}

.dataTables_paginate a.paginate_button.disabled {
    pointer-events: none;
    color: #595b68 !important;
    background-color: #fff !important;
    border-color: #dee2e6 !important;
}

/* jQuery UI dialog close button */
.ui-dialog-titlebar-close {
    background: none !important;
    border: none !important;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    color: #000;
    opacity: 0.5;
    cursor: pointer;
    padding: 0.25rem 0.75rem !important;
    float: right;
}
.ui-dialog-titlebar-close:hover,
.ui-dialog-titlebar-close:focus {
    opacity: 1;
    outline: 2px solid #3E5DE6 !important;
    outline-offset: 2px;
}

/* Scroll-to-top: make focus match hover */
.scroll-to-top:focus {
    background: #5a5c69 !important;
    outline: 2px solid #3E5DE6 !important;
    outline-offset: 2px;
}

/* jAlert close button keyboard accessibility and focus */
.ja_close:focus,
.ja_close_round:focus,
.ja_close_round_white:focus {
    outline: 2px solid #3E5DE6 !important;
    outline-offset: 2px;
}

/* jAlert OK button contrast fix (3:1 minimum) */
.ja_btn {
    border: 2px solid #000 !important;
}
.ja_btn:focus {
    outline: 3px solid #1a3ab5 !important;
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(26, 58, 181, 0.4) !important;
}

/* jquery-confirm button focus: color-matched to button type */
.jconfirm .jconfirm-box .jconfirm-buttons button:focus {
    outline: 3px solid #1a3ab5 !important;
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(26, 58, 181, 0.4) !important;
}
.jconfirm .jconfirm-box .jconfirm-buttons button.btn-red:focus {
    outline-color: #6b1a1a !important;
    box-shadow: 0 0 0 4px rgba(107, 26, 26, 0.4) !important;
}
.jconfirm .jconfirm-box .jconfirm-buttons button.btn-green:focus {
    outline-color: #1a5c2a !important;
    box-shadow: 0 0 0 4px rgba(26, 92, 42, 0.4) !important;
}
.jconfirm .jconfirm-box .jconfirm-buttons button.btn-orange:focus {
    outline-color: #8b5a1a !important;
    box-shadow: 0 0 0 4px rgba(139, 90, 26, 0.4) !important;
}
.jconfirm .jconfirm-box .jconfirm-buttons button.btn-blue:focus {
    outline-color: #1a3ab5 !important;
    box-shadow: 0 0 0 4px rgba(26, 58, 181, 0.4) !important;
}
.jconfirm .jconfirm-box .jconfirm-buttons button.btn-default:focus {
    outline-color: #495057 !important;
    box-shadow: 0 0 0 4px rgba(73, 80, 87, 0.4) !important;
}

/* jquery-confirm close icon - keyboard accessible */
.jconfirm .jconfirm-box .jconfirm-closeIcon:focus {
    outline: 2px solid #1a3ab5 !important;
    outline-offset: 2px;
}

/* btn-link in DataTables: button-like hover/focus, suppress Bootstrap box-shadow */
.dataTables_wrapper .btn-link:focus,
.dataTables_wrapper .btn-link:hover {
    outline: 2px solid #3E5DE6 !important;
    outline-offset: 2px;
    text-decoration: none !important;
    box-shadow: none !important;
}

/* Card header buttons: white focus/hover border for blue headers */
.card-header button:focus,
.card-header .btn:focus,
.card-header .btn-link:focus {
    outline: 2px solid #fff !important;
    outline-offset: 2px;
    text-decoration: none !important;
    box-shadow: none !important;
}
.card-header button:hover,
.card-header .btn:hover,
.card-header .btn-link:hover {
    outline: 2px solid #fff !important;
    outline-offset: 2px;
    text-decoration: none !important;
    box-shadow: none !important;
}

/* Go Back links: visible color + focus */
a.back-link,
a.underline-link,
a[onclick*="navBack"],
a[onclick*="GoBack"],
a[onclick*="history.back"] {
    color: #0056b3 !important;
    text-decoration: underline;
    cursor: pointer;
}
a.back-link:focus,
a.underline-link:focus,
a[onclick*="navBack"]:focus,
a[onclick*="GoBack"]:focus,
a[onclick*="history.back"]:focus {
    outline: 2px solid #3E5DE6 !important;
    outline-offset: 2px;
    text-decoration: underline !important;
}

/* DataTables sizing th (scrollX clones): hide from screen readers */
.dataTables_scrollHead th .dataTables_sizing {
    visibility: hidden;
}

/* Remove icon in parcel list - keyboard accessible */
.removeIcon:focus,
.removeCharge:focus {
    outline: 2px solid #3E5DE6 !important;
    outline-offset: 2px;
}

/* Visible focus for form controls */
.form-control:focus,
.form-check-input:focus {
    border-color: #3E5DE6 !important;
    box-shadow: 0 0 0 0.2rem rgba(62, 93, 230, 0.25) !important;
}

/* DataTables row group headers - keyboard accessible */
.dtrg-group td {
    cursor: pointer;
}
.dtrg-group:focus {
    outline: 2px solid #fff !important;
    outline-offset: -2px;
}
.dtrg-group:hover {
    outline: 2px solid #fff !important;
    outline-offset: -2px;
}
