/* v33.3.10 — Mobile Touch Full Fix */
@media (max-width:900px){
  body.v33254-assoc-admin,
  body.v33254-portal-admin,
  body.v33254-member,
  body.v33252-public-mobile{
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
  }

  body.v33254-assoc-admin :is(a,button,input,select,textarea,label,.button),
  body.v33254-portal-admin :is(a,button,input,select,textarea,label,.button),
  body.v33254-member :is(a,button,input,select,textarea,label,.button),
  body.v33252-public-mobile :is(a,button,input,select,textarea,label,.button){
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:rgba(37,99,235,.16);
  }

  [hidden],.is-hidden,.is-invisible{pointer-events:none!important;}

  /* Admin Associação */
  body.v33254-assoc-admin:not(.v33310-assoc-menu-open) #sideMenu{
    visibility:hidden!important;pointer-events:none!important;
  }
  body.v33254-assoc-admin.v33310-assoc-menu-open #sideMenu{
    visibility:visible!important;pointer-events:auto!important;z-index:9002!important;
  }
  body.v33254-assoc-admin.v33310-assoc-menu-open #sideMenu *{pointer-events:auto!important;}
  body.v33254-assoc-admin #assocAppOverlay{
    visibility:hidden!important;pointer-events:none!important;display:none!important;z-index:9001!important;
  }
  body.v33254-assoc-admin.v33310-assoc-menu-open #assocAppOverlay:not([hidden]){
    visibility:visible!important;pointer-events:auto!important;display:block!important;
  }
  body.v33254-assoc-admin .assoc-mobile-bottom-nav,
  body.v33254-assoc-admin .v15-mobile-bottom{pointer-events:auto!important;z-index:8000!important;}
  body.v33254-assoc-admin :is(.assoc-mobile-bottom-nav,.v15-mobile-bottom) :is(a,button){pointer-events:auto!important;}

  /* Admin Portal */
  body.v33254-portal-admin:not(.v33310-portal-menu-open) #portalAdminSidebar{
    visibility:hidden!important;pointer-events:none!important;
  }
  body.v33254-portal-admin.v33310-portal-menu-open #portalAdminSidebar{
    visibility:visible!important;pointer-events:auto!important;z-index:9002!important;
  }
  body.v33254-portal-admin.v33310-portal-menu-open #portalAdminSidebar *{pointer-events:auto!important;}
  body.v33254-portal-admin .admin-mobile-overlay{
    visibility:hidden!important;pointer-events:none!important;display:none!important;z-index:9001!important;
  }
  body.v33254-portal-admin.v33310-portal-menu-open .admin-mobile-overlay.is-active{
    visibility:visible!important;pointer-events:auto!important;display:block!important;
  }
  body.v33254-portal-admin .v26-mobile-bottom,
  body.v33254-portal-admin .v26-mobile-fab{pointer-events:auto!important;}

  /* Member: preserve layout.php's native .is-open controller. */
  body.v33254-member .membro-mobile-overlay:not(.is-active){pointer-events:none!important;}
  body.v33254-member .membro-sidebar :is(a,button),
  body.v33254-member .membro-view :is(a,button,input,select,textarea){pointer-events:auto!important;}

  /* Public portal: v20_portal.js is the only drawer controller. */
  body.v33252-public-mobile .v20-drawer-overlay:not(.is-open){pointer-events:none!important;}
  body.v33252-public-mobile .v20-bottom :is(a,button),
  body.v33252-public-mobile .v20-drawer :is(a,button){pointer-events:auto!important;}

  /* Decorative layers cannot swallow taps. */
  body.v33254-assoc-admin *::before,body.v33254-assoc-admin *::after,
  body.v33254-portal-admin *::before,body.v33254-portal-admin *::after,
  body.v33254-member *::before,body.v33254-member *::after,
  body.v33252-public-mobile *::before,body.v33252-public-mobile *::after{pointer-events:none!important;}
}
