/* R109 — Nearby logos, saved branch photos, and Samaco-style preview. */
.bx109-row .bx-nearby-hit{
 grid-template-columns:46px 54px minmax(0,1fr) auto!important;
 gap:7px!important;
}
.bx109-row .cat.bx109-brand{
 width:43px!important;height:43px!important;border-radius:11px!important;
 background:#fff!important;border:1px solid rgba(152,200,236,.32)!important;
 overflow:hidden!important;display:grid!important;place-items:center!important;
 box-sizing:border-box!important;
}
.bx109-logo{
 display:block!important;object-fit:contain!important;
 width:calc(100% - 6px)!important;height:calc(100% - 6px)!important;
 max-width:100%!important;max-height:100%!important;
}
.bx109-fallback{font-size:19px;line-height:1}
.bx109-list-photo{
 width:53px;height:43px;min-width:0;box-sizing:border-box;
 display:grid;place-items:center;border-radius:10px;
 border:1px solid rgba(93,172,235,.23);
 background:linear-gradient(125deg,#142d42,#082034);
 overflow:hidden;
}
.bx109-list-photo:empty::before{
 content:"";display:block;width:28px;height:12px;
 border-radius:7px;background:rgba(95,144,184,.13);
}
.bx109-photo{
 width:100%!important;height:100%!important;object-fit:cover!important;
 display:block!important;border-radius:inherit!important;
}
.bx109-row .copy strong{font-weight:800!important}
.bx109-row .copy span{line-height:1.28!important}
.bx109-poi-marker .pin{
 background:#fff!important;overflow:hidden!important;
 border-radius:12px 12px 12px 4px!important;
}
.bx109-poi-marker .pin span{width:100%;height:100%;display:grid;place-items:center}
.bx109-poi-marker .pin .bx109-logo{
 width:78%!important;height:78%!important;object-fit:contain!important
}
.bx109-preview#bxNearbyCard{
 max-width:520px!important;display:grid!important;
 grid-template-columns:minmax(0,1fr) auto!important;
 gap:9px!important;min-height:75px!important;
 padding:8px 10px!important;border-radius:17px!important;
}
.bx109-preview#bxNearbyCard[hidden]{display:none!important}
.bx109-preview-open{
 min-width:0!important;display:flex!important;align-items:center!important;
 gap:9px!important;min-height:54px!important;padding:0!important;
 border:0!important;background:transparent!important;color:#fff!important;
 text-align:left!important;cursor:pointer!important;
}
.bx109-preview-open .hero{flex:0 0 53px;width:53px;height:53px;overflow:hidden;background:#fff}
.bx109-preview-open .copy{min-width:0;flex:1}
.bx109-preview-open .copy strong{font-size:14px!important}
.bx109-preview-open .copy span{
 display:-webkit-box!important;-webkit-box-orient:vertical!important;
 -webkit-line-clamp:2!important;white-space:normal!important;overflow:hidden!important;
 line-height:1.3!important;font-size:11px!important;
}
.bx109-preview .actions{display:flex!important;gap:5px!important;align-items:center!important}
.bx109-preview .actions button{font-weight:800!important}
.bx109-detail{
 height:37px!important;padding:0 10px!important;
 border-radius:10px!important;background:#133652!important;
 border:1px solid rgba(77,170,234,.48)!important;color:#f4faff!important;
 cursor:pointer!important;font-size:11px!important;
}
.bx109-preview .bx-nearby-dir{
 min-height:37px!important;height:37px!important;
 padding:0 10px!important;font-size:11px!important;
}
.bx109-preview .bx-nearby-x{
 width:31px!important;min-width:31px!important;height:36px!important;
}
#bxProPlaceCardV294 .bxp-placeholder.bx109-brand-placeholder{
 display:flex;align-items:center;justify-content:center;
 background:linear-gradient(140deg,#09253a,#163650)!important;
}
#bxProPlaceCardV294 .bx109-hero-logo{
 max-width:72%!important;max-height:76%!important;width:120px!important;height:120px!important;
 object-fit:contain!important;background:#fff!important;
 padding:12px;border-radius:17px;box-sizing:border-box;
 box-shadow:0 10px 22px rgba(0,0,0,.25)
}
#bx103PinPreview .bx109-marker-logo{
 width:100%;height:100%;object-fit:contain;background:#fff
}
@media(max-width:760px){
 .bx109-row .bx-nearby-hit{
   grid-template-columns:36px 43px minmax(0,1fr) auto!important;
   gap:6px!important;padding:8px 2px!important;
 }
 .bx109-row .cat.bx109-brand{width:35px!important;height:35px!important;border-radius:9px!important}
 .bx109-list-photo{width:42px;height:36px;border-radius:9px}
 .bx109-row .copy strong{font-size:12px!important}
 .bx109-row .copy span{font-size:10px!important}
 .bx109-row .dist{font-size:10px!important}
 .bx109-preview#bxNearbyCard{
   left:8px!important;right:76px!important;
   width:auto!important;max-width:none!important;bottom:max(12px,env(safe-area-inset-bottom,0px))!important;
   grid-template-columns:1fr!important;gap:5px!important;
   padding:8px!important;min-height:76px!important;
   z-index:2147482500!important;
 }
 .bx109-preview-open .hero{width:43px;height:43px;flex-basis:43px!important;border-radius:10px}
 .bx109-preview-open{min-height:42px!important}
 .bx109-preview-open .copy strong{font-size:12px!important}
 .bx109-preview-open .copy span{font-size:10px!important}
 .bx109-preview .actions{grid-column:1/-1!important;display:flex!important;gap:4px!important}
 .bx109-preview .actions .bx-nearby-dir,.bx109-preview .actions .bx109-detail{
   flex:1!important;padding:0 5px!important;min-width:0!important;
   height:33px!important;min-height:33px!important;font-size:10px!important
 }
 .bx109-preview .actions .bx-nearby-x{flex:0 0 29px!important;width:29px!important;height:33px!important}
 #bxProPlaceCardV294 .bx109-hero-logo{width:94px!important;height:85px!important;padding:10px}
}
@media(max-width:360px){
 .bx109-row .bx-nearby-hit{grid-template-columns:32px 38px minmax(0,1fr) auto!important;gap:4px!important}
 .bx109-row .cat.bx109-brand{width:31px!important;height:31px!important}
 .bx109-list-photo{width:37px;height:33px}
}

