/**
 * Skip to content link styles
 *
 * This makes the skip link invisible until it's focused,
 * then positions it at the top of the screen
 */

/* Container for all skiplinks */
.open-accessibility-skiplinks-container {
    position: relative;
    z-index: 100001;
}

/* Base skiplink styles */
.open-accessibility-skip-to-content-link,
.open-accessibility-skiplink {
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    pointer-events: none;
    position: fixed;
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    gap: 8px;
    border-radius: 12px;
    border: 1px solid #2563eb;
    background-color: #fff;
    color: #0c0d0e;
    text-decoration: none;
    word-wrap: normal !important;
    z-index: 100000;
}

/* Always visible skiplinks */
.open-accessibility-skiplinks-container.always-visible .open-accessibility-skip-to-content-link,
.open-accessibility-skiplinks-container.always-visible .open-accessibility-skiplink,
.open-accessibility-skip-to-content-link.always-visible,
.open-accessibility-skiplink.always-visible {
    clip: auto !important;
    clip-path: none;
    pointer-events: auto;
    position: static;
    height: auto;
    width: auto;
    margin: 5px;
    padding: 12px 20px;
    display: inline-flex;
}

/* Focus state */
.open-accessibility-skip-to-content-link:focus,
.open-accessibility-skiplink:focus {
    clip: auto !important;
    clip-path: none;
    pointer-events: auto;
    top: 30px;
    left: 30px;
    height: auto;
    width: auto;
    padding: 16px 24px;
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}

/* Multiple skiplinks layout */
.open-accessibility-skiplinks-container:focus-within,
.open-accessibility-skiplinks-container.always-visible {
    position: fixed;
    top: 10px;
    left: 10px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    background: rgba(255, 255, 255, 0.95);
    padding: 10px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* Custom focus styles support */
.open-accessibility-skip-to-content-link.custom-focus:focus,
.open-accessibility-skiplink.custom-focus:focus {
    outline: none;
}

/* Backdrop for focus indication */
.open-accessibility-skip-to-content-link:focus + .open-accessibility-skip-to-content-backdrop,
.open-accessibility-skiplink:focus ~ .open-accessibility-skiplinks-backdrop {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    z-index: 9999;
    background-color: rgba(0, 0, 0, 0.5);
}