/*
 * FoodCare FoodBorne Pathogen Guide v0.20.0
 * Unified canonical-food picker, taxonomy modal, context lifecycle and search controls.
 * This layer does not change the established application/container dimensions.
 */

/* One visible canonical food control. The legacy category select remains hidden for backward compatibility only. */
.fbp-food-hierarchy-search>.fbp-food-category-field{display:none!important}
.fbp-canonical-picker-v200{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto auto auto!important;
  gap:6px!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:visible!important;
  align-content:start!important;
}
.fbp-canonical-picker-v200>.fbp-food-category-field{display:none!important}
.fbp-canonical-picker-v200>.fbp-food-product-field{display:block!important;grid-column:1!important;grid-row:1!important;margin:0!important;min-width:0!important}
.fbp-canonical-picker-v200>.fbp-canonical-food-row{grid-column:1!important;grid-row:2!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:stretch!important;min-width:0!important;max-width:100%!important}
.fbp-canonical-picker-v200 .fbp-search-with-clear{min-width:0!important;max-width:100%!important;width:100%!important;margin:0!important}
.fbp-canonical-picker-v200 input[type="search"]{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
.fbp-taxonomy-open{min-width:154px!important;max-width:190px!important;white-space:normal!important;line-height:1.2!important;padding:8px 12px!important}
.fbp-canonical-food-meta{grid-column:1!important;grid-row:3!important;display:flex!important;gap:8px 14px!important;flex-wrap:wrap!important;padding:6px 9px!important;border:1px solid #dce5f1!important;border-radius:9px!important;background:#f8fbff!important;color:#53657f!important;font-size:13px!important;line-height:1.35!important;min-width:0!important}
.fbp-canonical-food-meta[hidden]{display:none!important}
.fbp-canonical-food-meta span{min-width:0!important;overflow-wrap:anywhere!important}
.fbp-canonical-picker-v200>.fbp-async-food-menu{grid-column:1!important;grid-row:4!important;min-width:0!important;max-width:100%!important}
.fbp-canonical-picker-v200>.fbp-food-search-help{display:none!important}

/* Main assessment keeps user product name separate from canonical taxonomy. */
.fbp-assessment-panel .fbp-canonical-picker-v200{align-self:start!important}

/* Taxonomy modal. */
body.fbp-taxonomy-modal-open{overflow:hidden!important}
.fbp-taxonomy-modal-v200[hidden]{display:none!important}
.fbp-taxonomy-modal-v200{position:fixed!important;inset:0!important;z-index:2147483600!important;display:grid!important;place-items:center!important;padding:18px!important}
.fbp-taxonomy-backdrop{position:absolute!important;inset:0!important;background:rgba(9,25,57,.58)!important;backdrop-filter:blur(3px)!important}
.fbp-taxonomy-modal-v200>section{position:relative!important;width:min(1180px,calc(100vw - 36px))!important;max-height:calc(100dvh - 36px)!important;overflow:auto!important;background:#fff!important;border:1px solid #d3deed!important;border-radius:20px!important;box-shadow:0 28px 90px rgba(7,25,64,.32)!important;padding:20px!important;box-sizing:border-box!important}
.fbp-taxonomy-modal-v200 header{display:flex!important;justify-content:space-between!important;gap:20px!important;align-items:flex-start!important;margin-bottom:16px!important}
.fbp-taxonomy-modal-v200 header h2{margin:3px 0 4px!important;color:#17377f!important;font-size:26px!important;line-height:1.15!important}
.fbp-taxonomy-modal-v200 header p{margin:0!important;color:#5e6e86!important;line-height:1.45!important}
.fbp-taxonomy-modal-v200 header small{font-weight:900!important;color:#748198!important;text-transform:uppercase!important;letter-spacing:.08em!important}
.fbp-taxonomy-close{flex:0 0 44px!important;width:44px!important;height:44px!important;border:1px solid #d5dfed!important;border-radius:50%!important;background:#fff!important;color:#425675!important;font-size:24px!important;cursor:pointer!important}
.fbp-taxonomy-controls{display:grid!important;grid-template-columns:minmax(280px,1.4fr) minmax(230px,.8fr) auto auto!important;gap:10px!important;align-items:end!important;padding:14px!important;border:1px solid #dbe5f1!important;border-radius:14px!important;background:#f6f9fd!important}
.fbp-taxonomy-controls label{display:grid!important;gap:5px!important;font-weight:850!important;color:#243d70!important;min-width:0!important}
.fbp-taxonomy-controls input,.fbp-taxonomy-controls select,.fbp-taxonomy-controls button{height:46px!important;min-width:0!important;box-sizing:border-box!important}
.fbp-taxonomy-controls input,.fbp-taxonomy-controls select{width:100%!important;appearance:auto!important;-webkit-appearance:menulist!important;border:1px solid #bccbe0!important;border-radius:10px!important;background:#fff!important;padding:0 12px!important}
.fbp-taxonomy-results{margin-top:14px!important;border:1px solid #dbe4ef!important;border-radius:14px!important;overflow:hidden!important;background:#fff!important}
.fbp-taxonomy-result-head,.fbp-taxonomy-results article{display:grid!important;grid-template-columns:minmax(220px,1fr) 120px minmax(300px,1.5fr) 110px!important;gap:10px!important;align-items:center!important;padding:10px 12px!important;min-width:0!important}
.fbp-taxonomy-result-head{background:#eaf0f8!important;color:#52647f!important;font-weight:900!important;font-size:13px!important;text-transform:uppercase!important;letter-spacing:.04em!important}
.fbp-taxonomy-results article{border-top:1px solid #e3eaf3!important}
.fbp-taxonomy-results article strong{color:#17377f!important;line-height:1.3!important;overflow-wrap:anywhere!important}
.fbp-taxonomy-results article code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;background:#f2f5fa!important;padding:5px 7px!important;border-radius:7px!important;overflow-wrap:anywhere!important}
.fbp-taxonomy-results article span{color:#61718a!important;line-height:1.35!important;overflow-wrap:anywhere!important}
.fbp-taxonomy-state{padding:26px!important;text-align:center!important;color:#62738b!important;font-weight:750!important}

/* Optional, deliberate return to the last analysis from standalone tools. */
.fbp-standalone-head{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}
.fbp-use-last-analysis{margin-left:auto!important;min-height:38px!important;padding:7px 11px!important}
.fbp-tool-view[data-context-mode="standalone"] .fbp-analysis-evidence-context{display:none!important}

/* Identical searchable region control for USA and Europe. */
.fbp-region-native-v200{position:absolute!important;inline-size:1px!important;block-size:1px!important;opacity:0!important;pointer-events:none!important}
.fbp-region-combobox-v200{position:relative!important;min-width:0!important;max-width:100%!important;width:100%!important}
.fbp-region-display{width:100%!important;min-height:44px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:8px 12px!important;border:1px solid #c7d4e5!important;border-radius:10px!important;background:#eef3f9!important;color:#22385f!important;font-weight:850!important;text-align:left!important;cursor:pointer!important;box-sizing:border-box!important}
.fbp-region-display b{font-size:15px!important;color:#5f7089!important}
.fbp-region-menu{position:absolute!important;left:0!important;right:0!important;top:calc(100% + 5px)!important;z-index:2147482500!important;padding:8px!important;border:1px solid #c7d4e5!important;border-radius:12px!important;background:#fff!important;box-shadow:0 18px 48px rgba(10,32,73,.22)!important;max-height:360px!important;overflow:hidden!important}
.fbp-region-menu[hidden]{display:none!important}
.fbp-region-menu>input{width:100%!important;height:42px!important;margin-bottom:7px!important;padding:0 11px!important;border:1px solid #c5d2e3!important;border-radius:9px!important;box-sizing:border-box!important}
.fbp-region-options{max-height:286px!important;overflow:auto!important;display:grid!important;gap:2px!important}
.fbp-region-options button{width:100%!important;min-height:38px!important;padding:7px 10px!important;border:0!important;border-radius:7px!important;background:#fff!important;color:#273b5f!important;text-align:left!important;cursor:pointer!important}
.fbp-region-options button:hover,.fbp-region-options button.active{background:#eaf1fb!important;color:#173b8f!important;font-weight:850!important}
.fbp-us-region-controls label,.fbp-eu-country-controls label{min-width:0!important}

/* Search surfaces: fixed controls, no overlap. */
.fbp-map-shared-filters,.fbp-evidence-toolbar,.fbp-reg-search-surface,.fbp-env-profile-actions,.fbp-sampling-search-surface{min-width:0!important;max-width:100%!important;overflow:visible!important}
.fbp-map-shared-filters>*,.fbp-evidence-toolbar>*,.fbp-reg-search-surface>*,.fbp-env-profile-actions>*,.fbp-sampling-search-surface>*{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}

@media(max-width:1100px){
  .fbp-taxonomy-controls{grid-template-columns:1fr 1fr!important}.fbp-taxonomy-controls button{width:100%!important}
  .fbp-taxonomy-result-head,.fbp-taxonomy-results article{grid-template-columns:minmax(180px,1fr) 100px minmax(220px,1.2fr) 100px!important}
}
@media(max-width:760px){
  .fbp-canonical-picker-v200>.fbp-canonical-food-row{grid-template-columns:minmax(0,1fr)!important}
  .fbp-taxonomy-open{width:100%!important;max-width:none!important;min-width:0!important;min-height:44px!important}
  .fbp-taxonomy-modal-v200{padding:0!important;place-items:end center!important}
  .fbp-taxonomy-modal-v200>section{width:100%!important;max-height:92dvh!important;border-radius:20px 20px 0 0!important;padding:14px!important}
  .fbp-taxonomy-modal-v200 header h2{font-size:21px!important}
  .fbp-taxonomy-controls{grid-template-columns:1fr!important;padding:10px!important}
  .fbp-taxonomy-result-head{display:none!important}
  .fbp-taxonomy-results article{grid-template-columns:1fr auto!important;gap:6px!important;padding:12px!important}
  .fbp-taxonomy-results article strong{grid-column:1!important}.fbp-taxonomy-results article code{grid-column:2!important;grid-row:1!important}.fbp-taxonomy-results article span{grid-column:1/-1!important}.fbp-taxonomy-results article button{grid-column:1/-1!important;width:100%!important}
  .fbp-use-last-analysis{width:100%!important;margin-left:0!important}
  .fbp-region-menu{position:fixed!important;left:10px!important;right:10px!important;top:auto!important;bottom:calc(10px + env(safe-area-inset-bottom) + var(--fbp-mobile-keyboard-offset,0px))!important;max-height:min(50dvh,420px)!important}
}
