/*
 * File: keyboard-navigation.css
 *
 * Copyright(c) 2026 PSI Services (UK) Ltd. All Rights Reserved.
 *
 *  This software is the proprietary information of PSI Services (UK) Ltd.
 *
 *  @created: 3/2/2026
 *  @copyright: PSI Services (UK) Ltd
 */

/* Skip to main content link */
.skip-link {
    position: absolute;
    top: -40px;
    left: 0;
    background: #0b0c0c;
    color: #ffffff;
    padding: 8px;
    z-index: 100;
    text-decoration: none;
}

.skip-link:focus {
    top: 0;
}

/* Focus outline for keyboard navigation */
*:focus {
    outline: 3px solid #ffdd00;
    outline-offset: 0;
}

/* Remove focus outline for mouse users */
*:focus:not(:focus-visible) {
    outline: none;
}

/* Restore focus outline for keyboard users */
*:focus-visible {
    outline: 3px solid #ffdd00;
    outline-offset: 0;
}

/* Button focus styles */
button:focus,
.button:focus,
input[type="button"]:focus,
input[type="submit"]:focus {
    outline: 3px solid #ffdd00;
    outline-offset: 0;
    box-shadow: inset 0 0 0 1px #ffdd00;
}

/* Link focus styles */
a:focus {
    outline: 3px solid #ffdd00;
    outline-offset: 0;
    background-color: #ffdd00;
    color: #0b0c0c;
    box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
    text-decoration: none;
}

/* Form input focus styles */
input:focus,
select:focus,
textarea:focus {
    outline: 3px solid #ffdd00;
    outline-offset: 0;
    box-shadow: inset 0 0 0 2px;
}

/* Radio and checkbox focus styles */
input[type="radio"]:focus,
input[type="checkbox"]:focus {
    outline: 3px solid #ffdd00;
    outline-offset: 2px;
    box-shadow: none;
}

/* Tab focus indicator for navigation */
.keyboard-navigation-active *:focus {
    outline: 3px solid #ffdd00 !important;
    outline-offset: 0 !important;
}
