/**
 * Public site accessibility shell styles.
 * FILE_PATH: assets/css/a11y/site_a11y.css
 * SCOPE_ID: site_a11y_css
 */

/* Skip link: visually hidden until focused (keyboard first stop) */
.bc-skip-link {
    position: absolute;
    left: 0.75rem;
    top: 0.75rem;
    z-index: 10000;
    padding: 0.75rem 1.1rem;
    min-height: 44px;
    background: #1a1a2e;
    color: #fff;
    font-weight: 700;
    font-size: 1rem;
    text-decoration: none;
    border-radius: 8px;
    border: 2px solid #ffbe0b;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
    transform: translateY(-200%);
    transition: transform 0.15s ease;
}

.bc-skip-link:focus,
.bc-skip-link:focus-visible {
    transform: translateY(0);
    outline: 3px solid #ffbe0b;
    outline-offset: 2px;
    color: #fff;
}

/* Strong focus ring for keyboard users when enabled */
html.bc-a11y-focus-ring :focus-visible {
    outline: 3px solid #ff6b6b;
    outline-offset: 3px;
}

html.bc-a11y-focus-ring .btn:focus-visible,
html.bc-a11y-focus-ring a:focus-visible,
html.bc-a11y-focus-ring .form-control:focus-visible,
html.bc-a11y-focus-ring .form-select:focus-visible,
html.bc-a11y-focus-ring .btn-nav-menu:focus-visible,
html.bc-a11y-focus-ring .nav-sidebar-link:focus-visible,
html.bc-a11y-focus-ring .nav-sidebar-close:focus-visible,
html.bc-a11y-focus-ring .festive-input:focus-visible,
html.bc-a11y-focus-ring button:focus-visible,
html.bc-a11y-focus-ring summary:focus-visible,
html.bc-a11y-focus-ring [tabindex]:not([tabindex="-1"]):focus-visible {
    outline: 3px solid #ff6b6b;
    outline-offset: 2px;
}

/* Main landmark receives skip-link focus without scroll jank */
#main-content:focus {
    outline: none;
}

#main-content:focus-visible {
    outline: 3px solid #4ecdc4;
    outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
    .bc-skip-link {
        transition: none;
    }
}

@media (max-width: 576px) {
    .bc-skip-link {
        left: 0.5rem;
        right: 0.5rem;
        width: auto;
        text-align: center;
    }
}

/* Keyboard-enhanced clickable surfaces (section headers, cards, role=button) */
[data-bc-a11y-clickable="1"] {
    cursor: pointer;
}

[data-bc-a11y-clickable="1"]:focus-visible {
    outline: 3px solid #ff6b6b;
    outline-offset: 3px;
}

.section-header[data-bc-a11y-clickable="1"],
.admin-sidebar-group-header[data-bc-a11y-clickable="1"],
.analytics-collapse-header[data-bc-a11y-clickable="1"] {
    min-height: 44px;
}

.theme-preview[data-bc-a11y-clickable="1"]:focus-visible,
.background-card[data-bc-a11y-clickable="1"]:focus-visible {
    outline: 3px solid #4ecdc4;
    outline-offset: 2px;
}
