/* Mobile V2 ergonomics: sticky tools, single real language menu, one AI entry.
 * Scope to market where appropriate; no desktop or billing changes. */
@media(max-width:900px){
 html body.bux3-page #bux3[data-kind]{
  grid-template-rows:0px 58px max-content 0px!important;
  scroll-padding-top:156px!important;scroll-padding-bottom:84px!important;
 }
 html body.bux3-page #bux3[data-kind] .bu-one-chrome>.bu-one-rail{
  display:none!important;visibility:hidden!important;height:0!important;
  min-height:0!important;pointer-events:none!important;
 }
 html body.bux3-page #bux3[data-kind] .bu-one-chrome>.bu-one-header{
  position:sticky!important;top:0!important;grid-row:2!important;
  z-index:1500!important;min-height:58px!important;height:58px!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-main{
  padding-top:4px!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-search-tabs{
  position:sticky!important;top:58px!important;z-index:1300!important;
  flex:0 0 40px!important;height:40px!important;min-height:40px!important;max-height:40px!important;
  margin:0!important;padding:3px 4px!important;
  border-radius:11px 11px 0 0!important;
  border:1px solid #d6e9e6!important;border-bottom:0!important;
  background:#f4faf9!important;
  box-shadow:0 -1px 0 #eaf4f2!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-search-tabs #bux3-search-tabs{
  flex:1 1 auto!important;min-width:0!important;gap:5px!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-search-tabs .bux3-search-tab{
  max-height:32px!important;min-height:32px!important;height:32px!important;
  min-width:100px!important;max-width:160px!important;border-radius:8px!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-search-tabs .bux3-tab-add{
  height:32px!important;min-height:32px!important;max-height:32px!important;
  flex-basis:34px!important;width:34px!important;min-width:34px!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-search-tabs .bu-mobile-ai-trigger{
  display:grid!important;place-items:center!important;box-sizing:border-box!important;
  flex:0 0 42px!important;width:42px!important;min-width:42px!important;max-width:42px!important;
  height:32px!important;min-height:32px!important;max-height:32px!important;
  padding:0!important;margin:0!important;
  border:1px solid #0c9b84!important;border-radius:9px!important;
  background:linear-gradient(125deg,#098e7d,#167dba)!important;
  color:#fff!important;font:900 13px/1 system-ui,sans-serif!important;
  box-shadow:0 2px 8px rgba(7,86,101,.13)!important;
  cursor:pointer!important;touch-action:manipulation!important;pointer-events:auto!important;
 }
 html body.bux3-page #bux3[data-kind] .bu-mobile-ai-trigger:focus-visible{
  outline:3px solid #085f82!important;outline-offset:1px!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-quick{
  position:sticky!important;top:98px!important;z-index:1290!important;
  border-radius:0 0 11px 11px!important;margin:0 0 7px!important;
  box-shadow:0 5px 15px rgba(6,46,66,.12)!important;
  background:#fff!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-chips:not([hidden]){
  position:relative!important;z-index:1!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-results-head{
  min-height:46px!important;padding:5px 7px!important;gap:2px!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-results-head>strong{
  min-height:15px!important;height:15px!important;flex-basis:15px!important;
  font-size:10px!important;letter-spacing:0!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-results-head>strong>b{
  font-size:14px!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-results-tools{
  height:30px!important;min-height:30px!important;max-height:30px!important;flex-basis:30px!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-card{
  gap:3px!important;grid-template-rows:31px 40px 29px!important;
  padding:4px 6px!important;margin-bottom:5px!important;
  background:#fff!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-card-head{
  min-height:31px!important;height:31px!important;max-height:31px!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-card-head .bux3-badge{font-size:9px!important}
 html body.bux3-page #bux3[data-kind] .bux3-route{
  min-height:40px!important;height:40px!important;max-height:40px!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-stop{
  min-height:40px!important;height:40px!important;max-height:40px!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-stop strong{font-size:12px!important}
 html body.bux3-page #bux3[data-kind] .bux3-specs,
 html body.bux3-page #bux3[data-kind] .bux3-spec{
  height:29px!important;min-height:29px!important;max-height:29px!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-spec small{font-size:9px!important}
 html body.bux3-page #bux3[data-kind] .bux3-spec b{font-size:11px!important}
 html body.bux3-page #bux3[data-kind] :is([data-core-demo-toggle],.bu338-demo-toggle){
  display:none!important;visibility:hidden!important;pointer-events:none!important;
 }
 /* A closed AI sheet must never intercept a finger swipe. */
 html body.bux3-page #bux3[data-kind]:not(.bu317-ai-mobile) #bux3-dock:not(.is-mobile-open){
  visibility:hidden!important;pointer-events:none!important;
 }
 html body.bux3-page #bux3[data-kind].bu317-ai-mobile #bux3-dock{
  display:flex!important;position:fixed!important;inset:0!important;top:var(--bu317-visual-top,0px)!important;
  left:0!important;right:0!important;bottom:auto!important;
  width:100vw!important;height:var(--bu317-visual-height,100dvh)!important;
  min-height:0!important;max-height:100dvh!important;
  padding:0!important;margin:0!important;
  opacity:1!important;visibility:visible!important;transform:none!important;
  overflow:hidden!important;pointer-events:auto!important;z-index:2147483200!important;
 }
 html body.bux3-page #bux3[data-kind].bu317-ai-mobile #bux3-dock>#bux3-ai-drop{
  position:relative!important;display:flex!important;flex-direction:column!important;
  flex:1 1 auto!important;width:100%!important;height:auto!important;
  min-height:0!important;max-height:100%!important;
  margin:0!important;opacity:1!important;transform:none!important;
  visibility:visible!important;pointer-events:auto!important;overflow:hidden!important;
 }
 html body.bux3-page #bux3[data-kind].bu317-ai-mobile #bux3-dock>.bux3-dock-tabs,
 html body.bux3-page #bux3[data-kind].bu317-ai-mobile #bux3-dock>.bux3-pane:not(#bux3-ai-drop),
 html body.bux3-page #bux3[data-kind].bu317-ai-mobile .bu-one-bottom-nav{
  display:none!important;pointer-events:none!important;
 }
 html body.bux3-page #bux3[data-kind].bu317-ai-mobile #bux3-ai-drop .bux3-ai-drop-body{
  display:flex!important;flex-direction:column!important;
  flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;
 }
 html body.bux3-page #bux3[data-kind].bu317-ai-mobile #bux3-ai-log{
  display:block!important;flex:1 1 auto!important;min-height:0!important;
  max-height:none!important;overflow-y:auto!important;
 }
 html body.bux3-page #bux3[data-kind].bu317-ai-mobile #bux3-ai-form{
  flex:0 0 auto!important;min-height:58px!important;
 }
 /* Mobile filter drawer: nearly full available viewport, but only the
    body scrolls and primary actions always remain in reach. */
 html body.bux3-page #bux3[data-kind] #bux3-filter-modal:not([hidden]){
  position:fixed!important;inset:0!important;display:flex!important;
  align-items:flex-end!important;justify-content:center!important;
  padding:0!important;overflow:hidden!important;
  background:rgba(4,36,49,.45)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  z-index:2147483500!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-filter-modal>.bux3-modal{
  box-sizing:border-box!important;display:flex!important;flex-direction:column!important;
  width:100%!important;max-width:100vw!important;
  height:calc(100dvh - 10px)!important;max-height:calc(100dvh - 10px)!important;
  min-height:0!important;margin:0!important;padding:0!important;
  border-radius:15px 15px 0 0!important;overflow:hidden!important;
  animation:none!important;transform:none!important;transition:none!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-filter-modal .bux3-modal-head{
  flex:0 0 54px!important;height:54px!important;min-height:54px!important;
  padding:6px 11px!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-filter-modal .bux3-modal-head b{
  font-size:17px!important;line-height:1.15!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-filter-modal .bux3-filter-body{
  box-sizing:border-box!important;flex:1 1 auto!important;min-height:0!important;
  height:auto!important;max-height:none!important;
  padding:7px!important;overflow-y:auto!important;overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-filter-modal .bux3-filter-grid{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  gap:7px!important;align-content:start!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-filter-modal .v270-filter-route{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  grid-template-rows:auto auto auto auto!important;
  gap:5px 7px!important;padding:9px!important;
  border-radius:12px!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-filter-modal .v270-filter-route>header{
  grid-column:1/-1!important;grid-row:1!important;min-height:28px!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-filter-modal .v270-filter-route>label{
  grid-column:1/-1!important;grid-row:2!important;min-width:0!important;
  margin:0!important;gap:3px!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-filter-modal .v270-filter-route>label input{
  box-sizing:border-box!important;width:100%!important;min-width:0!important;
  min-height:42px!important;height:42px!important;
  padding:6px 10px!important;font-size:16px!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-filter-modal .v270-filter-route>.v270-date-trigger{
  grid-column:1/-1!important;grid-row:3!important;
  min-height:41px!important;height:41px!important;
  padding:6px 9px!important;margin:0!important;font-size:13px!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-filter-modal .v270-filter-route>.bu319-radius-row{
  grid-column:1/-1!important;grid-row:4!important;
  display:flex!important;flex-direction:row!important;align-items:center!important;
  flex-wrap:wrap!important;min-height:0!important;
  padding:5px 7px!important;gap:5px!important;margin:0!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-filter-modal .v270-filter-route>.bu338-filter-map{
  grid-column:1/-1!important;grid-row:5!important;
  min-height:39px!important;height:39px!important;padding:4px 8px!important;
  margin:0!important;font-size:12px!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-filter-modal .v270-filter-route>.bu345-location-help{
  display:none!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-filter-modal .bux3-filter-group>summary{
  min-height:42px!important;padding:9px 12px!important;font-size:12px!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-filter-modal .bux3-modal-actions{
  flex:0 0 auto!important;min-height:61px!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)!important;
  padding:7px 9px max(8px,env(safe-area-inset-bottom))!important;
  gap:7px!important;background:#fff!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-filter-modal .bux3-modal-actions button{
  min-height:43px!important;height:43px!important;font-size:12px!important;
 }
}
@media(max-width:700px){
 html body .bu-one-language-menu[open]>.bu-one-language-options{
  box-sizing:border-box!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:4px!important;width:min(324px,calc(100vw - 18px))!important;
  padding:8px!important;max-height:min(390px,calc(100dvh - 110px))!important;
  border:1px solid #a9d9d1!important;border-radius:15px!important;
  background:#f6fcfa!important;color:#173d4b!important;
  box-shadow:0 10px 35px rgba(2,34,47,.23)!important;
 }
 html body .bu-one-language-menu[open]>.bu-one-language-options a{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  width:100%!important;min-width:0!important;min-height:38px!important;height:38px!important;
  padding:5px 7px!important;gap:5px!important;
  background:transparent!important;color:#143d49!important;
  border-radius:9px!important;border:1px solid transparent!important;
  font:800 11px/1.2 system-ui,sans-serif!important;
 }
 html body .bu-one-language-menu[open]>.bu-one-language-options a>b{
  color:#186c6b!important;
 }
 html body .bu-one-language-menu[open]>.bu-one-language-options a:is(:hover,:focus-visible,[aria-current]){
  color:#086c60!important;background:#dff5ee!important;border-color:#a8d9cc!important;
 }
}
@media(max-width:900px){
 html body.bux3-page>.buc-core-language-pop,
 html body.bux-list-page>.buc-core-language-pop{
  box-sizing:border-box!important;display:grid!important;
  position:fixed!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  width:min(324px,calc(100vw - 18px))!important;max-width:calc(100vw - 18px)!important;
  height:auto!important;max-height:min(390px,calc(100dvh - 110px))!important;
  padding:8px!important;gap:4px!important;overflow-y:auto!important;overflow-x:hidden!important;
  background:#f6fcfa!important;border:1px solid #a9d9d1!important;border-radius:15px!important;
  color:#143d49!important;z-index:2147483550!important;
  animation:none!important;transform:none!important;
 }
 html body.bux3-page>.buc-core-language-pop>a,
 html body.bux-list-page>.buc-core-language-pop>a{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  width:100%!important;min-width:0!important;min-height:38px!important;height:38px!important;
  padding:5px 7px!important;gap:5px!important;
  background:transparent!important;border:1px solid transparent!important;
  border-radius:9px!important;color:#143d49!important;
  font:800 11px/1.2 system-ui,sans-serif!important;
 }
 html body.bux3-page>.buc-core-language-pop>a>b,
 html body.bux-list-page>.buc-core-language-pop>a>b{color:#186c6b!important}
 html body.bux3-page>.buc-core-language-pop>a:is(:hover,:focus-visible,[aria-current]),
 html body.bux-list-page>.buc-core-language-pop>a:is(:hover,:focus-visible,[aria-current]){
  background:#dff5ee!important;color:#086c60!important;border-color:#a8d9cc!important;
 }
}
@media(min-width:701px){
 html body.bux3-page #bux3[data-kind] .bu-mobile-ai-trigger{display:none!important}
}
@media(max-width:900px){
 html body.bux3-page #bux3[data-kind] .bu-one-chrome>.bu-one-bottom-nav.bu-mobile-selector-v2{
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  background:linear-gradient(115deg,#07384b,#07605e)!important;
  box-shadow:0 3px 12px rgba(4,37,48,.16)!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-card{
  transition:none!important;animation:none!important;
  box-shadow:none!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-results,
 html body.bux3-page #bux3[data-kind] .bux3-quick{
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-overlay{
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
 }
}
@media(prefers-reduced-motion:reduce){
 html body.bux3-page #bux3[data-kind] .bux3-quick,
 html body.bux3-page #bux3[data-kind] .bux3-search-tabs{
  scroll-behavior:auto!important;animation:none!important;
 }
}
/* Compact, non-obstructive, high-contrast consent surface. Does not
 * change what is consented to, stored or blocked before permission. */
html body .bu-cookie{
 align-items:flex-end!important;justify-content:center!important;
 padding:8px 8px calc(71px + env(safe-area-inset-bottom,0px))!important;
 background:linear-gradient(180deg,transparent 62%,rgba(3,38,49,.19))!important;
 backdrop-filter:none!important;pointer-events:none!important;
}
html body .bu-cookie-box{
 width:min(515px,100%)!important;max-width:100%!important;
 padding:13px 14px!important;margin:0!important;
 border:1px solid #b8e0db!important;border-radius:16px!important;
 background:linear-gradient(150deg,#f9fefe,#eaf7f4)!important;
 color:#173b47!important;box-shadow:0 9px 32px rgba(2,37,50,.2)!important;
}
html body .bu-cookie-head{gap:9px!important}
html body .bu-cookie-head>span{width:32px!important;height:32px!important;border-radius:9px!important}
html body .bu-cookie-box h2{font:850 16px/1.2 system-ui,sans-serif!important;color:#113d49!important}
html body .bu-cookie-box .bu-cookie-k{color:#077f72!important;font-size:8px!important}
html body .bu-cookie-box .bu-cookie-text{
 margin:7px 0 0!important;color:#496a73!important;
 font:600 11px/1.4 system-ui,sans-serif!important;
}
html body .bu-cookie-actions{
 display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
 gap:5px!important;margin-top:10px!important;
}
html body .bu-cookie-actions button{
 min-width:0!important;min-height:40px!important;
 padding:5px 7px!important;border-radius:9px!important;
 color:#285364!important;background:#fff!important;border:1px solid #c4deda!important;
 font:800 11px/1.18 system-ui,sans-serif!important;
 box-shadow:none!important;
}
html body .bu-cookie-actions :is(.bu-cookie-ok,.bu-cookie-save){
 grid-column:auto!important;margin:0!important;
 background:linear-gradient(120deg,#078d79,#0e83af)!important;color:#fff!important;
 border:1px solid #078d79!important;
}
html body .bu-cookie-settings{
 margin-top:8px!important;gap:5px!important;max-height:min(48dvh,360px)!important;
 overflow-y:auto!important;
}
html body .bu-cookie-settings h3{color:#123b4a!important}
html body .bu-cookie-settings label{
 min-height:43px!important;padding:7px 9px!important;gap:8px!important;
 background:#fff!important;border:1px solid #ccdfde!important;border-radius:9px!important;
}
html body .bu-cookie-settings strong{color:#143e49!important}
html body .bu-cookie-settings small{color:#546f78!important}
html body .bu-cookie-privacy{
 margin-top:8px!important;color:#086f70!important;font-size:10px!important;
}
html body .bu-cookie-manage{
 right:8px!important;bottom:calc(80px + env(safe-area-inset-bottom,0px))!important;
 width:32px!important;height:32px!important;border-radius:10px!important;
 opacity:.86!important;
}
@media(max-width:370px){
 html body .bu-cookie-actions{grid-template-columns:1fr 1fr!important}
 html body .bu-cookie-actions :is(.bu-cookie-ok,.bu-cookie-save){grid-column:1/-1!important}
 html body .bu-cookie-actions button{min-height:39px!important;font-size:10.5px!important}
}