/* Unified lock used by menu-2022-refactored.php */
html.menu-scroll-locked,
body.menu-scroll-locked {
  overflow: hidden !important;
  overscroll-behavior: none;
}

body.menu-scroll-locked {
  position: fixed;
  left: 0;
  right: 0;
  width: 100%;
  padding-right: var(--menu-scrollbar-width, 0px);
}

/* Desktop mega-menu panels are controlled only by the is-open class. */
/* Desktopová submenu – zavřený stav */
.menu2022 .menu2022_eshop_wrapper,
.menu2022 .menu2022_eshop_wrapperdp,
.menu2022 .menu2022_eshop_wrapperon {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Desktopová submenu – otevřený stav */
.menu2022 .menu2022_trigger.is-open > .menu2022_eshop_wrapper,
.menu2022 .menu2022_triggerdp.is-open > .menu2022_eshop_wrapperdp,
.menu2022 .menu2022_triggeron.is-open > .menu2022_eshop_wrapperon,
.menu2022 .menu2022_eshop_wrapper.is-open,
.menu2022 .menu2022_eshop_wrapperdp.is-open,
.menu2022 .menu2022_eshop_wrapperon.is-open {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

.intro2022_spolecnynadpis.is-hidden-by-menu {
  visibility: hidden;
  opacity: 0;
}

/* The body is fixed while an overlay is open, so the overlay itself must scroll. */
.mm2022.visible,
.search2022.visible {
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

#search_toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    line-height: 1;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

#search_toggle [hidden] {
    display: none !important;
}

#search_toggle:focus-visible {
    outline: 1px solid currentColor;
    outline-offset: 4px;
}

.search2022[aria-hidden="true"] {
    pointer-events: none;
}

.search2022[aria-hidden="false"] {
    pointer-events: auto;
}

/*
 * Mobilní menu musí být samostatný viewportový overlay.
 * Nesmí přebírat pozici nebo stacking context produktové stránky.
 */
body.mobile-menu-open .menu2022wrapper {
    position: relative !important;
    z-index: 2147483000 !important;
}

body.mobile-menu-open .menu2022 {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 2 !important;
}

body.mobile-menu-open .mm2022.visible {
    position: fixed !important;
    top: var(--mobile-menu-top, 80px) !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;

    width: 100% !important;
    height: auto !important;
    max-height: none !important;

    margin: 0 !important;
    background: #fff !important;

    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;

    z-index: 1 !important;
    pointer-events: auto !important;
}
