/* ====================================================
   FORCE HIDE SIDEBAR WHEN MODAL IS OPEN
   Ultra High Priority CSS Override
   ==================================================== */

/* CRITICAL: Hide sidebar when Bootstrap modal is open */
body.modal-open .sidebar,
body.modal-open nav.sidebar,
body.modal-open #sidebar {
    display: none !important;
    transform: translateX(-100%) !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    z-index: -1 !important;
}

/* CRITICAL: Hide hamburger button when modal is open */
body.modal-open .sidebar-toggle-floating,
body.modal-open #sidebarToggleFloating,
body.modal-open [data-sidebar-toggle],
body.modal-open .sidebar-toggle,
body.modal-open .navbar-toggler,
body.modal-open button[aria-label*="Toggle"] {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: scale(0) !important;
}

/* CRITICAL: Hide sidebar overlay when modal is open */
body.modal-open .sidebar-overlay,
body.modal-open #sidebarOverlay {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* Additional class-based hiding */
.sidebar.force-hide,
.sidebar.modal-active-hide {
    display: none !important;
    transform: translateX(-100%) !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Ensure modal is always on top */
.modal {
    z-index: 9999 !important;
}

.modal-backdrop {
    z-index: 9998 !important;
}

/* Hide when modal is showing (even before body.modal-open) */
.modal.show ~ .sidebar,
.modal.show ~ .sidebar-overlay,
.modal.show ~ .sidebar-toggle-floating {
    display: none !important;
}

/* ====================================================
   ADDITIONAL FORCE HIDE FOR FLOATING BUTTON
   Extra specific rules to ensure floating button hides
   ==================================================== */

/* Target ALL possible floating button variations */
body.modal-open button.sidebar-toggle-floating,
body.modal-open button#sidebarToggleFloating,
body.modal-open .sidebar-toggle-floating,
body.modal-open #sidebarToggleFloating {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: scale(0) translateX(-200px) !important;
    z-index: -9999 !important;
}

/* When any modal has .show class */
.modal.show ~ button.sidebar-toggle-floating,
.modal.show ~ button#sidebarToggleFloating,
.modal.show ~ .sidebar-toggle-floating,
.modal.show ~ #sidebarToggleFloating {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Global override when modal exists */
body:has(.modal.show) .sidebar-toggle-floating,
body:has(.modal.show) #sidebarToggleFloating {
    display: none !important;
}

/* Specific position-based hiding */
button[style*="position: fixed"].sidebar-toggle-floating {
    display: none !important;
}

body.modal-open button[style*="position: fixed"] {
    display: none !important;
}

/* Hide any floating button in top-left corner when modal open */
body.modal-open button[style*="top"][style*="left"],
body.modal-open .sidebar-toggle-floating[style*="position"] {
    display: none !important;
}

/* ====================================================
   NUCLEAR OPTION - Absolute Force Hide Floating Button
   ==================================================== */

/* Hide EVERY button that could be the floating toggle */
body.modal-open button,
body.modal-open .btn {
    /* Only if it has sidebar-related classes or IDs */
}

body.modal-open button[class*="sidebar"],
body.modal-open button[id*="sidebar"],
body.modal-open button[class*="toggle"],
body.modal-open [class*="sidebar-toggle"],
body.modal-open [id*="sidebarToggle"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Catch-all for any fixed position button in top-left when modal is open */
body.modal-open button[style*="position"][style*="fixed"] {
    display: none !important;
}

/* Make absolutely sure with attribute contains selector */
body.modal-open [class~="sidebar-toggle-floating"],
body.modal-open [id~="sidebarToggleFloating"] {
    display: none !important;
    visibility: hidden !important;
}

/* One more time with feeling - use multiple selectors */
body.modal-open .sidebar-toggle-floating,
body.modal-open #sidebarToggleFloating,
body.modal-open button.sidebar-toggle-floating,
body.modal-open button#sidebarToggleFloating {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    left: -9999px !important;
    top: -9999px !important;
}
