/* Luksoft – WCAG CKZiU 1.2.0 */

.luksoft-wcag-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.luksoft-wcag-skip-link {
    position: fixed;
    top: 8px;
    left: 8px;
    z-index: 1000000;
    padding: 10px 14px;
    background: #fff;
    color: #101524;
    border: 3px solid #101524;
    border-radius: 4px;
    transform: translateY(-160%);
    transition: transform .15s ease;
}
.luksoft-wcag-skip-link:focus {
    transform: translateY(0);
}

html.luksoft-wcag-focus-enabled :where(
    a[href], button, input, select, textarea, summary,
    [role="button"], [role="link"], [role="tab"], [tabindex]:not([tabindex="-1"])
):focus-visible {
    outline: 3px solid #101524 !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 2px #fff, 0 0 0 5px #101524 !important;
}

html.luksoft-wcag-focus-enabled .elementor-swiper-button:focus-visible,
html.luksoft-wcag-focus-enabled .luksoft-wcag-focus-ring {
    outline: 3px solid #101524 !important;
    outline-offset: 4px !important;
    box-shadow: 0 0 0 2px #fff, 0 0 0 5px #101524 !important;
    border-radius: 4px;
}

/* React Select / MetForm: sam input bywa techniczny i niemal niewidoczny. */
html.luksoft-wcag-focus-enabled .mf_select__control.luksoft-wcag-focus-ring,
html.luksoft-wcag-focus-enabled [class*="control"].luksoft-wcag-focus-ring {
    position: relative;
}

/* Kontrast: tylko wskazany w raporcie jasny slajd hero. */
html.luksoft-wcag-hero-contrast .elementor-element-7f9ca254 {
    --overlay-opacity: .62 !important;
}

/* Reflow – bez zmiany desktopowego layoutu. */
html.luksoft-wcag-reflow img,
html.luksoft-wcag-reflow video,
html.luksoft-wcag-reflow iframe,
html.luksoft-wcag-reflow svg {
    max-width: 100%;
}
html.luksoft-wcag-reflow img,
html.luksoft-wcag-reflow video {
    height: auto;
}
html.luksoft-wcag-reflow table {
    max-width: 100%;
}

@media (max-width: 480px) {
    html.luksoft-wcag-reflow body,
    html.luksoft-wcag-reflow main,
    html.luksoft-wcag-reflow .elementor,
    html.luksoft-wcag-reflow .e-con,
    html.luksoft-wcag-reflow .e-con-inner,
    html.luksoft-wcag-reflow .elementor-element,
    html.luksoft-wcag-reflow .metform-form-main-wrapper,
    html.luksoft-wcag-reflow .mf-input-wrapper {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    html.luksoft-wcag-reflow .elementor-9045 .elementor-element-c940710 {
        flex-wrap: wrap !important;
    }

    html.luksoft-wcag-reflow .elementor-9045 .elementor-element-130289c,
    html.luksoft-wcag-reflow .elementor-9045 .elementor-element-e419ddc {
        flex: 1 1 100% !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    html.luksoft-wcag-reflow input,
    html.luksoft-wcag-reflow select,
    html.luksoft-wcag-reflow textarea,
    html.luksoft-wcag-reflow button {
        max-width: 100%;
    }
}

@media (forced-colors: active) {
    .luksoft-wcag-skip-link,
    html.luksoft-wcag-focus-enabled :focus-visible,
    html.luksoft-wcag-focus-enabled .luksoft-wcag-focus-ring {
        forced-color-adjust: auto;
        outline: 2px solid Highlight !important;
        box-shadow: none !important;
    }

    .elementor-button,
    .elementor-swiper-button {
        border: 1px solid ButtonText !important;
    }
}
