/* Global responsive helpers */
img,video,svg {max-width:100%;height:auto;}
.table-responsive {width:100%;overflow-x:auto;}
/* Button stacks on small */
@media (max-width:576px){
  .stack-sm > * {width:100%!important; margin:0 0 .5rem 0!important;}
  h1.display-1,h1,h2 {font-size:1.9rem!important;}
  .hero {padding:80px 0 60px!important;}
  .hero h1 {font-size:2.2rem!important;}
  .hero p.lead {font-size:1.05rem!important;}
  .wizard-step .d-flex.gap-2 > * {flex:1 1 100%;}
  nav.navbar .navbar-brand {font-size:1.1rem;}
  .main-content {padding:1rem!important;}
}
@media (max-width:1200px){
  .main-content {margin-left:0!important;}
  .sidenav {transform:translateX(-100%);transition:transform .3s ease,width .3s ease;will-change:transform; position:fixed; top:0; left:0; bottom:0; width:250px; max-width:80%; z-index:1050; }
  body.sidebar-open .sidenav {transform:translateX(0);}
}

/* Sidebar Backdrop */
.sidebar-backdrop {position:fixed;inset:0; background:rgba(0,0,0,.4);opacity:0;visibility:hidden;transition:opacity .25s ease;z-index:1040;}
body.sidebar-open .sidebar-backdrop {opacity:1;visibility:visible;}
body:not(.sidebar-open) .sidebar-backdrop.active {opacity:0;visibility:hidden;}
body.sidebar-open { overflow:hidden; }
.sidenav { z-index:1050; }
nav.navbar-admin, nav.navbar { position:relative; z-index:1060; }
main.main-content { position:relative; z-index:1; }
@media (max-width:1200px){ nav.navbar-admin + main.main-content { margin-top:.5rem; } }
