/**
 * Reusable keyboard focus styles for ABM eKYC / login flows.
 * Load after innerpages.css and style.css; only :focus-visible rings, no layout change.
 */

/* Skip link overlays sticky header on focus instead of pushing page content down. */
a.main-content.visually-hidden-focusable {
    position: fixed !important;
    top: 8px;
    left: 8px;
    z-index: 100001;
    margin: 0 !important;
    border-radius: 4px;
    text-decoration: none;
}

a.main-content.visually-hidden-focusable:focus,
a.main-content.visually-hidden-focusable:focus-visible {
    outline: 2px solid #fff !important;
    outline-offset: 2px;
    box-shadow: 0 0 0 4px #000;
}

body.a11y-keyboard-focus-enabled .a11y-btn-check-tab:focus {
    outline: none;
}

body.a11y-keyboard-focus-enabled .a11y-btn-check-tab:focus-visible,
body.a11y-keyboard-focus-enabled .address-proof .a11y-btn-check-tab:focus {
    outline: 2px solid #000 !important;
    outline-offset: 2px;
    outline-width: 2px !important;
    box-shadow: none !important;
}

/* Label is the Tab stop — ring stays on the option box via focus-within. */
body.a11y-keyboard-focus-enabled .a11y-form-check-label:focus,
body.a11y-keyboard-focus-enabled .a11y-form-check-label:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

/* Single focus ring on the option box (label or wrap focused). */
body.a11y-keyboard-focus-enabled .a11y-form-check-wrap:focus,
body.a11y-keyboard-focus-enabled .a11y-form-check-wrap:focus-visible,
body.a11y-keyboard-focus-enabled .a11y-form-check-wrap:focus-within,
body.a11y-keyboard-focus-enabled .a11y-form-check-wrap.a11y-form-check-wrap--focused {
    outline: none;
    border-radius: 8px;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #000;
}

body.a11y-keyboard-focus-enabled .a11y-form-check-wrap .form-check-input:focus,
body.a11y-keyboard-focus-enabled .a11y-form-check-wrap .form-check-input:focus-visible,
body.a11y-keyboard-focus-enabled .a11y-form-check-wrap input[data-a11y-choice="1"]:focus,
body.a11y-keyboard-focus-enabled .a11y-form-check-wrap input[data-a11y-choice="1"]:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

body.a11y-keyboard-focus-enabled .form-check-inline.a11y-form-check-wrap,
body.a11y-keyboard-focus-enabled .form-grid.a11y-form-check-wrap,
body.a11y-keyboard-focus-enabled span.add-address.a11y-form-check-wrap {
    margin-inline: 6px;
}

/* "Same as my address" span — clear focus target without changing default layout much. */
body.a11y-keyboard-focus-enabled span.add-address.a11y-form-check-wrap {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border: 1px solid #E3E5E5;
    border-radius: 8px;
    text-align: start;
    cursor: pointer;
}

body.a11y-keyboard-focus-enabled .a11y-form-check-wrap .form-check-input {
    margin-right: 8px;
}

body.a11y-keyboard-focus-enabled .a11y-form-check-wrap .form-check-label {
    margin-left: 2px;
}

body.a11y-keyboard-focus-enabled input[data-a11y-choice="1"]:focus,
body.a11y-keyboard-focus-enabled input[data-a11y-choice="1"]:focus-visible {
    outline: none;
}

body.a11y-keyboard-focus-enabled .a11y-file-upload-zone:focus-within,
body.a11y-keyboard-focus-enabled .a11y-file-upload-zone.a11y-file-upload-zone--focused,
body.a11y-keyboard-focus-enabled .a11y-file-upload-trigger:focus,
body.a11y-keyboard-focus-enabled .a11y-file-upload-trigger:focus-visible {
    outline: 2px solid #000;
    outline-offset: 2px;
    border-radius: 8px;
}

/* E-Aadhaar / manual upload — child outline is clipped by .upload_photo_item { overflow: hidden }. */
body.a11y-keyboard-focus-enabled .manual_section .upload_photo_item.a11y-upload-item--focused,
body.a11y-keyboard-focus-enabled .manual_section .upload_photo_item:has(.a11y-file-upload-zone--focused),
body.a11y-keyboard-focus-enabled .manual_section .upload_photo_item:has(.a11y-file-upload-trigger:focus),
body.a11y-keyboard-focus-enabled .manual_section .upload_photo_item:has(.a11y-file-upload-trigger:focus-visible) {
    outline: 2px solid #000 !important;
    outline-offset: 2px;
    outline-width: 2px !important;
}

body.a11y-keyboard-focus-enabled .manual_section .upload_aadhaar_div.a11y-file-upload-trigger:focus,
body.a11y-keyboard-focus-enabled .manual_section .upload_aadhaar_div.a11y-file-upload-trigger:focus-visible,
body.a11y-keyboard-focus-enabled .manual_section .upload_aadhaar_div.a11y-file-upload-zone--focused {
    outline: none !important;
    box-shadow: inset 0 0 0 2px #000;
}

/* style.css sets a:focus { outline-width: 0 } — restore keyboard ring in manual journey. */
body.a11y-keyboard-focus-enabled .manual_section a[href]:focus,
body.a11y-keyboard-focus-enabled .manual_section a[href]:focus-visible,
body.a11y-keyboard-focus-enabled #EaadharUidaiLink:focus,
body.a11y-keyboard-focus-enabled #EaadharUidaiLink:focus-visible {
    outline: 2px solid #000 !important;
    outline-offset: 2px;
    outline-width: 2px !important;
}