/* R114: preserve complete business logos, especially on mobile PWA. */
#bxNearbyResults .bx109-row .cat.bx109-brand,
.bx109-poi-marker .pin,
#bxNearbyCard .bx109-preview-image,
#bx103PinPreview .bx103-thumb {
  overflow:hidden!important;
  box-sizing:border-box!important;
}
#bxNearbyResults .bx109-row .cat.bx109-brand img.bx109-logo,
.bx109-poi-marker .pin img.bx109-logo,
#bxNearbyCard .bx109-preview-image img.bx109-logo,
#bx103PinPreview .bx103-thumb img.bx109-marker-logo {
  display:block!important;
  box-sizing:border-box!important;
  width:auto!important;
  height:auto!important;
  max-width:80%!important;
  max-height:80%!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:auto!important;
  padding:0!important;
  flex:0 1 auto!important;
  min-width:0!important;
  min-height:0!important;
}
#bxProPlaceCardV294 .bxp-placeholder img.bx109-hero-logo {
  box-sizing:border-box!important;
  width:min(108px,45vw)!important;
  height:min(108px,45vw)!important;
  max-width:58%!important;
  max-height:68%!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:10px!important;
}
@media(max-width:760px){
  #bxNearbyResults .bx109-row .cat.bx109-brand{width:32px!important;height:32px!important;}
  #bxNearbyResults .bx109-row .cat.bx109-brand img.bx109-logo{max-width:75%!important;max-height:75%!important;}
  #bxNearbyCard .bx109-preview-image{width:42px!important;height:42px!important;flex:0 0 42px!important;}
  #bxNearbyCard .bx109-preview-image img.bx109-logo{max-width:76%!important;max-height:76%!important;}
  .bx109-poi-marker .pin img.bx109-logo{max-width:72%!important;max-height:72%!important;}
  #bxProPlaceCardV294 .bxp-placeholder img.bx109-hero-logo {
    width:68px!important;height:68px!important;
    max-width:52%!important;max-height:62%!important;padding:7px!important;
  }
}
