/**
 * Réinitialise les surcharges `.main-content { margin-left: 260px !important; padding: 0 }`
 * injectées dans {% block extra_css %} des templates individuels.
 * Chargé APRÈS extra_css, avant les couches responsive finales.
 *
 * Aussi : neutralise les wrappers <div class="main-content"> imbriqués dans
 * {% block content %} (anti-pattern) qui doublaient la marge et faisaient
 * disparaître / masquer le menu latéral.
 */
@media (min-width: 992px) {
  body:not(.page-login) .app-container > main.main-content {
    margin-left: var(--sidebar-width, 260px) !important;
    margin-top: var(--header-height, 56px) !important;
    padding: var(--space-2xl) var(--space-xl) !important;
    width: calc(100% - var(--sidebar-width, 260px)) !important;
    max-width: 100% !important;
    min-height: calc(100vh - var(--header-height, 56px)) !important;
    background: var(--bg-secondary) !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 991px) {
  body:not(.page-login) .app-container > main.main-content {
    margin-left: 0 !important;
    margin-top: var(--header-height, 56px) !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: var(--space-md) !important;
    padding-right: var(--space-md) !important;
    box-sizing: border-box !important;
  }
}

/* Nested .main-content inside the real shell: do not re-apply sidebar offset */
body:not(.page-login) .app-container > main.main-content .main-content {
  margin-left: 0 !important;
  margin-top: 0 !important;
  margin-right: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  background: transparent !important;
  box-sizing: border-box !important;
  position: static !important;
  display: block !important;
}

/* Desktop: menu latéral + contenu toujours visibles (palette marque HL) */
@media (min-width: 992px) {
  body:not(.page-login) .sidebar {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: translateX(0) !important;
    -webkit-transform: translateX(0) !important;
    left: 0 !important;
    top: 0 !important;
    width: var(--sidebar-width, 260px) !important;
    max-width: var(--sidebar-width, 260px) !important;
    height: 100vh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    z-index: 1000 !important;
    background: var(--hl-blue-dark, #073652) !important;
    pointer-events: auto !important;
    position: fixed !important;
  }

  body:not(.page-login) .sidebar-header,
  body:not(.page-login) .sidebar-menu,
  body:not(.page-login) .menu-group,
  body:not(.page-login) .menu-group-title,
  body:not(.page-login) .menu-item,
  body:not(.page-login) .menu-subitem {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  body:not(.page-login) .sidebar-menu {
    display: block !important;
  }

  body:not(.page-login) .menu-item,
  body:not(.page-login) .menu-subitem,
  body:not(.page-login) .menu-group-title {
    color: rgba(255, 255, 255, 0.9) !important;
  }

  body:not(.page-login) .menu-plus-summary {
    color: #ffffff !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  body:not(.page-login) .menu-plus-items .menu-subitem {
    color: rgba(255, 255, 255, 0.88) !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  body:not(.page-login) .menu-section-label {
    color: rgba(255, 255, 255, 0.5) !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  body:not(.page-login) .menu-group-content.expanded {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-height: none !important;
  }

  body:not(.page-login) .top-header {
    left: var(--sidebar-width, 260px) !important;
    width: calc(100% - var(--sidebar-width, 260px)) !important;
  }

  body:not(.page-login) .mobile-menu-toggle,
  body:not(.page-login) #headerMenuToggle {
    display: none !important;
  }

  body:not(.page-login) .sidebar-overlay,
  body:not(.page-login) .sidebar-overlay.active {
    display: none !important;
  }
}
