/* =========================================================
 * v5.1.81 — Mobile category drawer premium fit
 * ---------------------------------------------------------
 * Final layer for the mobile category drawer.
 * Fixes child category text clipping/"floating" feeling and makes rows calmer.
 * ========================================================= */

@media (max-width: 900px) {
  body.vlg-theme .vlg-nav.is-open,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open {
    max-width: 720px !important;
    margin-inline: auto !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-cat-tree,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown .vlg-cat-tree,
  body.vlg-theme.vlg-mobile-auto-open-categories .vlg-nav.is-open .vlg-cat-tree,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-menu.is-open .vlg-cat-tree {
    gap: 8px !important;
    padding: 10px !important;
    background: linear-gradient(180deg, #f7faff 0%, #eef4fb 100%) !important;
    border-color: #dce7f4 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree .vlg-cat-row,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-tree .vlg-cat-row {
    align-items: stretch !important;
    min-width: 0 !important;
  }

  /* Parent rows keep a separate orange toggle button. */
  body.vlg-theme .vlg-nav.is-open .vlg-cat-depth-0.has-children > .vlg-cat-row,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-depth-0.has-children > .vlg-cat-row {
    grid-template-columns: minmax(0, 1fr) 58px !important;
    gap: 10px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-depth-0.has-children > .vlg-cat-row .vlg-cat-subtoggle,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-depth-0.has-children > .vlg-cat-row .vlg-cat-subtoggle {
    width: 58px !important;
    min-width: 58px !important;
    height: 62px !important;
    border-radius: 18px !important;
    font-size: 18px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-depth-0 > .vlg-cat-row .vlg-cat-link,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-depth-0 > .vlg-cat-row .vlg-cat-link {
    min-height: 62px !important;
    border-radius: 18px !important;
  }

  /* Child rows use full width when there is no visible toggle. */
  body.vlg-theme .vlg-nav.is-open .vlg-cat-depth-1 > .vlg-cat-row,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-depth-1 > .vlg-cat-row,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-item.vlg-mobile-no-visible-children > .vlg-cat-row,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-item.vlg-mobile-no-visible-children > .vlg-cat-row,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-item:not(.has-children) > .vlg-cat-row,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-item:not(.has-children) > .vlg-cat-row {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-depth-1 > .vlg-cat-row .vlg-cat-subtoggle,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-depth-1 > .vlg-cat-row .vlg-cat-subtoggle,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-item.vlg-mobile-no-visible-children > .vlg-cat-row .vlg-cat-subtoggle,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-item.vlg-mobile-no-visible-children > .vlg-cat-row .vlg-cat-subtoggle {
    display: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-item.is-sub-open > .vlg-cat-submenu,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-item.is-sub-open > .vlg-cat-submenu {
    display: grid !important;
    gap: 8px !important;
    margin: 8px 0 4px 12px !important;
    padding: 0 0 0 9px !important;
    border-left: 2px solid rgba(242, 138, 0, .22) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-depth-1 > .vlg-cat-row .vlg-cat-link,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-depth-1 > .vlg-cat-row .vlg-cat-link {
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr) auto !important;
    gap: 9px !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 58px !important;
    height: auto !important;
    padding: 11px 12px !important;
    border-radius: 17px !important;
    background: rgba(255,255,255,.92) !important;
    box-shadow: 0 5px 14px rgba(31, 42, 68, .035) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-depth-1 > .vlg-cat-row .vlg-cat-link::before,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-depth-1 > .vlg-cat-row .vlg-cat-link::before {
    width: 11px !important;
    height: 11px !important;
    border-width: 3px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree .vlg-cat-title,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-tree .vlg-cat-title {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-depth-0 > .vlg-cat-row .vlg-cat-title,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-depth-0 > .vlg-cat-row .vlg-cat-title {
    font-size: 14.5px !important;
    line-height: 1.12 !important;
    letter-spacing: -.01em !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-depth-1 > .vlg-cat-row .vlg-cat-title,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-depth-1 > .vlg-cat-row .vlg-cat-title {
    font-size: 13px !important;
    line-height: 1.22 !important;
    font-weight: 900 !important;
    text-transform: none !important;
    letter-spacing: -.01em !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree .vlg-cat-count,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-tree .vlg-cat-count {
    align-self: center !important;
    justify-self: end !important;
    box-shadow: 0 8px 18px rgba(28, 42, 68, .06) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-depth-1 > .vlg-cat-row .vlg-cat-count,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-depth-1 > .vlg-cat-row .vlg-cat-count {
    min-width: 34px !important;
    height: 30px !important;
    padding: 0 8px !important;
    font-size: 12px !important;
  }
}

@media (max-width: 390px) {
  body.vlg-theme .vlg-nav.is-open,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open {
    left: 7px !important;
    right: 7px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-cat-tree,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown .vlg-cat-tree,
  body.vlg-theme.vlg-mobile-auto-open-categories .vlg-nav.is-open .vlg-cat-tree,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-menu.is-open .vlg-cat-tree {
    padding: 8px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-depth-0.has-children > .vlg-cat-row,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-depth-0.has-children > .vlg-cat-row {
    grid-template-columns: minmax(0, 1fr) 52px !important;
    gap: 8px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-depth-0.has-children > .vlg-cat-row .vlg-cat-subtoggle,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-depth-0.has-children > .vlg-cat-row .vlg-cat-subtoggle {
    width: 52px !important;
    min-width: 52px !important;
    height: 58px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-depth-0 > .vlg-cat-row .vlg-cat-title,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-depth-0 > .vlg-cat-row .vlg-cat-title {
    font-size: 13.5px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-depth-1 > .vlg-cat-row .vlg-cat-link,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-depth-1 > .vlg-cat-row .vlg-cat-link {
    grid-template-columns: 14px minmax(0, 1fr) auto !important;
    gap: 7px !important;
    min-height: 56px !important;
    padding: 10px 10px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-depth-1 > .vlg-cat-row .vlg-cat-title,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-depth-1 > .vlg-cat-row .vlg-cat-title {
    font-size: 12.5px !important;
  }
}
