/* Keeps POS action modals above Bootstrap backdrops. */
#recent_transactions_modal.in,
#recent_transactions_modal.show,
#mobile_product_suggestion_modal.in,
#mobile_product_suggestion_modal.show {
  z-index: 200000 !important;
  pointer-events: auto !important;
}

#mobile_product_suggestion_modal.in,
#mobile_product_suggestion_modal.show {
  overflow: hidden !important;
}

#recent_transactions_modal.in .modal-dialog,
#recent_transactions_modal.show .modal-dialog,
#recent_transactions_modal.in .modal-content,
#recent_transactions_modal.show .modal-content,
#recent_transactions_modal.in .modal-body,
#recent_transactions_modal.show .modal-body,
#recent_transactions_modal.in a,
#recent_transactions_modal.show a,
#recent_transactions_modal.in button,
#recent_transactions_modal.show button,
#mobile_product_suggestion_modal.in .modal-dialog,
#mobile_product_suggestion_modal.show .modal-dialog,
#mobile_product_suggestion_modal.in .modal-content,
#mobile_product_suggestion_modal.show .modal-content,
#mobile_product_suggestion_modal.in .modal-body,
#mobile_product_suggestion_modal.show .modal-body,
#mobile_product_suggestion_modal.in .modal-footer,
#mobile_product_suggestion_modal.show .modal-footer,
#mobile_product_suggestion_modal.in a,
#mobile_product_suggestion_modal.show a,
#mobile_product_suggestion_modal.in button,
#mobile_product_suggestion_modal.show button,
#mobile_product_suggestion_modal.in label,
#mobile_product_suggestion_modal.show label,
#mobile_product_suggestion_modal.in .product_box,
#mobile_product_suggestion_modal.show .product_box,
#mobile_product_suggestion_modal.in .product_category,
#mobile_product_suggestion_modal.show .product_category,
#mobile_product_suggestion_modal.in .product_brand,
#mobile_product_suggestion_modal.show .product_brand,
#mobile_product_suggestion_modal.in .main-category,
#mobile_product_suggestion_modal.show .main-category {
  position: relative !important;
  z-index: 200010 !important;
  pointer-events: auto !important;
}

body:has(#recent_transactions_modal.in).modal-open > .modal-backdrop,
body:has(#recent_transactions_modal.show).modal-open > .modal-backdrop {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.recent-transactions-open > .modal-backdrop,
body.recent-transactions-open .modal-backdrop,
body.mobile-product-suggestion-open > .modal-backdrop,
body.mobile-product-suggestion-open .modal-backdrop,
body:has(#mobile_product_suggestion_modal.in).modal-open > .modal-backdrop,
body:has(#mobile_product_suggestion_modal.show).modal-open > .modal-backdrop {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

@media (max-width: 767px) {
  #mobile_product_suggestion_modal.in .modal-dialog,
  #mobile_product_suggestion_modal.show .modal-dialog {
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    margin: 0 !important;
  }

  #mobile_product_suggestion_modal.in .modal-content,
  #mobile_product_suggestion_modal.show .modal-content {
    display: flex !important;
    flex-direction: column !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  #mobile_product_suggestion_modal.in .modal-header,
  #mobile_product_suggestion_modal.show .modal-header,
  #mobile_product_suggestion_modal.in .modal-footer,
  #mobile_product_suggestion_modal.show .modal-footer {
    flex: 0 0 auto !important;
    position: relative !important;
    z-index: 200030 !important;
    background: #ffffff !important;
  }

  #mobile_product_suggestion_modal.in .modal-body,
  #mobile_product_suggestion_modal.show .modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 10px !important;
  }

  #mobile_product_suggestion_modal #product_category_div,
  #mobile_product_suggestion_modal #product_brand_div {
    position: static !important;
    min-width: 0 !important;
  }

  #mobile_product_suggestion_modal #product_category_div .tw-dw-drawer-side,
  #mobile_product_suggestion_modal #product_brand_div .tw-dw-drawer-side {
    position: fixed !important;
    inset: 0 !important;
    z-index: 200040 !important;
    max-height: 100dvh !important;
    pointer-events: auto !important;
  }

  #mobile_product_suggestion_modal #product_category_div .tw-dw-menu,
  #mobile_product_suggestion_modal #product_brand_div .tw-dw-menu {
    width: min(380px, 92vw) !important;
    max-width: 92vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    padding: 14px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  #mobile_product_suggestion_modal #product_category_div .tw-dw-menu > .tw-flex,
  #mobile_product_suggestion_modal #product_brand_div .tw-dw-menu > .tw-flex {
    position: sticky !important;
    top: 0 !important;
    z-index: 1 !important;
    margin-bottom: 14px !important;
    padding-bottom: 10px !important;
    background: #ffffff !important;
  }

  #mobile_product_suggestion_modal #product_category_div .tw-dw-menu .row,
  #mobile_product_suggestion_modal #product_brand_div .tw-dw-menu .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  #mobile_product_suggestion_modal #product_category_div .tw-dw-card,
  #mobile_product_suggestion_modal #product_brand_div .tw-dw-card {
    min-width: 112px !important;
  }
}
