.menulocation{
  font-family:var(--bf-font);
  color:var(--bf-fg);
  margin:24px 0;
}
.menulocation[dir=rtl]{direction:rtl}
.menulocation .locbox{
  border:1px solid var(--bf-border-subtle);
  border-radius:var(--bf-radius-lg);
  background:var(--bf-white);
  box-shadow:var(--bf-shadow-1);
  overflow:hidden;
}
.menulocation .locbox h3{
  margin:0;
  padding:14px 18px;
  font-family:var(--bf-font);
  font-weight:900;
  font-size:17px;
  letter-spacing:-.01em;
  color:var(--bf-grey-900);
  border-bottom:1px solid var(--bf-border-subtle);
  display:flex;
  align-items:center;
  gap:8px;
}
.menulocation .locbox h3 svg{
  width:18px;
  height:18px;
  color:var(--bf-brand);
  flex:none;
}
.menulocation .addr{
  padding:14px 18px 8px;
  color:var(--bf-grey-700);
  line-height:1.55;
  font-size:14px;
}
.menulocation .map{
  height:280px;
  border-radius:var(--bf-radius-md);
  margin:8px 14px 16px;
  overflow:hidden;
  background:var(--bf-grey-50);
  position:relative;
}
@media (max-width:640px){
  .menulocation .map{height:220px; margin:8px 12px 14px}
  .menulocation .locbox h3{font-size:16px; padding:12px 16px}
  .menulocation .addr{padding:12px 16px 6px}
}

/* Leaflet — minimal look matching design-system card chrome */
.leaflet-right .leaflet-control{display:none !important}
.leaflet-container{font:inherit}
.leaflet-control-zoom{border:none; box-shadow:none}
.leaflet-control-zoom a{
  width:32px; height:32px; line-height:32px;
  border-radius:var(--bf-radius-sm);
  border:1px solid var(--bf-border-subtle);
  background:var(--bf-white);
  color:var(--bf-fg);
  box-shadow:var(--bf-shadow-1);
}
.leaflet-control-attribution{
  background:rgba(255,255,255,.85);
  border:none;
  border-radius:var(--bf-radius-sm);
  padding:2px 8px;
  font-size:11px;
  opacity:.75;
  color:var(--bf-grey-600);
}
