/* EVIA v4.8.16.22 — Mobile navigation + responsive overflow hardening */
@media (max-width: 991.98px) {
  html.evia-mobile-ui, html.evia-mobile-ui body { width:100%; max-width:100%; overflow-x:hidden!important; }
  body.evia-mobile-ui { min-width:0!important; }
  body.evia-mobile-ui.evia-mobile-sidebar-open { overflow:hidden!important; touch-action:none; }

  body.evia-mobile-ui [data-evia-mobile-sidebar="true"] {
    display:block!important; position:fixed!important; inset:0 auto 0 0!important;
    width:min(86vw,320px)!important; max-width:320px!important; height:100dvh!important;
    min-height:100dvh!important; margin:0!important; transform:translate3d(-105%,0,0)!important;
    transition:transform .24s ease!important; z-index:2147483001!important;
    overflow-x:hidden!important; overflow-y:auto!important; overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch; box-shadow:18px 0 46px rgba(0,0,0,.20);
    visibility:visible!important; opacity:1!important; pointer-events:auto!important;
  }
  body.evia-mobile-ui.evia-mobile-sidebar-open [data-evia-mobile-sidebar="true"] { transform:translate3d(0,0,0)!important; }

  body.evia-mobile-ui .evia-mobile-menu-toggle {
    appearance:none; -webkit-appearance:none; position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 12px)!important; left:12px!important;
    width:46px!important; height:46px!important; display:inline-flex!important;
    align-items:center!important; justify-content:center!important;
    border:1px solid rgba(255,255,255,.18)!important; border-radius:14px!important;
    background:#111!important; color:#fff!important; box-shadow:0 10px 28px rgba(0,0,0,.24)!important;
    z-index:2147483003!important; cursor:pointer!important; touch-action:manipulation!important;
  }
  body.evia-mobile-ui .evia-mobile-menu-toggle svg { width:23px; height:23px; display:block; pointer-events:none; }
  body.evia-mobile-ui.evia-mobile-sidebar-open .evia-mobile-menu-toggle { left:min(calc(86vw - 58px),262px)!important; }

  body.evia-mobile-ui .evia-mobile-sidebar-overlay {
    display:block!important; position:fixed!important; inset:0!important; z-index:2147483000!important;
    background:rgba(0,0,0,.46)!important; backdrop-filter:blur(2px); -webkit-backdrop-filter:blur(2px);
    opacity:0!important; visibility:hidden!important; pointer-events:none!important;
    transition:opacity .2s ease,visibility .2s ease!important;
  }
  body.evia-mobile-ui.evia-mobile-sidebar-open .evia-mobile-sidebar-overlay {
    opacity:1!important; visibility:visible!important; pointer-events:auto!important;
  }

  body.evia-mobile-ui :is(main,.main,.main-content,.content,.content-wrapper,.page-content,.evia-content,.evia-main,.evia-main-content,.evia-admin-content,.evia-shell-main,.v42-main,.v43-main,.v44-main,.v45-main) {
    min-width:0!important; max-width:100%!important; width:100%!important; margin-left:0!important;
    left:auto!important; transform:none!important; box-sizing:border-box!important;
  }
  body.evia-mobile-ui :is(.container,.container-fluid,.row,.card,.evia-panel,.evia-page,.evia-page-header,.evia-grid,.v42-shell,.v43-shell,.v44-shell,.v45-shell) {
    min-width:0!important; max-width:100%!important; box-sizing:border-box!important;
  }
  body.evia-mobile-ui img, body.evia-mobile-ui video, body.evia-mobile-ui canvas { max-width:100%; }
  body.evia-mobile-ui :is(.table-responsive,.evia-table-responsive,.evia-scroll-x,[data-horizontal-scroll]) {
    width:100%!important; max-width:100%!important; overflow-x:auto!important;
    overscroll-behavior-inline:contain; -webkit-overflow-scrolling:touch;
  }
  body.evia-mobile-ui input, body.evia-mobile-ui select, body.evia-mobile-ui textarea, body.evia-mobile-ui button { max-width:100%; }
  body.evia-mobile-ui input, body.evia-mobile-ui select, body.evia-mobile-ui textarea { font-size:max(16px,1em); }
}
@media (min-width: 992px) { .evia-mobile-menu-toggle,.evia-mobile-sidebar-overlay { display:none!important; } }
.evia-mobile-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
