/* FoodCare Foodborne Guide v0.15.23
 * MOBILE-ONLY UX layer.
 * The desktop/PC frontend remains the exact v0.15.19(2) baseline.
 */
@media (max-width:760px){
  html,body{max-width:100%!important;overflow-x:hidden!important}
  body.fbp-guide-page,.fbp-app-shell,.fbp-workspace,.fbp-tool-view,.fbp-guide-main,.fbp-assessment-panel,.fbp-results-panel,.fbp-library-shell{max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
  .fbp-app-shell,.fbp-workspace,.fbp-tool-view,.fbp-guide-main,.fbp-results-panel{overflow-x:clip!important}

  /* App-style navigation: no sideways swiping. */
  .fbp-workspace>.fbp-tool-nav{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:5.64px!important;overflow:visible!important;overflow-x:visible!important;
    position:sticky!important;top:max(0px,env(safe-area-inset-top))!important;z-index:1200!important;
    width:calc(100% - 12px)!important;max-width:calc(100% - 12px)!important;
    margin:5.64px!important;padding:5.64px!important;border-radius:14.1px!important;
    background:rgba(247,249,253,.97)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    box-shadow:0 8px 28px rgba(17,38,89,.15)!important;
  }
  .fbp-workspace>.fbp-tool-nav button{
    width:100%!important;min-width:0!important;min-height:41.36px!important;height:auto!important;
    padding:7.52px 5.64px!important;font-size:11.5px!important;line-height:1.16!important;
    white-space:normal!important;overflow-wrap:anywhere!important;text-align:center!important;
    display:flex!important;align-items:center!important;justify-content:center!important;border-radius:10.34px!important;
  }

  /* Product/scenario actions fit the phone. */
  .fbp-product-toolbar,.fbp-my-products-bar{grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important;min-width:0!important}
  .fbp-product-source,.fbp-product-picker,.fbp-product-actions{width:100%!important;max-width:100%!important;min-width:0!important}
  .fbp-product-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6.58px!important}
  .fbp-product-actions button{width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;min-height:42.3px!important;white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.18!important;padding:8.46px 6.58px!important}

  /* Saved products: bottom sheet. Existing v0.15.19 markup/handlers remain authoritative. */
  .fbp-saved-menu[hidden]{display:none!important}
  .fbp-saved-menu:not([hidden]){
    display:block!important;position:fixed!important;z-index:2147482500!important;
    left:10px!important;right:10px!important;top:auto!important;bottom:max(10px,env(safe-area-inset-bottom))!important;
    width:auto!important;min-width:0!important;max-width:none!important;max-height:min(62dvh,507.6px)!important;
    padding:7.52px!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;
    border:1px solid #d6deea!important;border-radius:20.68px!important;background:#fff!important;
    box-shadow:0 24px 80px rgba(10,28,68,.32)!important;overscroll-behavior:contain!important;
  }
  .fbp-saved-menu>button{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:2.82px!important;min-height:52.64px!important;padding:10.34px 11.28px!important;border-bottom:1px solid #edf1f6!important;border-radius:10.34px!important}
  .fbp-saved-menu>button b,.fbp-saved-menu>button small{white-space:normal!important;overflow-wrap:anywhere!important;text-align:left!important}
  .fbp-mobile-saved-loading{padding:15.04px!important;text-align:center!important;color:#68758a!important;font-weight:700!important}

  /* Scientific modal: never wider than viewport. */
  .fbp-modal{padding:0!important;max-width:100vw!important;overflow:hidden!important}
  .fbp-modal-card{width:100%!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important}
  .fbp-modal-content{width:100%!important;max-width:100%!important;min-width:0!important;padding:16.92px 14.1px calc(31.96px + env(safe-area-inset-bottom))!important;overflow-x:hidden!important;box-sizing:border-box!important}
  .fbp-modal-content *{box-sizing:border-box;min-width:0}
  .fbp-modal-content p,.fbp-modal-content dd,.fbp-modal-content li,.fbp-modal-content h2,.fbp-modal-content h3,.fbp-modal-content h4{max-width:100%!important;overflow-wrap:anywhere!important;word-break:normal!important}
  .fbp-modal-content .fbp-detail-grid{grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important;gap:11.28px!important}
  .fbp-modal-content .fbp-detail-grid dl{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:2.82px!important;width:100%!important;max-width:100%!important}
  .fbp-modal-content .fbp-detail-grid dd{margin:0!important;width:100%!important;max-width:100%!important;white-space:normal!important}
  .fbp-modal-content table{display:block!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}

  /* Move dataset/engine strip to the bottom only on mobile (JS performs the move). */
  .fbp-version-strip.fbp-mobile-version-strip{margin:18.8px 9.4px 3.76px!important;padding:11.28px!important;display:grid!important;grid-template-columns:1fr!important;gap:3.76px!important;border:1px solid #dfe6ef!important;border-radius:13.16px!important;background:#f7f9fc!important;font-size:10.5px!important;line-height:1.35!important}

  /* Mobile jump hubs. They are injected only by public-mobile-v1523.js. */
  .fbp-mobile-nav-hub{display:block!important;width:100%!important;max-width:100%!important;margin:11.28px 0 13.16px!important;padding:11.28px!important;border:1px solid #d8e2f0!important;border-radius:16.92px!important;background:linear-gradient(180deg,#f8fbff,#f1f6fd)!important;box-shadow:0 7px 24px rgba(23,55,120,.08)!important;box-sizing:border-box!important;scroll-margin-top:150px!important}
  .fbp-mobile-nav-hub-head{display:grid!important;gap:2.82px!important;margin-bottom:9.4px!important}
  .fbp-mobile-nav-hub-head b{font-size:14.1px!important;color:#172b77!important}
  .fbp-mobile-nav-hub-head span{font-size:11.5px!important;line-height:1.35!important;color:#68778e!important}
  .fbp-mobile-nav-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6.58px!important}
  .fbp-mobile-nav-btn{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-content:center!important;gap:2.82px!important;width:100%!important;min-width:0!important;min-height:48.88px!important;padding:8.46px 9.4px!important;text-align:left!important;border:1px solid #cfdced!important;border-radius:12.22px!important;background:#fff!important;color:#1f356c!important;box-shadow:0 2px 7px rgba(23,55,120,.05)!important}
  .fbp-mobile-nav-btn span{font-size:12px!important;font-weight:850!important;line-height:1.2!important;overflow-wrap:anywhere!important}
  .fbp-mobile-nav-btn small{font-size:9.5px!important;color:#718098!important;line-height:1.15!important}
  .fbp-mobile-back-btn{display:flex!important;width:100%!important;min-height:41.36px!important;margin-top:11.28px!important;align-items:center!important;justify-content:center!important;border:1px solid #cbd8e9!important;border-radius:11.28px!important;background:#f4f7fb!important;color:#173884!important;font-weight:850!important;font-size:12px!important}
  .fbp-mobile-jump-target{scroll-margin-top:150px!important}

  /* Environmental Zone -> Pathogen tree. */
  .fbp-mobile-env-tree-node{border:1px solid #d8e2f0!important;border-radius:12.22px!important;background:#fff!important;overflow:hidden!important}
  .fbp-mobile-env-tree-node+.fbp-mobile-env-tree-node{margin-top:6.58px!important}
  .fbp-mobile-env-zone{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;min-height:45.12px!important;padding:9.4px 11.28px!important;border:0!important;background:#eef4fb!important;color:#173884!important;font-weight:900!important;text-align:left!important}
  .fbp-mobile-env-zone small{font-size:10px!important;color:#65758d!important}
  .fbp-mobile-env-children{display:grid!important;grid-template-columns:1fr!important;gap:4.7px!important;padding:6.58px!important}
  .fbp-mobile-env-children[hidden]{display:none!important}

  /* Mobile results/cards should never force page width. */
  .fbp-mobile-main-results,.fbp-mobile-screened-results,.fbp-mobile-other-results,.fbp-mobile-incomplete-results,.fbp-mobile-hazard-card,.fbp-pathogen-card,.fbp-em-pathogen-card{max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
}

@media (max-width:340px){
  .fbp-workspace>.fbp-tool-nav,.fbp-product-actions,.fbp-mobile-nav-grid{grid-template-columns:1fr!important}
}
