
.bandi-locator{
  --bsl-black:#111;
  --bsl-text:#222;
  --bsl-muted:#686868;
  --bsl-soft:#f4f4f4;
  --bsl-border:#e7e7e7;
  display:grid;
  grid-template-columns:minmax(360px,560px) minmax(0,1fr);
  grid-template-areas:"panel map";
  width:100%;
  min-height:var(--bandi-locator-height,80vh);
  height:var(--bandi-locator-height,80vh);
  background:#fff;
  border:1px solid var(--bsl-border);
  overflow:hidden;
  font-family:inherit;
  color:var(--bsl-text);
}
.bandi-locator *{box-sizing:border-box}
.bandi-locator button,.bandi-locator input{font:inherit}
.bandi-locator button{cursor:pointer}
.bandi-locator button:focus,
.bandi-locator a.bandi-locator__action:focus,
.bandi-locator a.bandi-locator__detail-link:focus{
  background:#111!important;color:#fff!important;border-color:#111!important;
  outline:2px solid #111!important;outline-offset:2px;
}
.bandi-locator svg{display:block}
.bandi-locator__map-wrap{grid-area:map}
.bandi-locator__map-wrap,.bandi-locator__map{height:100%;min-height:0}
.bandi-locator__map{width:100%}
.bandi-locator--grayscale .bandi-locator__map .maplibregl-canvas{
  filter:grayscale(1) saturate(.1) contrast(.94) brightness(1.05);
}
.bandi-locator .maplibregl-ctrl-attrib{font-size:10px}
.bandi-locator .maplibregl-ctrl-attrib:not(.maplibregl-compact-show) .maplibregl-ctrl-attrib-inner{display:none}
.bandi-locator .maplibregl-ctrl-bottom-right{display:none!important}
.bandi-locator .maplibregl-ctrl button:hover,.bandi-locator .maplibregl-ctrl button:focus,.bandi-locator .maplibregl-ctrl button:focus-visible{background-color:#111!important}
.bandi-locator .maplibregl-ctrl button:hover .maplibregl-ctrl-icon,.bandi-locator .maplibregl-ctrl button:focus .maplibregl-ctrl-icon,.bandi-locator .maplibregl-ctrl button:focus-visible .maplibregl-ctrl-icon{filter:invert(1)}
.bandi-locator__panel{
  grid-area:panel;
  position:relative;min-width:0;height:100%;overflow:hidden;background:#fff;
  border-right:1px solid var(--bsl-border);
}
.bandi-locator__list-view,.bandi-locator__detail-view{
  height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;
}
.bandi-locator__panel-head{
  position:sticky;top:0;z-index:8;padding:30px 30px 20px;background:#fff;
  border-bottom:1px solid var(--bsl-border);
}
.bandi-locator__eyebrow{
  margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:.08em;
}
.bandi-locator__panel-head h2{
  margin:0 0 20px;font-size:28px;line-height:1.1;font-weight:600;color:#111;
}
.bandi-locator__search{position:relative;display:block}
.bandi-locator__search input{
  width:100%;height:46px;padding:0 44px 0 15px;border:1px solid #d9d9d9;
  border-radius:0;outline:none;background:#fff;color:#111;font-size:14px;
}
.bandi-locator__search input:focus{border-color:#111}
.bandi-locator__search-icon{
  position:absolute;right:14px;top:50%;width:20px;height:20px;transform:translateY(-50%);
  color:#111;pointer-events:none;
}
.bandi-locator__search-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.bandi-locator__filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.bandi-locator__filters button{
  border:1px solid #ddd!important;border-radius:3px!important;background:#f3f3f3!important;padding:8px 13px;
  color:#111!important;font-family:inherit!important;font-size:15px!important;font-weight:500!important;line-height:1.1!important;
  letter-spacing:normal!important;text-transform:none!important;transition:background .18s ease,color .18s ease,border-color .18s ease;
}
.bandi-locator__filters button.is-active{background:#111!important;border-color:#111!important;color:#fff!important}
.bandi-locator__filters button:hover,.bandi-locator__filters button:focus,.bandi-locator__filters button:focus-visible{
  background:#111!important;border-color:#111!important;color:#fff!important;
}
.bandi-locator__result-meta{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:13px 30px;border-bottom:1px solid var(--bsl-border);
  font-size:12px;color:var(--bsl-muted);
}
.bandi-locator__fit{
  padding:4px 7px;border:0;border-radius:3px;background:transparent;text-decoration:underline;color:#111!important;font-size:12px;
}
.bandi-locator__fit:hover,.bandi-locator__fit:focus,.bandi-locator__fit:focus-visible{background:#111!important;color:#fff!important}
.bandi-locator__card{
  padding:32px 30px 24px;border-bottom:1px solid var(--bsl-border);
  background:#fff;transition:background .2s ease;
}
.bandi-locator__card:hover,.bandi-locator__card.is-active{background:#fafafa}
.bandi-locator__badge{
  display:inline-flex;align-items:center;min-height:20px;padding:3px 8px;margin-bottom:16px;
  border-radius:3px;background:#f2f2f2;color:#111;font-size:14px;line-height:1.2;font-weight:700;
}
.bandi-locator__card-title{
  margin:0 0 18px;font-size:24px;line-height:1.12;font-weight:650;
  text-transform:uppercase;color:#222;
}
.bandi-locator__address{
  margin:0 0 24px;color:#5c5c5c;font-size:15px;line-height:1.28;
}
.bandi-locator__status{
  display:flex;gap:5px;flex-wrap:wrap;align-items:baseline;margin-bottom:26px;font-size:15px;
}
.bandi-locator__status.is-simple{display:grid;grid-template-columns:auto 1fr;gap:10px}
.bandi-locator__status.is-simple span{white-space:pre-line}
.bandi-locator__status strong{font-weight:650;color:#222}
.bandi-locator__status span{color:#5a5a5a}
.bandi-locator__actions{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;
}
.bandi-locator__action{
  display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;
  padding:10px 12px;border:0!important;border-radius:3px!important;background:#f3f3f3!important;color:#111!important;
  text-decoration:none!important;font-family:inherit!important;font-size:15px!important;line-height:1.1!important;font-weight:500!important;
  letter-spacing:normal!important;text-transform:none!important;text-align:center;
  transition:background .18s ease,color .18s ease;
}
.bandi-locator__action:hover,.bandi-locator__action:focus,.bandi-locator__action:focus-visible{background:#111!important;color:#fff!important}
.bandi-locator__action--details{width:100%}
.bandi-locator__action-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex:0 0 16px}
.bandi-locator__action-icon svg,.bandi-locator__round-icon svg,.bandi-locator__detail-close svg,.bandi-locator__slider-button svg{
  width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;
}
.bandi-locator__empty{padding:40px 30px;color:#666}

.bandi-locator-marker{
  display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;
  border:2px solid #111;border-radius:3px;background:#fff;color:#111;
  box-shadow:0 2px 8px rgba(0,0,0,.18);font:700 12px/1 inherit;cursor:pointer;
  transition:transform .16s ease,background .16s ease,color .16s ease;
}
.bandi-locator-marker:hover,.bandi-locator-marker.is-active{transform:scale(1.12)}
.bandi-locator-marker:hover,.bandi-locator-marker:focus,.bandi-locator-marker:focus-visible{background:#111!important;border-color:#111!important;color:#fff!important}
.bandi-locator-marker--dark{background:#111;color:#fff}
.bandi-locator-marker--light{background:#fff;color:#111}
.bandi-locator-marker__icon{
  display:block;width:68%;height:68%;object-fit:contain;filter:grayscale(1);pointer-events:none;
}
.bandi-locator-marker--dark .bandi-locator-marker__icon,.bandi-locator-marker:hover .bandi-locator-marker__icon,.bandi-locator-marker:focus .bandi-locator-marker__icon{filter:grayscale(1) invert(1)}

.bandi-locator__detail-view{position:relative;background:#fff}
.bandi-locator__slider{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;background:#f5f5f5}
.bandi-locator__detail-image{
  display:block;width:100%;height:100%;min-width:100%;min-height:100%;object-fit:cover;object-position:center;background:#f5f5f5;
}
.bandi-locator__detail-close{
  position:absolute;left:18px;top:18px;z-index:7;display:flex;align-items:center;justify-content:center;
  width:42px;height:42px;padding:12px;border:0;border-radius:3px;background:rgba(17,17,17,.62);
  color:#fff!important;box-shadow:0 2px 8px rgba(0,0,0,.16);transition:background .18s ease,color .18s ease;
}
.bandi-locator__detail-close:hover,.bandi-locator__detail-close:focus,.bandi-locator__detail-close:focus-visible{background:#111!important;color:#fff!important}
.bandi-locator__detail-close + .bandi-locator__detail-body{padding-top:82px}
.bandi-locator__slider-button{
  position:absolute;top:50%;z-index:4;display:flex;align-items:center;justify-content:center;width:38px;height:38px;
  padding:11px;border:0;border-radius:3px;transform:translateY(-50%);background:rgba(255,255,255,.88);color:#111!important;
  box-shadow:0 2px 8px rgba(0,0,0,.16);transition:background .18s ease,color .18s ease;
}
.bandi-locator__slider-button--previous{left:14px}
.bandi-locator__slider-button--next{right:14px}
.bandi-locator__slider-button:hover,.bandi-locator__slider-button:focus,.bandi-locator__slider-button:focus-visible{background:#111!important;color:#fff!important}
.bandi-locator__slider-count{
  position:absolute;right:14px;bottom:14px;padding:5px 9px;border-radius:999px;background:rgba(17,17,17,.7);
  color:#fff;font-size:12px;font-weight:700;line-height:1;
}
.bandi-locator__detail-body{padding:34px 30px 36px}
.bandi-locator__detail-title{
  margin:0 0 20px;font-size:26px;line-height:1.08;font-weight:650;text-transform:uppercase;
}
.bandi-locator__detail-current{
  display:grid;grid-template-columns:minmax(0,145px) 1fr;gap:18px;
  margin:28px 0 20px;font-size:15px;line-height:1.4;
}
.bandi-locator__detail-current.is-simple span{white-space:pre-line}
.bandi-locator__detail-current strong{font-weight:700}
.bandi-locator__hours{margin:0 0 28px}
.bandi-locator__hours-row{
  display:grid;grid-template-columns:minmax(0,145px) 1fr;gap:18px;padding:6px 0;font-size:15px;
}
.bandi-locator__hours-row strong{font-weight:650}
.bandi-locator__hours-row.is-today strong,.bandi-locator__hours-row.is-today span{
  font-weight:700;color:#111;
}
.bandi-locator__detail-links{
  display:flex;align-items:stretch;gap:8px;width:100%;margin:0 0 25px;
}
.bandi-locator__detail-link{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:46px;padding:9px 12px;
  border-radius:3px!important;background:#f3f3f3!important;color:#111!important;text-decoration:none!important;
  font-family:inherit!important;font-weight:500!important;font-size:15px!important;line-height:1.1!important;
  letter-spacing:normal!important;text-transform:none!important;
  text-align:center;flex:1 1 0;transition:background .18s ease,color .18s ease;
}
.bandi-locator__detail-link:hover,.bandi-locator__detail-link:focus,.bandi-locator__detail-link:focus-visible{background:#111!important;color:#fff!important}
.bandi-locator__round-icon{
  display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex:0 0 16px;
}
.bandi-locator__detail-email{
  display:block;margin:-12px 0 22px;color:#111!important;text-decoration:underline!important;font-size:14px;font-weight:500;
}
.bandi-locator__detail-email:hover,.bandi-locator__detail-email:focus-visible{color:#111!important;text-decoration-thickness:2px!important}
.bandi-locator__description{
  margin-top:26px;padding-top:24px;border-top:1px solid var(--bsl-border);
  font-size:14px;line-height:1.6;
}
.bandi-locator__description>:first-child{margin-top:0}
.bandi-locator__description>:last-child{margin-bottom:0}
.bandi-locator__description a,.bandi-locator__products a{color:#111!important;text-decoration:underline!important}
.bandi-locator__description a:hover,.bandi-locator__products a:hover{color:#111!important;text-decoration-thickness:2px!important}
.bandi-locator__products{margin-top:26px;padding-top:24px;border-top:1px solid var(--bsl-border);font-size:14px;line-height:1.6}
.bandi-locator__products h4{margin:0 0 10px;color:#111;font-size:16px;font-weight:700}
.bandi-locator__products p:first-child{margin-top:0}
.bandi-locator__products p:last-child{margin-bottom:0}

@media(max-width:1050px){
  .bandi-locator{grid-template-columns:minmax(350px,44%) minmax(0,1fr)}
}
@media(max-width:800px){
  .bandi-locator{display:flex;flex-direction:column;height:auto;min-height:0;border-left:0;border-right:0}
  .bandi-locator__map-wrap{height:380px;min-height:380px}
  .bandi-locator__panel{height:auto;max-height:none;border-right:0;border-top:1px solid var(--bsl-border)}
  .bandi-locator__list-view,.bandi-locator__detail-view{height:auto;overflow:visible}
  .bandi-locator__panel-head{position:relative;padding:24px 20px 18px}
  .bandi-locator__result-meta,.bandi-locator__card,.bandi-locator__detail-body{padding-left:20px;padding-right:20px}
  .bandi-locator__actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .bandi-locator__action{padding-left:7px;padding-right:7px}
  .bandi-locator__detail-links{gap:6px}
  .bandi-locator__detail-link{padding-left:7px;padding-right:7px}
}
