/* Skip to content */
.skip-to-content {
    position: absolute;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
    background: #453d35;
    color: #fff;
    padding: 12px 24px;
    border-radius: 0 0 8px 8px;
    z-index: 9999;
    font-size: 16px;
    font-weight: bold;
    transition: top 0.2s;
}
.skip-to-content:focus {
    top: 0;
    outline: 3px solid #745a30;
}

/* Focus indicators */
*:focus-visible {
    outline: 3px solid #745a30 !important;
    outline-offset: 2px !important;
}

/* Accessibility widget button */
.a11y-toggle {
    position: fixed;
    bottom: 24px;
    left: 24px;
    z-index: 9998;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #453d35;
    color: #fff;
    border: none;
    cursor: pointer;
    box-shadow: 0 4px 20px rgba(0,0,0,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s, background 0.2s;
}
.a11y-toggle:hover {
    transform: scale(1.1);
    background: #5d544b;
}
.a11y-toggle .material-symbols-outlined {
    font-size: 28px;
}

/* Accessibility panel */
.a11y-panel {
    position: fixed;
    bottom: 90px;
    left: 24px;
    z-index: 9997;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 12px 40px rgba(69,61,53,0.15);
    padding: 24px;
    width: 320px;
    max-height: 80vh;
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all 0.3s ease;
    direction: rtl;
}
.a11y-panel.open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.a11y-panel h3 {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 16px;
    color: #453d35;
    border-bottom: 2px solid #745a30;
    padding-bottom: 8px;
}
.a11y-panel .a11y-option {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 10px;
    cursor: pointer;
    transition: background 0.2s;
    margin-bottom: 4px;
    border: none;
    background: none;
    width: 100%;
    text-align: right;
    font-size: 14px;
    color: #1c1c19;
    font-family: inherit;
}
.a11y-panel .a11y-option:hover {
    background: #f6f3ee;
}
.a11y-panel .a11y-option.active {
    background: #eee0d4;
    font-weight: 600;
}
.a11y-panel .a11y-option .material-symbols-outlined {
    font-size: 22px;
    color: #745a30;
    width: 28px;
    flex-shrink: 0;
}
.a11y-panel .a11y-reset {
    margin-top: 12px;
    padding: 10px;
    width: 100%;
    background: #ba1a1a;
    color: #fff;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 600;
    font-size: 14px;
    font-family: inherit;
    transition: background 0.2s;
}
.a11y-panel .a11y-reset:hover {
    background: #93000a;
}
.a11y-panel .a11y-link {
    display: block;
    text-align: center;
    margin-top: 12px;
    color: #745a30;
    font-size: 13px;
    text-decoration: underline;
}

/* Accessibility modes */
body.a11y-high-contrast {
    filter: contrast(1.5) !important;
}
body.a11y-high-contrast * {
    border-color: #000 !important;
}
body.a11y-grayscale {
    filter: grayscale(1) !important;
}
body.a11y-big-cursor * {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Ccircle cx='16' cy='16' r='14' fill='%23000' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E") 16 16, auto !important;
}
body.a11y-highlight-links a {
    outline: 3px solid #745a30 !important;
    outline-offset: 2px !important;
    text-decoration: underline !important;
}
body.a11y-stop-animations *,
body.a11y-stop-animations *::before,
body.a11y-stop-animations *::after {
    animation-duration: 0s !important;
    transition-duration: 0s !important;
}
body.a11y-readable-font * {
    font-family: Arial, Helvetica, sans-serif !important;
    letter-spacing: 0.05em !important;
    word-spacing: 0.1em !important;
}
body.a11y-line-height * {
    line-height: 2 !important;
}