/* Pan / document upload pill — keep ring on the rounded upload-section. */
body.a11y-keyboard-focus-enabled .upload-section.a11y-file-upload-trigger:focus,
body.a11y-keyboard-focus-enabled .upload-section.a11y-file-upload-trigger:focus-visible,
body.a11y-keyboard-focus-enabled .upload-section.a11y-file-upload-zone--focused {
    outline: 2px solid #000;
    outline-offset: 2px;
    border-radius: 50px;
}

body.a11y-keyboard-focus-enabled .a11y-file-upload-zone input[type="file"]:focus,
body.a11y-keyboard-focus-enabled .a11y-file-upload-zone input[type="file"]:focus-visible {
    outline: none;
}

/* Project-wide keyboard rings for native controls (footer/disclaimer exclusions below). */
body.a11y-keyboard-focus-enabled button:focus-visible:not(:disabled),
body.a11y-keyboard-focus-enabled input:focus-visible:not(:disabled):not(.btn-check):not([data-a11y-choice="1"]),
body.a11y-keyboard-focus-enabled select:focus-visible:not(:disabled),
body.a11y-keyboard-focus-enabled textarea:focus-visible:not(:disabled),
body.a11y-keyboard-focus-enabled a[href]:focus-visible {
    outline: 2px solid #000;
    outline-offset: 2px;
   
}

body.a11y-keyboard-focus-enabled input[type="checkbox"]:focus-visible:not([data-a11y-choice="1"]),
body.a11y-keyboard-focus-enabled input[type="radio"]:focus-visible:not(.btn-check):not([data-a11y-choice="1"]) {
    outline: 2px solid #000;
    outline-offset: 2px;
}

body.a11y-keyboard-focus-enabled input[type="button"]:focus-visible:not(:disabled),
body.a11y-keyboard-focus-enabled input[type="submit"]:focus-visible:not(:disabled) {
    outline: 2px solid #000;
    outline-offset: 2px;
}

/* Respect page-specific focus-within containers from innerpages.css. */
body.a11y-keyboard-focus-enabled .bank-search-block .search-block input:focus-visible,
body.a11y-keyboard-focus-enabled .wl-input-search-block-new input:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

body.a11y-keyboard-focus-enabled .bank_choose_container .bankbox a:focus-visible,
body.a11y-keyboard-focus-enabled .after-search-bank-list li a:focus-visible {
    outline: none !important;
}

body.a11y-keyboard-focus-enabled #digiLockerSubmit:focus-visible,
body.a11y-keyboard-focus-enabled .aadhaar-pdf .btn-primary:focus-visible,
body.a11y-keyboard-focus-enabled #ValidAccountNumber:focus-visible,
body.a11y-keyboard-focus-enabled .main_bank .btn-primary:focus-visible,
body.a11y-keyboard-focus-enabled #CloseSelectedBank:focus-visible,
body.a11y-keyboard-focus-enabled .custom-modal-close.bank-colse-btn:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
    box-shadow: 0 0 0 3px #000 !important;
}

body.a11y-keyboard-focus-enabled .signature-box.a11y-file-upload-trigger:focus,
body.a11y-keyboard-focus-enabled .signature-box.a11y-file-upload-trigger:focus-visible,
body.a11y-keyboard-focus-enabled .signature-box.a11y-file-upload-zone--focused {
    outline: 2px solid #000;
    outline-offset: 2px;
    border-radius: 8px;
}

/* Selfie capture box — Tab ring on #divSelfieIcon. */
body.a11y-keyboard-focus-enabled #divSelfieIcon.a11y-selfie-capture-trigger:focus,
body.a11y-keyboard-focus-enabled #divSelfieIcon.a11y-selfie-capture-trigger:focus-visible,
body.a11y-keyboard-focus-enabled #divSelfieIcon.a11y-selfie-capture-trigger--focused {
    outline: 2px solid #000;
    outline-offset: 2px;
}

/* Review step cards — ring on whole .review-item when header is focused. */
body.a11y-keyboard-focus-enabled .review-item.a11y-review-item--focused,
body.a11y-keyboard-focus-enabled .review-item:has(.a11y-review-item-header:focus-visible) {
    outline: 2px solid #000;
    outline-offset: 2px;
}

body.a11y-keyboard-focus-enabled .a11y-review-item-header:focus,
body.a11y-keyboard-focus-enabled .a11y-review-item-header:focus-visible {
    outline: none;
}

/* Modal close restores focus to the toggle <a> briefly — never show a ring on the icons. */
body.a11y-keyboard-focus-enabled .review-item-edit-icon a.a11y-review-edit-link:focus,
body.a11y-keyboard-focus-enabled .review-item-edit-icon a.a11y-review-edit-link:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

/* UPI / Manual bank option cards. */
body.a11y-keyboard-focus-enabled .upi-box.a11y-upi-box:focus,
body.a11y-keyboard-focus-enabled .upi-box.a11y-upi-box:focus-visible,
body.a11y-keyboard-focus-enabled .upi-box.a11y-upi-box--focused {
    outline: 2px solid #000;
    outline-offset: 2px;
}

/* Star rating labels. */
body.a11y-keyboard-focus-enabled label.a11y-star-label:focus,
body.a11y-keyboard-focus-enabled label.a11y-star-label:focus-visible,
body.a11y-keyboard-focus-enabled label.a11y-star-label.a11y-star-label--focused {
    outline: 2px solid #000;
    outline-offset: 2px;
    border-radius: 4px;
}

/* Keep intentionally hidden regions free of stray focus rings. */
body.a11y-keyboard-focus-enabled footer .tab-pane:not(.show) :focus-visible,
body.a11y-keyboard-focus-enabled .accordion-collapse:not(.show) :focus-visible,
body.a11y-keyboard-focus-enabled #flushcollapseone:not(.show) :focus-visible,
body.a11y-keyboard-focus-enabled .footer-bottom.hide :focus-visible {
    outline: none !important;
}
