/* Only WoodMart's mobile navigation. Cart, login and desktop headers stay native. */
.alc-mm-top { display: none; }

@media (max-width: 1024px) {
  body.alc-mobile-menu .mobile-nav.wd-side-hidden-nav {
    --alc-mm-edge: max(12px, env(safe-area-inset-left, 0px));
    --alc-mm-top: calc(var(--wd-admin-bar-h, 0px) + max(12px, env(safe-area-inset-top, 0px)));
    --alc-mm-bottom: max(18px, env(safe-area-inset-bottom, 0px));
    --alc-mm-card-depth: max(0px, calc(var(--alc-mm-depth, 4px) - 1px));
    --wd-side-hidden-w: var(--alc-mm-width, 370px);
    --wd-form-bg: var(--alc-mm-card, #242424);
    --wd-form-color: var(--alc-mm-text, #fff);
    --wd-form-placeholder-color: var(--alc-mm-secondary, #cacaca);
    box-sizing: border-box;
    inset-block: var(--alc-mm-top) auto;
    height: auto;
    max-height: calc(100vh - var(--alc-mm-top) - var(--alc-mm-bottom));
    max-height: calc(100dvh - var(--alc-mm-top) - var(--alc-mm-bottom));
    width: min(var(--alc-mm-width, 370px), calc(100vw - var(--alc-mm-edge) - max(22px, env(safe-area-inset-right, 0px))));
    padding: 0;
    border: 2px solid var(--alc-mm-shadow, #080808);
    border-radius: var(--alc-mm-radius, 32px);
    background: var(--alc-mm-panel, #141414);
    color: var(--alc-mm-text, #fff);
    box-shadow: var(--alc-mm-depth, 4px) var(--alc-mm-depth, 4px) 0 var(--alc-mm-shadow, #080808);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scroll-padding-block: 84px 24px;
    scrollbar-width: thin;
    scrollbar-color: var(--alc-mm-border, #404040) var(--alc-mm-panel, #141414);
    font-family: inherit;
  }

  body.alc-mobile-menu .mobile-nav.wd-left {
    left: var(--alc-mm-edge);
    transform: translate3d(calc(-100% - var(--alc-mm-edge) - 12px), 0, 0);
  }
  body.alc-mobile-menu .mobile-nav.wd-right {
    right: var(--alc-mm-edge);
    transform: translate3d(calc(100% + var(--alc-mm-edge) + 12px), 0, 0);
  }
  body.alc-mobile-menu .mobile-nav.wd-side-hidden-nav.wd-opened { transform: none; }

  body.alc-mobile-menu .mobile-nav .alc-mm-top {
    position: sticky;
    top: 0;
    z-index: 7;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--alc-mm-close-gap, 18px);
    padding: 16px 14px 20px;
    background: var(--alc-mm-panel, #141414);
  }
  body.alc-mobile-menu .mobile-nav:has(> .alc-mm-top) > .wd-heading { display: none; }
  body.alc-mobile-menu .mobile-nav .alc-mm-search { flex: 1 1 0%; min-width: 0; }
  body.alc-mobile-menu .mobile-nav .alc-mm-search > :is(.wd-search-form, .dgwt-wcas-search-wrapp) {
    width: 100%;
    min-width: 0;
    max-width: none;
    margin: 0;
  }
  body.alc-mobile-menu .mobile-nav.alc-mm-has-fibo > .alc-mm-native-search { display: none !important; }
  body.alc-mobile-menu .mobile-nav .alc-mm-close {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--alc-mm-border, #404040) !important;
    border-radius: 14px !important;
    background: var(--alc-mm-card, #242424) !important;
    color: var(--alc-mm-text, #fff) !important;
    box-shadow: none !important;
    transform: none !important;
    cursor: pointer;
  }
  body.alc-mobile-menu .mobile-nav .alc-mm-close::before,
  body.alc-mobile-menu .mobile-nav .alc-mm-close::after { content: none !important; }
  body.alc-mobile-menu .mobile-nav .alc-mm-close svg { width: 20px; height: 20px; pointer-events: none; }

  body.alc-mobile-menu .mobile-nav > .wd-search-form,
  body.alc-mobile-menu .mobile-nav > .dgwt-wcas-search-wrapp {
    width: auto;
    min-width: 0;
    margin: 0 16px 20px;
  }
  body.alc-mobile-menu .mobile-nav :is(.searchform, .dgwt-wcas-search-form) {
    position: relative;
    z-index: 4;
    margin: 0;
    border: 2px solid var(--alc-mm-shadow, #080808);
    border-radius: 24px;
    background: var(--alc-mm-card, #242424);
    box-shadow: var(--alc-mm-card-depth) var(--alc-mm-card-depth) 0 var(--alc-mm-shadow, #080808);
  }
  body.alc-mobile-menu .mobile-nav :is(.searchform input[type="text"], .dgwt-wcas-search-input) {
    box-sizing: border-box;
    width: 100%;
    height: 56px !important;
    min-height: 56px !important;
    padding: 10px 62px 10px 14px !important;
    border: 0 !important;
    border-radius: 22px !important;
    background: transparent !important;
    color: var(--alc-mm-text, #fff) !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 400;
    line-height: 1.4;
    text-transform: none !important;
    letter-spacing: normal;
  }
  body.alc-mobile-menu .mobile-nav .searchform:has(.wd-clear-search:not(.wd-hide)) input[type="text"] { padding-inline-end: 104px !important; }
  body.alc-mobile-menu .mobile-nav input::placeholder { color: var(--alc-mm-secondary, #cacaca) !important; opacity: 1; }
  body.alc-mobile-menu .mobile-nav :is(.searchsubmit, .dgwt-wcas-search-submit) {
    position: absolute;
    top: 6px;
    inset-inline-end: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--alc-mm-shadow, #080808) !important;
    border-radius: 17px !important;
    background: var(--alc-mm-accent, #296fbb) !important;
    color: var(--alc-mm-accent-text, #fff) !important;
    box-shadow: none !important;
    transform: none !important;
    font-family: inherit;
    text-transform: none;
  }
  body.alc-mobile-menu .mobile-nav .wd-clear-search {
    inset-inline-end: 50px;
    width: 44px;
    height: 44px;
    color: var(--alc-mm-text, #fff);
  }
  body.alc-mobile-menu .mobile-nav .wd-search-results {
    margin-top: 12px;
    border: 1px solid var(--alc-mm-border, #404040);
    border-radius: 16px;
    background: var(--alc-mm-card, #242424);
  }
  body.alc-mobile-menu .mobile-nav .wd-search-results :is(a, .wd-entities-title, .price, .wd-suggestion) { color: var(--alc-mm-text, #fff); }

  body.alc-mobile-menu .mobile-nav .alc-mm-search .dgwt-wcas-sf-wrapp {
    padding: 0;
    border: 0;
    border-radius: 22px;
    background: transparent;
  }
  body.alc-mobile-menu .mobile-nav .alc-mm-search input.dgwt-wcas-search-input {
    height: 52px !important;
    min-height: 52px !important;
    padding: 12px 44px 12px 36px !important;
  }
  body.alc-mobile-menu .mobile-nav .alc-mm-search .dgwt-wcas-ico-magnifier {
    left: 11px;
    width: 18px;
    height: 18px;
    color: var(--alc-mm-secondary, #cacaca);
    fill: currentColor;
    opacity: 1;
  }
  body.alc-mobile-menu .mobile-nav .alc-mm-search .dgwt-wcas-preloader {
    right: 2px;
    width: 44px;
    height: 100%;
    min-height: 44px;
    background-size: 18px auto;
  }
  body.alc-mobile-menu .mobile-nav .alc-mm-results-slot {
    padding: 0 16px;
    min-width: 0;
  }
  body.alc-mobile-menu .mobile-nav :is(.alc-mm-fibo-results, .alc-mm-fibo-details) {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    float: none !important;
    z-index: 1 !important;
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: min(50vh, 420px) !important;
    max-height: min(50dvh, 420px) !important;
    margin: 0 0 18px;
    padding: 4px;
    border: 1px solid var(--alc-mm-border, #404040);
    border-radius: 20px;
    background: var(--alc-mm-card, #242424);
    color: var(--alc-mm-text, #fff);
    box-shadow: var(--alc-mm-card-depth) var(--alc-mm-card-depth) 0 var(--alc-mm-shadow, #080808);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    font-family: inherit;
  }
  body.alc-mobile-menu .mobile-nav:not(.wd-opened) :is(.alc-mm-fibo-results, .alc-mm-fibo-details) { display: none !important; }
  body.alc-mobile-menu .mobile-nav .alc-mm-fibo-results .dgwt-wcas-suggestion {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 50px;
    padding: 10px;
    border-radius: 14px;
    border-color: var(--alc-mm-border, #404040);
    background: transparent;
    color: var(--alc-mm-text, #fff);
    font-family: inherit;
    font-size: 14px;
    line-height: 1.4;
    text-transform: none;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  body.alc-mobile-menu .mobile-nav .alc-mm-fibo-results .dgwt-wcas-suggestion-headline {
    min-height: 44px;
    color: var(--alc-mm-secondary, #cacaca);
    font-size: 12px;
  }
  body.alc-mobile-menu .mobile-nav .alc-mm-fibo-results :is(.dgwt-wcas-content-wrapp, .dgwt-wcas-st, .dgwt-wcas-sp) {
    min-width: 0;
    width: auto;
    max-width: 100%;
    margin: 0;
    color: inherit;
    font-family: inherit;
    line-height: 1.4;
    white-space: normal;
  }
  body.alc-mobile-menu .mobile-nav .alc-mm-fibo-results .dgwt-wcas-content-wrapp { display: block; flex: 1 1 0%; height: auto; padding: 0; resize: none; }
  body.alc-mobile-menu .mobile-nav .alc-mm-fibo-results .dgwt-wcas-st { display: block; text-transform: none; }
  body.alc-mobile-menu .mobile-nav .alc-mm-fibo-results .dgwt-wcas-sp { display: block; margin-top: 4px; padding: 0; text-align: start; white-space: nowrap; }
  body.alc-mobile-menu .mobile-nav .alc-mm-fibo-results :is(.dgwt-wcas-st strong, .dgwt-wcas-st b, .dgwt-wcas-sp .amount) { color: inherit; font-size: inherit; }
  body.alc-mobile-menu .mobile-nav .alc-mm-fibo-results .dgwt-wcas-si { flex: 0 0 42px; width: 42px; margin: 0; }
  body.alc-mobile-menu .mobile-nav .alc-mm-fibo-results .dgwt-wcas-si img { display: block; max-width: 42px; max-height: 50px; margin: 0 auto; border-radius: 8px; object-fit: contain; }
  body.alc-mobile-menu .mobile-nav .alc-mm-fibo-results :is(.dgwt-wcas-suggestion-selected, a.dgwt-wcas-suggestion:hover) {
    background: var(--alc-mm-accent, #296fbb);
    color: var(--alc-mm-accent-text, #fff);
  }

  body.alc-mobile-menu .mobile-nav .wd-nav-mobile {
    --nav-color: var(--alc-mm-text, #fff);
    --nav-color-hover: var(--alc-mm-text, #fff);
    margin: 0;
    padding: 0 16px 24px;
    animation: none;
  }
  body.alc-mobile-menu .mobile-nav .wd-nav-mobile li {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0 0 var(--alc-mm-gap, 10px);
    padding: 0;
    border: 0;
    background: transparent;
    list-style: none;
  }
  body.alc-mobile-menu .mobile-nav .wd-nav-mobile li:last-child { margin-bottom: 0; }
  body.alc-mobile-menu .mobile-nav .wd-nav-mobile li > a {
    box-sizing: border-box;
    display: flex;
    flex: 1 1 0%;
    align-items: center;
    min-width: 0;
    min-height: 54px;
    padding: 12px 14px;
    border: 1px solid var(--alc-mm-border, #404040);
    border-radius: var(--alc-mm-card-radius, 22px);
    background: var(--alc-mm-card, #242424);
    color: var(--alc-mm-text, #fff);
    box-shadow: var(--alc-mm-card-depth) var(--alc-mm-card-depth) 0 var(--alc-mm-shadow, #080808);
    font-family: inherit !important;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    text-transform: none !important;
    letter-spacing: normal;
    text-decoration: none;
    overflow-wrap: anywhere;
    transition: background-color .15s ease, color .15s ease;
  }
  body.alc-mobile-menu .mobile-nav .wd-nav-mobile li > a .nav-link-text { min-width: 0; white-space: normal; }
  body.alc-mobile-menu .mobile-nav .wd-nav-mobile .wd-nav-img { flex: 0 0 auto; width: 20px; max-width: 20px; height: 20px; object-fit: contain; }
  body.alc-mobile-menu .mobile-nav .wd-nav-mobile .menu-item-has-children > a {
    border-inline-end: 0;
    border-start-end-radius: 0;
    border-end-end-radius: 0;
    box-shadow: 0 var(--alc-mm-card-depth) 0 var(--alc-mm-shadow, #080808);
  }
  body.alc-mobile-menu .mobile-nav .wd-nav-opener {
    box-sizing: border-box;
    flex: 0 0 46px;
    width: 46px;
    min-height: 54px;
    border: 1px solid var(--alc-mm-border, #404040);
    border-inline-start: 0;
    border-start-end-radius: var(--alc-mm-card-radius, 22px);
    border-end-end-radius: var(--alc-mm-card-radius, 22px);
    background: var(--alc-mm-card, #242424);
    color: var(--alc-mm-text, #fff);
    box-shadow: var(--alc-mm-card-depth) var(--alc-mm-card-depth) 0 var(--alc-mm-shadow, #080808);
  }
  body.alc-mobile-menu .mobile-nav .wd-nav-opener::after {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(45deg);
  }
  body.alc-mobile-menu .mobile-nav .wd-nav-opener.wd-active::after { transform: rotate(135deg); }
  body.alc-mobile-menu .mobile-nav .wd-nav-mobile li:is(.current-menu-item, .current_page_item, .opener-page) > a,
  body.alc-mobile-menu .mobile-nav .wd-nav-mobile li.current-menu-item > .wd-nav-opener,
  body.alc-mobile-menu .mobile-nav .wd-nav-opener.wd-active {
    background: var(--alc-mm-accent, #296fbb);
    color: var(--alc-mm-accent-text, #fff);
    border-color: var(--alc-mm-shadow, #080808);
  }
  body.alc-mobile-menu .mobile-nav .wd-nav-mobile :is(.wd-sub-menu, .sub-sub-menu) {
    position: static;
    flex: 1 1 100%;
    order: 3;
    min-width: 0;
    width: 100%;
    margin: 0;
    padding: var(--alc-mm-gap, 10px) 0 0 10px;
    border: 0;
    background: transparent;
    box-shadow: none;
  }
  body.alc-mobile-menu .mobile-nav .wd-nav-mobile :is(.wd-sub-menu, .sub-sub-menu) li > a { min-height: 50px; font-size: 14px; }
  body.alc-mobile-menu .mobile-nav .wd-nav-mobile :is(.wd-sub-menu, .sub-sub-menu) .wd-nav-opener { min-height: 50px; }
  body.alc-mobile-menu .mobile-nav .wd-nav-mobile > .menu-item-account { margin-top: 20px; }
  body.alc-mobile-menu .mobile-nav :is(a, button, input, [role="button"]):focus-visible {
    outline: 2px solid var(--alc-mm-text, #fff) !important;
    outline-offset: -4px;
  }
  body.alc-mobile-menu .mobile-nav .wd-nav-mobile li > a:active,
  body.alc-mobile-menu .mobile-nav .alc-mm-close:active { background: #fff !important; color: #111 !important; }
}

@media (max-width: 1024px) and (prefers-reduced-motion: reduce) {
  body.alc-mobile-menu .mobile-nav.wd-side-hidden-nav,
  body.alc-mobile-menu .mobile-nav .wd-nav-mobile li > a,
  body.alc-mobile-menu .mobile-nav .wd-nav-opener,
  body.alc-mobile-menu .mobile-nav .wd-nav-opener::after { transition: none; }
}
