/*
  Maido Customs Pure PHP Rebuild - Stage 3V
  Proper mobile/tablet drawer menu. This sits after Stage 3U and keeps the
  reduced-width header from colliding when the browser is narrowed.
*/

@media (max-width: 1180px) {
  html body.has-hero-header .site-header--hero,
  html body .site-header {
    z-index: 2000 !important;
  }

  /* Clean, tappable hamburger. */
  html body.has-hero-header .site-header--hero .menu-toggle,
  html body .menu-toggle[data-menu-toggle] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 7px !important;
    width: 54px !important;
    height: 54px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    position: relative !important;
    z-index: 2050 !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  html body.has-hero-header .site-header--hero .menu-toggle span,
  html body .menu-toggle[data-menu-toggle] span {
    display: block !important;
    width: 40px !important;
    height: 5px !important;
    border-radius: 999px !important;
    background: #050505 !important;
    opacity: 1 !important;
    transition: transform .18s ease, opacity .18s ease !important;
  }

  html body.maido-mobile-menu-open .site-header--hero .menu-toggle span:nth-child(1),
  html body.maido-mobile-menu-open .menu-toggle[data-menu-toggle] span:nth-child(1) {
    transform: translateY(12px) rotate(45deg) !important;
  }

  html body.maido-mobile-menu-open .site-header--hero .menu-toggle span:nth-child(2),
  html body.maido-mobile-menu-open .menu-toggle[data-menu-toggle] span:nth-child(2) {
    opacity: 0 !important;
  }

  html body.maido-mobile-menu-open .site-header--hero .menu-toggle span:nth-child(3),
  html body.maido-mobile-menu-open .menu-toggle[data-menu-toggle] span:nth-child(3) {
    transform: translateY(-12px) rotate(-45deg) !important;
  }

  /* Dark backdrop behind drawer. */
  html body.maido-mobile-menu-open::before {
    content: "" !important;
    position: fixed !important;
    top: var(--maido-mobile-header-height, 88px) !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: rgba(0, 0, 0, .46) !important;
    z-index: 1980 !important;
  }

  /* Proper mobile drawer instead of floating menu items over the hero. */
  html body.has-hero-header .site-header--hero .main-nav[data-main-nav],
  html body .main-nav[data-main-nav] {
    display: block !important;
    position: fixed !important;
    top: var(--maido-mobile-header-height, 88px) !important;
    left: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    width: min(84vw, 360px) !important;
    min-width: 0 !important;
    max-width: 360px !important;
    height: calc(100vh - var(--maido-mobile-header-height, 88px)) !important;
    margin: 0 !important;
    padding: 12px 0 28px !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: 18px 0 30px rgba(0, 0, 0, .26) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    z-index: 1995 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateX(-105%) !important;
    transition: transform .24s ease, opacity .18s ease, visibility .18s ease !important;
  }

  html body.maido-mobile-menu-open.has-hero-header .site-header--hero .main-nav[data-main-nav],
  html body.maido-mobile-menu-open .main-nav[data-main-nav],
  html body.has-hero-header .site-header--hero .main-nav[data-main-nav].is-open,
  html body .main-nav[data-main-nav].is-open,
  html body.has-hero-header .site-header--hero .main-nav[data-main-nav][data-maido-mobile-open="true"],
  html body .main-nav[data-main-nav][data-maido-mobile-open="true"] {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateX(0) !important;
  }

  /* Reset all desktop/dropdown/floating styles inside the mobile drawer. */
  html body.has-hero-header .site-header--hero .main-nav[data-main-nav] .nav-item,
  html body .main-nav[data-main-nav] .nav-item,
  html body.has-hero-header .site-header--hero .main-nav[data-main-nav] > .nav-link,
  html body .main-nav[data-main-nav] > .nav-link,
  html body.has-hero-header .site-header--hero .main-nav[data-main-nav] .maido-stage3r-mobile-contact,
  html body .main-nav[data-main-nav] .maido-stage3r-mobile-contact {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    position: relative !important;
    transform: none !important;
  }

  html body.has-hero-header .site-header--hero .main-nav[data-main-nav] .nav-link,
  html body .main-nav[data-main-nav] .nav-link,
  html body.has-hero-header .site-header--hero .main-nav[data-main-nav] > .nav-link,
  html body .main-nav[data-main-nav] > .nav-link,
  html body.has-hero-header .site-header--hero .main-nav[data-main-nav] .maido-stage3r-mobile-contact,
  html body .main-nav[data-main-nav] .maido-stage3r-mobile-contact {
    width: 100% !important;
    min-height: 54px !important;
    height: 54px !important;
    padding: 0 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    border-radius: 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, .08) !important;
    background: #ffffff !important;
    box-shadow: none !important;
    color: #050505 !important;
    font-family: var(--font-menu, Impact, Haettenschweiler, 'Arial Narrow', sans-serif) !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    letter-spacing: -.015em !important;
    line-height: 1 !important;
    text-align: left !important;
    text-decoration: none !important;
    text-transform: none !important;
  }

  html body .main-nav[data-main-nav] .nav-link > span:first-child,
  html body .main-nav[data-main-nav] > .nav-link > span:first-child,
  html body .main-nav[data-main-nav] .maido-stage3r-mobile-contact > span:first-child {
    display: inline-block !important;
    flex: 1 1 auto !important;
    text-align: left !important;
  }

  html body.has-hero-header .site-header--hero .main-nav[data-main-nav] .nav-caret,
  html body .main-nav[data-main-nav] .nav-caret {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: 26px !important;
    height: 26px !important;
    margin: 0 0 0 8px !important;
    color: #5b5b5b !important;
    font-size: 19px !important;
    line-height: 1 !important;
    transform: rotate(0deg) !important;
    transition: transform .16s ease !important;
  }

  html body .main-nav[data-main-nav] .nav-item.is-mobile-expanded > .nav-link .nav-caret {
    transform: rotate(180deg) !important;
  }

  /* Category submenus become a compact accordion inside the drawer. */
  html body.has-hero-header .site-header--hero .main-nav[data-main-nav] .maido-stage3k-menu-panel,
  html body .main-nav[data-main-nav] .maido-stage3k-menu-panel {
    display: none !important;
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #f5f5f5 !important;
    box-shadow: none !important;
    overflow: hidden !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  html body .main-nav[data-main-nav] .nav-item.is-mobile-expanded > .maido-stage3k-menu-panel {
    display: block !important;
  }

  html body .main-nav[data-main-nav] .maido-stage3k-tree,
  html body .main-nav[data-main-nav] .maido-stage3k-tree ul,
  html body .main-nav[data-main-nav] .maido-stage3k-level-1,
  html body .main-nav[data-main-nav] .maido-stage3k-level-2,
  html body .main-nav[data-main-nav] .maido-stage3k-level-3 {
    display: block !important;
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
  }

  html body .main-nav[data-main-nav] .maido-stage3k-item {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body .main-nav[data-main-nav] .maido-stage3k-row,
  html body .main-nav[data-main-nav] .maido-stage3k-view-all {
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 24px 0 34px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border-top: 1px solid rgba(0, 0, 0, .06) !important;
    background: transparent !important;
  }

  html body .main-nav[data-main-nav] .maido-stage3k-level-2 .maido-stage3k-row {
    padding-left: 48px !important;
  }

  html body .main-nav[data-main-nav] .maido-stage3k-level-3 .maido-stage3k-row {
    padding-left: 62px !important;
  }

  html body .main-nav[data-main-nav] .maido-stage3k-category-link,
  html body .main-nav[data-main-nav] .maido-stage3k-view-all,
  html body .main-nav[data-main-nav] .maido-stage3k-menu-panel span {
    color: #111 !important;
    font-family: "Avenir Next", "Helvetica Neue", Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    letter-spacing: -.02em !important;
    text-decoration: none !important;
    text-align: left !important;
  }

  html body .main-nav[data-main-nav] .maido-stage3k-child-arrow {
    color: #777 !important;
    font-size: 17px !important;
    line-height: 1 !important;
  }

  html body.maido-mobile-menu-open {
    overflow: hidden !important;
  }
}

@media (max-width: 560px) {
  html body.has-hero-header .site-header--hero .main-nav[data-main-nav],
  html body .main-nav[data-main-nav] {
    width: min(86vw, 340px) !important;
    max-width: 340px !important;
  }
}
