/**
 * Accessibility styles for Food Dudes theme
 * WCAG 2.1 Level A compliance
 */

/* Skip link - visually hidden until focused */
.skip-link {
    position: absolute;
    top: -100px;
    left: 0;
    background: #006699;
    color: #fff;
    padding: 12px 24px;
    z-index: 100000;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    border-radius: 0 0 4px 0;
    transition: top 0.2s ease;
}

.skip-link:focus {
    top: 0;
    outline: 3px solid #8ec540;
    outline-offset: 2px;
    color: #fff;
}

/* Focus styles for interactive elements */
a:focus,
button:focus,
input:focus,
select:focus,
[tabindex]:focus {
    outline: 3px solid #8ec540;
    outline-offset: 2px;
}

/* Focus visible only for keyboard users */
a:focus:not(:focus-visible),
button:focus:not(:focus-visible) {
    outline: none;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid #8ec540;
    outline-offset: 2px;
}

/* Navigation keyboard support - show submenus on focus within */
.header-menu_main ul li.menu-item-has-children.open > .sub-menu,
.header-menu_main ul li.language-toggle-conn.open > .sub-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Recipe filter submit button */
.rs-filter-form {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.rs-filter-btn.st_button.st_button-pink {
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    min-width: auto;
    min-height: auto;
    padding: 12px 28px;
    margin-top: 0;
    cursor: pointer;
    border: none;
    color: #fff;
}

/* Carousel arrow button resets */
.prev-slide,
.next-slide,
.image_gallery__dots_arrow .prev,
.image_gallery__dots_arrow .next {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
}

/* Carousel focus styles */
.slick-prev:focus-visible,
.slick-next:focus-visible,
.slick-dots button:focus-visible,
.caro_btn:focus-visible,
.prev-slide:focus-visible,
.next-slide:focus-visible {
    outline: 3px solid #8ec540;
    outline-offset: 2px;
}

/* Recipe popup close button reset */
.close-popup {
    background: none;
    border: none;
    cursor: pointer;
    font-size: inherit;
    color: inherit;
    padding: 0;
}

/* Screen reader only text utility */
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    width: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    clip: auto !important;
    clip-path: none;
    display: block;
    height: auto;
    width: auto;
    position: fixed;
    top: 5px;
    left: 5px;
    z-index: 100000;
    background-color: #006699;
    color: #fff;
    padding: 15px 23px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    line-height: normal;
}
